@stelis/say-ur-intent 0.0.0 → 0.0.2
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/README.md +4 -39
- package/dist/adapters/adapterLifecycleValidators.js +7 -0
- package/dist/adapters/adapterPromptSurfaces.js +71 -0
- package/dist/adapters/deepbook/deepbookHumanReviewProducer.js +175 -0
- package/dist/adapters/deepbook/deepbookQuotePolicy.js +112 -0
- package/dist/adapters/deepbook/deepbookReviewEvidence.js +507 -0
- package/dist/adapters/deepbook/deepbookReviewLifecycle.js +85 -0
- package/dist/adapters/deepbook/deepbookSwapIntent.js +79 -0
- package/dist/adapters/deepbook/deepbookTransactionMaterialProducer.js +269 -0
- package/dist/adapters/flowx/flowxSwapHumanReviewProducer.js +176 -0
- package/dist/adapters/flowx/flowxSwapIntent.js +79 -0
- package/dist/adapters/flowx/flowxSwapQuotePolicy.js +104 -0
- package/dist/adapters/flowx/flowxSwapReviewEvidence.js +468 -0
- package/dist/adapters/flowx/flowxSwapReviewLifecycle.js +85 -0
- package/dist/adapters/flowx/flowxSwapTransactionMaterialProducer.js +362 -0
- package/dist/adapters/intentPlanFactories.js +59 -0
- package/dist/adapters/reviewAdapters.js +81 -0
- package/dist/core/action/adapterLifecycleValidation.js +12 -0
- package/dist/core/action/forbiddenFields.js +43 -0
- package/dist/core/action/humanReadableReviewEvidence.js +203 -0
- package/dist/core/action/humanReadableReviewProjectionVerifier.js +29 -0
- package/dist/core/action/ptbVisualizationProducer.js +66 -0
- package/dist/core/action/reviewCheckResults.js +6 -0
- package/dist/core/action/reviewStateValidation.js +11 -0
- package/dist/core/action/reviewTimeSimulationEvidence.js +471 -0
- package/dist/core/action/schemas.js +529 -0
- package/dist/core/action/signableAdapterContract.js +993 -0
- package/dist/core/action/swapHumanReadableReviewProjection.js +124 -0
- package/dist/core/action/swapQuotePolicyEvidence.js +278 -0
- package/dist/core/action/transactionObjectOwnershipEvidence.js +247 -0
- package/dist/core/action/transactionObjectOwnershipProducer.js +329 -0
- package/dist/core/action/types.js +35 -0
- package/dist/core/action/walletReviewContractAssembler.js +282 -0
- package/dist/core/activity/activityStore.js +15 -0
- package/dist/core/activity/localDataService.js +258 -0
- package/dist/core/activity/localDataTypes.js +11 -0
- package/dist/core/activity/localDataValidation.js +396 -0
- package/dist/core/activity/schemaVersion.js +1 -0
- package/dist/core/activity/sqliteActivityStore.js +820 -0
- package/dist/core/activity/sqliteActivityStoreRows.js +430 -0
- package/dist/core/activity/sqliteActivityStoreSchema.js +258 -0
- package/dist/core/activity/sqliteActivityStoreTypes.js +5 -0
- package/dist/core/activity/suiFunctionTarget.js +43 -0
- package/dist/core/activity/transactionActivityAccountEffects.js +189 -0
- package/dist/core/activity/transactionActivityAnalysis.js +295 -0
- package/dist/core/activity/transactionActivityClassifier.js +306 -0
- package/dist/core/activity/transactionActivityDetails.js +229 -0
- package/dist/core/activity/transactionActivityProtocolRules.js +218 -0
- package/dist/core/activity/transactionActivityScanPolicy.js +170 -0
- package/dist/core/activity/transactionActivityService.js +379 -0
- package/dist/core/activity/transactionActivityTypes.js +18 -0
- package/dist/core/eventlog/sink.js +35 -0
- package/dist/core/evidence/settlementFamilies.js +87 -0
- package/dist/core/evidence/userAnswerUse.js +1 -0
- package/dist/core/numeric/rawU64.js +63 -0
- package/dist/core/preferences/preferencesStore.js +26 -0
- package/dist/core/preferences/sqlitePreferencesRepository.js +136 -0
- package/dist/core/proposal/externalProposalReview.js +347 -0
- package/dist/core/proposal/schemas.js +208 -0
- package/dist/core/proposal/types.js +35 -0
- package/dist/core/read/amounts.js +14 -0
- package/dist/core/read/coinMetadata.js +60 -0
- package/dist/core/read/deepbookRawQuoteClient.js +86 -0
- package/dist/core/read/deepbookReadHelpers.js +265 -0
- package/dist/core/read/deepbookRegistry.js +133 -0
- package/dist/core/read/flowxQuoteClient.js +117 -0
- package/dist/core/read/flowxReadHelpers.js +145 -0
- package/dist/core/read/flowxRegistry.js +174 -0
- package/dist/core/read/intentEvidenceResponseFormatting.js +228 -0
- package/dist/core/read/readResponseGuidance.js +451 -0
- package/dist/core/read/readService.js +1164 -0
- package/dist/core/read/readServiceTypes.js +59 -0
- package/dist/core/read/settlementParityFormatting.js +82 -0
- package/dist/core/read/walletReadHelpers.js +99 -0
- package/dist/core/review/reviewChecks.js +54 -0
- package/dist/core/review/reviewComputation.js +38 -0
- package/dist/core/review/reviewComputationResult.js +87 -0
- package/dist/core/session/localSession.js +31 -0
- package/dist/core/session/privateReviewArtifacts.js +73 -0
- package/dist/core/session/sessionErrors.js +9 -0
- package/dist/core/session/sessionStore.js +821 -0
- package/dist/core/session/settingsSession.js +1 -0
- package/dist/core/session/settingsSessions.js +43 -0
- package/dist/core/session/status.js +86 -0
- package/dist/core/session/transactionMaterialStore.js +205 -0
- package/dist/core/session/wait.js +102 -0
- package/dist/core/session/walletIdentity.js +103 -0
- package/dist/core/session/walletIdentitySessions.js +189 -0
- package/dist/core/suiAddress.js +18 -0
- package/dist/core/suiEndpoint.js +72 -0
- package/dist/mcp/activeAccountResponse.js +24 -0
- package/dist/mcp/prompts.js +146 -0
- package/dist/mcp/registerTool.js +19 -0
- package/dist/mcp/resources.js +72 -0
- package/dist/mcp/responseGuidance.js +381 -0
- package/dist/mcp/result.js +17 -0
- package/dist/mcp/schemas.js +8 -0
- package/dist/mcp/server.js +30 -0
- package/dist/mcp/serverInfo.js +123 -0
- package/dist/mcp/toolErrors.js +105 -0
- package/dist/mcp/toolNames.js +50 -0
- package/dist/mcp/tools/account/index.js +44 -0
- package/dist/mcp/tools/action/prepareSuiActionReview.js +120 -0
- package/dist/mcp/tools/read/commonSchemas.js +43 -0
- package/dist/mcp/tools/read/deepbookReadTools.js +453 -0
- package/dist/mcp/tools/read/flowxReadTools.js +135 -0
- package/dist/mcp/tools/read/index.js +16 -0
- package/dist/mcp/tools/read/readToolHelpers.js +68 -0
- package/dist/mcp/tools/read/reviewActivityTools.js +176 -0
- package/dist/mcp/tools/read/serverStatusTools.js +103 -0
- package/dist/mcp/tools/read/transactionActivityOutput.js +300 -0
- package/dist/mcp/tools/read/transactionActivityTools.js +544 -0
- package/dist/mcp/tools/read/walletReadTools.js +733 -0
- package/dist/mcp/tools/session/executionResultTools.js +92 -0
- package/dist/mcp/tools/session/index.js +8 -0
- package/dist/mcp/tools/session/shared.js +79 -0
- package/dist/mcp/tools/session/statusTools.js +134 -0
- package/dist/mcp/tools/session/walletIdentityTools.js +119 -0
- package/dist/mcp/tools/settings/index.js +64 -0
- package/dist/review-app/analysis.css +1 -0
- package/dist/review-app/analysis.js +1 -0
- package/dist/review-app/arc-BjIacwQm.js +1 -0
- package/dist/review-app/architecture-U656AL7Q-aSB9x1OK.js +1 -0
- package/dist/review-app/architectureDiagram-VXUJARFQ-C5W6re2I.js +36 -0
- package/dist/review-app/array-BmXUUrU6.js +1 -0
- package/dist/review-app/blockDiagram-VD42YOAC-20MLNcUm.js +122 -0
- package/dist/review-app/c4Diagram-YG6GDRKO-BZXRrcck.js +10 -0
- package/dist/review-app/channel-lk2p_CUu.js +1 -0
- package/dist/review-app/chunk-4BX2VUAB-BPITOdjX.js +1 -0
- package/dist/review-app/chunk-55IACEB6-Dz-pyw5k.js +1 -0
- package/dist/review-app/chunk-76Q3JFCE-cK_X1P_l.js +1 -0
- package/dist/review-app/chunk-ABZYJK2D-Dt4W53JI.js +81 -0
- package/dist/review-app/chunk-ATLVNIR6-fZHLXURb.js +1 -0
- package/dist/review-app/chunk-B4BG7PRW-BbgcjusC.js +165 -0
- package/dist/review-app/chunk-BJD4TVEz.js +1 -0
- package/dist/review-app/chunk-CVBHYZKI-CViawAKX.js +1 -0
- package/dist/review-app/chunk-DI55MBZ5-C5aoul-d.js +220 -0
- package/dist/review-app/chunk-FMBD7UC4-Chxmw62A.js +15 -0
- package/dist/review-app/chunk-FPAJGGOC-DDHjQ09H.js +80 -0
- package/dist/review-app/chunk-FWNWRKHM-CVVQUptk.js +1 -0
- package/dist/review-app/chunk-HN2XXSSU-yzNpjaSZ.js +1 -0
- package/dist/review-app/chunk-JA3XYJ7Z-C5ZJdU01.js +70 -0
- package/dist/review-app/chunk-JZLCHNYA-BBST4Cnk.js +54 -0
- package/dist/review-app/chunk-LBM3YZW2-CdwAPuHr.js +1 -0
- package/dist/review-app/chunk-LHMN2FUI-BtB5uDcp.js +1 -0
- package/dist/review-app/chunk-O7ZBX7Z2-pxdK4Sa3.js +1 -0
- package/dist/review-app/chunk-QN33PNHL-CbVv3uGK.js +1 -0
- package/dist/review-app/chunk-QXUST7PY-DKM2-t2c.js +7 -0
- package/dist/review-app/chunk-QZHKN3VN-C5ni2pN_.js +1 -0
- package/dist/review-app/chunk-S3R3BYOJ-BWvOhDs0.js +2 -0
- package/dist/review-app/chunk-S6J4BHB3-D9Fk0YeD.js +1 -0
- package/dist/review-app/chunk-T53DSG4Q-C1qEyzyV.js +1 -0
- package/dist/review-app/chunk-TZMSLE5B-B--7eU69.js +1 -0
- package/dist/review-app/classDiagram-2ON5EDUG-DlL1m2bp.js +1 -0
- package/dist/review-app/classDiagram-v2-WZHVMYZB-FXRskT1j.js +1 -0
- package/dist/review-app/clone-BZZb7gpZ.js +1 -0
- package/dist/review-app/cose-bilkent-S5V4N54A-CRIb8XEO.js +1 -0
- package/dist/review-app/cytoscape.esm-C7jYqDP5.js +321 -0
- package/dist/review-app/dagre-6UL2VRFP-FNCAXbdE.js +4 -0
- package/dist/review-app/dagre-Be46QtUd.js +1 -0
- package/dist/review-app/defaultLocale-BaWNtAUL.js +1 -0
- package/dist/review-app/diagram-PSM6KHXK-ylLWjiNM.js +24 -0
- package/dist/review-app/diagram-QEK2KX5R-BCDcESxs.js +43 -0
- package/dist/review-app/diagram-S2PKOQOG-Vdrc-vrO.js +24 -0
- package/dist/review-app/dist-WPc74x_f.js +1 -0
- package/dist/review-app/erDiagram-Q2GNP2WA-E5ZsUbDF.js +60 -0
- package/dist/review-app/flatten-DHf9IeNI.js +1 -0
- package/dist/review-app/flowDiagram-NV44I4VS-DBSQuj6x.js +162 -0
- package/dist/review-app/ganttDiagram-LVOFAZNH-CKUOsqwl.js +267 -0
- package/dist/review-app/gitGraph-F6HP7TQM-DsAD6qK1.js +1 -0
- package/dist/review-app/gitGraphDiagram-NY62KEGX-BCeIMWdl.js +65 -0
- package/dist/review-app/graphlib-CiX5CXxR.js +1 -0
- package/dist/review-app/http-DMvwuuFk.js +1 -0
- package/dist/review-app/identity-DY8PXc6t.js +1 -0
- package/dist/review-app/info-NVLQJR56-Dlx1nZic.js +1 -0
- package/dist/review-app/infoDiagram-F6ZHWCRC-CAuANIrz.js +2 -0
- package/dist/review-app/init-BvqephKz.js +1 -0
- package/dist/review-app/journeyDiagram-XKPGCS4Q-C-Z9phnx.js +139 -0
- package/dist/review-app/kanban-definition-3W4ZIXB7-DufgZABq.js +89 -0
- package/dist/review-app/katex-B-Z-NXXN.js +257 -0
- package/dist/review-app/line-DiIv3Jgw.js +1 -0
- package/dist/review-app/linear-Cv-UPvo1.js +1 -0
- package/dist/review-app/math-kmyYrkHL.js +1 -0
- package/dist/review-app/mermaid-parser.core-DkwUYTPl.js +4 -0
- package/dist/review-app/mindmap-definition-VGOIOE7T-TM_CqdmV.js +68 -0
- package/dist/review-app/ordinal-BliTlkoG.js +1 -0
- package/dist/review-app/packet-BFZMPI3H-DqbnU92v.js +1 -0
- package/dist/review-app/path-AEo9W6mQ.js +1 -0
- package/dist/review-app/pie-7BOR55EZ-LJzaLkgr.js +1 -0
- package/dist/review-app/pieDiagram-ADFJNKIX-BAs8OfRS.js +30 -0
- package/dist/review-app/quadrantDiagram-AYHSOK5B-CyUDZP5S.js +7 -0
- package/dist/review-app/radar-NHE76QYJ-DBpHc8_Y.js +1 -0
- package/dist/review-app/reduce-B-HuPpdd.js +1 -0
- package/dist/review-app/requirementDiagram-UZGBJVZJ-BEHix78P.js +64 -0
- package/dist/review-app/review.css +1 -0
- package/dist/review-app/review.js +43 -0
- package/dist/review-app/sankeyDiagram-TZEHDZUN-B2bKbmsm.js +10 -0
- package/dist/review-app/sequenceDiagram-WL72ISMW-DVLOORFJ.js +145 -0
- package/dist/review-app/settings.css +1 -0
- package/dist/review-app/settings.js +1 -0
- package/dist/review-app/src-Buml7cM5.js +1 -0
- package/dist/review-app/stateDiagram-FKZM4ZOC-sFGGp2kV.js +1 -0
- package/dist/review-app/stateDiagram-v2-4FDKWEC3-BHfCF4dX.js +1 -0
- package/dist/review-app/timeline-definition-IT6M3QCI-BESnBijC.js +61 -0
- package/dist/review-app/treemap-KMMF4GRG-wnVLBDeQ.js +1 -0
- package/dist/review-app/walletStatus-CcojOdGy.js +7 -0
- package/dist/review-app/xychartDiagram-PRI3JC2R-BGWVfCx4.js +7 -0
- package/dist/review-server/assets.js +48 -0
- package/dist/review-server/html.js +66 -0
- package/dist/review-server/http.js +47 -0
- package/dist/review-server/middleware/hostOrigin.js +48 -0
- package/dist/review-server/middleware/reviewToken.js +7 -0
- package/dist/review-server/reviewServerPolicy.js +10 -0
- package/dist/review-server/server.js +568 -0
- package/dist/review-server/settingsApi.js +182 -0
- package/dist/review-server/walletIdentityResponse.js +13 -0
- package/dist/runtime/config.js +103 -0
- package/dist/runtime/localSettingsService.js +198 -0
- package/dist/runtime/logger.js +50 -0
- package/dist/runtime/reviewServerAcquire.js +128 -0
- package/dist/runtime/smokeMainnetRead.js +529 -0
- package/dist/runtime/smokeMainnetReadAssertions.js +308 -0
- package/dist/runtime/start.js +295 -0
- package/dist/runtime/suiEndpoint.js +97 -0
- package/dist/runtime/suiTransactionGraphqlMapping.js +200 -0
- package/dist/runtime/suiTransactionGraphqlQueries.js +231 -0
- package/dist/runtime/suiTransactionGraphqlSource.js +148 -0
- package/docs/AGENT_BEHAVIOR.md +1 -1
- package/docs/AGENT_DEVELOPMENT_POLICY.md +20 -0
- package/docs/FRONTEND_POLICY.md +4 -3
- package/docs/MCP_SETUP.md +59 -7
- package/docs/MCP_TOOLS.md +1 -1
- package/docs/SDK_API.md +5 -1
- package/package.json +3 -2
|
@@ -0,0 +1,80 @@
|
|
|
1
|
+
import{i as e,n as t,r as n,t as r}from"./chunk-BJD4TVEz.js";import{t as i}from"./review.js";import{a,c as o,d as s,n as c,s as l,t as u}from"./reduce-B-HuPpdd.js";import{a as d,n as f,t as p}from"./flatten-DHf9IeNI.js";function m(e){return typeof e==`object`&&!!e&&typeof e.$type==`string`}function h(e){return typeof e==`object`&&!!e&&typeof e.$refText==`string`}function g(e){return typeof e==`object`&&!!e&&typeof e.name==`string`&&typeof e.type==`string`&&typeof e.path==`string`}function _(e){return typeof e==`object`&&!!e&&m(e.container)&&h(e.reference)&&typeof e.message==`string`}var v=class{constructor(){this.subtypes={},this.allSubtypes={}}isInstance(e,t){return m(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.computeIsSubtype(e,t);return n[t]=r,r}}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 y(e){return typeof e==`object`&&!!e&&Array.isArray(e.content)}function ee(e){return typeof e==`object`&&!!e&&typeof e.tokenType==`object`}function te(e){return y(e)&&typeof e.fullText==`string`}var b=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 x})}join(e=`,`){let t=this.iterator(),n=``,r,i=!1;do r=t.next(),r.done||(i&&(n+=e),n+=ne(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?x:{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 x})}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(re(n))e.iterator=n[Symbol.iterator]();else return{done:!1,value:n}}}while(e.iterator);return x})}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(re(r))e.iterator=r[Symbol.iterator]();else return{done:!1,value:r}}while(e.iterator);return x})}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?x: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 x})}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 ne(e){return typeof e==`string`?e:e===void 0?`undefined`:typeof e.toString==`function`?e.toString():Object.prototype.toString.call(e)}function re(e){return!!e&&typeof e[Symbol.iterator]==`function`}var ie=new b(()=>void 0,()=>x),x=Object.freeze({done:!0,value:void 0});function S(...e){if(e.length===1){let t=e[0];if(t instanceof b)return t;if(re(t))return new b(()=>t[Symbol.iterator](),e=>e.next());if(typeof t.length==`number`)return new b(()=>({index:0}),e=>e.index<t.length?{done:!1,value:t[e.index++]}:x)}return e.length>1?new b(()=>({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++];re(n)?t.iterator=n[Symbol.iterator]():n&&typeof n.length==`number`&&(t.array=n)}}while(t.iterator||t.array||t.collIndex<e.length);return x}):ie}var ae=class extends b{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 x})}iterator(){let e={state:this.startFn(),next:()=>this.nextFn(e.state),prune:()=>{e.state.pruned=!0},[Symbol.iterator]:()=>e};return e}},oe;(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})(oe||={});function se(e){return new ae(e,e=>y(e)?e.content:[],{includeRoot:!0})}function ce(e,t){for(;e.container;)if(e=e.container,e===t)return!0;return!1}function le(e){return{start:{character:e.startColumn-1,line:e.startLine-1},end:{character:e.endColumn,line:e.endLine-1}}}function ue(e){if(!e)return;let{offset:t,end:n,range:r}=e;return{range:r,offset:t,end:n,length:n-t}}var de;(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`})(de||={});function fe(e,t){if(e.end.line<t.start.line||e.end.line===t.start.line&&e.end.character<=t.start.character)return de.Before;if(e.start.line>t.end.line||e.start.line===t.end.line&&e.start.character>=t.end.character)return de.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?de.Inside:n?de.OverlapBack:r?de.OverlapFront:de.Outside}function pe(e,t){return fe(e,t)>de.After}var me=/^[\w\p{L}]$/u;function he(e,t){if(e){let n=_e(e,!0);if(n&&ge(n,t))return n;if(te(e)){let n=e.content.findIndex(e=>!e.hidden);for(let r=n-1;r>=0;r--){let n=e.content[r];if(ge(n,t))return n}}}}function ge(e,t){return ee(e)&&t.includes(e.tokenType.name)}function _e(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 ve=class extends Error{constructor(e,t){super(e?`${t} at ${e.range.start.line}:${e.range.start.character}`:t)}};function ye(e){throw Error(`Error! The input value was not handled.`)}var be=`AbstractRule`,xe=`AbstractType`,Se=`Condition`,Ce=`TypeDefinition`,we=`ValueLiteral`,Te=`AbstractElement`;function Ee(e){return C.isInstance(e,Te)}var De=`ArrayLiteral`,Oe=`ArrayType`,ke=`BooleanLiteral`;function Ae(e){return C.isInstance(e,ke)}var je=`Conjunction`;function Me(e){return C.isInstance(e,je)}var Ne=`Disjunction`;function Pe(e){return C.isInstance(e,Ne)}var Fe=`Grammar`,Ie=`GrammarImport`,Le=`InferredType`;function Re(e){return C.isInstance(e,Le)}var ze=`Interface`;function Be(e){return C.isInstance(e,ze)}var Ve=`NamedArgument`,He=`Negation`;function Ue(e){return C.isInstance(e,He)}var We=`NumberLiteral`,Ge=`Parameter`,Ke=`ParameterReference`;function qe(e){return C.isInstance(e,Ke)}var Je=`ParserRule`;function Ye(e){return C.isInstance(e,Je)}var Xe=`ReferenceType`,Ze=`ReturnType`;function Qe(e){return C.isInstance(e,Ze)}var $e=`SimpleType`;function et(e){return C.isInstance(e,$e)}var tt=`StringLiteral`,nt=`TerminalRule`;function rt(e){return C.isInstance(e,nt)}var it=`Type`;function at(e){return C.isInstance(e,it)}var ot=`TypeAttribute`,st=`UnionType`,ct=`Action`;function lt(e){return C.isInstance(e,ct)}var ut=`Alternatives`;function dt(e){return C.isInstance(e,ut)}var ft=`Assignment`;function pt(e){return C.isInstance(e,ft)}var mt=`CharacterRange`;function ht(e){return C.isInstance(e,mt)}var gt=`CrossReference`;function _t(e){return C.isInstance(e,gt)}var vt=`EndOfFile`;function yt(e){return C.isInstance(e,vt)}var bt=`Group`;function xt(e){return C.isInstance(e,bt)}var St=`Keyword`;function Ct(e){return C.isInstance(e,St)}var wt=`NegatedToken`;function Tt(e){return C.isInstance(e,wt)}var Et=`RegexToken`;function Dt(e){return C.isInstance(e,Et)}var Ot=`RuleCall`;function kt(e){return C.isInstance(e,Ot)}var At=`TerminalAlternatives`;function jt(e){return C.isInstance(e,At)}var Mt=`TerminalGroup`;function Nt(e){return C.isInstance(e,Mt)}var Pt=`TerminalRuleCall`;function Ft(e){return C.isInstance(e,Pt)}var It=`UnorderedGroup`;function Lt(e){return C.isInstance(e,It)}var Rt=`UntilToken`;function zt(e){return C.isInstance(e,Rt)}var Bt=`Wildcard`;function Vt(e){return C.isInstance(e,Bt)}var Ht=class extends v{getAllTypes(){return[Te,be,xe,ct,ut,De,Oe,ft,ke,mt,Se,je,gt,Ne,vt,Fe,Ie,bt,Le,ze,St,Ve,wt,He,We,Ge,Ke,Je,Xe,Et,Ze,Ot,$e,tt,At,Mt,nt,Pt,it,ot,Ce,st,It,Rt,we,Bt]}computeIsSubtype(e,t){switch(e){case ct:case ut:case ft:case mt:case gt:case vt:case bt:case St:case wt:case Et:case Ot:case At:case Mt:case Pt:case It:case Rt:case Bt:return this.isSubtype(Te,t);case De:case We:case tt:return this.isSubtype(we,t);case Oe:case Xe:case $e:case st:return this.isSubtype(Ce,t);case ke:return this.isSubtype(`Condition`,t)||this.isSubtype(`ValueLiteral`,t);case je:case Ne:case He:case Ke:return this.isSubtype(Se,t);case Le:case ze:case it:return this.isSubtype(xe,t);case Je:return this.isSubtype(`AbstractRule`,t)||this.isSubtype(`AbstractType`,t);case nt:return this.isSubtype(be,t);default:return!1}}getReferenceType(e){let t=`${e.container.$type}:${e.property}`;switch(t){case`Action:type`:case`CrossReference:type`:case`Interface:superTypes`:case`ParserRule:returnType`:case`SimpleType:typeRef`:return xe;case`Grammar:hiddenTokens`:case`ParserRule:hiddenTokens`:case`RuleCall:rule`:return be;case`Grammar:usedGrammars`:return Fe;case`NamedArgument:parameter`:case`ParameterReference:parameter`:return Ge;case`TerminalRuleCall:rule`:return nt;default:throw Error(`${t} is not a valid reference id.`)}}getTypeMetaData(e){switch(e){case Te:return{name:Te,properties:[{name:`cardinality`},{name:`lookahead`}]};case De:return{name:De,properties:[{name:`elements`,defaultValue:[]}]};case Oe:return{name:Oe,properties:[{name:`elementType`}]};case ke:return{name:ke,properties:[{name:`true`,defaultValue:!1}]};case je:return{name:je,properties:[{name:`left`},{name:`right`}]};case Ne:return{name:Ne,properties:[{name:`left`},{name:`right`}]};case Fe:return{name:Fe,properties:[{name:`definesHiddenTokens`,defaultValue:!1},{name:`hiddenTokens`,defaultValue:[]},{name:`imports`,defaultValue:[]},{name:`interfaces`,defaultValue:[]},{name:`isDeclared`,defaultValue:!1},{name:`name`},{name:`rules`,defaultValue:[]},{name:`types`,defaultValue:[]},{name:`usedGrammars`,defaultValue:[]}]};case Ie:return{name:Ie,properties:[{name:`path`}]};case Le:return{name:Le,properties:[{name:`name`}]};case ze:return{name:ze,properties:[{name:`attributes`,defaultValue:[]},{name:`name`},{name:`superTypes`,defaultValue:[]}]};case Ve:return{name:Ve,properties:[{name:`calledByName`,defaultValue:!1},{name:`parameter`},{name:`value`}]};case He:return{name:He,properties:[{name:`value`}]};case We:return{name:We,properties:[{name:`value`}]};case Ge:return{name:Ge,properties:[{name:`name`}]};case Ke:return{name:Ke,properties:[{name:`parameter`}]};case Je:return{name:Je,properties:[{name:`dataType`},{name:`definesHiddenTokens`,defaultValue:!1},{name:`definition`},{name:`entry`,defaultValue:!1},{name:`fragment`,defaultValue:!1},{name:`hiddenTokens`,defaultValue:[]},{name:`inferredType`},{name:`name`},{name:`parameters`,defaultValue:[]},{name:`returnType`},{name:`wildcard`,defaultValue:!1}]};case Xe:return{name:Xe,properties:[{name:`referenceType`}]};case Ze:return{name:Ze,properties:[{name:`name`}]};case $e:return{name:$e,properties:[{name:`primitiveType`},{name:`stringType`},{name:`typeRef`}]};case tt:return{name:tt,properties:[{name:`value`}]};case nt:return{name:nt,properties:[{name:`definition`},{name:`fragment`,defaultValue:!1},{name:`hidden`,defaultValue:!1},{name:`name`},{name:`type`}]};case it:return{name:it,properties:[{name:`name`},{name:`type`}]};case ot:return{name:ot,properties:[{name:`defaultValue`},{name:`isOptional`,defaultValue:!1},{name:`name`},{name:`type`}]};case st:return{name:st,properties:[{name:`types`,defaultValue:[]}]};case ct:return{name:ct,properties:[{name:`cardinality`},{name:`feature`},{name:`inferredType`},{name:`lookahead`},{name:`operator`},{name:`type`}]};case ut:return{name:ut,properties:[{name:`cardinality`},{name:`elements`,defaultValue:[]},{name:`lookahead`}]};case ft:return{name:ft,properties:[{name:`cardinality`},{name:`feature`},{name:`lookahead`},{name:`operator`},{name:`terminal`}]};case mt:return{name:mt,properties:[{name:`cardinality`},{name:`left`},{name:`lookahead`},{name:`right`}]};case gt:return{name:gt,properties:[{name:`cardinality`},{name:`deprecatedSyntax`,defaultValue:!1},{name:`lookahead`},{name:`terminal`},{name:`type`}]};case vt:return{name:vt,properties:[{name:`cardinality`},{name:`lookahead`}]};case bt:return{name:bt,properties:[{name:`cardinality`},{name:`elements`,defaultValue:[]},{name:`guardCondition`},{name:`lookahead`}]};case St:return{name:St,properties:[{name:`cardinality`},{name:`lookahead`},{name:`value`}]};case wt:return{name:wt,properties:[{name:`cardinality`},{name:`lookahead`},{name:`terminal`}]};case Et:return{name:Et,properties:[{name:`cardinality`},{name:`lookahead`},{name:`regex`}]};case Ot:return{name:Ot,properties:[{name:`arguments`,defaultValue:[]},{name:`cardinality`},{name:`lookahead`},{name:`rule`}]};case At:return{name:At,properties:[{name:`cardinality`},{name:`elements`,defaultValue:[]},{name:`lookahead`}]};case Mt:return{name:Mt,properties:[{name:`cardinality`},{name:`elements`,defaultValue:[]},{name:`lookahead`}]};case Pt:return{name:Pt,properties:[{name:`cardinality`},{name:`lookahead`},{name:`rule`}]};case It:return{name:It,properties:[{name:`cardinality`},{name:`elements`,defaultValue:[]},{name:`lookahead`}]};case Rt:return{name:Rt,properties:[{name:`cardinality`},{name:`lookahead`},{name:`terminal`}]};case Bt:return{name:Bt,properties:[{name:`cardinality`},{name:`lookahead`}]};default:return{name:e,properties:[]}}}},C=new Ht;function Ut(e){for(let[t,n]of Object.entries(e))t.startsWith(`$`)||(Array.isArray(n)?n.forEach((n,r)=>{m(n)&&(n.$container=e,n.$containerProperty=t,n.$containerIndex=r)}):m(n)&&(n.$container=e,n.$containerProperty=t))}function Wt(e,t){let n=e;for(;n;){if(t(n))return n;n=n.$container}}function Gt(e){let t=Kt(e).$document;if(!t)throw Error(`AST node has no document.`);return t}function Kt(e){for(;e.$container;)e=e.$container;return e}function qt(e,t){if(!e)throw Error(`Node must be an AstNode.`);let n=t?.range;return new b(()=>({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(m(i)){if(t.keyIndex++,Xt(i,n))return{done:!1,value:i}}else if(Array.isArray(i)){for(;t.arrayIndex<i.length;){let e=i[t.arrayIndex++];if(m(e)&&Xt(e,n))return{done:!1,value:e}}t.arrayIndex=0}}t.keyIndex++}return x})}function Jt(e,t){if(!e)throw Error(`Root node must be an AstNode.`);return new ae(e,e=>qt(e,t))}function Yt(e,t){if(!e)throw Error(`Root node must be an AstNode.`);return t?.range&&!Xt(e,t.range)?new ae(e,()=>[]):new ae(e,e=>qt(e,t),{includeRoot:!0})}function Xt(e,t){if(!t)return!0;let n=e.$cstNode?.range;return n?pe(n,t):!1}function Zt(e){return new b(()=>({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(h(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(h(a))return{done:!1,value:{reference:a,container:e,property:n,index:i}}}t.arrayIndex=0}}t.keyIndex++}return x})}function Qt(e,t){let n=e.getTypeMetaData(t.$type),r=t;for(let e of n.properties)e.defaultValue!==void 0&&r[e.name]===void 0&&(r[e.name]=$t(e.defaultValue))}function $t(e){return Array.isArray(e)?[...e.map($t)]:e}function w(e){return e.charCodeAt(0)}function en(e,t){Array.isArray(e)?e.forEach(function(e){t.push(e)}):t.push(e)}function tn(e,t){if(e[t]===!0)throw`duplicate flag `+t;e[t],e[t]=!0}function nn(e){if(e===void 0)throw Error(`Internal Error - Should never get here!`);return!0}function rn(){throw Error(`Internal Error - Should never get here!`)}function an(e){return e.type===`Character`}var on=[];for(let e=w(`0`);e<=w(`9`);e++)on.push(e);var sn=[w(`_`)].concat(on);for(let e=w(`a`);e<=w(`z`);e++)sn.push(e);for(let e=w(`A`);e<=w(`Z`);e++)sn.push(e);var cn=[w(` `),w(`\f`),w(`
|
|
2
|
+
`),w(`\r`),w(` `),w(`\v`),w(` `),w(`\xA0`),w(` `),w(` `),w(` `),w(` `),w(` `),w(` `),w(` `),w(` `),w(` `),w(` `),w(` `),w(` `),w(`\u2028`),w(`\u2029`),w(` `),w(` `),w(` `),w(``)],ln=/[0-9a-fA-F]/,un=/[0-9]/,dn=/[1-9]/,fn=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`:tn(n,`global`);break;case`i`:tn(n,`ignoreCase`);break;case`m`:tn(n,`multiLine`);break;case`u`:tn(n,`unicode`);break;case`y`:tn(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}nn(t);let n=this.disjunction();return this.consumeChar(`)`),{type:t,value:n,loc:this.loc(e)}}return rn()}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;nn(t);break}if(!(e===!0&&t===void 0)&&nn(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()),nn(e)?(e.loc=this.loc(t),this.isQuantifier()&&(e.quantifier=this.quantifier()),e):rn()}dotAll(){return this.consumeChar(`.`),{type:`Set`,complement:!0,value:[w(`
|
|
3
|
+
`),w(`\r`),w(`\u2028`),w(`\u2029`)]}}atomEscape(){switch(this.consumeChar(`\\`),this.peekChar()){case`1`:case`2`:case`3`:case`4`:case`5`:case`6`:case`7`:case`8`:case`9`:return this.decimalEscapeAtom();case`d`:case`D`:case`s`:case`S`:case`w`:case`W`:return this.characterClassEscape();case`f`:case`n`:case`r`:case`t`:case`v`:return this.controlEscapeAtom();case`c`:return this.controlLetterEscapeAtom();case`0`:return this.nulCharacterAtom();case`x`:return this.hexEscapeSequenceAtom();case`u`:return this.regExpUnicodeEscapeSequenceAtom();default:return this.identityEscapeAtom()}}decimalEscapeAtom(){return{type:`GroupBackReference`,value:this.positiveInteger()}}characterClassEscape(){let e,t=!1;switch(this.popChar()){case`d`:e=on;break;case`D`:e=on,t=!0;break;case`s`:e=cn;break;case`S`:e=cn,t=!0;break;case`w`:e=sn;break;case`W`:e=sn,t=!0;break}return nn(e)?{type:`Set`,value:e,complement:t}:rn()}controlEscapeAtom(){let e;switch(this.popChar()){case`f`:e=w(`\f`);break;case`n`:e=w(`
|
|
4
|
+
`);break;case`r`:e=w(`\r`);break;case`t`:e=w(` `);break;case`v`:e=w(`\v`);break}return nn(e)?{type:`Character`,value:e}:rn()}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:w(`\0`)}}hexEscapeSequenceAtom(){return this.consumeChar(`x`),this.parseHexDigits(2)}regExpUnicodeEscapeSequenceAtom(){return this.consumeChar(`u`),this.parseHexDigits(4)}identityEscapeAtom(){return{type:`Character`,value:w(this.popChar())}}classPatternCharacterAtom(){switch(this.peekChar()){case`
|
|
5
|
+
`:case`\r`:case`\u2028`:case`\u2029`:case`\\`:case`]`:throw Error(`TBD`);default:return{type:`Character`,value:w(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,an(t)&&this.isRangeDash()){this.consumeChar(`-`);let n=this.classAtom();if(n.type,an(n)){if(n.value<t.value)throw Error(`Range out of order in character class`);e.push({from:t.value,to:n.value})}else en(t.value,e),e.push(w(`-`)),en(n.value,e)}else en(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:w(`\b`)};case`d`:case`D`:case`s`:case`S`:case`w`:case`W`:return this.characterClassEscape();case`f`:case`n`:case`r`:case`t`:case`v`:return this.controlEscapeAtom();case`c`:return this.controlLetterEscapeAtom();case`0`:return this.nulCharacterAtom();case`x`:return this.hexEscapeSequenceAtom();case`u`:return this.regExpUnicodeEscapeSequenceAtom();default:return this.identityEscapeAtom()}}group(){let e=!0;switch(this.consumeChar(`(`),this.peekChar(0)){case`?`:this.consumeChar(`?`),this.consumeChar(`:`),e=!1;break;default:this.groupIdx++;break}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(dn.test(e)===!1)throw Error(`Expecting a positive integer`);for(;un.test(this.peekChar(0));)e+=this.popChar();return parseInt(e,10)}integerIncludingZero(){let e=this.popChar();if(un.test(e)===!1)throw Error(`Expecting an integer`);for(;un.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:w(e)}}}isRegExpFlag(){switch(this.peekChar(0)){case`g`:case`i`:case`m`:case`u`:case`y`:return!0;default:return!1}}isRangeDash(){return this.peekChar()===`-`&&this.isClassAtom(1)}isDigit(){return un.test(this.peekChar(0))}isClassAtom(e=0){switch(this.peekChar(e)){case`]`:case`
|
|
8
|
+
`:case`\r`:case`\u2028`:case`\u2029`:return!1;default:return!0}}isTerm(){return this.isAtom()||this.isAssertion()}isAtom(){if(this.isPatternCharacter())return!0;switch(this.peekChar(0)){case`.`:case`\\`:case`[`:case`(`:return!0;default:return!1}}isAssertion(){switch(this.peekChar(0)){case`^`:case`$`:return!0;case`\\`:switch(this.peekChar(1)){case`b`:case`B`:return!0;default:return!1}case`(`:return this.peekChar(1)===`?`&&(this.peekChar(2)===`=`||this.peekChar(2)===`!`);default:return!1}}isQuantifier(){let e=this.saveState();try{return 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(ln.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}}},pn=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`Character`:this.visitCharacter(e);break;case`Set`:this.visitSet(e);break;case`Group`:this.visitGroup(e);break;case`GroupBackReference`:this.visitGroupBackReference(e);break;case`Quantifier`:this.visitQuantifier(e);break}this.visitChildren(e)}visitPattern(e){}visitFlags(e){}visitDisjunction(e){}visitAlternative(e){}visitStartAnchor(e){}visitEndAnchor(e){}visitWordBoundary(e){}visitNonWordBoundary(e){}visitLookahead(e){}visitNegativeLookahead(e){}visitCharacter(e){}visitSet(e){}visitGroup(e){}visitGroupBackReference(e){}visitQuantifier(e){}},mn=/\r?\n/gm,hn=new fn,gn=new class extends pn{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=bn(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 _n(e){try{return typeof e==`string`&&(e=new RegExp(e)),e=e.toString(),gn.reset(e),gn.visit(hn.pattern(e)),gn.multiline}catch{return!1}}var vn=`\f
|
|
12
|
+
\r \v \xA0 \u2028\u2029 `.split(``);function yn(e){let t=typeof e==`string`?new RegExp(e):e;return vn.some(e=>t.test(e))}function bn(e){return e.replace(/[.*+?^${}()|[\]\\]/g,`\\$&`)}function xn(e){return Array.prototype.map.call(e,e=>/\w/.test(e)?`[${e.toLowerCase()}${e.toUpperCase()}]`:bn(e)).join(``)}function Sn(e,t){let n=Cn(e),r=t.match(n);return!!r&&r[0].length>0}function Cn(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 wn(e){return e.rules.find(e=>Ye(e)&&e.entry)}function Tn(e){return e.rules.filter(e=>rt(e)&&e.hidden)}function En(e,t){let n=new Set,r=wn(e);if(!r)return new Set(e.rules);let i=[r].concat(Tn(e));for(let e of i)Dn(e,n,t);let a=new Set;for(let t of e.rules)(n.has(t.name)||rt(t)&&t.hidden)&&a.add(t);return a}function Dn(e,t,n){t.add(e.name),Jt(e).forEach(e=>{if(kt(e)||n&&Ft(e)){let r=e.rule.ref;r&&!t.has(r.name)&&Dn(r,t,n)}})}function On(e){if(e.terminal)return e.terminal;if(e.type.ref)return In(e.type.ref)?.terminal}function kn(e){return e.hidden&&!yn(Wn(e))}function An(e,t){return!e||!t?[]:Mn(e,t,e.astNode,!0)}function jn(e,t,n){if(!e||!t)return;let r=Mn(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 Mn(e,t,n,r){if(!r){let n=Wt(e.grammarSource,pt);if(n&&n.feature===t)return[e]}return y(e)&&e.astNode===n?e.content.flatMap(e=>Mn(e,t,n,!1)):[]}function Nn(e,t,n){if(!e)return;let r=Pn(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 Pn(e,t,n){if(e.astNode!==n)return[];if(Ct(e.grammarSource)&&e.grammarSource.value===t)return[e];let r=se(e).iterator(),i,a=[];do if(i=r.next(),!i.done){let e=i.value;e.astNode===n?Ct(e.grammarSource)&&e.grammarSource.value===t&&a.push(e):r.prune()}while(!i.done);return a}function Fn(e){let t=e.astNode;for(;t===e.container?.astNode;){let t=Wt(e.grammarSource,pt);if(t)return t;e=e.container}}function In(e){let t=e;return Re(t)&&(lt(t.$container)?t=t.$container.$container:Ye(t.$container)?t=t.$container:ye(t.$container)),Ln(e,t,new Map)}function Ln(e,t,n){function r(t,r){let i;return Wt(t,pt)||(i=Ln(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 Jt(t))if(pt(i)&&i.feature.toLowerCase()===`name`)return n.set(e,i),i;else if(kt(i)&&Ye(i.rule.ref))return r(i,i.rule.ref);else if(et(i)&&i.typeRef?.ref)return r(i,i.typeRef.ref)}function Rn(e){return zn(e,new Set)}function zn(e,t){if(t.has(e))return!0;t.add(e);for(let n of Jt(e))if(kt(n)){if(!n.rule.ref||Ye(n.rule.ref)&&!zn(n.rule.ref,t))return!1}else if(pt(n))return!1;else if(lt(n))return!1;return!!e.definition}function Bn(e){if(e.inferredType)return e.inferredType.name;if(e.dataType)return e.dataType;if(e.returnType){let t=e.returnType.ref;if(t&&(Ye(t)||Be(t)||at(t)))return t.name}}function Vn(e){if(Ye(e))return Rn(e)?e.name:Bn(e)??e.name;if(Be(e)||at(e)||Qe(e))return e.name;if(lt(e)){let t=Hn(e);if(t)return t}else if(Re(e))return e.name;throw Error(`Cannot get name of Unknown Type`)}function Hn(e){if(e.inferredType)return e.inferredType.name;if(e.type?.ref)return Vn(e.type.ref)}function Un(e){return rt(e)?e.type?.name??`string`:Bn(e)??e.name}function Wn(e){let t={s:!1,i:!1,u:!1},n=Kn(e.definition,t),r=Object.entries(t).filter(([,e])=>e).map(([e])=>e).join(``);return new RegExp(n,r)}var Gn=`[\\s\\S]`;function Kn(e,t){if(jt(e))return qn(e);if(Nt(e))return Jn(e);if(ht(e))return Zn(e);if(Ft(e)){let t=e.rule.ref;if(!t)throw Error(`Missing rule reference.`);return $n(Kn(t.definition),{cardinality:e.cardinality,lookahead:e.lookahead})}else if(Tt(e))return Xn(e);else if(zt(e))return Yn(e);else if(Dt(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`)),$n(r,{cardinality:e.cardinality,lookahead:e.lookahead,wrap:!1})}else if(Vt(e))return $n(Gn,{cardinality:e.cardinality,lookahead:e.lookahead});else throw Error(`Invalid terminal element: ${e?.$type}`)}function qn(e){return $n(e.elements.map(e=>Kn(e)).join(`|`),{cardinality:e.cardinality,lookahead:e.lookahead})}function Jn(e){return $n(e.elements.map(e=>Kn(e)).join(``),{cardinality:e.cardinality,lookahead:e.lookahead})}function Yn(e){return $n(`${Gn}*?${Kn(e.terminal)}`,{cardinality:e.cardinality,lookahead:e.lookahead})}function Xn(e){return $n(`(?!${Kn(e.terminal)})${Gn}*?`,{cardinality:e.cardinality,lookahead:e.lookahead})}function Zn(e){return e.right?$n(`[${Qn(e.left)}-${Qn(e.right)}]`,{cardinality:e.cardinality,lookahead:e.lookahead,wrap:!1}):$n(Qn(e.left),{cardinality:e.cardinality,lookahead:e.lookahead,wrap:!1})}function Qn(e){return bn(e.value)}function $n(e,t){return(t.wrap!==!1||t.lookahead)&&(e=`(${t.lookahead??``}${e})`),t.cardinality?`${e}${t.cardinality}`:e}function er(e){let t=[],n=e.Grammar;for(let e of n.rules)rt(e)&&kn(e)&&_n(Wn(e))&&t.push(e.name);return{multilineCommentRules:t,nameRegexp:me}}var tr=typeof global==`object`&&global&&global.Object===Object&&global,nr=typeof self==`object`&&self&&self.Object===Object&&self,rr=tr||nr||Function(`return this`)(),ir=rr.Symbol,ar=Object.prototype,or=ar.hasOwnProperty,sr=ar.toString,cr=ir?ir.toStringTag:void 0;function lr(e){var t=or.call(e,cr),n=e[cr];try{e[cr]=void 0;var r=!0}catch{}var i=sr.call(e);return r&&(t?e[cr]=n:delete e[cr]),i}var ur=Object.prototype.toString;function dr(e){return ur.call(e)}var fr=`[object Null]`,pr=`[object Undefined]`,mr=ir?ir.toStringTag:void 0;function hr(e){return e==null?e===void 0?pr:fr:mr&&mr in Object(e)?lr(e):dr(e)}function gr(e){return typeof e==`object`&&!!e}var _r=`[object Symbol]`;function vr(e){return typeof e==`symbol`||gr(e)&&hr(e)==_r}function yr(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 T=Array.isArray,br=1/0,xr=ir?ir.prototype:void 0,Sr=xr?xr.toString:void 0;function Cr(e){if(typeof e==`string`)return e;if(T(e))return yr(e,Cr)+``;if(vr(e))return Sr?Sr.call(e):``;var t=e+``;return t==`0`&&1/e==-br?`-0`:t}var wr=/\s/;function Tr(e){for(var t=e.length;t--&&wr.test(e.charAt(t)););return t}var Er=/^\s+/;function Dr(e){return e&&e.slice(0,Tr(e)+1).replace(Er,``)}function Or(e){var t=typeof e;return e!=null&&(t==`object`||t==`function`)}var kr=NaN,Ar=/^[-+]0x[0-9a-f]+$/i,jr=/^0b[01]+$/i,Mr=/^0o[0-7]+$/i,Nr=parseInt;function Pr(e){if(typeof e==`number`)return e;if(vr(e))return kr;if(Or(e)){var t=typeof e.valueOf==`function`?e.valueOf():e;e=Or(t)?t+``:t}if(typeof e!=`string`)return e===0?e:+e;e=Dr(e);var n=jr.test(e);return n||Mr.test(e)?Nr(e.slice(2),n?2:8):Ar.test(e)?kr:+e}var Fr=1/0,Ir=17976931348623157e292;function Lr(e){return e?(e=Pr(e),e===Fr||e===-Fr?(e<0?-1:1)*Ir:e===e?e:0):e===0?e:0}function Rr(e){var t=Lr(e),n=t%1;return t===t?n?t-n:t:0}function zr(e){return e}var Br=`[object AsyncFunction]`,Vr=`[object Function]`,Hr=`[object GeneratorFunction]`,Ur=`[object Proxy]`;function Wr(e){if(!Or(e))return!1;var t=hr(e);return t==Vr||t==Hr||t==Br||t==Ur}var Gr=rr[`__core-js_shared__`],Kr=function(){var e=/[^.]+$/.exec(Gr&&Gr.keys&&Gr.keys.IE_PROTO||``);return e?`Symbol(src)_1.`+e:``}();function qr(e){return!!Kr&&Kr in e}var Jr=Function.prototype.toString;function Yr(e){if(e!=null){try{return Jr.call(e)}catch{}try{return e+``}catch{}}return``}var Xr=/[\\^$.*+?()[\]{}|]/g,Zr=/^\[object .+?Constructor\]$/,Qr=Function.prototype,$r=Object.prototype,ei=Qr.toString,ti=$r.hasOwnProperty,ni=RegExp(`^`+ei.call(ti).replace(Xr,`\\$&`).replace(/hasOwnProperty|(function).*?(?=\\\()| for .+?(?=\\\])/g,`$1.*?`)+`$`);function ri(e){return!Or(e)||qr(e)?!1:(Wr(e)?ni:Zr).test(Yr(e))}function ii(e,t){return e?.[t]}function ai(e,t){var n=ii(e,t);return ri(n)?n:void 0}var oi=ai(rr,`WeakMap`),si=Object.create,ci=function(){function e(){}return function(t){if(!Or(t))return{};if(si)return si(t);e.prototype=t;var n=new e;return e.prototype=void 0,n}}();function li(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 E(){}function ui(e,t){var n=-1,r=e.length;for(t||=Array(r);++n<r;)t[n]=e[n];return t}var di=800,fi=16,pi=Date.now;function mi(e){var t=0,n=0;return function(){var r=pi(),i=fi-(r-n);if(n=r,i>0){if(++t>=di)return arguments[0]}else t=0;return e.apply(void 0,arguments)}}function hi(e){return function(){return e}}var gi=function(){try{var e=ai(Object,`defineProperty`);return e({},``,{}),e}catch{}}(),_i=mi(gi?function(e,t){return gi(e,`toString`,{configurable:!0,enumerable:!1,value:hi(t),writable:!0})}:zr);function vi(e,t){for(var n=-1,r=e==null?0:e.length;++n<r&&t(e[n],n,e)!==!1;);return e}function yi(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 bi(e){return e!==e}function xi(e,t,n){for(var r=n-1,i=e.length;++r<i;)if(e[r]===t)return r;return-1}function Si(e,t,n){return t===t?xi(e,t,n):yi(e,bi,n)}function Ci(e,t){return!!(e!=null&&e.length)&&Si(e,t,0)>-1}var wi=9007199254740991,Ti=/^(?:0|[1-9]\d*)$/;function Ei(e,t){var n=typeof e;return t??=wi,!!t&&(n==`number`||n!=`symbol`&&Ti.test(e))&&e>-1&&e%1==0&&e<t}function Di(e,t,n){t==`__proto__`&&gi?gi(e,t,{configurable:!0,enumerable:!0,value:n,writable:!0}):e[t]=n}function Oi(e,t){return e===t||e!==e&&t!==t}var ki=Object.prototype.hasOwnProperty;function Ai(e,t,n){var r=e[t];(!(ki.call(e,t)&&Oi(r,n))||n===void 0&&!(t in e))&&Di(e,t,n)}function ji(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?Di(n,s,c):Ai(n,s,c)}return n}var Mi=Math.max;function Ni(e,t,n){return t=Mi(t===void 0?e.length-1:t,0),function(){for(var r=arguments,i=-1,a=Mi(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),li(e,this,s)}}function Pi(e,t){return _i(Ni(e,t,zr),e+``)}var Fi=9007199254740991;function Ii(e){return typeof e==`number`&&e>-1&&e%1==0&&e<=Fi}function Li(e){return e!=null&&Ii(e.length)&&!Wr(e)}function Ri(e,t,n){if(!Or(n))return!1;var r=typeof t;return(r==`number`?Li(n)&&Ei(t,n.length):r==`string`&&t in n)?Oi(n[t],e):!1}function zi(e){return Pi(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&&Ri(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 Bi=Object.prototype;function Vi(e){var t=e&&e.constructor;return e===(typeof t==`function`&&t.prototype||Bi)}function Hi(e,t){for(var n=-1,r=Array(e);++n<e;)r[n]=t(n);return r}var Ui=`[object Arguments]`;function Wi(e){return gr(e)&&hr(e)==Ui}var Gi=Object.prototype,Ki=Gi.hasOwnProperty,qi=Gi.propertyIsEnumerable,Ji=Wi(function(){return arguments}())?Wi:function(e){return gr(e)&&Ki.call(e,`callee`)&&!qi.call(e,`callee`)};function Yi(){return!1}var Xi=typeof exports==`object`&&exports&&!exports.nodeType&&exports,Zi=Xi&&typeof module==`object`&&module&&!module.nodeType&&module,Qi=Zi&&Zi.exports===Xi?rr.Buffer:void 0,$i=(Qi?Qi.isBuffer:void 0)||Yi,ea=`[object Arguments]`,ta=`[object Array]`,na=`[object Boolean]`,ra=`[object Date]`,ia=`[object Error]`,aa=`[object Function]`,oa=`[object Map]`,sa=`[object Number]`,ca=`[object Object]`,la=`[object RegExp]`,ua=`[object Set]`,da=`[object String]`,fa=`[object WeakMap]`,pa=`[object ArrayBuffer]`,ma=`[object DataView]`,ha=`[object Float32Array]`,ga=`[object Float64Array]`,_a=`[object Int8Array]`,va=`[object Int16Array]`,ya=`[object Int32Array]`,ba=`[object Uint8Array]`,xa=`[object Uint8ClampedArray]`,Sa=`[object Uint16Array]`,Ca=`[object Uint32Array]`,D={};D[ha]=D[ga]=D[_a]=D[va]=D[ya]=D[ba]=D[xa]=D[Sa]=D[Ca]=!0,D[ea]=D[ta]=D[pa]=D[na]=D[ma]=D[ra]=D[ia]=D[aa]=D[oa]=D[sa]=D[ca]=D[la]=D[ua]=D[da]=D[fa]=!1;function wa(e){return gr(e)&&Ii(e.length)&&!!D[hr(e)]}function Ta(e){return function(t){return e(t)}}var Ea=typeof exports==`object`&&exports&&!exports.nodeType&&exports,Da=Ea&&typeof module==`object`&&module&&!module.nodeType&&module,Oa=Da&&Da.exports===Ea&&tr.process,ka=function(){try{return Da&&Da.require&&Da.require(`util`).types||Oa&&Oa.binding&&Oa.binding(`util`)}catch{}}(),Aa=ka&&ka.isTypedArray,ja=Aa?Ta(Aa):wa,Ma=Object.prototype.hasOwnProperty;function Na(e,t){var n=T(e),r=!n&&Ji(e),i=!n&&!r&&$i(e),a=!n&&!r&&!i&&ja(e),o=n||r||i||a,s=o?Hi(e.length,String):[],c=s.length;for(var l in e)(t||Ma.call(e,l))&&!(o&&(l==`length`||i&&(l==`offset`||l==`parent`)||a&&(l==`buffer`||l==`byteLength`||l==`byteOffset`)||Ei(l,c)))&&s.push(l);return s}function Pa(e,t){return function(n){return e(t(n))}}var Fa=Pa(Object.keys,Object),Ia=Object.prototype.hasOwnProperty;function La(e){if(!Vi(e))return Fa(e);var t=[];for(var n in Object(e))Ia.call(e,n)&&n!=`constructor`&&t.push(n);return t}function Ra(e){return Li(e)?Na(e):La(e)}var za=Object.prototype.hasOwnProperty,Ba=zi(function(e,t){if(Vi(t)||Li(t)){ji(t,Ra(t),e);return}for(var n in t)za.call(t,n)&&Ai(e,n,t[n])});function Va(e){var t=[];if(e!=null)for(var n in Object(e))t.push(n);return t}var Ha=Object.prototype.hasOwnProperty;function Ua(e){if(!Or(e))return Va(e);var t=Vi(e),n=[];for(var r in e)r==`constructor`&&(t||!Ha.call(e,r))||n.push(r);return n}function Wa(e){return Li(e)?Na(e,!0):Ua(e)}var Ga=/\.|\[(?:[^[\]]*|(["'])(?:(?!\1)[^\\]|\\.)*?\1)\]/,Ka=/^\w*$/;function qa(e,t){if(T(e))return!1;var n=typeof e;return n==`number`||n==`symbol`||n==`boolean`||e==null||vr(e)?!0:Ka.test(e)||!Ga.test(e)||t!=null&&e in Object(t)}var Ja=ai(Object,`create`);function Ya(){this.__data__=Ja?Ja(null):{},this.size=0}function Xa(e){var t=this.has(e)&&delete this.__data__[e];return this.size-=+!!t,t}var Za=`__lodash_hash_undefined__`,Qa=Object.prototype.hasOwnProperty;function $a(e){var t=this.__data__;if(Ja){var n=t[e];return n===Za?void 0:n}return Qa.call(t,e)?t[e]:void 0}var eo=Object.prototype.hasOwnProperty;function to(e){var t=this.__data__;return Ja?t[e]!==void 0:eo.call(t,e)}var no=`__lodash_hash_undefined__`;function ro(e,t){var n=this.__data__;return this.size+=+!this.has(e),n[e]=Ja&&t===void 0?no:t,this}function io(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])}}io.prototype.clear=Ya,io.prototype.delete=Xa,io.prototype.get=$a,io.prototype.has=to,io.prototype.set=ro;function ao(){this.__data__=[],this.size=0}function oo(e,t){for(var n=e.length;n--;)if(Oi(e[n][0],t))return n;return-1}var so=Array.prototype.splice;function co(e){var t=this.__data__,n=oo(t,e);return n<0?!1:(n==t.length-1?t.pop():so.call(t,n,1),--this.size,!0)}function lo(e){var t=this.__data__,n=oo(t,e);return n<0?void 0:t[n][1]}function uo(e){return oo(this.__data__,e)>-1}function fo(e,t){var n=this.__data__,r=oo(n,e);return r<0?(++this.size,n.push([e,t])):n[r][1]=t,this}function po(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])}}po.prototype.clear=ao,po.prototype.delete=co,po.prototype.get=lo,po.prototype.has=uo,po.prototype.set=fo;var mo=ai(rr,`Map`);function ho(){this.size=0,this.__data__={hash:new io,map:new(mo||po),string:new io}}function go(e){var t=typeof e;return t==`string`||t==`number`||t==`symbol`||t==`boolean`?e!==`__proto__`:e===null}function _o(e,t){var n=e.__data__;return go(t)?n[typeof t==`string`?`string`:`hash`]:n.map}function vo(e){var t=_o(this,e).delete(e);return this.size-=+!!t,t}function yo(e){return _o(this,e).get(e)}function bo(e){return _o(this,e).has(e)}function xo(e,t){var n=_o(this,e),r=n.size;return n.set(e,t),this.size+=n.size==r?0:1,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=ho,So.prototype.delete=vo,So.prototype.get=yo,So.prototype.has=bo,So.prototype.set=xo;var Co=`Expected a function`;function wo(e,t){if(typeof e!=`function`||t!=null&&typeof t!=`function`)throw TypeError(Co);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(wo.Cache||So),n}wo.Cache=So;var To=500;function Eo(e){var t=wo(e,function(e){return n.size===To&&n.clear(),e}),n=t.cache;return t}var Do=/[^.[\]]+|\[(?:(-?\d+(?:\.\d+)?)|(["'])((?:(?!\2)[^\\]|\\.)*?)\2)\]|(?=(?:\.|\[\])(?:\.|\[\]|$))/g,Oo=/\\(\\)?/g,ko=Eo(function(e){var t=[];return e.charCodeAt(0)===46&&t.push(``),e.replace(Do,function(e,n,r,i){t.push(r?i.replace(Oo,`$1`):n||e)}),t});function Ao(e){return e==null?``:Cr(e)}function jo(e,t){return T(e)?e:qa(e,t)?[e]:ko(Ao(e))}var Mo=1/0;function No(e){if(typeof e==`string`||vr(e))return e;var t=e+``;return t==`0`&&1/e==-Mo?`-0`:t}function Po(e,t){t=jo(t,e);for(var n=0,r=t.length;e!=null&&n<r;)e=e[No(t[n++])];return n&&n==r?e:void 0}function Fo(e,t,n){var r=e==null?void 0:Po(e,t);return r===void 0?n:r}function Io(e,t){for(var n=-1,r=t.length,i=e.length;++n<r;)e[i+n]=t[n];return e}var Lo=ir?ir.isConcatSpreadable:void 0;function Ro(e){return T(e)||Ji(e)||!!(Lo&&e&&e[Lo])}function zo(e,t,n,r,i){var a=-1,o=e.length;for(n||=Ro,i||=[];++a<o;){var s=e[a];t>0&&n(s)?t>1?zo(s,t-1,n,r,i):Io(i,s):r||(i[i.length]=s)}return i}function Bo(e){return e!=null&&e.length?zo(e,1):[]}var Vo=Pa(Object.getPrototypeOf,Object);function Ho(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 Uo(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 Wo(){this.__data__=new po,this.size=0}function Go(e){var t=this.__data__,n=t.delete(e);return this.size=t.size,n}function Ko(e){return this.__data__.get(e)}function qo(e){return this.__data__.has(e)}var Jo=200;function Yo(e,t){var n=this.__data__;if(n instanceof po){var r=n.__data__;if(!mo||r.length<Jo-1)return r.push([e,t]),this.size=++n.size,this;n=this.__data__=new So(r)}return n.set(e,t),this.size=n.size,this}function Xo(e){var t=this.__data__=new po(e);this.size=t.size}Xo.prototype.clear=Wo,Xo.prototype.delete=Go,Xo.prototype.get=Ko,Xo.prototype.has=qo,Xo.prototype.set=Yo;function Zo(e,t){return e&&ji(t,Ra(t),e)}function Qo(e,t){return e&&ji(t,Wa(t),e)}var $o=typeof exports==`object`&&exports&&!exports.nodeType&&exports,es=$o&&typeof module==`object`&&module&&!module.nodeType&&module,ts=es&&es.exports===$o?rr.Buffer:void 0,ns=ts?ts.allocUnsafe:void 0;function rs(e,t){if(t)return e.slice();var n=e.length,r=ns?ns(n):new e.constructor(n);return e.copy(r),r}function is(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 as(){return[]}var os=Object.prototype.propertyIsEnumerable,ss=Object.getOwnPropertySymbols,cs=ss?function(e){return e==null?[]:(e=Object(e),is(ss(e),function(t){return os.call(e,t)}))}:as;function ls(e,t){return ji(e,cs(e),t)}var us=Object.getOwnPropertySymbols?function(e){for(var t=[];e;)Io(t,cs(e)),e=Vo(e);return t}:as;function ds(e,t){return ji(e,us(e),t)}function fs(e,t,n){var r=t(e);return T(e)?r:Io(r,n(e))}function ps(e){return fs(e,Ra,cs)}function ms(e){return fs(e,Wa,us)}var hs=ai(rr,`DataView`),gs=ai(rr,`Promise`),_s=ai(rr,`Set`),vs=`[object Map]`,ys=`[object Object]`,bs=`[object Promise]`,xs=`[object Set]`,Ss=`[object WeakMap]`,Cs=`[object DataView]`,ws=Yr(hs),Ts=Yr(mo),Es=Yr(gs),Ds=Yr(_s),Os=Yr(oi),ks=hr;(hs&&ks(new hs(new ArrayBuffer(1)))!=Cs||mo&&ks(new mo)!=vs||gs&&ks(gs.resolve())!=bs||_s&&ks(new _s)!=xs||oi&&ks(new oi)!=Ss)&&(ks=function(e){var t=hr(e),n=t==ys?e.constructor:void 0,r=n?Yr(n):``;if(r)switch(r){case ws:return Cs;case Ts:return vs;case Es:return bs;case Ds:return xs;case Os:return Ss}return t});var As=ks,js=Object.prototype.hasOwnProperty;function Ms(e){var t=e.length,n=new e.constructor(t);return t&&typeof e[0]==`string`&&js.call(e,`index`)&&(n.index=e.index,n.input=e.input),n}var Ns=rr.Uint8Array;function Ps(e){var t=new e.constructor(e.byteLength);return new Ns(t).set(new Ns(e)),t}function Fs(e,t){var n=t?Ps(e.buffer):e.buffer;return new e.constructor(n,e.byteOffset,e.byteLength)}var Is=/\w*$/;function Ls(e){var t=new e.constructor(e.source,Is.exec(e));return t.lastIndex=e.lastIndex,t}var Rs=ir?ir.prototype:void 0,zs=Rs?Rs.valueOf:void 0;function Bs(e){return zs?Object(zs.call(e)):{}}function Vs(e,t){var n=t?Ps(e.buffer):e.buffer;return new e.constructor(n,e.byteOffset,e.length)}var Hs=`[object Boolean]`,Us=`[object Date]`,Ws=`[object Map]`,Gs=`[object Number]`,Ks=`[object RegExp]`,qs=`[object Set]`,Js=`[object String]`,Ys=`[object Symbol]`,Xs=`[object ArrayBuffer]`,Zs=`[object DataView]`,Qs=`[object Float32Array]`,$s=`[object Float64Array]`,ec=`[object Int8Array]`,tc=`[object Int16Array]`,nc=`[object Int32Array]`,rc=`[object Uint8Array]`,ic=`[object Uint8ClampedArray]`,ac=`[object Uint16Array]`,oc=`[object Uint32Array]`;function sc(e,t,n){var r=e.constructor;switch(t){case Xs:return Ps(e);case Hs:case Us:return new r(+e);case Zs:return Fs(e,n);case Qs:case $s:case ec:case tc:case nc:case rc:case ic:case ac:case oc:return Vs(e,n);case Ws:return new r;case Gs:case Js:return new r(e);case Ks:return Ls(e);case qs:return new r;case Ys:return Bs(e)}}function cc(e){return typeof e.constructor==`function`&&!Vi(e)?ci(Vo(e)):{}}var lc=`[object Map]`;function uc(e){return gr(e)&&As(e)==lc}var dc=ka&&ka.isMap,fc=dc?Ta(dc):uc,pc=`[object Set]`;function mc(e){return gr(e)&&As(e)==pc}var hc=ka&&ka.isSet,gc=hc?Ta(hc):mc,_c=1,vc=2,yc=4,bc=`[object Arguments]`,xc=`[object Array]`,Sc=`[object Boolean]`,Cc=`[object Date]`,wc=`[object Error]`,Tc=`[object Function]`,Ec=`[object GeneratorFunction]`,Dc=`[object Map]`,Oc=`[object Number]`,kc=`[object Object]`,Ac=`[object RegExp]`,jc=`[object Set]`,Mc=`[object String]`,Nc=`[object Symbol]`,Pc=`[object WeakMap]`,Fc=`[object ArrayBuffer]`,Ic=`[object DataView]`,Lc=`[object Float32Array]`,Rc=`[object Float64Array]`,zc=`[object Int8Array]`,Bc=`[object Int16Array]`,Vc=`[object Int32Array]`,Hc=`[object Uint8Array]`,Uc=`[object Uint8ClampedArray]`,Wc=`[object Uint16Array]`,Gc=`[object Uint32Array]`,O={};O[bc]=O[xc]=O[Fc]=O[Ic]=O[Sc]=O[Cc]=O[Lc]=O[Rc]=O[zc]=O[Bc]=O[Vc]=O[Dc]=O[Oc]=O[kc]=O[Ac]=O[jc]=O[Mc]=O[Nc]=O[Hc]=O[Uc]=O[Wc]=O[Gc]=!0,O[wc]=O[Tc]=O[Pc]=!1;function Kc(e,t,n,r,i,a){var o,s=t&_c,c=t&vc,l=t&yc;if(n&&(o=i?n(e,r,i,a):n(e)),o!==void 0)return o;if(!Or(e))return e;var u=T(e);if(u){if(o=Ms(e),!s)return ui(e,o)}else{var d=As(e),f=d==Tc||d==Ec;if($i(e))return rs(e,s);if(d==kc||d==bc||f&&!i){if(o=c||f?{}:cc(e),!s)return c?ds(e,Qo(o,e)):ls(e,Zo(o,e))}else{if(!O[d])return i?e:{};o=sc(e,d,s)}}a||=new Xo;var p=a.get(e);if(p)return p;a.set(e,o),gc(e)?e.forEach(function(r){o.add(Kc(r,t,n,r,e,a))}):fc(e)&&e.forEach(function(r,i){o.set(i,Kc(r,t,n,i,e,a))});var m=u?void 0:(l?c?ms:ps:c?Wa:Ra)(e);return vi(m||e,function(r,i){m&&(i=r,r=e[i]),Ai(o,i,Kc(r,t,n,i,e,a))}),o}var qc=4;function k(e){return Kc(e,qc)}function Jc(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 Yc=`__lodash_hash_undefined__`;function Xc(e){return this.__data__.set(e,Yc),this}function Zc(e){return this.__data__.has(e)}function Qc(e){var t=-1,n=e==null?0:e.length;for(this.__data__=new So;++t<n;)this.add(e[t])}Qc.prototype.add=Qc.prototype.push=Xc,Qc.prototype.has=Zc;function $c(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 el(e,t){return e.has(t)}var tl=1,nl=2;function rl(e,t,n,r,i,a){var o=n&tl,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&nl?new Qc: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(!$c(t,function(e,t){if(!el(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 il(e){var t=-1,n=Array(e.size);return e.forEach(function(e,r){n[++t]=[r,e]}),n}function al(e){var t=-1,n=Array(e.size);return e.forEach(function(e){n[++t]=e}),n}var ol=1,sl=2,cl=`[object Boolean]`,ll=`[object Date]`,ul=`[object Error]`,dl=`[object Map]`,fl=`[object Number]`,pl=`[object RegExp]`,ml=`[object Set]`,hl=`[object String]`,gl=`[object Symbol]`,_l=`[object ArrayBuffer]`,vl=`[object DataView]`,yl=ir?ir.prototype:void 0,bl=yl?yl.valueOf:void 0;function xl(e,t,n,r,i,a,o){switch(n){case vl:if(e.byteLength!=t.byteLength||e.byteOffset!=t.byteOffset)return!1;e=e.buffer,t=t.buffer;case _l:return!(e.byteLength!=t.byteLength||!a(new Ns(e),new Ns(t)));case cl:case ll:case fl:return Oi(+e,+t);case ul:return e.name==t.name&&e.message==t.message;case pl:case hl:return e==t+``;case dl:var s=il;case ml:var c=r&ol;if(s||=al,e.size!=t.size&&!c)return!1;var l=o.get(e);if(l)return l==t;r|=sl,o.set(e,t);var u=rl(s(e),s(t),r,i,a,o);return o.delete(e),u;case gl:if(bl)return bl.call(e)==bl.call(t)}return!1}var Sl=1,Cl=Object.prototype.hasOwnProperty;function wl(e,t,n,r,i,a){var o=n&Sl,s=ps(e),c=s.length;if(c!=ps(t).length&&!o)return!1;for(var l=c;l--;){var u=s[l];if(!(o?u in t:Cl.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 Tl=1,El=`[object Arguments]`,Dl=`[object Array]`,Ol=`[object Object]`,kl=Object.prototype.hasOwnProperty;function Al(e,t,n,r,i,a){var o=T(e),s=T(t),c=o?Dl:As(e),l=s?Dl:As(t);c=c==El?Ol:c,l=l==El?Ol:l;var u=c==Ol,d=l==Ol,f=c==l;if(f&&$i(e)){if(!$i(t))return!1;o=!0,u=!1}if(f&&!u)return a||=new Xo,o||ja(e)?rl(e,t,n,r,i,a):xl(e,t,c,n,r,i,a);if(!(n&Tl)){var p=u&&kl.call(e,`__wrapped__`),m=d&&kl.call(t,`__wrapped__`);if(p||m){var h=p?e.value():e,g=m?t.value():t;return a||=new Xo,i(h,g,n,r,a)}}return f?(a||=new Xo,wl(e,t,n,r,i,a)):!1}function jl(e,t,n,r,i){return e===t?!0:e==null||t==null||!gr(e)&&!gr(t)?e!==e&&t!==t:Al(e,t,n,r,jl,i)}var Ml=1,Nl=2;function Pl(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 Xo;if(r)var f=r(l,u,c,e,t,d);if(!(f===void 0?jl(u,l,Ml|Nl,r,d):f))return!1}}return!0}function Fl(e){return e===e&&!Or(e)}function Il(e){for(var t=Ra(e),n=t.length;n--;){var r=t[n],i=e[r];t[n]=[r,i,Fl(i)]}return t}function Ll(e,t){return function(n){return n==null?!1:n[e]===t&&(t!==void 0||e in Object(n))}}function Rl(e){var t=Il(e);return t.length==1&&t[0][2]?Ll(t[0][0],t[0][1]):function(n){return n===e||Pl(n,e,t)}}function zl(e,t){return e!=null&&t in Object(e)}function Bl(e,t,n){t=jo(t,e);for(var r=-1,i=t.length,a=!1;++r<i;){var o=No(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&&Ii(i)&&Ei(o,i)&&(T(e)||Ji(e)))}function Vl(e,t){return e!=null&&Bl(e,t,zl)}var Hl=1,Ul=2;function Wl(e,t){return qa(e)&&Fl(t)?Ll(No(e),t):function(n){var r=Fo(n,e);return r===void 0&&r===t?Vl(n,e):jl(t,r,Hl|Ul)}}function Gl(e){return function(t){return t?.[e]}}function Kl(e){return function(t){return Po(t,e)}}function ql(e){return qa(e)?Gl(No(e)):Kl(e)}function Jl(e){return typeof e==`function`?e:e==null?zr:typeof e==`object`?T(e)?Wl(e[0],e[1]):Rl(e):ql(e)}function Yl(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 Xl(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 Zl=Xl();function Ql(e,t){return e&&Zl(e,t,Ra)}function $l(e,t){return function(n,r){if(n==null)return n;if(!Li(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 eu=$l(Ql);function tu(e,t,n,r){return eu(e,function(e,i,a){t(r,e,n(e),a)}),r}function nu(e,t){return function(n,r){var i=T(n)?Yl:tu,a=t?t():{};return i(n,e,Jl(r,2),a)}}var ru=Object.prototype,iu=ru.hasOwnProperty,au=Pi(function(e,t){e=Object(e);var n=-1,r=t.length,i=r>2?t[2]:void 0;for(i&&Ri(t[0],t[1],i)&&(r=1);++n<r;)for(var a=t[n],o=Wa(a),s=-1,c=o.length;++s<c;){var l=o[s],u=e[l];(u===void 0||Oi(u,ru[l])&&!iu.call(e,l))&&(e[l]=a[l])}return e});function ou(e){return gr(e)&&Li(e)}function su(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 cu=200;function lu(e,t,n,r){var i=-1,a=Ci,o=!0,s=e.length,c=[],l=t.length;if(!s)return c;n&&(t=yr(t,Ta(n))),r?(a=su,o=!1):t.length>=cu&&(a=el,o=!1,t=new Qc(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 uu=Pi(function(e,t){return ou(e)?lu(e,zo(t,1,ou,!0)):[]});function du(e){var t=e==null?0:e.length;return t?e[t-1]:void 0}function A(e,t,n){var r=e==null?0:e.length;return r?(t=n||t===void 0?1:Rr(t),Ho(e,t<0?0:t,r)):[]}function fu(e,t,n){var r=e==null?0:e.length;return r?(t=n||t===void 0?1:Rr(t),t=r-t,Ho(e,0,t<0?0:t)):[]}function pu(e){return typeof e==`function`?e:zr}function j(e,t){return(T(e)?vi:eu)(e,pu(t))}function mu(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 hu(e,t){var n=!0;return eu(e,function(e,r,i){return n=!!t(e,r,i),n}),n}function gu(e,t,n){var r=T(e)?mu:hu;return n&&Ri(e,t,n)&&(t=void 0),r(e,Jl(t,3))}function _u(e,t){var n=[];return eu(e,function(e,r,i){t(e,r,i)&&n.push(e)}),n}function vu(e,t){return(T(e)?is:_u)(e,Jl(t,3))}function yu(e){return function(t,n,r){var i=Object(t);if(!Li(t)){var a=Jl(n,3);t=Ra(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 bu=Math.max;function xu(e,t,n){var r=e==null?0:e.length;if(!r)return-1;var i=n==null?0:Rr(n);return i<0&&(i=bu(r+i,0)),yi(e,Jl(t,3),i)}var Su=yu(xu);function Cu(e){return e&&e.length?e[0]:void 0}function wu(e,t){var n=-1,r=Li(e)?Array(e.length):[];return eu(e,function(e,i,a){r[++n]=t(e,i,a)}),r}function M(e,t){return(T(e)?yr:wu)(e,Jl(t,3))}function Tu(e,t){return zo(M(e,t),1)}var Eu=Object.prototype.hasOwnProperty,Du=nu(function(e,t,n){Eu.call(e,n)?e[n].push(t):Di(e,n,[t])}),Ou=Object.prototype.hasOwnProperty;function ku(e,t){return e!=null&&Ou.call(e,t)}function N(e,t){return e!=null&&Bl(e,t,ku)}var Au=`[object String]`;function ju(e){return typeof e==`string`||!T(e)&&gr(e)&&hr(e)==Au}function Mu(e,t){return yr(t,function(t){return e[t]})}function P(e){return e==null?[]:Mu(e,Ra(e))}var Nu=Math.max;function F(e,t,n,r){e=Li(e)?e:P(e),n=n&&!r?Rr(n):0;var i=e.length;return n<0&&(n=Nu(i+n,0)),ju(e)?n<=i&&e.indexOf(t,n)>-1:!!i&&Si(e,t,n)>-1}var Pu=Math.max;function Fu(e,t,n){var r=e==null?0:e.length;if(!r)return-1;var i=n==null?0:Rr(n);return i<0&&(i=Pu(r+i,0)),Si(e,t,i)}var Iu=`[object Map]`,Lu=`[object Set]`,Ru=Object.prototype.hasOwnProperty;function I(e){if(e==null)return!0;if(Li(e)&&(T(e)||typeof e==`string`||typeof e.splice==`function`||$i(e)||ja(e)||Ji(e)))return!e.length;var t=As(e);if(t==Iu||t==Lu)return!e.size;if(Vi(e))return!La(e).length;for(var n in e)if(Ru.call(e,n))return!1;return!0}var zu=`[object RegExp]`;function Bu(e){return gr(e)&&hr(e)==zu}var Vu=ka&&ka.isRegExp,Hu=Vu?Ta(Vu):Bu;function Uu(e){return e===void 0}var Wu=`Expected a function`;function Gu(e){if(typeof e!=`function`)throw TypeError(Wu);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 Ku(e,t,n,r){if(!Or(e))return e;t=jo(t,e);for(var i=-1,a=t.length,o=a-1,s=e;s!=null&&++i<a;){var c=No(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=Or(u)?u:Ei(t[i+1])?[]:{})}Ai(s,c,l),s=s[c]}return e}function qu(e,t,n){for(var r=-1,i=t.length,a={};++r<i;){var o=t[r],s=Po(e,o);n(s,o)&&Ku(a,jo(o,e),s)}return a}function Ju(e,t){if(e==null)return{};var n=yr(ms(e),function(e){return[e]});return t=Jl(t),qu(e,n,function(e,n){return t(e,n[0])})}function Yu(e,t,n,r,i){return i(e,function(e,i,a){n=r?(r=!1,e):t(n,e,i,a)}),n}function Xu(e,t,n){var r=T(e)?Uo:Yu,i=arguments.length<3;return r(e,Jl(t,4),n,i,eu)}function Zu(e,t){return(T(e)?is:_u)(e,Gu(Jl(t,3)))}function Qu(e,t){var n;return eu(e,function(e,r,i){return n=t(e,r,i),!n}),!!n}function $u(e,t,n){var r=T(e)?$c:Qu;return n&&Ri(e,t,n)&&(t=void 0),r(e,Jl(t,3))}var ed=_s&&1/al(new _s([,-0]))[1]==1/0?function(e){return new _s(e)}:E,td=200;function nd(e,t,n){var r=-1,i=Ci,a=e.length,o=!0,s=[],c=s;if(n)o=!1,i=su;else if(a>=td){var l=t?null:ed(e);if(l)return al(l);o=!1,i=el,c=new Qc}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 rd(e){return e&&e.length?nd(e):[]}function id(e){console&&console.error&&console.error(`Error: ${e}`)}function ad(e){console&&console.warn&&console.warn(`Warning: ${e}`)}function od(e){let t=new Date().getTime(),n=e();return{time:new Date().getTime()-t,value:n}}function sd(e){function t(){}t.prototype=e;let n=new t;function r(){return typeof n.bar}return r(),r(),e}var cd=typeof global==`object`&&global&&global.Object===Object&&global,ld=typeof self==`object`&&self&&self.Object===Object&&self,ud=cd||ld||Function(`return this`)(),dd=ud.Symbol,fd=Object.prototype,pd=fd.hasOwnProperty,md=fd.toString,hd=dd?dd.toStringTag:void 0;function gd(e){var t=pd.call(e,hd),n=e[hd];try{e[hd]=void 0;var r=!0}catch{}var i=md.call(e);return r&&(t?e[hd]=n:delete e[hd]),i}var _d=Object.prototype.toString;function vd(e){return _d.call(e)}var yd=`[object Null]`,bd=`[object Undefined]`,xd=dd?dd.toStringTag:void 0;function Sd(e){return e==null?e===void 0?bd:yd:xd&&xd in Object(e)?gd(e):vd(e)}function Cd(e){return typeof e==`object`&&!!e}var wd=`[object Symbol]`;function Td(e){return typeof e==`symbol`||Cd(e)&&Sd(e)==wd}function Ed(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 L=Array.isArray,Dd=1/0,Od=dd?dd.prototype:void 0,kd=Od?Od.toString:void 0;function Ad(e){if(typeof e==`string`)return e;if(L(e))return Ed(e,Ad)+``;if(Td(e))return kd?kd.call(e):``;var t=e+``;return t==`0`&&1/e==-Dd?`-0`:t}var jd=/\s/;function Md(e){for(var t=e.length;t--&&jd.test(e.charAt(t)););return t}var Nd=/^\s+/;function Pd(e){return e&&e.slice(0,Md(e)+1).replace(Nd,``)}function Fd(e){var t=typeof e;return e!=null&&(t==`object`||t==`function`)}var Id=NaN,Ld=/^[-+]0x[0-9a-f]+$/i,Rd=/^0b[01]+$/i,zd=/^0o[0-7]+$/i,Bd=parseInt;function Vd(e){if(typeof e==`number`)return e;if(Td(e))return Id;if(Fd(e)){var t=typeof e.valueOf==`function`?e.valueOf():e;e=Fd(t)?t+``:t}if(typeof e!=`string`)return e===0?e:+e;e=Pd(e);var n=Rd.test(e);return n||zd.test(e)?Bd(e.slice(2),n?2:8):Ld.test(e)?Id:+e}var Hd=1/0,Ud=17976931348623157e292;function Wd(e){return e?(e=Vd(e),e===Hd||e===-Hd?(e<0?-1:1)*Ud:e===e?e:0):e===0?e:0}function Gd(e){var t=Wd(e),n=t%1;return t===t?n?t-n:t:0}function Kd(e){return e}var qd=`[object AsyncFunction]`,Jd=`[object Function]`,Yd=`[object GeneratorFunction]`,Xd=`[object Proxy]`;function Zd(e){if(!Fd(e))return!1;var t=Sd(e);return t==Jd||t==Yd||t==qd||t==Xd}var Qd=ud[`__core-js_shared__`],$d=function(){var e=/[^.]+$/.exec(Qd&&Qd.keys&&Qd.keys.IE_PROTO||``);return e?`Symbol(src)_1.`+e:``}();function ef(e){return!!$d&&$d in e}var tf=Function.prototype.toString;function nf(e){if(e!=null){try{return tf.call(e)}catch{}try{return e+``}catch{}}return``}var rf=/[\\^$.*+?()[\]{}|]/g,af=/^\[object .+?Constructor\]$/,of=Function.prototype,sf=Object.prototype,cf=of.toString,lf=sf.hasOwnProperty,uf=RegExp(`^`+cf.call(lf).replace(rf,`\\$&`).replace(/hasOwnProperty|(function).*?(?=\\\()| for .+?(?=\\\])/g,`$1.*?`)+`$`);function df(e){return!Fd(e)||ef(e)?!1:(Zd(e)?uf:af).test(nf(e))}function ff(e,t){return e?.[t]}function pf(e,t){var n=ff(e,t);return df(n)?n:void 0}var mf=pf(ud,`WeakMap`);function hf(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 gf=800,_f=16,vf=Date.now;function yf(e){var t=0,n=0;return function(){var r=vf(),i=_f-(r-n);if(n=r,i>0){if(++t>=gf)return arguments[0]}else t=0;return e.apply(void 0,arguments)}}function bf(e){return function(){return e}}var xf=function(){try{var e=pf(Object,`defineProperty`);return e({},``,{}),e}catch{}}(),Sf=yf(xf?function(e,t){return xf(e,`toString`,{configurable:!0,enumerable:!1,value:bf(t),writable:!0})}:Kd);function Cf(e,t){for(var n=-1,r=e==null?0:e.length;++n<r&&t(e[n],n,e)!==!1;);return e}function wf(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 Tf(e){return e!==e}function Ef(e,t,n){for(var r=n-1,i=e.length;++r<i;)if(e[r]===t)return r;return-1}function Df(e,t,n){return t===t?Ef(e,t,n):wf(e,Tf,n)}var Of=9007199254740991,kf=/^(?:0|[1-9]\d*)$/;function Af(e,t){var n=typeof e;return t??=Of,!!t&&(n==`number`||n!=`symbol`&&kf.test(e))&&e>-1&&e%1==0&&e<t}function jf(e,t,n){t==`__proto__`&&xf?xf(e,t,{configurable:!0,enumerable:!0,value:n,writable:!0}):e[t]=n}function Mf(e,t){return e===t||e!==e&&t!==t}var Nf=Object.prototype.hasOwnProperty;function Pf(e,t,n){var r=e[t];(!(Nf.call(e,t)&&Mf(r,n))||n===void 0&&!(t in e))&&jf(e,t,n)}function Ff(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?jf(n,s,c):Pf(n,s,c)}return n}var If=Math.max;function Lf(e,t,n){return t=If(t===void 0?e.length-1:t,0),function(){for(var r=arguments,i=-1,a=If(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),hf(e,this,s)}}function Rf(e,t){return Sf(Lf(e,t,Kd),e+``)}var zf=9007199254740991;function Bf(e){return typeof e==`number`&&e>-1&&e%1==0&&e<=zf}function Vf(e){return e!=null&&Bf(e.length)&&!Zd(e)}function Hf(e,t,n){if(!Fd(n))return!1;var r=typeof t;return(r==`number`?Vf(n)&&Af(t,n.length):r==`string`&&t in n)?Mf(n[t],e):!1}function Uf(e){return Rf(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&&Hf(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 Wf=Object.prototype;function Gf(e){var t=e&&e.constructor;return e===(typeof t==`function`&&t.prototype||Wf)}function Kf(e,t){for(var n=-1,r=Array(e);++n<e;)r[n]=t(n);return r}var qf=`[object Arguments]`;function Jf(e){return Cd(e)&&Sd(e)==qf}var Yf=Object.prototype,Xf=Yf.hasOwnProperty,Zf=Yf.propertyIsEnumerable,Qf=Jf(function(){return arguments}())?Jf:function(e){return Cd(e)&&Xf.call(e,`callee`)&&!Zf.call(e,`callee`)};function $f(){return!1}var ep=typeof exports==`object`&&exports&&!exports.nodeType&&exports,tp=ep&&typeof module==`object`&&module&&!module.nodeType&&module,np=tp&&tp.exports===ep?ud.Buffer:void 0,rp=(np?np.isBuffer:void 0)||$f,ip=`[object Arguments]`,ap=`[object Array]`,op=`[object Boolean]`,sp=`[object Date]`,cp=`[object Error]`,lp=`[object Function]`,up=`[object Map]`,dp=`[object Number]`,fp=`[object Object]`,pp=`[object RegExp]`,mp=`[object Set]`,hp=`[object String]`,gp=`[object WeakMap]`,_p=`[object ArrayBuffer]`,vp=`[object DataView]`,yp=`[object Float32Array]`,bp=`[object Float64Array]`,xp=`[object Int8Array]`,Sp=`[object Int16Array]`,Cp=`[object Int32Array]`,wp=`[object Uint8Array]`,Tp=`[object Uint8ClampedArray]`,Ep=`[object Uint16Array]`,Dp=`[object Uint32Array]`,R={};R[yp]=R[bp]=R[xp]=R[Sp]=R[Cp]=R[wp]=R[Tp]=R[Ep]=R[Dp]=!0,R[ip]=R[ap]=R[_p]=R[op]=R[vp]=R[sp]=R[cp]=R[lp]=R[up]=R[dp]=R[fp]=R[pp]=R[mp]=R[hp]=R[gp]=!1;function Op(e){return Cd(e)&&Bf(e.length)&&!!R[Sd(e)]}function kp(e){return function(t){return e(t)}}var Ap=typeof exports==`object`&&exports&&!exports.nodeType&&exports,jp=Ap&&typeof module==`object`&&module&&!module.nodeType&&module,Mp=jp&&jp.exports===Ap&&cd.process,Np=function(){try{return jp&&jp.require&&jp.require(`util`).types||Mp&&Mp.binding&&Mp.binding(`util`)}catch{}}(),Pp=Np&&Np.isTypedArray,Fp=Pp?kp(Pp):Op,Ip=Object.prototype.hasOwnProperty;function Lp(e,t){var n=L(e),r=!n&&Qf(e),i=!n&&!r&&rp(e),a=!n&&!r&&!i&&Fp(e),o=n||r||i||a,s=o?Kf(e.length,String):[],c=s.length;for(var l in e)(t||Ip.call(e,l))&&!(o&&(l==`length`||i&&(l==`offset`||l==`parent`)||a&&(l==`buffer`||l==`byteLength`||l==`byteOffset`)||Af(l,c)))&&s.push(l);return s}function Rp(e,t){return function(n){return e(t(n))}}var zp=Rp(Object.keys,Object),Bp=Object.prototype.hasOwnProperty;function Vp(e){if(!Gf(e))return zp(e);var t=[];for(var n in Object(e))Bp.call(e,n)&&n!=`constructor`&&t.push(n);return t}function Hp(e){return Vf(e)?Lp(e):Vp(e)}var Up=Object.prototype.hasOwnProperty,Wp=Uf(function(e,t){if(Gf(t)||Vf(t)){Ff(t,Hp(t),e);return}for(var n in t)Up.call(t,n)&&Pf(e,n,t[n])});function Gp(e){var t=[];if(e!=null)for(var n in Object(e))t.push(n);return t}var Kp=Object.prototype.hasOwnProperty;function qp(e){if(!Fd(e))return Gp(e);var t=Gf(e),n=[];for(var r in e)r==`constructor`&&(t||!Kp.call(e,r))||n.push(r);return n}function Jp(e){return Vf(e)?Lp(e,!0):qp(e)}var Yp=/\.|\[(?:[^[\]]*|(["'])(?:(?!\1)[^\\]|\\.)*?\1)\]/,Xp=/^\w*$/;function Zp(e,t){if(L(e))return!1;var n=typeof e;return n==`number`||n==`symbol`||n==`boolean`||e==null||Td(e)?!0:Xp.test(e)||!Yp.test(e)||t!=null&&e in Object(t)}var Qp=pf(Object,`create`);function $p(){this.__data__=Qp?Qp(null):{},this.size=0}function em(e){var t=this.has(e)&&delete this.__data__[e];return this.size-=+!!t,t}var tm=`__lodash_hash_undefined__`,nm=Object.prototype.hasOwnProperty;function rm(e){var t=this.__data__;if(Qp){var n=t[e];return n===tm?void 0:n}return nm.call(t,e)?t[e]:void 0}var im=Object.prototype.hasOwnProperty;function am(e){var t=this.__data__;return Qp?t[e]!==void 0:im.call(t,e)}var om=`__lodash_hash_undefined__`;function sm(e,t){var n=this.__data__;return this.size+=+!this.has(e),n[e]=Qp&&t===void 0?om: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=$p,cm.prototype.delete=em,cm.prototype.get=rm,cm.prototype.has=am,cm.prototype.set=sm;function lm(){this.__data__=[],this.size=0}function um(e,t){for(var n=e.length;n--;)if(Mf(e[n][0],t))return n;return-1}var dm=Array.prototype.splice;function fm(e){var t=this.__data__,n=um(t,e);return n<0?!1:(n==t.length-1?t.pop():dm.call(t,n,1),--this.size,!0)}function pm(e){var t=this.__data__,n=um(t,e);return n<0?void 0:t[n][1]}function mm(e){return um(this.__data__,e)>-1}function hm(e,t){var n=this.__data__,r=um(n,e);return r<0?(++this.size,n.push([e,t])):n[r][1]=t,this}function gm(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])}}gm.prototype.clear=lm,gm.prototype.delete=fm,gm.prototype.get=pm,gm.prototype.has=mm,gm.prototype.set=hm;var _m=pf(ud,`Map`);function vm(){this.size=0,this.__data__={hash:new cm,map:new(_m||gm),string:new cm}}function ym(e){var t=typeof e;return t==`string`||t==`number`||t==`symbol`||t==`boolean`?e!==`__proto__`:e===null}function bm(e,t){var n=e.__data__;return ym(t)?n[typeof t==`string`?`string`:`hash`]:n.map}function xm(e){var t=bm(this,e).delete(e);return this.size-=+!!t,t}function Sm(e){return bm(this,e).get(e)}function Cm(e){return bm(this,e).has(e)}function wm(e,t){var n=bm(this,e),r=n.size;return n.set(e,t),this.size+=n.size==r?0:1,this}function Tm(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])}}Tm.prototype.clear=vm,Tm.prototype.delete=xm,Tm.prototype.get=Sm,Tm.prototype.has=Cm,Tm.prototype.set=wm;var Em=`Expected a function`;function Dm(e,t){if(typeof e!=`function`||t!=null&&typeof t!=`function`)throw TypeError(Em);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(Dm.Cache||Tm),n}Dm.Cache=Tm;var Om=500;function km(e){var t=Dm(e,function(e){return n.size===Om&&n.clear(),e}),n=t.cache;return t}var Am=/[^.[\]]+|\[(?:(-?\d+(?:\.\d+)?)|(["'])((?:(?!\2)[^\\]|\\.)*?)\2)\]|(?=(?:\.|\[\])(?:\.|\[\]|$))/g,jm=/\\(\\)?/g,Mm=km(function(e){var t=[];return e.charCodeAt(0)===46&&t.push(``),e.replace(Am,function(e,n,r,i){t.push(r?i.replace(jm,`$1`):n||e)}),t});function Nm(e){return e==null?``:Ad(e)}function Pm(e,t){return L(e)?e:Zp(e,t)?[e]:Mm(Nm(e))}var Fm=1/0;function Im(e){if(typeof e==`string`||Td(e))return e;var t=e+``;return t==`0`&&1/e==-Fm?`-0`:t}function Lm(e,t){t=Pm(t,e);for(var n=0,r=t.length;e!=null&&n<r;)e=e[Im(t[n++])];return n&&n==r?e:void 0}function Rm(e,t,n){var r=e==null?void 0:Lm(e,t);return r===void 0?n:r}function zm(e,t){for(var n=-1,r=t.length,i=e.length;++n<r;)e[i+n]=t[n];return e}var Bm=Rp(Object.getPrototypeOf,Object);function Vm(){this.__data__=new gm,this.size=0}function Hm(e){var t=this.__data__,n=t.delete(e);return this.size=t.size,n}function Um(e){return this.__data__.get(e)}function Wm(e){return this.__data__.has(e)}var Gm=200;function Km(e,t){var n=this.__data__;if(n instanceof gm){var r=n.__data__;if(!_m||r.length<Gm-1)return r.push([e,t]),this.size=++n.size,this;n=this.__data__=new Tm(r)}return n.set(e,t),this.size=n.size,this}function qm(e){var t=this.__data__=new gm(e);this.size=t.size}qm.prototype.clear=Vm,qm.prototype.delete=Hm,qm.prototype.get=Um,qm.prototype.has=Wm,qm.prototype.set=Km;function Jm(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 Ym(){return[]}var Xm=Object.prototype.propertyIsEnumerable,Zm=Object.getOwnPropertySymbols,Qm=Zm?function(e){return e==null?[]:(e=Object(e),Jm(Zm(e),function(t){return Xm.call(e,t)}))}:Ym,$m=Object.getOwnPropertySymbols?function(e){for(var t=[];e;)zm(t,Qm(e)),e=Bm(e);return t}:Ym;function eh(e,t,n){var r=t(e);return L(e)?r:zm(r,n(e))}function th(e){return eh(e,Hp,Qm)}function nh(e){return eh(e,Jp,$m)}var rh=pf(ud,`DataView`),ih=pf(ud,`Promise`),ah=pf(ud,`Set`),oh=`[object Map]`,sh=`[object Object]`,ch=`[object Promise]`,lh=`[object Set]`,uh=`[object WeakMap]`,dh=`[object DataView]`,fh=nf(rh),ph=nf(_m),mh=nf(ih),hh=nf(ah),gh=nf(mf),_h=Sd;(rh&&_h(new rh(new ArrayBuffer(1)))!=dh||_m&&_h(new _m)!=oh||ih&&_h(ih.resolve())!=ch||ah&&_h(new ah)!=lh||mf&&_h(new mf)!=uh)&&(_h=function(e){var t=Sd(e),n=t==sh?e.constructor:void 0,r=n?nf(n):``;if(r)switch(r){case fh:return dh;case ph:return oh;case mh:return ch;case hh:return lh;case gh:return uh}return t});var vh=_h,yh=ud.Uint8Array,bh=`__lodash_hash_undefined__`;function xh(e){return this.__data__.set(e,bh),this}function Sh(e){return this.__data__.has(e)}function Ch(e){var t=-1,n=e==null?0:e.length;for(this.__data__=new Tm;++t<n;)this.add(e[t])}Ch.prototype.add=Ch.prototype.push=xh,Ch.prototype.has=Sh;function wh(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 Th(e,t){return e.has(t)}var Eh=1,Dh=2;function Oh(e,t,n,r,i,a){var o=n&Eh,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&Dh?new Ch: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(!wh(t,function(e,t){if(!Th(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 kh(e){var t=-1,n=Array(e.size);return e.forEach(function(e,r){n[++t]=[r,e]}),n}function Ah(e){var t=-1,n=Array(e.size);return e.forEach(function(e){n[++t]=e}),n}var jh=1,Mh=2,Nh=`[object Boolean]`,Ph=`[object Date]`,Fh=`[object Error]`,Ih=`[object Map]`,Lh=`[object Number]`,Rh=`[object RegExp]`,zh=`[object Set]`,Bh=`[object String]`,Vh=`[object Symbol]`,Hh=`[object ArrayBuffer]`,Uh=`[object DataView]`,Wh=dd?dd.prototype:void 0,Gh=Wh?Wh.valueOf:void 0;function Kh(e,t,n,r,i,a,o){switch(n){case Uh:if(e.byteLength!=t.byteLength||e.byteOffset!=t.byteOffset)return!1;e=e.buffer,t=t.buffer;case Hh:return!(e.byteLength!=t.byteLength||!a(new yh(e),new yh(t)));case Nh:case Ph:case Lh:return Mf(+e,+t);case Fh:return e.name==t.name&&e.message==t.message;case Rh:case Bh:return e==t+``;case Ih:var s=kh;case zh:var c=r&jh;if(s||=Ah,e.size!=t.size&&!c)return!1;var l=o.get(e);if(l)return l==t;r|=Mh,o.set(e,t);var u=Oh(s(e),s(t),r,i,a,o);return o.delete(e),u;case Vh:if(Gh)return Gh.call(e)==Gh.call(t)}return!1}var qh=1,Jh=Object.prototype.hasOwnProperty;function Yh(e,t,n,r,i,a){var o=n&qh,s=th(e),c=s.length;if(c!=th(t).length&&!o)return!1;for(var l=c;l--;){var u=s[l];if(!(o?u in t:Jh.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 Xh=1,Zh=`[object Arguments]`,Qh=`[object Array]`,$h=`[object Object]`,eg=Object.prototype.hasOwnProperty;function tg(e,t,n,r,i,a){var o=L(e),s=L(t),c=o?Qh:vh(e),l=s?Qh:vh(t);c=c==Zh?$h:c,l=l==Zh?$h:l;var u=c==$h,d=l==$h,f=c==l;if(f&&rp(e)){if(!rp(t))return!1;o=!0,u=!1}if(f&&!u)return a||=new qm,o||Fp(e)?Oh(e,t,n,r,i,a):Kh(e,t,c,n,r,i,a);if(!(n&Xh)){var p=u&&eg.call(e,`__wrapped__`),m=d&&eg.call(t,`__wrapped__`);if(p||m){var h=p?e.value():e,g=m?t.value():t;return a||=new qm,i(h,g,n,r,a)}}return f?(a||=new qm,Yh(e,t,n,r,i,a)):!1}function ng(e,t,n,r,i){return e===t?!0:e==null||t==null||!Cd(e)&&!Cd(t)?e!==e&&t!==t:tg(e,t,n,r,ng,i)}var rg=1,ig=2;function ag(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 qm;if(r)var f=r(l,u,c,e,t,d);if(!(f===void 0?ng(u,l,rg|ig,r,d):f))return!1}}return!0}function og(e){return e===e&&!Fd(e)}function sg(e){for(var t=Hp(e),n=t.length;n--;){var r=t[n],i=e[r];t[n]=[r,i,og(i)]}return t}function cg(e,t){return function(n){return n==null?!1:n[e]===t&&(t!==void 0||e in Object(n))}}function lg(e){var t=sg(e);return t.length==1&&t[0][2]?cg(t[0][0],t[0][1]):function(n){return n===e||ag(n,e,t)}}function ug(e,t){return e!=null&&t in Object(e)}function dg(e,t,n){t=Pm(t,e);for(var r=-1,i=t.length,a=!1;++r<i;){var o=Im(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&&Bf(i)&&Af(o,i)&&(L(e)||Qf(e)))}function fg(e,t){return e!=null&&dg(e,t,ug)}var pg=1,mg=2;function hg(e,t){return Zp(e)&&og(t)?cg(Im(e),t):function(n){var r=Rm(n,e);return r===void 0&&r===t?fg(n,e):ng(t,r,pg|mg)}}function gg(e){return function(t){return t?.[e]}}function _g(e){return function(t){return Lm(t,e)}}function vg(e){return Zp(e)?gg(Im(e)):_g(e)}function yg(e){return typeof e==`function`?e:e==null?Kd:typeof e==`object`?L(e)?hg(e[0],e[1]):lg(e):vg(e)}function bg(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 xg=bg();function Sg(e,t){return e&&xg(e,t,Hp)}function Cg(e,t){return function(n,r){if(n==null)return n;if(!Vf(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 wg=Cg(Sg);function Tg(e){return typeof e==`function`?e:Kd}function Eg(e,t){return(L(e)?Cf:wg)(e,Tg(t))}function Dg(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 Og(e,t){var n=!0;return wg(e,function(e,r,i){return n=!!t(e,r,i),n}),n}function kg(e,t,n){var r=L(e)?Dg:Og;return n&&Hf(e,t,n)&&(t=void 0),r(e,yg(t,3))}function Ag(e,t){var n=-1,r=Vf(e)?Array(e.length):[];return wg(e,function(e,i,a){r[++n]=t(e,i,a)}),r}function jg(e,t){return(L(e)?Ed:Ag)(e,yg(t,3))}var Mg=`[object String]`;function Ng(e){return typeof e==`string`||!L(e)&&Cd(e)&&Sd(e)==Mg}function Pg(e,t){return Ed(t,function(t){return e[t]})}function Fg(e){return e==null?[]:Pg(e,Hp(e))}var Ig=Math.max;function Lg(e,t,n,r){e=Vf(e)?e:Fg(e),n=n&&!r?Gd(n):0;var i=e.length;return n<0&&(n=Ig(i+n,0)),Ng(e)?n<=i&&e.indexOf(t,n)>-1:!!i&&Df(e,t,n)>-1}var Rg=`[object RegExp]`;function zg(e){return Cd(e)&&Sd(e)==Rg}var Bg=Np&&Np.isRegExp,Vg=Bg?kp(Bg):zg;function Hg(e,t,n,r){if(!Fd(e))return e;t=Pm(t,e);for(var i=-1,a=t.length,o=a-1,s=e;s!=null&&++i<a;){var c=Im(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=Fd(u)?u:Af(t[i+1])?[]:{})}Pf(s,c,l),s=s[c]}return e}function Ug(e,t,n){for(var r=-1,i=t.length,a={};++r<i;){var o=t[r],s=Lm(e,o);n(s,o)&&Hg(a,Pm(o,e),s)}return a}function Wg(e,t){if(e==null)return{};var n=Ed(nh(e),function(e){return[e]});return t=yg(t),Ug(e,n,function(e,n){return t(e,n[0])})}function Gg(e,t){var n;return wg(e,function(e,r,i){return n=t(e,r,i),!n}),!!n}function Kg(e,t,n){var r=L(e)?wh:Gg;return n&&Hf(e,t,n)&&(t=void 0),r(e,yg(t,3))}function qg(e){return Jg(e)?e.LABEL:e.name}function Jg(e){return Ng(e.LABEL)&&e.LABEL!==``}var Yg=class{get definition(){return this._definition}set definition(e){this._definition=e}constructor(e){this._definition=e}accept(e){e.visit(this),Eg(this.definition,t=>{t.accept(e)})}},z=class extends Yg{constructor(e){super([]),this.idx=1,Wp(this,Wg(e,e=>e!==void 0))}set definition(e){}get definition(){return this.referencedRule===void 0?[]:this.referencedRule.definition}accept(e){e.visit(this)}},Xg=class extends Yg{constructor(e){super(e.definition),this.orgText=``,Wp(this,Wg(e,e=>e!==void 0))}},B=class extends Yg{constructor(e){super(e.definition),this.ignoreAmbiguities=!1,Wp(this,Wg(e,e=>e!==void 0))}},V=class extends Yg{constructor(e){super(e.definition),this.idx=1,Wp(this,Wg(e,e=>e!==void 0))}},Zg=class extends Yg{constructor(e){super(e.definition),this.idx=1,Wp(this,Wg(e,e=>e!==void 0))}},Qg=class extends Yg{constructor(e){super(e.definition),this.idx=1,Wp(this,Wg(e,e=>e!==void 0))}},H=class extends Yg{constructor(e){super(e.definition),this.idx=1,Wp(this,Wg(e,e=>e!==void 0))}},$g=class extends Yg{constructor(e){super(e.definition),this.idx=1,Wp(this,Wg(e,e=>e!==void 0))}},e_=class extends Yg{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,Wp(this,Wg(e,e=>e!==void 0))}},U=class{constructor(e){this.idx=1,Wp(this,Wg(e,e=>e!==void 0))}accept(e){e.visit(this)}};function t_(e){return jg(e,n_)}function n_(e){function t(e){return jg(e,n_)}if(e instanceof z){let t={type:`NonTerminal`,name:e.nonTerminalName,idx:e.idx};return Ng(e.label)&&(t.label=e.label),t}else if(e instanceof B)return{type:`Alternative`,definition:t(e.definition)};else if(e instanceof V)return{type:`Option`,idx:e.idx,definition:t(e.definition)};else if(e instanceof Zg)return{type:`RepetitionMandatory`,idx:e.idx,definition:t(e.definition)};else if(e instanceof Qg)return{type:`RepetitionMandatoryWithSeparator`,idx:e.idx,separator:n_(new U({terminalType:e.separator})),definition:t(e.definition)};else if(e instanceof $g)return{type:`RepetitionWithSeparator`,idx:e.idx,separator:n_(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 e_)return{type:`Alternation`,idx:e.idx,definition:t(e.definition)};else if(e instanceof U){let t={type:`Terminal`,name:e.terminalType.name,label:qg(e.terminalType),idx:e.idx};Ng(e.label)&&(t.terminalLabel=e.label);let n=e.terminalType.PATTERN;return e.terminalType.PATTERN&&(t.pattern=Vg(n)?n.source:n),t}else if(e instanceof Xg)return{type:`Rule`,name:e.name,orgText:e.orgText,definition:t(e.definition)};else throw Error(`non exhaustive match`)}var r_=class{visit(e){let t=e;switch(t.constructor){case z:return this.visitNonTerminal(t);case B:return this.visitAlternative(t);case V:return this.visitOption(t);case Zg:return this.visitRepetitionMandatory(t);case Qg:return this.visitRepetitionMandatoryWithSeparator(t);case $g:return this.visitRepetitionWithSeparator(t);case H:return this.visitRepetition(t);case e_:return this.visitAlternation(t);case U:return this.visitTerminal(t);case Xg: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 i_(e){return e instanceof B||e instanceof V||e instanceof H||e instanceof Zg||e instanceof Qg||e instanceof $g||e instanceof U||e instanceof Xg}function a_(e,t=[]){return e instanceof V||e instanceof H||e instanceof $g?!0:e instanceof e_?Kg(e.definition,e=>a_(e,t)):e instanceof z&&Lg(t,e)?!1:e instanceof Yg?(e instanceof z&&t.push(e),kg(e.definition,e=>a_(e,t))):!1}function o_(e){return e instanceof e_}function s_(e){if(e instanceof z)return`SUBRULE`;if(e instanceof V)return`OPTION`;if(e instanceof e_)return`OR`;if(e instanceof Zg)return`AT_LEAST_ONE`;if(e instanceof Qg)return`AT_LEAST_ONE_SEP`;if(e instanceof $g)return`MANY_SEP`;if(e instanceof H)return`MANY`;if(e instanceof U)return`CONSUME`;throw Error(`non exhaustive match`)}var c_=class{walk(e,t=[]){j(e.definition,(n,r)=>{let i=A(e.definition,r+1);if(n instanceof z)this.walkProdRef(n,i,t);else if(n instanceof U)this.walkTerminal(n,i,t);else if(n instanceof B)this.walkFlat(n,i,t);else if(n instanceof V)this.walkOption(n,i,t);else if(n instanceof Zg)this.walkAtLeastOne(n,i,t);else if(n instanceof Qg)this.walkAtLeastOneSep(n,i,t);else if(n instanceof $g)this.walkManySep(n,i,t);else if(n instanceof H)this.walkMany(n,i,t);else if(n instanceof e_)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 V({definition:e.definition})].concat(t,n);this.walk(e,r)}walkAtLeastOneSep(e,t,n){let r=l_(e,t,n);this.walk(e,r)}walkMany(e,t,n){let r=[new V({definition:e.definition})].concat(t,n);this.walk(e,r)}walkManySep(e,t,n){let r=l_(e,t,n);this.walk(e,r)}walkOr(e,t,n){let r=t.concat(n);j(e.definition,e=>{let t=new B({definition:[e]});this.walk(t,r)})}};function l_(e,t,n){return[new V({definition:[new U({terminalType:e.separator})].concat(e.definition)})].concat(t,n)}function u_(e){if(e instanceof z)return u_(e.referencedRule);if(e instanceof U)return p_(e);if(i_(e))return d_(e);if(o_(e))return f_(e);throw Error(`non exhaustive match`)}function d_(e){let t=[],n=e.definition,r=0,i=n.length>r,a,o=!0;for(;i&&o;)a=n[r],o=a_(a),t=t.concat(u_(a)),r+=1,i=n.length>r;return rd(t)}function f_(e){return rd(Bo(M(e.definition,e=>u_(e))))}function p_(e){return[e.terminalType]}var m_=`_~IN~_`,h_=class extends c_{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=__(e.referencedRule,e.idx)+this.topProd.name,i=u_(new B({definition:t.concat(n)}));this.follows[r]=i}};function g_(e){let t={};return j(e,e=>{Ba(t,new h_(e).startWalking())}),t}function __(e,t){return e.name+t+m_}var v_={},y_=new fn;function b_(e){let t=e.toString();if(v_.hasOwnProperty(t))return v_[t];{let e=y_.pattern(t);return v_[t]=e,e}}function x_(){v_={}}var S_=`Complement Sets are not supported for first char optimization`,C_=`Unable to use "first char" lexer optimizations:
|
|
13
|
+
`;function w_(e,t=!1){try{let t=b_(e);return T_(t.value,{},t.flags.ignoreCase)}catch(n){if(n.message===S_)t&&ad(`${C_}\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.`),id(`${C_}\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 T_(e,t,n){switch(e.type){case`Disjunction`:for(let r=0;r<e.value.length;r++)T_(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`StartAnchor`:case`WordBoundary`:case`NonWordBoundary`:continue}let a=i;switch(a.type){case`Character`:E_(a.value,t,n);break;case`Set`:if(a.complement===!0)throw Error(S_);j(a.value,e=>{if(typeof e==`number`)E_(e,t,n);else{let r=e;if(n===!0)for(let e=r.from;e<=r.to;e++)E_(e,t,n);else{for(let e=r.from;e<=r.to&&e<256;e++)E_(e,t,n);if(r.to>=256){let e=r.from>=256?r.from:256,n=r.to,i=fv(e),a=fv(n);for(let e=i;e<=a;e++)t[e]=e}}}});break;case`Group`:T_(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`&&k_(a)===!1||a.type!==`Group`&&o===!1)break}break;default:throw Error(`non exhaustive match!`)}return P(t)}function E_(e,t,n){let r=fv(e);t[r]=r,n===!0&&D_(e,t)}function D_(e,t){let n=String.fromCharCode(e),r=n.toUpperCase();if(r!==n){let e=fv(r.charCodeAt(0));t[e]=e}else{let e=n.toLowerCase();if(e!==n){let n=fv(e.charCodeAt(0));t[n]=n}}}function O_(e,t){return Su(e.value,e=>{if(typeof e==`number`)return F(t,e);{let n=e;return Su(t,e=>n.from<=e&&e<=n.to)!==void 0}})}function k_(e){let t=e.quantifier;return t&&t.atLeast===0?!0:e.value?T(e.value)?gu(e.value,k_):k_(e.value):!1}var A_=class extends pn{constructor(e){super(),this.targetCharCodes=e,this.found=!1}visitChildren(e){if(this.found!==!0){switch(e.type){case`Lookahead`:this.visitLookahead(e);return;case`NegativeLookahead`:this.visitNegativeLookahead(e);return}super.visitChildren(e)}}visitCharacter(e){F(this.targetCharCodes,e.value)&&(this.found=!0)}visitSet(e){e.complement?O_(e,this.targetCharCodes)===void 0&&(this.found=!0):O_(e,this.targetCharCodes)!==void 0&&(this.found=!0)}};function j_(e,t){if(t instanceof RegExp){let n=b_(t),r=new A_(e);return r.visit(n),r.found}else return Su(t,t=>F(e,t.charCodeAt(0)))!==void 0}var M_=`PATTERN`,N_=`defaultMode`,P_=`modes`,F_=typeof RegExp(`(?:)`).sticky==`boolean`;function I_(e,t){t=au(t,{useSticky:F_,debug:!1,safeMode:!1,positionTracking:`full`,lineTerminatorCharacters:[`\r`,`
|
|
18
|
+
`],tracer:(e,t)=>t()});let n=t.tracer;n(`initCharCodeToOptimizedIndexMap`,()=>{pv()});let r;n(`Reject Lexer.NA`,()=>{r=Zu(e,e=>e[M_]===jv.NA)});let i=!1,a;n(`Transform Patterns`,()=>{i=!1,a=M(r,e=>{let n=e[M_];if(Hu(n)){let e=n.source;return e.length===1&&e!==`^`&&e!==`$`&&e!==`.`&&!n.ignoreCase?e:e.length===2&&e[0]===`\\`&&!F([`d`,`D`,`s`,`S`,`t`,`r`,`n`,`t`,`0`,`c`,`b`,`B`,`f`,`v`,`w`,`W`],e[1])?e[1]:t.useSticky?ev(n):$_(n)}else if(Wr(n))return i=!0,{exec:n};else if(typeof n==`object`)return i=!0,n;else if(typeof n==`string`){if(n.length===1)return n;{let e=n.replace(/[\\^$.*+?()[\]{}|]/g,`\\$&`),r=new RegExp(e);return t.useSticky?ev(r):$_(r)}}else throw Error(`non exhaustive match`)})});let o,s,c,l,u;n(`misc mapping`,()=>{o=M(r,e=>e.tokenTypeIdx),s=M(r,e=>{let t=e.GROUP;if(t!==jv.SKIPPED){if(ju(t))return t;if(Uu(t))return!1;throw Error(`non exhaustive match`)}}),c=M(r,e=>{let t=e.LONGER_ALT;if(t)return T(t)?M(t,e=>Fu(r,e)):[Fu(r,t)]}),l=M(r,e=>e.PUSH_MODE),u=M(r,e=>N(e,`POP_MODE`))});let d;n(`Line Terminator Handling`,()=>{let e=lv(t.lineTerminatorCharacters);d=M(r,e=>!1),t.positionTracking!==`onlyOffset`&&(d=M(r,t=>N(t,`LINE_BREAKS`)?!!t.LINE_BREAKS:sv(t,e)===!1&&j_(e,t.PATTERN)))});let f,p,m,h;n(`Misc Mapping #2`,()=>{f=M(r,iv),p=M(a,av),m=Xu(r,(e,t)=>{let n=t.GROUP;return ju(n)&&n!==jv.SKIPPED&&(e[n]=[]),e},{}),h=M(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`,()=>{_=Xu(r,(e,n,r)=>{if(typeof n.PATTERN==`string`)uv(e,fv(n.PATTERN.charCodeAt(0)),h[r]);else if(T(n.START_CHARS_HINT)){let t;j(n.START_CHARS_HINT,n=>{let i=fv(typeof n==`string`?n.charCodeAt(0):n);t!==i&&(t=i,uv(e,i,h[r]))})}else if(Hu(n.PATTERN))if(n.PATTERN.unicode)g=!1,t.ensureOptimizations&&id(`${C_}\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=w_(n.PATTERN,t.ensureOptimizations);I(i)&&(g=!1),j(i,t=>{uv(e,t,h[r])})}else t.ensureOptimizations&&id(`${C_}\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 L_(e,t){let n=[],r=z_(e);n=n.concat(r.errors);let i=B_(r.valid),a=i.valid;return n=n.concat(i.errors),n=n.concat(R_(a)),n=n.concat(J_(a)),n=n.concat(Y_(a,t)),n=n.concat(X_(a)),n}function R_(e){let t=[],n=vu(e,e=>Hu(e[M_]));return t=t.concat(H_(n)),t=t.concat(G_(n)),t=t.concat(K_(n)),t=t.concat(q_(n)),t=t.concat(U_(n)),t}function z_(e){let t=vu(e,e=>!N(e,M_));return{errors:M(t,e=>({message:`Token Type: ->`+e.name+`<- missing static 'PATTERN' property`,type:W.MISSING_PATTERN,tokenTypes:[e]})),valid:uu(e,t)}}function B_(e){let t=vu(e,e=>{let t=e[M_];return!Hu(t)&&!Wr(t)&&!N(t,`exec`)&&!ju(t)});return{errors:M(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:uu(e,t)}}var V_=/[^\\][$]/;function H_(e){class t extends pn{constructor(){super(...arguments),this.found=!1}visitEndAnchor(e){this.found=!0}}return M(vu(e,e=>{let n=e.PATTERN;try{let e=b_(n),r=new t;return r.visit(e),r.found}catch{return V_.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 U_(e){return M(vu(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 W_=/[^\\[][\^]|^\^/;function G_(e){class t extends pn{constructor(){super(...arguments),this.found=!1}visitStartAnchor(e){this.found=!0}}return M(vu(e,e=>{let n=e.PATTERN;try{let e=b_(n),r=new t;return r.visit(e),r.found}catch{return W_.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 K_(e){return M(vu(e,e=>{let t=e[M_];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 q_(e){let t=[],n=M(e,n=>Xu(e,(e,r)=>n.PATTERN.source===r.PATTERN.source&&!F(t,r)&&r.PATTERN!==jv.NA?(t.push(r),e.push(r),e):e,[]));return n=Jc(n),M(vu(n,e=>e.length>1),e=>{let t=M(e,e=>e.name);return{message:`The same RegExp pattern ->${Cu(e).PATTERN}<-has been used in all of the following Token Types: ${t.join(`, `)} <-`,type:W.DUPLICATE_PATTERNS_FOUND,tokenTypes:e}})}function J_(e){return M(vu(e,e=>{if(!N(e,`GROUP`))return!1;let t=e.GROUP;return t!==jv.SKIPPED&&t!==jv.NA&&!ju(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 Y_(e,t){return M(vu(e,e=>e.PUSH_MODE!==void 0&&!F(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 X_(e){let t=[],n=Xu(e,(e,t,n)=>{let r=t.PATTERN;return r===jv.NA||(ju(r)?e.push({str:r,idx:n,tokenType:t}):Hu(r)&&Q_(r)&&e.push({str:r.source,idx:n,tokenType:t})),e},[]);return j(e,(e,r)=>{j(n,({str:n,idx:i,tokenType:a})=>{if(r<i&&Z_(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 Z_(e,t){if(Hu(t)){let n=t.exec(e);return n!==null&&n.index===0}else if(Wr(t))return t(e,0,[],{});else if(N(t,`exec`))return t.exec(e,0,[],{});else if(typeof t==`string`)return t===e;else throw Error(`non exhaustive match`)}function Q_(e){return Su([`.`,`\\`,`[`,`]`,`|`,`^`,`$`,`(`,`)`,`?`,`*`,`+`,`{`],t=>e.source.indexOf(t)!==-1)===void 0}function $_(e){let t=e.ignoreCase?`i`:``;return RegExp(`^(?:${e.source})`,t)}function ev(e){let t=e.ignoreCase?`iy`:`y`;return RegExp(`${e.source}`,t)}function tv(e,t,n){let r=[];return N(e,`defaultMode`)||r.push({message:`A MultiMode Lexer cannot be initialized without a <`+N_+`> property in its definition
|
|
26
|
+
`,type:W.MULTI_MODE_LEXER_WITHOUT_DEFAULT_MODE}),N(e,`modes`)||r.push({message:`A MultiMode Lexer cannot be initialized without a <`+P_+`> property in its definition
|
|
27
|
+
`,type:W.MULTI_MODE_LEXER_WITHOUT_MODES_PROPERTY}),N(e,`modes`)&&N(e,`defaultMode`)&&!N(e.modes,e.defaultMode)&&r.push({message:`A MultiMode Lexer cannot be initialized with a ${N_}: <${e.defaultMode}>which does not exist\n`,type:W.MULTI_MODE_LEXER_DEFAULT_MODE_VALUE_DOES_NOT_EXIST}),N(e,`modes`)&&j(e.modes,(e,t)=>{j(e,(n,i)=>{Uu(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}):N(n,`LONGER_ALT`)&&j(T(n.LONGER_ALT)?n.LONGER_ALT:[n.LONGER_ALT],i=>{!Uu(i)&&!F(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 nv(e,t,n){let r=[],i=!1,a=Zu(Jc(Bo(P(e.modes))),e=>e[M_]===jv.NA),o=lv(n);return t&&j(a,e=>{let t=sv(e,o);if(t!==!1){let n={message:cv(e,t),type:t.issue,tokenType:e};r.push(n)}else N(e,`LINE_BREAKS`)?e.LINE_BREAKS===!0&&(i=!0):j_(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 rv(e){let t={};return j(Ra(e),n=>{let r=e[n];if(T(r))t[n]=[];else throw Error(`non exhaustive match`)}),t}function iv(e){let t=e.PATTERN;if(Hu(t))return!1;if(Wr(t)||N(t,`exec`))return!0;if(ju(t))return!1;throw Error(`non exhaustive match`)}function av(e){return ju(e)&&e.length===1?e.charCodeAt(0):!1}var ov={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 sv(e,t){if(N(e,`LINE_BREAKS`))return!1;if(Hu(e.PATTERN)){try{j_(t,e.PATTERN)}catch(e){return{issue:W.IDENTIFY_TERMINATOR,errMsg:e.message}}return!1}else if(ju(e.PATTERN))return!1;else if(iv(e))return{issue:W.CUSTOM_LINE_BREAK};else throw Error(`non exhaustive match`)}function cv(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 lv(e){return M(e,e=>ju(e)?e.charCodeAt(0):e)}function uv(e,t,n){e[t]===void 0?e[t]=[n]:e[t].push(n)}var dv=[];function fv(e){return e<256?e:dv[e]}function pv(){if(I(dv)){dv=Array(65536);for(let e=0;e<65536;e++)dv[e]=e>255?255+~~(e/255):e}}function mv(e,t){let n=e.tokenTypeIdx;return n===t.tokenTypeIdx?!0:t.isParent===!0&&t.categoryMatchesMap[n]===!0}function hv(e,t){return e.tokenTypeIdx===t.tokenTypeIdx}var gv=1,_v={};function vv(e){let t=yv(e);bv(t),Sv(t),xv(t),j(t,e=>{e.isParent=e.categoryMatches.length>0})}function yv(e){let t=k(e),n=e,r=!0;for(;r;){n=Jc(Bo(M(n,e=>e.CATEGORIES)));let e=uu(n,t);t=t.concat(e),I(e)?r=!1:n=e}return t}function bv(e){j(e,e=>{wv(e)||(_v[gv]=e,e.tokenTypeIdx=gv++),Tv(e)&&!T(e.CATEGORIES)&&(e.CATEGORIES=[e.CATEGORIES]),Tv(e)||(e.CATEGORIES=[]),Ev(e)||(e.categoryMatches=[]),Dv(e)||(e.categoryMatchesMap={})})}function xv(e){j(e,e=>{e.categoryMatches=[],j(e.categoryMatchesMap,(t,n)=>{e.categoryMatches.push(_v[n].tokenTypeIdx)})})}function Sv(e){j(e,e=>{Cv([],e)})}function Cv(e,t){j(e,e=>{t.categoryMatchesMap[e.tokenTypeIdx]=!0}),j(t.CATEGORIES,n=>{let r=e.concat(t);F(r,n)||Cv(r,n)})}function wv(e){return N(e,`tokenTypeIdx`)}function Tv(e){return N(e,`CATEGORIES`)}function Ev(e){return N(e,`categoryMatches`)}function Dv(e){return N(e,`categoryMatchesMap`)}function Ov(e){return N(e,`tokenTypeIdx`)}var kv={buildUnableToPopLexerModeMessage(e){return`Unable to pop Lexer Mode after encountering Token ->${e.image}<- The Mode Stack is empty`},buildUnexpectedCharactersMessage(e,t,n,r,i){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 Av={deferDefinitionErrorsHandling:!1,positionTracking:`full`,lineTerminatorsPattern:/\n|\r\n?/g,lineTerminatorCharacters:[`
|
|
34
|
+
`,`\r`],ensureOptimizations:!1,safeMode:!1,errorMessageProvider:kv,traceInitPerf:!1,skipValidations:!1,recoveryEnabled:!0};Object.freeze(Av);var jv=class{constructor(e,t=Av){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}=od(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=Ba({},Av,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===Av.lineTerminatorsPattern)this.config.lineTerminatorsPattern=ov;else if(this.config.lineTerminatorCharacters===Av.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),T(e)?n={modes:{defaultMode:k(e)},defaultMode:N_}:(r=!1,n=k(e))}),this.config.skipValidations===!1&&(this.TRACE_INIT(`performRuntimeChecks`,()=>{this.lexerDefinitionErrors=this.lexerDefinitionErrors.concat(tv(n,this.trackStartLines,this.config.lineTerminatorCharacters))}),this.TRACE_INIT(`performWarningRuntimeChecks`,()=>{this.lexerDefinitionWarning=this.lexerDefinitionWarning.concat(nv(n,this.trackStartLines,this.config.lineTerminatorCharacters))})),n.modes=n.modes?n.modes:{},j(n.modes,(e,t)=>{n.modes[t]=Zu(e,e=>Uu(e))});let i=Ra(n.modes);if(j(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(L_(e,i))}),I(this.lexerDefinitionErrors)){vv(e);let r;this.TRACE_INIT(`analyzeTokenTypes`,()=>{r=I_(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=Ba({},this.emptyGroups,r.emptyGroups),this.hasCustom=r.hasCustom||this.hasCustom,this.canModeBeOptimized[n]=r.canBeOptimized}})}),this.defaultMode=n.defaultMode,!I(this.lexerDefinitionErrors)&&!this.config.deferDefinitionErrorsHandling){let e=M(this.lexerDefinitionErrors,e=>e.message).join(`-----------------------
|
|
37
|
+
`);throw Error(`Errors detected in definition of Lexer:
|
|
38
|
+
`+e)}j(this.lexerDefinitionWarning,e=>{ad(e.message)}),this.TRACE_INIT(`Choosing sub-methods implementations`,()=>{if(F_?(this.chopInput=zr,this.match=this.matchWithTest):(this.updateLastIndex=E,this.match=this.matchWithExec),r&&(this.handleModes=E),this.trackStartLines===!1&&(this.computeNewColumn=zr),this.trackEndLines===!1&&(this.updateTokenEndLineColumnLocation=E),/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=Xu(this.canModeBeOptimized,(e,t,n)=>(t===!1&&e.push(n),e),[]);if(t.ensureOptimizations&&!I(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`,()=>{x_()}),this.TRACE_INIT(`toFastProperties`,()=>{sd(this)})})}tokenize(e,t=this.defaultMode){if(!I(this.lexerDefinitionErrors)){let e=M(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,ee=0,te=this.hasCustom?0:Math.floor(e.length/10),b=Array(te),ne=[],re=this.trackStartLines?1:void 0,ie=this.trackStartLines?1:void 0,x=rv(this.emptyGroups),S=this.trackStartLines,ae=this.config.lineTerminatorsPattern,oe=0,se=[],ce=[],le=[],ue=[];Object.freeze(ue);let de;function fe(){return se}function pe(e){let t=fv(e),n=ce[t];return n===void 0?ue:n}let me=e=>{if(le.length===1&&e.tokenType.PUSH_MODE===void 0){let t=this.config.errorMessageProvider.buildUnableToPopLexerModeMessage(e);ne.push({offset:e.startOffset,line:e.startLine,column:e.startColumn,length:e.image.length,message:t})}else{le.pop();let e=du(le);se=this.patternIdxToConfig[e],ce=this.charCodeToPatternIdxToConfig[e],oe=se.length;let t=this.canModeBeOptimized[e]&&this.config.safeMode===!1;de=ce&&t?pe:fe}};function he(e){le.push(e),ce=this.charCodeToPatternIdxToConfig[e],se=this.patternIdxToConfig[e],oe=se.length,oe=se.length;let t=this.canModeBeOptimized[e]&&this.config.safeMode===!1;de=ce&&t?pe:fe}he.call(this,t);let ge,_e=this.config.recoveryEnabled;for(;y<v;){s=null;let t=_.charCodeAt(y),te=de(t),ce=te.length;for(n=0;n<ce;n++){ge=te[n];let r=ge.pattern;c=null;let u=ge.short;if(u===!1?ge.isCustom===!0?(g=r.exec(_,y,b,x),g===null?s=null:(s=g[0],g.payload!==void 0&&(c=g.payload))):(this.updateLastIndex(r,y),s=this.match(r,e,y)):t===u&&(s=r),s!==null){if(o=ge.longerAlt,o!==void 0){let t=o.length;for(i=0;i<t;i++){let t=se[o[i]],n=t.pattern;if(l=null,t.isCustom===!0?(g=n.exec(_,y,b,x),g===null?a=null:(a=g[0],g.payload!==void 0&&(l=g.payload))):(this.updateLastIndex(n,y),a=this.match(n,e,y)),a&&a.length>s.length){s=a,c=l,ge=t;break}}}break}}if(s!==null){if(u=s.length,d=ge.group,d!==void 0&&(f=ge.tokenTypeIdx,p=this.createTokenInstance(s,y,f,ge.tokenType,re,ie,u),this.handlePayload(p,c),d===!1?ee=this.addToken(b,ee,p):x[d].push(p)),e=this.chopInput(e,u),y+=u,ie=this.computeNewColumn(ie,u),S===!0&&ge.canLineTerminator===!0){let e=0,t,n;ae.lastIndex=0;do t=ae.test(s),t===!0&&(n=ae.lastIndex-1,e++);while(t===!0);e!==0&&(re+=e,ie=u-n,this.updateTokenEndLineColumnLocation(p,d,n,e,re,ie,u))}this.handleModes(ge,me,he,p)}else{let t=y,n=re,i=ie,a=_e===!1;for(;a===!1&&y<v;)for(e=this.chopInput(e,1),y++,r=0;r<oe;r++){let t=se[r],n=t.pattern,i=t.short;if(i===!1?t.isCustom===!0?a=n.exec(_,y,b,x)!==null:(this.updateLastIndex(n,y),a=n.exec(e)!==null):_.charCodeAt(y)===i&&(a=!0),a===!0)break}if(m=y-t,ie=this.computeNewColumn(ie,m),h=this.config.errorMessageProvider.buildUnexpectedCharactersMessage(_,t,m,n,i),ne.push({offset:t,line:n,column:i,length:m,message:h}),_e===!1)break}}return this.hasCustom||(b.length=ee),{tokens:b,groups:x,errors:ne}}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)}chopInput(e,t){return e.substring(t)}updateLastIndex(e,t){e.lastIndex=t}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)}matchWithTest(e,t,n){return e.test(t)===!0?t.substring(n,e.lastIndex):null}matchWithExec(e,t){let n=e.exec(t);return n===null?null:n[0]}};jv.SKIPPED=`This marks a skipped Token pattern, this means each token identified by it willbe consumed and then thrown into oblivion, this can be used to for example to completely ignore whitespace.`,jv.NA=/NOT_APPLICABLE/;function Mv(e){return Nv(e)?e.LABEL:e.name}function Nv(e){return ju(e.LABEL)&&e.LABEL!==``}var Pv=`parent`,Fv=`categories`,Iv=`label`,Lv=`group`,Rv=`push_mode`,zv=`pop_mode`,Bv=`longer_alt`,Vv=`line_breaks`,Hv=`start_chars_hint`;function Uv(e){return Wv(e)}function Wv(e){let t=e.pattern,n={};if(n.name=e.name,Uu(t)||(n.PATTERN=t),N(e,Pv))throw`The parent property is no longer supported.
|
|
42
|
+
See: https://github.com/chevrotain/chevrotain/issues/564#issuecomment-349062346 for details.`;return N(e,Fv)&&(n.CATEGORIES=e[Fv]),vv([n]),N(e,Iv)&&(n.LABEL=e[Iv]),N(e,Lv)&&(n.GROUP=e[Lv]),N(e,zv)&&(n.POP_MODE=e[zv]),N(e,Rv)&&(n.PUSH_MODE=e[Rv]),N(e,Bv)&&(n.LONGER_ALT=e[Bv]),N(e,Vv)&&(n.LINE_BREAKS=e[Vv]),N(e,Hv)&&(n.START_CHARS_HINT=e[Hv]),n}var Gv=Uv({name:`EOF`,pattern:jv.NA});vv([Gv]);function Kv(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 qv(e,t){return mv(e,t)}var Jv={buildMismatchTokenMessage({expected:e,actual:t,previous:n,ruleName:r}){return`Expecting ${Nv(e)?`--> ${Mv(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: '`+Cu(t).image+`'`;return r?`Expecting: `+r+a:`Expecting: one of these possible Token sequences:\n${M(M(Xu(e,(e,t)=>e.concat(t),[]),e=>`[${M(e,e=>Mv(e)).join(`, `)}]`),(e,t)=>` ${t+1}. ${e}`).join(`
|
|
44
|
+
`)}`+a},buildEarlyExitMessage({expectedIterationPaths:e,actual:t,customUserDescription:n,ruleName:r}){let i=`
|
|
45
|
+
but found: '`+Cu(t).image+`'`;return n?`Expecting: `+n+i:`Expecting: expecting at least one iteration which starts with one of these possible Token sequences::\n <${M(e,e=>`[${M(e,e=>Mv(e)).join(`,`)}]`).join(` ,`)}>`+i}};Object.freeze(Jv);var Yv={buildRuleNotFoundError(e,t){return`Invalid grammar, reference to a rule which is not defined: ->`+t.nonTerminalName+`<-
|
|
46
|
+
inside top level rule: ->`+e.name+`<-`}},Xv={buildDuplicateFoundError(e,t){function n(e){return e instanceof U?e.terminalType.name:e instanceof z?e.nonTerminalName:``}let r=e.name,i=Cu(t),a=i.idx,o=s_(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=M(e.prefixPath,e=>Mv(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=M(e.prefixPath,e=>Mv(e)).join(`, `),n=e.alternation.idx===0?``:e.alternation.idx,r=`Ambiguous Alternatives Detected: <${e.ambiguityIndices.join(` ,`)}> in <OR${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
|
|
51
|
+
For Further details.`,r},buildEmptyRepetitionError(e){let t=s_(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} --> ${M(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 Xg?e.topLevelRule.name:e.topLevelRule,`Duplicate definition, rule: ->${t}<- is already defined in the grammar: ->${e.grammarName}<-`}};function Zv(e,t){let n=new Qv(e,t);return n.resolveRefs(),n.errors}var Qv=class extends r_{constructor(e,t){super(),this.nameToTopRule=e,this.errMsgProvider=t,this.errors=[]}resolveRefs(){j(P(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:Zb.UNRESOLVED_SUBRULE_REF,ruleName:this.currTopLevel.name,unresolvedRefName:e.nonTerminalName})}}},$v=class extends c_{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=k(this.path.ruleStack).reverse(),this.occurrenceStack=k(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(){I(this.ruleStack)?(this.nextProductionName=``,this.nextProductionOccurrence=0,this.isAtEndOfPath=!0):(this.nextProductionName=this.ruleStack.pop(),this.nextProductionOccurrence=this.occurrenceStack.pop())}},ey=class extends $v{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){if(this.isAtEndOfPath&&e.terminalType.name===this.nextTerminalName&&e.idx===this.nextTerminalOccurrence&&!this.found){let e=new B({definition:t.concat(n)});this.possibleTokTypes=u_(e),this.found=!0}}},ty=class extends c_{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}},ny=class extends ty{walkMany(e,t,n){if(e.idx===this.occurrence){let e=Cu(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)}},ry=class extends ty{walkManySep(e,t,n){if(e.idx===this.occurrence){let e=Cu(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)}},iy=class extends ty{walkAtLeastOne(e,t,n){if(e.idx===this.occurrence){let e=Cu(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)}},ay=class extends ty{walkAtLeastOneSep(e,t,n){if(e.idx===this.occurrence){let e=Cu(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 oy(e,t,n=[]){n=k(n);let r=[],i=0;function a(t){return t.concat(A(e,i+1))}function o(e){let i=oy(a(e),t,n);return r.concat(i)}for(;n.length<t&&i<e.length;){let t=e[i];if(t instanceof B||t instanceof z)return o(t.definition);if(t instanceof V)r=o(t.definition);else if(t instanceof Zg)return o(t.definition.concat([new H({definition:t.definition})]));else if(t instanceof Qg)return o([new B({definition:t.definition}),new H({definition:[new U({terminalType:t.separator})].concat(t.definition)})]);else if(t instanceof $g)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 e_)return j(t.definition,e=>{I(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:A(e,i)}),r}function sy(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:[]});!I(d);){let e=d.pop();if(e===o){s&&du(d).idx<=l&&d.pop();continue}let r=e.def,f=e.idx,p=e.ruleStack,m=e.occurrenceStack;if(I(r))continue;let h=r[0];if(h===i){let e={idx:f,def:A(r),ruleStack:fu(p),occurrenceStack:fu(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:A(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 z){let e=k(p);e.push(h.nonTerminalName);let t=k(m);t.push(h.idx);let n={idx:f,def:h.definition.concat(a,A(r)),ruleStack:e,occurrenceStack:t};d.push(n)}else if(h instanceof V){let e={idx:f,def:A(r),ruleStack:p,occurrenceStack:m};d.push(e),d.push(o);let t={idx:f,def:h.definition.concat(A(r)),ruleStack:p,occurrenceStack:m};d.push(t)}else if(h instanceof Zg){let e=new H({definition:h.definition,idx:h.idx}),t={idx:f,def:h.definition.concat([e],A(r)),ruleStack:p,occurrenceStack:m};d.push(t)}else if(h instanceof Qg){let e=new H({definition:[new U({terminalType:h.separator})].concat(h.definition),idx:h.idx}),t={idx:f,def:h.definition.concat([e],A(r)),ruleStack:p,occurrenceStack:m};d.push(t)}else if(h instanceof $g){let e={idx:f,def:A(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],A(r)),ruleStack:p,occurrenceStack:m};d.push(n)}else if(h instanceof H){let e={idx:f,def:A(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],A(r)),ruleStack:p,occurrenceStack:m};d.push(n)}else if(h instanceof e_)for(let e=h.definition.length-1;e>=0;e--){let t={idx:f,def:h.definition[e].definition.concat(A(r)),ruleStack:p,occurrenceStack:m};d.push(t),d.push(o)}else if(h instanceof B)d.push({idx:f,def:h.definition.concat(A(r)),ruleStack:p,occurrenceStack:m});else if(h instanceof Xg)d.push(cy(h,f,p,m));else throw Error(`non exhaustive match`)}return u}function cy(e,t,n,r){let i=k(n);i.push(e.name);let a=k(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 ly(e){if(e instanceof V||e===`Option`)return G.OPTION;if(e instanceof H||e===`Repetition`)return G.REPETITION;if(e instanceof Zg||e===`RepetitionMandatory`)return G.REPETITION_MANDATORY;if(e instanceof Qg||e===`RepetitionMandatoryWithSeparator`)return G.REPETITION_MANDATORY_WITH_SEPARATOR;if(e instanceof $g||e===`RepetitionWithSeparator`)return G.REPETITION_WITH_SEPARATOR;if(e instanceof e_||e===`Alternation`)return G.ALTERNATION;throw Error(`non exhaustive match`)}function uy(e){let{occurrence:t,rule:n,prodType:r,maxLookahead:i}=e,a=ly(r);return a===G.ALTERNATION?xy(t,n,i):Sy(t,n,a,i)}function dy(e,t,n,r,i,a){let o=xy(e,t,n);return a(o,r,Ty(o)?hv:mv,i)}function fy(e,t,n,r,i,a){let o=Sy(e,t,i,n),s=Ty(o)?hv:mv;return a(o[0],s,r)}function py(e,t,n,r){let i=e.length,a=gu(e,e=>gu(e,e=>e.length===1));if(t)return function(t){let r=M(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=Xu(M(e,e=>Bo(e)),(e,t,n)=>(j(t,t=>{N(e,t.tokenTypeIdx)||(e[t.tokenTypeIdx]=n),j(t.categoryMatches,t=>{N(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 my(e,t,n){let r=gu(e,e=>e.length===1),i=e.length;if(r&&!n){let t=Bo(e);if(t.length===1&&I(t[0].categoryMatches)){let e=t[0].tokenTypeIdx;return function(){return this.LA(1).tokenTypeIdx===e}}else{let e=Xu(t,(e,t,n)=>(e[t.tokenTypeIdx]=!0,j(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 hy=class extends c_{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)}},gy=class extends r_{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 _y(e){let t=Array(e);for(let n=0;n<e;n++)t[n]=[];return t}function vy(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 yy(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 by(e,t){let n=M(e,e=>oy([e],1)),r=_y(n.length),i=M(n,e=>{let t={};return j(e,e=>{j(vy(e.partialPath),e=>{t[e]=!0})}),t}),a=n;for(let e=1;e<=t;e++){let n=a;a=_y(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=vy(c);if(yy(i,u,o)||I(l)||c.length===t){let e=r[o];if(Cy(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=oy(l,e+1,c);a[o]=a[o].concat(t),j(t,e=>{j(vy(e.partialPath),e=>{i[o][e]=!0})})}}}}return r}function xy(e,t,n,r){let i=new gy(e,G.ALTERNATION,r);return t.accept(i),by(i.result,n)}function Sy(e,t,n,r){let i=new gy(e,n);t.accept(i);let a=i.result,o=new hy(t,e,n).startWalking();return by([new B({definition:a}),new B({definition:o})],r)}function Cy(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 wy(e,t){return e.length<t.length&&gu(e,(e,n)=>{let r=t[n];return e===r||r.categoryMatchesMap[e.tokenTypeIdx]})}function Ty(e){return gu(e,e=>gu(e,e=>gu(e,e=>I(e.categoryMatches))))}function Ey(e){return M(e.lookaheadStrategy.validate({rules:e.rules,tokenTypes:e.tokenTypes,grammarName:e.grammarName}),e=>Object.assign({type:Zb.CUSTOM_LOOKAHEAD_VALIDATION},e))}function Dy(e,t,n,r){let i=Tu(e,e=>Oy(e,n)),a=Wy(e,t,n),o=Tu(e,e=>By(e,n)),s=Tu(e,t=>My(t,e,r,n));return i.concat(a,o,s)}function Oy(e,t){let n=new jy;e.accept(n);let r=n.allProductions;return M(P(Ju(Du(r,ky),e=>e.length>1)),n=>{let r=Cu(n),i=t.buildDuplicateFoundError(e,n),a=s_(r),o={message:i,type:Zb.DUPLICATE_PRODUCTIONS,ruleName:e.name,dslName:a,occurrence:r.idx},s=Ay(r);return s&&(o.parameter=s),o})}function ky(e){return`${s_(e)}_#_${e.idx}_#_${Ay(e)}`}function Ay(e){return e instanceof U?e.terminalType.name:e instanceof z?e.nonTerminalName:``}var jy=class extends r_{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 My(e,t,n,r){let i=[];if(Xu(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:Zb.DUPLICATE_RULE_NAME,ruleName:e.name})}return i}function Ny(e,t,n){let r=[],i;return F(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:Zb.INVALID_RULE_OVERRIDE,ruleName:e})),r}function Py(e,t,n,r=[]){let i=[],a=Fy(t.definition);if(I(a))return[];{let t=e.name;F(a,e)&&i.push({message:n.buildLeftRecursionError({topLevelRule:e,leftRecursionPath:r}),type:Zb.LEFT_RECURSION,ruleName:t});let o=Tu(uu(a,r.concat([e])),t=>{let i=k(r);return i.push(t),Py(e,t,n,i)});return i.concat(o)}}function Fy(e){let t=[];if(I(e))return t;let n=Cu(e);if(n instanceof z)t.push(n.referencedRule);else if(n instanceof B||n instanceof V||n instanceof Zg||n instanceof Qg||n instanceof $g||n instanceof H)t=t.concat(Fy(n.definition));else if(n instanceof e_)t=Bo(M(n.definition,e=>Fy(e.definition)));else if(!(n instanceof U))throw Error(`non exhaustive match`);let r=a_(n),i=e.length>1;if(r&&i){let n=A(e);return t.concat(Fy(n))}else return t}var Iy=class extends r_{constructor(){super(...arguments),this.alternations=[]}visitAlternation(e){this.alternations.push(e)}};function Ly(e,t){let n=new Iy;e.accept(n);let r=n.alternations;return Tu(r,n=>Tu(fu(n.definition),(r,i)=>I(sy([r],[],mv,1))?[{message:t.buildEmptyAlternationError({topLevelRule:e,alternation:n,emptyChoiceIdx:i}),type:Zb.NONE_LAST_EMPTY_ALT,ruleName:e.name,occurrence:n.idx,alternative:i+1}]:[]))}function Ry(e,t,n){let r=new Iy;e.accept(r);let i=r.alternations;return i=Zu(i,e=>e.ignoreAmbiguities===!0),Tu(i,r=>{let i=r.idx,a=xy(i,e,r.maxLookahead||t,r),o=Hy(a,r,e,n),s=Uy(a,r,e,n);return o.concat(s)})}var zy=class extends r_{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 By(e,t){let n=new Iy;e.accept(n);let r=n.alternations;return Tu(r,n=>n.definition.length>255?[{message:t.buildTooManyAlternativesError({topLevelRule:e,alternation:n}),type:Zb.TOO_MANY_ALTS,ruleName:e.name,occurrence:n.idx}]:[])}function Vy(e,t,n){let r=[];return j(e,e=>{let i=new zy;e.accept(i);let a=i.allProductions;j(a,i=>{let a=ly(i),o=i.maxLookahead||t,s=i.idx,c=Sy(s,e,a,o)[0];if(I(Bo(c))){let t=n.buildEmptyRepetitionError({topLevelRule:e,repetition:i});r.push({message:t,type:Zb.NO_NON_EMPTY_LOOKAHEAD,ruleName:e.name})}})}),r}function Hy(e,t,n,r){let i=[];return M(Xu(e,(n,r,a)=>(t.definition[a].ignoreAmbiguities===!0||j(r,r=>{let o=[a];j(e,(e,n)=>{a!==n&&Cy(e,r)&&t.definition[n].ignoreAmbiguities!==!0&&o.push(n)}),o.length>1&&!Cy(i,r)&&(i.push(r),n.push({alts:o,path:r}))}),n),[]),e=>{let i=M(e.alts,e=>e+1);return{message:r.buildAlternationAmbiguityError({topLevelRule:n,alternation:t,ambiguityIndices:i,prefixPath:e.path}),type:Zb.AMBIGUOUS_ALTS,ruleName:n.name,occurrence:t.idx,alternatives:e.alts}})}function Uy(e,t,n,r){let i=Xu(e,(e,t,n)=>{let r=M(t,e=>({idx:n,path:e}));return e.concat(r)},[]);return Jc(Tu(i,e=>{if(t.definition[e.idx].ignoreAmbiguities===!0)return[];let a=e.idx,o=e.path;return M(vu(i,e=>t.definition[e.idx].ignoreAmbiguities!==!0&&e.idx<a&&wy(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:Zb.AMBIGUOUS_PREFIX_ALTS,ruleName:n.name,occurrence:o,alternatives:i}})}))}function Wy(e,t,n){let r=[],i=M(t,e=>e.name);return j(e,e=>{let t=e.name;if(F(i,t)){let i=n.buildNamespaceConflictError(e);r.push({message:i,type:Zb.CONFLICT_TOKENS_RULES_NAMESPACE,ruleName:t})}}),r}function Gy(e){let t=au(e,{errMsgProvider:Yv}),n={};return j(e.rules,e=>{n[e.name]=e}),Zv(n,t.errMsgProvider)}function Ky(e){return e=au(e,{errMsgProvider:Xv}),Dy(e.rules,e.tokenTypes,e.errMsgProvider,e.grammarName)}var qy=`MismatchedTokenException`,Jy=`NoViableAltException`,Yy=`EarlyExitException`,Xy=`NotAllInputParsedException`,Zy=[qy,Jy,Yy,Xy];Object.freeze(Zy);function Qy(e){return F(Zy,e.name)}var $y=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)}},eb=class extends $y{constructor(e,t,n){super(e,t),this.previousToken=n,this.name=qy}},tb=class extends $y{constructor(e,t,n){super(e,t),this.previousToken=n,this.name=Jy}},nb=class extends $y{constructor(e,t){super(e,t),this.name=Xy}},rb=class extends $y{constructor(e,t,n){super(e,t),this.previousToken=n,this.name=Yy}},ib={},ab=`InRuleRecoveryException`,ob=class extends Error{constructor(e){super(e),this.name=ab}},sb=class{initRecoverable(e){this.firstAfterRepMap={},this.resyncFollows={},this.recoveryEnabled=N(e,`recoveryEnabled`)?e.recoveryEnabled:Yb.recoveryEnabled,this.recoveryEnabled&&(this.attemptInRepetitionRecovery=cb)}getTokenToInsert(e){let t=Kv(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 eb(this.errorMessageProvider.buildMismatchTokenMessage({expected:r,actual:c,previous:e,ruleName:this.getCurrRuleFullName()}),c,this.LA(0));t.resyncedTokens=fu(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 ob(`sad sad panda`)}canPerformInRuleRecovery(e,t){return this.canRecoverWithSingleTokenInsertion(e,t)||this.canRecoverWithSingleTokenDeletion(e)}canRecoverWithSingleTokenInsertion(e,t){if(!this.canTokenTypeBeInsertedInRecovery(e)||I(t))return!1;let n=this.LA(1);return Su(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 F(this.getFollowSetFromFollowKey(t),e)}findReSyncTokenType(){let e=this.flattenFollowSet(),t=this.LA(1),n=2;for(;;){let r=Su(e,e=>qv(t,e));if(r!==void 0)return r;t=this.LA(n),n++}}getCurrFollowKey(){if(this.RULE_STACK.length===1)return ib;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 M(e,(n,r)=>r===0?ib:{ruleName:this.shortRuleNameToFullName(n),idxInCallingRule:t[r],inRule:this.shortRuleNameToFullName(e[r-1])})}flattenFollowSet(){return Bo(M(this.buildFullFollowKeyStack(),e=>this.getFollowSetFromFollowKey(e)))}getFollowSetFromFollowKey(e){if(e===ib)return[Gv];let t=e.ruleName+e.idxInCallingRule+m_+e.inRule;return this.resyncFollows[t]}addToResyncTokens(e,t){return this.tokenMatcher(e,Gv)||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 fu(t)}attemptInRepetitionRecovery(e,t,n,r,i,a,o){}getCurrentGrammarPath(e,t){return{ruleStack:this.getHumanReadableRuleStack(),occurrenceStack:k(this.RULE_OCCURRENCE_STACK),lastTok:e,lastTokOccurrence:t}}getHumanReadableRuleStack(){return M(this.RULE_STACK,e=>this.shortRuleNameToFullName(e))}};function cb(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=Gv,u=1),!(l===void 0||u===void 0)&&this.shouldInRepetitionRecoveryBeTried(l,u,o)&&this.tryInRepetitionRecovery(e,t,n,l)}var lb=1024,ub=1280,db=1536;function fb(e,t,n){return n|t|e}var pb=class{constructor(e){this.maxLookahead=e?.maxLookahead??Yb.maxLookahead}validate(e){let t=this.validateNoLeftRecursion(e.rules);if(I(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 Tu(e,e=>Py(e,e,Xv))}validateEmptyOrAlternatives(e){return Tu(e,e=>Ly(e,Xv))}validateAmbiguousAlternationAlternatives(e,t){return Tu(e,e=>Ry(e,t,Xv))}validateSomeNonEmptyLookaheadPath(e,t){return Vy(e,t,Xv)}buildLookaheadForAlternation(e){return dy(e.prodOccurrence,e.rule,e.maxLookahead,e.hasPredicates,e.dynamicTokensEnabled,py)}buildLookaheadForOptional(e){return fy(e.prodOccurrence,e.rule,e.maxLookahead,e.dynamicTokensEnabled,ly(e.prodType),my)}},mb=class{initLooksAhead(e){this.dynamicTokensEnabled=N(e,`dynamicTokensEnabled`)?e.dynamicTokensEnabled:Yb.dynamicTokensEnabled,this.maxLookahead=N(e,`maxLookahead`)?e.maxLookahead:Yb.maxLookahead,this.lookaheadStrategy=N(e,`lookaheadStrategy`)?e.lookaheadStrategy:new pb({maxLookahead:this.maxLookahead}),this.lookAheadFuncsCache=new Map}preComputeLookaheadFunctions(e){j(e,e=>{this.TRACE_INIT(`${e.name} Rule Lookahead`,()=>{let{alternation:t,repetition:n,option:r,repetitionMandatory:i,repetitionMandatoryWithSeparator:a,repetitionWithSeparator:o}=gb(e);j(t,t=>{let n=t.idx===0?``:t.idx;this.TRACE_INIT(`${s_(t)}${n}`,()=>{let n=this.lookaheadStrategy.buildLookaheadForAlternation({prodOccurrence:t.idx,rule:e,maxLookahead:t.maxLookahead||this.maxLookahead,hasPredicates:t.hasPredicates,dynamicTokensEnabled:this.dynamicTokensEnabled}),r=fb(this.fullRuleNameToShort[e.name],256,t.idx);this.setLaFuncCache(r,n)})}),j(n,t=>{this.computeLookaheadFunc(e,t.idx,768,`Repetition`,t.maxLookahead,s_(t))}),j(r,t=>{this.computeLookaheadFunc(e,t.idx,512,`Option`,t.maxLookahead,s_(t))}),j(i,t=>{this.computeLookaheadFunc(e,t.idx,lb,`RepetitionMandatory`,t.maxLookahead,s_(t))}),j(a,t=>{this.computeLookaheadFunc(e,t.idx,db,`RepetitionMandatoryWithSeparator`,t.maxLookahead,s_(t))}),j(o,t=>{this.computeLookaheadFunc(e,t.idx,ub,`RepetitionWithSeparator`,t.maxLookahead,s_(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=fb(this.fullRuleNameToShort[e.name],n,t);this.setLaFuncCache(o,a)})}getKeyForAutomaticLookahead(e,t){return fb(this.getLastExplicitRuleShortName(),e,t)}getLaFuncFromCache(e){return this.lookAheadFuncsCache.get(e)}setLaFuncCache(e,t){this.lookAheadFuncsCache.set(e,t)}},hb=new class extends r_{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 gb(e){hb.reset(),e.accept(hb);let t=hb.dslMethods;return hb.reset(),t}function _b(e,t){isNaN(e.startOffset)===!0?(e.startOffset=t.startOffset,e.endOffset=t.endOffset):e.endOffset<t.endOffset&&(e.endOffset=t.endOffset)}function vb(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 yb(e,t,n){e.children[n]===void 0?e.children[n]=[t]:e.children[n].push(t)}function bb(e,t,n){e.children[t]===void 0?e.children[t]=[n]:e.children[t].push(n)}var xb=`name`;function Sb(e,t){Object.defineProperty(e,xb,{enumerable:!1,configurable:!0,writable:!1,value:t})}function Cb(e,t){let n=Ra(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 wb(e,t){let n=function(){};return Sb(n,e+`BaseSemantics`),n.prototype={visit:function(e,t){if(T(e)&&(e=e[0]),!Uu(e))return this[e.name](e.children,t)},validateVisitor:function(){let e=Db(this,t);if(!I(e)){let t=M(e,e=>e.msg);throw Error(`Errors Detected in CST Visitor <${this.constructor.name}>:\n\t${t.join(`
|
|
52
|
+
|
|
53
|
+
`).replace(/\n/g,`
|
|
54
|
+
`)}`)}}},n.prototype.constructor=n,n._RULE_NAMES=t,n}function Tb(e,t,n){let r=function(){};Sb(r,e+`BaseSemanticsWithDefaults`);let i=Object.create(n.prototype);return j(t,e=>{i[e]=Cb}),r.prototype=i,r.prototype.constructor=r,r}var Eb;(function(e){e[e.REDUNDANT_METHOD=0]=`REDUNDANT_METHOD`,e[e.MISSING_METHOD=1]=`MISSING_METHOD`})(Eb||={});function Db(e,t){return Ob(e,t)}function Ob(e,t){return Jc(M(vu(t,t=>Wr(e[t])===!1),t=>({msg:`Missing visitor method: <${t}> on ${e.constructor.name} CST Visitor.`,type:Eb.MISSING_METHOD,methodName:t})))}var kb=class{initTreeBuilder(e){if(this.CST_STACK=[],this.outputCst=e.outputCst,this.nodeLocationTracking=N(e,`nodeLocationTracking`)?e.nodeLocationTracking:Yb.nodeLocationTracking,!this.outputCst)this.cstInvocationStateUpdate=E,this.cstFinallyStateUpdate=E,this.cstPostTerminal=E,this.cstPostNonTerminal=E,this.cstPostRule=E;else if(/full/i.test(this.nodeLocationTracking))this.recoveryEnabled?(this.setNodeLocationFromToken=vb,this.setNodeLocationFromNode=vb,this.cstPostRule=E,this.setInitialNodeLocation=this.setInitialNodeLocationFullRecovery):(this.setNodeLocationFromToken=E,this.setNodeLocationFromNode=E,this.cstPostRule=this.cstPostRuleFull,this.setInitialNodeLocation=this.setInitialNodeLocationFullRegular);else if(/onlyOffset/i.test(this.nodeLocationTracking))this.recoveryEnabled?(this.setNodeLocationFromToken=_b,this.setNodeLocationFromNode=_b,this.cstPostRule=E,this.setInitialNodeLocation=this.setInitialNodeLocationOnlyOffsetRecovery):(this.setNodeLocationFromToken=E,this.setNodeLocationFromNode=E,this.cstPostRule=this.cstPostRuleOnlyOffset,this.setInitialNodeLocation=this.setInitialNodeLocationOnlyOffsetRegular);else if(/none/i.test(this.nodeLocationTracking))this.setNodeLocationFromToken=E,this.setNodeLocationFromNode=E,this.cstPostRule=E,this.setInitialNodeLocation=E;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];yb(n,t,e),this.setNodeLocationFromToken(n.location,t)}cstPostNonTerminal(e,t){let n=this.CST_STACK[this.CST_STACK.length-1];bb(n,t,e),this.setNodeLocationFromNode(n.location,e.location)}getBaseCstVisitorConstructor(){if(Uu(this.baseCstVisitorConstructor)){let e=wb(this.className,Ra(this.gastProductionsCache));return this.baseCstVisitorConstructor=e,e}return this.baseCstVisitorConstructor}getBaseCstVisitorConstructorWithDefaults(){if(Uu(this.baseCstVisitorWithDefaultsConstructor)){let e=Tb(this.className,Ra(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]}},Ab=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)):Jb}LA(e){let t=this.currIdx+e;return t<0||this.tokVectorLength<=t?Jb: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()}},jb=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=Xb){if(F(this.definedRulesNames,e)){let t={message:Xv.buildDuplicateRuleNameError({topLevelRule:e,grammarName:this.className}),type:Zb.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=Xb){let r=Ny(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(Qy(e))return!1;throw e}finally{this.reloadRecogState(n),this.isBackTrackingStack.pop()}}}getGAstProductions(){return this.gastProductionsCache}getSerializedGastProductions(){return t_(P(this.gastProductionsCache))}},Mb=class{initRecognizerEngine(e,t){if(this.className=this.constructor.name,this.shortRuleNameToFull={},this.fullRuleNameToShort={},this.ruleShortNameIdx=256,this.tokenMatcher=hv,this.subruleIdx=0,this.definedRulesNames=[],this.tokensMap={},this.isBackTrackingStack=[],this.RULE_STACK=[],this.RULE_OCCURRENCE_STACK=[],this.gastProductionsCache={},N(t,`serializedGrammar`))throw Error(`The Parser's configuration can no longer contain a <serializedGrammar> property.
|
|
55
|
+
See: https://chevrotain.io/docs/changes/BREAKING_CHANGES.html#_6-0-0
|
|
56
|
+
For Further details.`);if(T(e)){if(I(e))throw Error(`A Token Vocabulary cannot be empty.
|
|
57
|
+
Note that the first argument for the parser constructor
|
|
58
|
+
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.
|
|
59
|
+
See: https://chevrotain.io/docs/changes/BREAKING_CHANGES.html#_4-0-0
|
|
60
|
+
For Further details.`)}if(T(e))this.tokensMap=Xu(e,(e,t)=>(e[t.name]=t,e),{});else if(N(e,`modes`)&&gu(Bo(P(e.modes)),Ov)){let t=rd(Bo(P(e.modes)));this.tokensMap=Xu(t,(e,t)=>(e[t.name]=t,e),{})}else if(Or(e))this.tokensMap=k(e);else throw Error(`<tokensDictionary> argument must be An Array of Token constructors, A dictionary of Token constructors or an IMultiModeLexerDefinition`);this.tokensMap.EOF=Gv;let n=gu(N(e,`modes`)?Bo(P(e.modes)):P(e),e=>I(e.categoryMatches));this.tokenMatcher=n?hv:mv,vv(P(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=N(n,`resyncEnabled`)?n.resyncEnabled:Xb.resyncEnabled,i=N(n,`recoveryValueFunc`)?n.recoveryValueFunc:Xb.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(Qy(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(lb,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,lb,e,iy)}atLeastOneSepFirstInternal(e,t){let n=this.getKeyForAutomaticLookahead(db,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,ay],t,db,e,ay)}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,ny,a)}manySepFirstInternal(e,t){let n=this.getKeyForAutomaticLookahead(ub,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,ry],t,ub,e,ry)}}repetitionSepSecondInternal(e,t,n,r,i){for(;n();)this.CONSUME(t),r.call(this);this.attemptInRepetitionRecovery(this.repetitionSepSecondInternal,[e,t,n,r,i],n,db,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=T(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 nb(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 Qy(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 eb(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=k(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),Gv)}reset(){this.resetLexerState(),this.subruleIdx=0,this.isBackTrackingStack=[],this.errors=[],this.RULE_STACK=[],this.CST_STACK=[],this.RULE_OCCURRENCE_STACK=[]}},Nb=class{initErrorHandler(e){this._errors=[],this.errorMessageProvider=N(e,`errorMessageProvider`)?e.errorMessageProvider:Yb.errorMessageProvider}SAVE_ERROR(e){if(Qy(e))return e.context={ruleStack:this.getHumanReadableRuleStack(),ruleOccurrenceStack:k(this.RULE_OCCURRENCE_STACK)},this._errors.push(e),e;throw Error(`Trying to save an Error which is not a RecognitionException`)}get errors(){return k(this._errors)}set errors(e){this._errors=e}raiseEarlyExitException(e,t,n){let r=this.getCurrRuleFullName(),i=this.getGAstProductions()[r],a=Sy(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 rb(s,this.LA(1),this.LA(0)))}raiseNoAltException(e,t){let n=this.getCurrRuleFullName(),r=this.getGAstProductions()[n],i=xy(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 tb(s,this.LA(1),o))}},Pb=class{initContentAssist(){}computeContentAssist(e,t){let n=this.gastProductionsCache[e];if(Uu(n))throw Error(`Rule ->${e}<- does not exist in this grammar.`);return sy([n],t,this.tokenMatcher,this.maxLookahead)}getNextPossibleTokenTypes(e){let t=Cu(e.ruleStack),n=this.getGAstProductions()[t];return new ey(n,e).startWalking()}},Fb={description:`This Object indicates the Parser is during Recording Phase`};Object.freeze(Fb);var Ib=!0,Lb=2**8-1,Rb=Uv({name:`RECORDING_PHASE_TOKEN`,pattern:jv.NA});vv([Rb]);var zb=Kv(Rb,`This IToken indicates the Parser is in Recording Phase
|
|
61
|
+
See: https://chevrotain.io/docs/guide/internals.html#grammar-recording for details`,-1,-1,-1,-1,-1,-1);Object.freeze(zb);var Bb={name:`This CSTNode indicates the Parser is in Recording Phase
|
|
62
|
+
See: https://chevrotain.io/docs/guide/internals.html#grammar-recording for details`,children:{}},Vb=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 Jb}topLevelRuleRecord(e,t){try{let n=new Xg({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+=`
|
|
63
|
+
This error was thrown during the "grammar recording phase" For more info see:
|
|
64
|
+
https://chevrotain.io/docs/guide/internals.html#grammar-recording`}catch{throw e}throw e}}optionInternalRecord(e,t){return Hb.call(this,V,e,t)}atLeastOneInternalRecord(e,t){Hb.call(this,Zg,t,e)}atLeastOneSepFirstInternalRecord(e,t){Hb.call(this,Qg,t,e,Ib)}manyInternalRecord(e,t){Hb.call(this,H,t,e)}manySepFirstInternalRecord(e,t){Hb.call(this,$g,t,e,Ib)}orInternalRecord(e,t){return Ub.call(this,e,t)}subruleInternalRecord(e,t,n){if(Gb(t),!e||N(e,`ruleName`)===!1){let n=Error(`<SUBRULE${Wb(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=du(this.recordingProdStack),i=e.ruleName,a=new z({idx:t,nonTerminalName:i,label:n?.LABEL,referencedRule:void 0});return r.definition.push(a),this.outputCst?Bb:Fb}consumeInternalRecord(e,t,n){if(Gb(t),!wv(e)){let n=Error(`<CONSUME${Wb(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=du(this.recordingProdStack),i=new U({idx:t,terminalType:e,label:n?.LABEL});return r.definition.push(i),zb}};function Hb(e,t,n,r=!1){Gb(n);let i=du(this.recordingProdStack),a=Wr(t)?t:t.DEF,o=new e({definition:[],idx:n});return r&&(o.separator=t.SEP),N(t,`MAX_LOOKAHEAD`)&&(o.maxLookahead=t.MAX_LOOKAHEAD),this.recordingProdStack.push(o),a.call(this),i.definition.push(o),this.recordingProdStack.pop(),Fb}function Ub(e,t){Gb(t);let n=du(this.recordingProdStack),r=T(e)===!1,i=r===!1?e:e.DEF,a=new e_({definition:[],idx:t,ignoreAmbiguities:r&&e.IGNORE_AMBIGUITIES===!0});return N(e,`MAX_LOOKAHEAD`)&&(a.maxLookahead=e.MAX_LOOKAHEAD),a.hasPredicates=$u(i,e=>Wr(e.GATE)),n.definition.push(a),j(i,e=>{let t=new B({definition:[]});a.definition.push(t),N(e,`IGNORE_AMBIGUITIES`)?t.ignoreAmbiguities=e.IGNORE_AMBIGUITIES:N(e,`GATE`)&&(t.ignoreAmbiguities=!0),this.recordingProdStack.push(t),e.ALT.call(this),this.recordingProdStack.pop()}),Fb}function Wb(e){return e===0?``:`${e}`}function Gb(e){if(e<0||e>Lb){let t=Error(`Invalid DSL Method idx value: <${e}>\n\tIdx value must be a none negative value smaller than ${Lb+1}`);throw t.KNOWN_RECORDER_ERROR=!0,t}}var Kb=class{initPerformanceTracer(e){if(N(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=Yb.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}=od(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 qb(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 Jb=Kv(Gv,``,NaN,NaN,NaN,NaN,NaN,NaN);Object.freeze(Jb);var Yb=Object.freeze({recoveryEnabled:!1,maxLookahead:3,dynamicTokensEnabled:!1,outputCst:!0,errorMessageProvider:Jv,nodeLocationTracking:`none`,traceInitPerf:!1,skipValidations:!1}),Xb=Object.freeze({recoveryValueFunc:()=>void 0,resyncEnabled:!0}),Zb;(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`})(Zb||={});function Qb(e=void 0){return function(){return e}}var $b=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`,()=>{sd(this)}),this.TRACE_INIT(`Grammar Recording`,()=>{try{this.enableRecording(),j(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=Gy({rules:P(this.gastProductionsCache)}),this.definitionErrors=this.definitionErrors.concat(r)}),this.TRACE_INIT(`Grammar Validations`,()=>{if(I(r)&&this.skipValidations===!1){let e=Ky({rules:P(this.gastProductionsCache),tokenTypes:P(this.tokensMap),errMsgProvider:Xv,grammarName:n}),t=Ey({lookaheadStrategy:this.lookaheadStrategy,rules:P(this.gastProductionsCache),tokenTypes:P(this.tokensMap),grammarName:n});this.definitionErrors=this.definitionErrors.concat(e,t)}}),I(this.definitionErrors)&&(this.recoveryEnabled&&this.TRACE_INIT(`computeAllProdsFollows`,()=>{let e=g_(P(this.gastProductionsCache));this.resyncFollows=e}),this.TRACE_INIT(`ComputeLookaheadFunctions`,()=>{var e,t;(t=(e=this.lookaheadStrategy).initialize)==null||t.call(e,{rules:P(this.gastProductionsCache)}),this.preComputeLookaheadFunctions(P(this.gastProductionsCache))})),!e.DEFER_DEFINITION_ERRORS_HANDLING&&!I(this.definitionErrors))throw t=M(this.definitionErrors,e=>e.message),Error(`Parser Definition Errors detected:\n ${t.join(`
|
|
65
|
+
-------------------------------
|
|
66
|
+
`)}`)})}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),N(t,`ignoredIssues`))throw Error(`The <ignoredIssues> IParserConfig property has been deprecated.
|
|
67
|
+
Please use the <IGNORE_AMBIGUITIES> flag on the relevant DSL method instead.
|
|
68
|
+
See: https://chevrotain.io/docs/guide/resolving_grammar_errors.html#IGNORING_AMBIGUITIES
|
|
69
|
+
For further details.`);this.skipValidations=N(t,`skipValidations`)?t.skipValidations:Yb.skipValidations}};$b.DEFER_DEFINITION_ERRORS_HANDLING=!1,qb($b,[sb,mb,kb,Ab,Mb,jb,Nb,Pb,Vb,Kb]);var ex=class extends $b{constructor(e,t=Yb){let n=k(t);n.outputCst=!1,super(e,n)}};function tx(e,t,n){return`${e.name}_${t}_${n}`}var nx=class{constructor(e){this.target=e}isEpsilon(){return!1}},rx=class extends nx{constructor(e,t){super(e),this.tokenType=t}},ix=class extends nx{constructor(e){super(e)}isEpsilon(){return!0}},ax=class extends nx{constructor(e,t,n){super(e),this.rule=t,this.followState=n}isEpsilon(){return!0}};function ox(e){let t={decisionMap:{},decisionStates:[],ruleToStartState:new Map,ruleToStopState:new Map,states:[]};sx(t,e);let n=e.length;for(let r=0;r<n;r++){let n=e[r],i=hx(t,n,n);i!==void 0&&Tx(t,n,i)}return t}function sx(e,t){let n=t.length;for(let r=0;r<n;r++){let n=t[r],i=q(e,n,void 0,{type:2}),a=q(e,n,void 0,{type:7});i.stop=a,e.ruleToStartState.set(n,i),e.ruleToStopState.set(n,a)}}function cx(e,t,n){return n instanceof U?Cx(e,t,n.terminalType,n):n instanceof z?wx(e,t,n):n instanceof e_?px(e,t,n):n instanceof V?mx(e,t,n):n instanceof H?lx(e,t,n):n instanceof $g?ux(e,t,n):n instanceof Zg?dx(e,t,n):n instanceof Qg?fx(e,t,n):hx(e,t,n)}function lx(e,t,n){let r=q(e,t,n,{type:5});return yx(e,r),_x(e,t,n,bx(e,t,r,n,hx(e,t,n)))}function ux(e,t,n){let r=q(e,t,n,{type:5});return yx(e,r),_x(e,t,n,bx(e,t,r,n,hx(e,t,n)),Cx(e,t,n.separator,n))}function dx(e,t,n){let r=q(e,t,n,{type:4});return yx(e,r),gx(e,t,n,bx(e,t,r,n,hx(e,t,n)))}function fx(e,t,n){let r=q(e,t,n,{type:4});return yx(e,r),gx(e,t,n,bx(e,t,r,n,hx(e,t,n)),Cx(e,t,n.separator,n))}function px(e,t,n){let r=q(e,t,n,{type:1});return yx(e,r),bx(e,t,r,n,...d(n.definition,n=>cx(e,t,n)))}function mx(e,t,n){let r=q(e,t,n,{type:1});return yx(e,r),vx(e,t,n,bx(e,t,r,n,hx(e,t,n)))}function hx(e,t,n){let r=o(d(n.definition,n=>cx(e,t,n)),e=>e!==void 0);return r.length===1?r[0]:r.length===0?void 0:Sx(e,r)}function gx(e,t,n,r,i){let a=r.left,o=r.right,s=q(e,t,n,{type:11});yx(e,s);let c=q(e,t,n,{type:12});return a.loopback=s,c.loopback=s,e.decisionMap[tx(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 _x(e,t,n,r,i){let a=r.left,o=r.right,s=q(e,t,n,{type:10});yx(e,s);let c=q(e,t,n,{type:12}),l=q(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[tx(t,i?`RepetitionWithSeparator`:`Repetition`,n.idx)]=s,{left:s,right:c}}function vx(e,t,n,r){let i=r.left,a=r.right;return K(i,a),e.decisionMap[tx(t,`Option`,n.idx)]=i,r}function yx(e,t){return e.decisionStates.push(t),t.decision=e.decisionStates.length-1,t.decision}function bx(e,t,n,r,...i){let a=q(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[tx(t,xx(r),r.idx)]=n,o}function xx(e){if(e instanceof e_)return`Alternation`;if(e instanceof V)return`Option`;if(e instanceof H)return`Repetition`;if(e instanceof $g)return`RepetitionWithSeparator`;if(e instanceof Zg)return`RepetitionMandatory`;if(e instanceof Qg)return`RepetitionMandatoryWithSeparator`;throw Error(`Invalid production type encountered`)}function Sx(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 ax,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,Dx(e,n.right)):K(n.right,s)}let r=t[0],i=t[n-1];return{left:r.left,right:i.right}}function Cx(e,t,n,r){let i=q(e,t,r,{type:1}),a=q(e,t,r,{type:1});return Ex(i,new rx(a,n)),{left:i,right:a}}function wx(e,t,n){let r=n.referencedRule,i=e.ruleToStartState.get(r),a=q(e,t,n,{type:1}),o=q(e,t,n,{type:1});return Ex(a,new ax(i,r,o)),{left:a,right:o}}function Tx(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){Ex(e,new ix(t))}function q(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 Ex(e,t){e.transitions.length===0&&(e.epsilonOnlyTransitions=t.isEpsilon()),e.transitions.push(t)}function Dx(e,t){e.states.splice(e.states.indexOf(t),1)}var Ox={},kx=class{constructor(){this.map={},this.configs=[]}get size(){return this.configs.length}finalize(){this.map={}}add(e){let t=Ax(e);t in this.map||(this.map[t]=this.configs.length,this.configs.push(e))}get elements(){return this.configs}get alts(){return d(this.configs,e=>e.alt)}get key(){let e=``;for(let t in this.map)e+=t+`:`;return e}};function Ax(e,t=!0){return`${t?`a${e.alt}`:``}s${e.state.stateNumber}:${e.stack.map(e=>e.stateNumber.toString()).join(`_`)}`}function jx(e,t){return l(d(e,t),1)}function Mx(e,t){return e&&e.length?a(e,s(t,2)):[]}function Nx(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 Px=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}},Fx=new Px,Ix=class extends pb{constructor(e){super(),this.logging=e?.logging??(e=>console.log(e))}initialize(e){this.atn=ox(e.rules),this.dfas=Rx(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=tx(n,`Alternation`,t),l=this.atn.decisionMap[s].decision,f=d(uy({maxLookahead:1,occurrence:t,prodType:`Alternation`,rule:n}),e=>d(e,e=>e[0]));if(Lx(f,!1)&&!i){let e=u(f,(e,t,n)=>(c(t,t=>{t&&(e[t.tokenTypeIdx]=n,c(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 Px,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=zx.call(this,a,l,t,o);return typeof r==`number`?r:void 0};else return function(){let e=zx.call(this,a,l,Fx,o);return typeof e==`number`?e:void 0}}buildLookaheadForOptional(e){let{prodOccurrence:t,rule:n,prodType:r,dynamicTokensEnabled:a}=e,o=this.dfas,s=this.logging,l=tx(n,r,t),f=this.atn.decisionMap[l].decision,m=d(uy({maxLookahead:1,occurrence:t,prodType:r,rule:n}),e=>d(e,e=>e[0]));if(Lx(m)&&m[0][0]&&!a){let e=m[0],t=p(e);if(t.length===1&&i(t[0].categoryMatches)){let e=t[0].tokenTypeIdx;return function(){return this.LA(1).tokenTypeIdx===e}}else{let e=u(t,(e,t)=>(t!==void 0&&(e[t.tokenTypeIdx]=!0,c(t.categoryMatches,t=>{e[t]=!0})),e),{});return function(){return e[this.LA(1).tokenTypeIdx]===!0}}}return function(){let e=zx.call(this,o,f,Fx,s);return typeof e==`object`?!1:e===0}}};function Lx(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 Rx(e){let t=e.decisionStates.length,n=Array(t);for(let r=0;r<t;r++)n[r]=Nx(e.decisionStates[r],r);return n}function zx(e,t,n,r){let i=e[t](n),a=i.start;return a===void 0&&(a=Qx(i,Xx($x(i.atnStartState))),i.start=a),Bx.apply(this,[i,a,n,r])}function Bx(e,t,n,r){let i=t,a=1,o=[],s=this.LA(a++);for(;;){let t=Kx(i,s);if(t===void 0&&(t=Vx.apply(this,[e,i,s,a,n,r])),t===Ox)return Gx(o,i,s);if(t.isAcceptState===!0)return t.prediction;i=t,o.push(s),s=this.LA(a++)}}function Vx(e,t,n,r,i,a){let o=qx(t.configs,n,i);if(o.size===0)return Zx(e,t,n,Ox),Ox;let s=Xx(o),c=Yx(o,i);if(c!==void 0)s.isAcceptState=!0,s.prediction=c,s.configs.uniqueAlt=c;else if(iS(o)){let t=f(o.alts);s.isAcceptState=!0,s.prediction=t,s.configs.uniqueAlt=t,Hx.apply(this,[e,r,o.alts,a])}return s=Zx(e,t,n,s),s}function Hx(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(Ux({topLevelRule:o,ambiguityIndices:n,production:s,prefixPath:i}))}function Ux(e){let t=d(e.prefixPath,e=>Mv(e)).join(`, `),n=e.production.idx===0?``:e.production.idx,r=`Ambiguous Alternatives Detected: <${e.ambiguityIndices.join(`, `)}> in <${Wx(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
|
|
70
|
+
For Further details.`,r}function Wx(e){if(e instanceof z)return`SUBRULE`;if(e instanceof V)return`OPTION`;if(e instanceof e_)return`OR`;if(e instanceof Zg)return`AT_LEAST_ONE`;if(e instanceof Qg)return`AT_LEAST_ONE_SEP`;if(e instanceof $g)return`MANY_SEP`;if(e instanceof H)return`MANY`;if(e instanceof U)return`CONSUME`;throw Error(`non exhaustive match`)}function Gx(e,t,n){return{actualToken:n,possibleTokenTypes:Mx(jx(t.configs.elements,e=>e.state.transitions).filter(e=>e instanceof rx).map(e=>e.tokenType),e=>e.tokenTypeIdx),tokenPath:e}}function Kx(e,t){return e.edges[t.tokenTypeIdx]}function qx(e,t,n){let r=new kx,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=Jx(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 kx;for(let e of r.elements)eS(e,a)}if(i.length>0&&!nS(a))for(let e of i)a.add(e);return a}function Jx(e,t){if(e instanceof rx&&qv(t,e.tokenType))return e.target}function Yx(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 Xx(e){return{configs:e,edges:{},isAcceptState:!1,prediction:-1}}function Zx(e,t,n,r){return r=Qx(e,r),t.edges[n.tokenTypeIdx]=r,r}function Qx(e,t){if(t===Ox)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 $x(e){let t=new kx,n=e.transitions.length;for(let r=0;r<n;r++)eS({state:e.transitions[r].target,alt:r,stack:[]},t);return t}function eS(e,t){let n=e.state;if(n.type===7){if(e.stack.length>0){let n=[...e.stack];eS({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=tS(e,r);a!==void 0&&eS(a,t)}}function tS(e,t){if(t instanceof ix)return{state:t.target,alt:e.alt,stack:e.stack};if(t instanceof ax){let n=[...e.stack,t.followState];return{state:t.target,alt:e.alt,stack:n}}}function nS(e){for(let t of e.elements)if(t.state.type===7)return!0;return!1}function rS(e){for(let t of e.elements)if(t.state.type!==7)return!1;return!0}function iS(e){if(rS(e))return!0;let t=aS(e.elements);return oS(t)&&!sS(t)}function aS(e){let t=new Map;for(let n of e){let e=Ax(n,!1),r=t.get(e);r===void 0&&(r={},t.set(e,r)),r[n.alt]=!0}return t}function oS(e){for(let t of Array.from(e.values()))if(Object.keys(t).length>1)return!0;return!1}function sS(e){for(let t of Array.from(e.values()))if(Object.keys(t).length===1)return!0;return!1}var cS;(function(e){function t(e){return typeof e==`string`}e.is=t})(cS||={});var lS;(function(e){function t(e){return typeof e==`string`}e.is=t})(lS||={});var uS;(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})(uS||={});var dS;(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})(dS||={});var J;(function(e){function t(e,t){return e===Number.MAX_VALUE&&(e=dS.MAX_VALUE),t===Number.MAX_VALUE&&(t=dS.MAX_VALUE),{line:e,character:t}}e.create=t;function n(e){let t=e;return X.objectLiteral(t)&&X.uinteger(t.line)&&X.uinteger(t.character)}e.is=n})(J||={});var Y;(function(e){function t(e,t,n,r){if(X.uinteger(e)&&X.uinteger(t)&&X.uinteger(n)&&X.uinteger(r))return{start:J.create(e,t),end:J.create(n,r)};if(J.is(e)&&J.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 X.objectLiteral(t)&&J.is(t.start)&&J.is(t.end)}e.is=n})(Y||={});var fS;(function(e){function t(e,t){return{uri:e,range:t}}e.create=t;function n(e){let t=e;return X.objectLiteral(t)&&Y.is(t.range)&&(X.string(t.uri)||X.undefined(t.uri))}e.is=n})(fS||={});var pS;(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 X.objectLiteral(t)&&Y.is(t.targetRange)&&X.string(t.targetUri)&&Y.is(t.targetSelectionRange)&&(Y.is(t.originSelectionRange)||X.undefined(t.originSelectionRange))}e.is=n})(pS||={});var mS;(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 X.objectLiteral(t)&&X.numberRange(t.red,0,1)&&X.numberRange(t.green,0,1)&&X.numberRange(t.blue,0,1)&&X.numberRange(t.alpha,0,1)}e.is=n})(mS||={});var hS;(function(e){function t(e,t){return{range:e,color:t}}e.create=t;function n(e){let t=e;return X.objectLiteral(t)&&Y.is(t.range)&&mS.is(t.color)}e.is=n})(hS||={});var gS;(function(e){function t(e,t,n){return{label:e,textEdit:t,additionalTextEdits:n}}e.create=t;function n(e){let t=e;return X.objectLiteral(t)&&X.string(t.label)&&(X.undefined(t.textEdit)||TS.is(t))&&(X.undefined(t.additionalTextEdits)||X.typedArray(t.additionalTextEdits,TS.is))}e.is=n})(gS||={});var _S;(function(e){e.Comment=`comment`,e.Imports=`imports`,e.Region=`region`})(_S||={});var vS;(function(e){function t(e,t,n,r,i,a){let o={startLine:e,endLine:t};return X.defined(n)&&(o.startCharacter=n),X.defined(r)&&(o.endCharacter=r),X.defined(i)&&(o.kind=i),X.defined(a)&&(o.collapsedText=a),o}e.create=t;function n(e){let t=e;return X.objectLiteral(t)&&X.uinteger(t.startLine)&&X.uinteger(t.startLine)&&(X.undefined(t.startCharacter)||X.uinteger(t.startCharacter))&&(X.undefined(t.endCharacter)||X.uinteger(t.endCharacter))&&(X.undefined(t.kind)||X.string(t.kind))}e.is=n})(vS||={});var yS;(function(e){function t(e,t){return{location:e,message:t}}e.create=t;function n(e){let t=e;return X.defined(t)&&fS.is(t.location)&&X.string(t.message)}e.is=n})(yS||={});var bS;(function(e){e.Error=1,e.Warning=2,e.Information=3,e.Hint=4})(bS||={});var xS;(function(e){e.Unnecessary=1,e.Deprecated=2})(xS||={});var SS;(function(e){function t(e){let t=e;return X.objectLiteral(t)&&X.string(t.href)}e.is=t})(SS||={});var CS;(function(e){function t(e,t,n,r,i,a){let o={range:e,message:t};return X.defined(n)&&(o.severity=n),X.defined(r)&&(o.code=r),X.defined(i)&&(o.source=i),X.defined(a)&&(o.relatedInformation=a),o}e.create=t;function n(e){let t=e;return X.defined(t)&&Y.is(t.range)&&X.string(t.message)&&(X.number(t.severity)||X.undefined(t.severity))&&(X.integer(t.code)||X.string(t.code)||X.undefined(t.code))&&(X.undefined(t.codeDescription)||X.string(t.codeDescription?.href))&&(X.string(t.source)||X.undefined(t.source))&&(X.undefined(t.relatedInformation)||X.typedArray(t.relatedInformation,yS.is))}e.is=n})(CS||={});var wS;(function(e){function t(e,t,...n){let r={title:e,command:t};return X.defined(n)&&n.length>0&&(r.arguments=n),r}e.create=t;function n(e){let t=e;return X.defined(t)&&X.string(t.title)&&X.string(t.command)}e.is=n})(wS||={});var TS;(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 X.objectLiteral(t)&&X.string(t.newText)&&Y.is(t.range)}e.is=i})(TS||={});var ES;(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 X.objectLiteral(t)&&X.string(t.label)&&(X.boolean(t.needsConfirmation)||t.needsConfirmation===void 0)&&(X.string(t.description)||t.description===void 0)}e.is=n})(ES||={});var DS;(function(e){function t(e){let t=e;return X.string(t)}e.is=t})(DS||={});var OS;(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 TS.is(t)&&(ES.is(t.annotationId)||DS.is(t.annotationId))}e.is=i})(OS||={});var kS;(function(e){function t(e,t){return{textDocument:e,edits:t}}e.create=t;function n(e){let t=e;return X.defined(t)&&IS.is(t.textDocument)&&Array.isArray(t.edits)}e.is=n})(kS||={});var AS;(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`&&X.string(t.uri)&&(t.options===void 0||(t.options.overwrite===void 0||X.boolean(t.options.overwrite))&&(t.options.ignoreIfExists===void 0||X.boolean(t.options.ignoreIfExists)))&&(t.annotationId===void 0||DS.is(t.annotationId))}e.is=n})(AS||={});var jS;(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`&&X.string(t.oldUri)&&X.string(t.newUri)&&(t.options===void 0||(t.options.overwrite===void 0||X.boolean(t.options.overwrite))&&(t.options.ignoreIfExists===void 0||X.boolean(t.options.ignoreIfExists)))&&(t.annotationId===void 0||DS.is(t.annotationId))}e.is=n})(jS||={});var MS;(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`&&X.string(t.uri)&&(t.options===void 0||(t.options.recursive===void 0||X.boolean(t.options.recursive))&&(t.options.ignoreIfNotExists===void 0||X.boolean(t.options.ignoreIfNotExists)))&&(t.annotationId===void 0||DS.is(t.annotationId))}e.is=n})(MS||={});var NS;(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=>X.string(e.kind)?AS.is(e)||jS.is(e)||MS.is(e):kS.is(e)))}e.is=t})(NS||={});var PS;(function(e){function t(e){return{uri:e}}e.create=t;function n(e){let t=e;return X.defined(t)&&X.string(t.uri)}e.is=n})(PS||={});var FS;(function(e){function t(e,t){return{uri:e,version:t}}e.create=t;function n(e){let t=e;return X.defined(t)&&X.string(t.uri)&&X.integer(t.version)}e.is=n})(FS||={});var IS;(function(e){function t(e,t){return{uri:e,version:t}}e.create=t;function n(e){let t=e;return X.defined(t)&&X.string(t.uri)&&(t.version===null||X.integer(t.version))}e.is=n})(IS||={});var LS;(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 X.defined(t)&&X.string(t.uri)&&X.string(t.languageId)&&X.integer(t.version)&&X.string(t.text)}e.is=n})(LS||={});var RS;(function(e){e.PlainText=`plaintext`,e.Markdown=`markdown`;function t(t){let n=t;return n===e.PlainText||n===e.Markdown}e.is=t})(RS||={});var zS;(function(e){function t(e){let t=e;return X.objectLiteral(e)&&RS.is(t.kind)&&X.string(t.value)}e.is=t})(zS||={});var BS;(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})(BS||={});var VS;(function(e){e.PlainText=1,e.Snippet=2})(VS||={});var HS;(function(e){e.Deprecated=1})(HS||={});var US;(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&&X.string(t.newText)&&Y.is(t.insert)&&Y.is(t.replace)}e.is=n})(US||={});var WS;(function(e){e.asIs=1,e.adjustIndentation=2})(WS||={});var GS;(function(e){function t(e){let t=e;return t&&(X.string(t.detail)||t.detail===void 0)&&(X.string(t.description)||t.description===void 0)}e.is=t})(GS||={});var KS;(function(e){function t(e){return{label:e}}e.create=t})(KS||={});var qS;(function(e){function t(e,t){return{items:e||[],isIncomplete:!!t}}e.create=t})(qS||={});var JS;(function(e){function t(e){return e.replace(/[\\`*_{}[\]()#+\-.!]/g,`\\$&`)}e.fromPlainText=t;function n(e){let t=e;return X.string(t)||X.objectLiteral(t)&&X.string(t.language)&&X.string(t.value)}e.is=n})(JS||={});var YS;(function(e){function t(e){let t=e;return!!t&&X.objectLiteral(t)&&(zS.is(t.contents)||JS.is(t.contents)||X.typedArray(t.contents,JS.is))&&(e.range===void 0||Y.is(e.range))}e.is=t})(YS||={});var XS;(function(e){function t(e,t){return t?{label:e,documentation:t}:{label:e}}e.create=t})(XS||={});var ZS;(function(e){function t(e,t,...n){let r={label:e};return X.defined(t)&&(r.documentation=t),X.defined(n)?r.parameters=n:r.parameters=[],r}e.create=t})(ZS||={});var QS;(function(e){e.Text=1,e.Read=2,e.Write=3})(QS||={});var $S;(function(e){function t(e,t){let n={range:e};return X.number(t)&&(n.kind=t),n}e.create=t})($S||={});var eC;(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})(eC||={});var tC;(function(e){e.Deprecated=1})(tC||={});var nC;(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})(nC||={});var rC;(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})(rC||={});var iC;(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&&X.string(t.name)&&X.number(t.kind)&&Y.is(t.range)&&Y.is(t.selectionRange)&&(t.detail===void 0||X.string(t.detail))&&(t.deprecated===void 0||X.boolean(t.deprecated))&&(t.children===void 0||Array.isArray(t.children))&&(t.tags===void 0||Array.isArray(t.tags))}e.is=n})(iC||={});var aC;(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`})(aC||={});var oC;(function(e){e.Invoked=1,e.Automatic=2})(oC||={});var sC;(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 X.defined(t)&&X.typedArray(t.diagnostics,CS.is)&&(t.only===void 0||X.typedArray(t.only,X.string))&&(t.triggerKind===void 0||t.triggerKind===oC.Invoked||t.triggerKind===oC.Automatic)}e.is=n})(sC||={});var cC;(function(e){function t(e,t,n){let r={title:e},i=!0;return typeof t==`string`?(i=!1,r.kind=t):wS.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&&X.string(t.title)&&(t.diagnostics===void 0||X.typedArray(t.diagnostics,CS.is))&&(t.kind===void 0||X.string(t.kind))&&(t.edit!==void 0||t.command!==void 0)&&(t.command===void 0||wS.is(t.command))&&(t.isPreferred===void 0||X.boolean(t.isPreferred))&&(t.edit===void 0||NS.is(t.edit))}e.is=n})(cC||={});var lC;(function(e){function t(e,t){let n={range:e};return X.defined(t)&&(n.data=t),n}e.create=t;function n(e){let t=e;return X.defined(t)&&Y.is(t.range)&&(X.undefined(t.command)||wS.is(t.command))}e.is=n})(lC||={});var uC;(function(e){function t(e,t){return{tabSize:e,insertSpaces:t}}e.create=t;function n(e){let t=e;return X.defined(t)&&X.uinteger(t.tabSize)&&X.boolean(t.insertSpaces)}e.is=n})(uC||={});var dC;(function(e){function t(e,t,n){return{range:e,target:t,data:n}}e.create=t;function n(e){let t=e;return X.defined(t)&&Y.is(t.range)&&(X.undefined(t.target)||X.string(t.target))}e.is=n})(dC||={});var fC;(function(e){function t(e,t){return{range:e,parent:t}}e.create=t;function n(t){let n=t;return X.objectLiteral(n)&&Y.is(n.range)&&(n.parent===void 0||e.is(n.parent))}e.is=n})(fC||={});var pC;(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`})(pC||={});var mC;(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`})(mC||={});var hC;(function(e){function t(e){let t=e;return X.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})(hC||={});var gC;(function(e){function t(e,t){return{range:e,text:t}}e.create=t;function n(e){let t=e;return t!=null&&Y.is(t.range)&&X.string(t.text)}e.is=n})(gC||={});var _C;(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&&Y.is(t.range)&&X.boolean(t.caseSensitiveLookup)&&(X.string(t.variableName)||t.variableName===void 0)}e.is=n})(_C||={});var vC;(function(e){function t(e,t){return{range:e,expression:t}}e.create=t;function n(e){let t=e;return t!=null&&Y.is(t.range)&&(X.string(t.expression)||t.expression===void 0)}e.is=n})(vC||={});var yC;(function(e){function t(e,t){return{frameId:e,stoppedLocation:t}}e.create=t;function n(e){let t=e;return X.defined(t)&&Y.is(e.stoppedLocation)}e.is=n})(yC||={});var bC;(function(e){e.Type=1,e.Parameter=2;function t(e){return e===1||e===2}e.is=t})(bC||={});var xC;(function(e){function t(e){return{value:e}}e.create=t;function n(e){let t=e;return X.objectLiteral(t)&&(t.tooltip===void 0||X.string(t.tooltip)||zS.is(t.tooltip))&&(t.location===void 0||fS.is(t.location))&&(t.command===void 0||wS.is(t.command))}e.is=n})(xC||={});var SC;(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 X.objectLiteral(t)&&J.is(t.position)&&(X.string(t.label)||X.typedArray(t.label,xC.is))&&(t.kind===void 0||bC.is(t.kind))&&t.textEdits===void 0||X.typedArray(t.textEdits,TS.is)&&(t.tooltip===void 0||X.string(t.tooltip)||zS.is(t.tooltip))&&(t.paddingLeft===void 0||X.boolean(t.paddingLeft))&&(t.paddingRight===void 0||X.boolean(t.paddingRight))}e.is=n})(SC||={});var CC;(function(e){function t(e){return{kind:`snippet`,value:e}}e.createSnippet=t})(CC||={});var wC;(function(e){function t(e,t,n,r){return{insertText:e,filterText:t,range:n,command:r}}e.create=t})(wC||={});var TC;(function(e){function t(e){return{items:e}}e.create=t})(TC||={});var EC;(function(e){e.Invoked=0,e.Automatic=1})(EC||={});var DC;(function(e){function t(e,t){return{range:e,text:t}}e.create=t})(DC||={});var OC;(function(e){function t(e,t){return{triggerKind:e,selectedCompletionInfo:t}}e.create=t})(OC||={});var kC;(function(e){function t(e){let t=e;return X.objectLiteral(t)&&lS.is(t.uri)&&X.string(t.name)}e.is=t})(kC||={});var AC;(function(e){function t(e,t,n,r){return new jC(e,t,n,r)}e.create=t;function n(e){let t=e;return!!(X.defined(t)&&X.string(t.uri)&&(X.undefined(t.languageId)||X.string(t.languageId))&&X.uinteger(t.lineCount)&&X.func(t.getText)&&X.func(t.positionAt)&&X.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}})(AC||={});var jC=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===`
|
|
71
|
+
`,i===`\r`&&r+1<t.length&&t.charAt(r+1)===`
|
|
72
|
+
`&&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 J.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 J.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}},X;(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})(X||={});var MC=class{constructor(){this.nodeStack=[]}get current(){return this.nodeStack[this.nodeStack.length-1]??this.rootNode}buildRootNode(e){return this.rootNode=new LC(e),this.rootNode.root=this.rootNode,this.nodeStack=[this.rootNode],this.rootNode}buildCompositeNode(e){let t=new FC;return t.grammarSource=e,t.root=this.rootNode,this.current.content.push(t),this.nodeStack.push(t),t}buildLeafNode(e,t){let n=new PC(e.startOffset,e.image.length,le(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 PC(n.startOffset,n.image.length,le(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`&&(this.current.astNode=e),e.$cstNode=t;let n=this.nodeStack.pop();n?.content.length===0&&this.removeNode(n)}},NC=class{get parent(){return this.container}get feature(){return this.grammarSource}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 element(){return this.astNode}get text(){return this.root.fullText.substring(this.offset,this.end)}},PC=class extends NC{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}},FC=class extends NC{constructor(){super(...arguments),this.content=new IC(this)}get children(){return this.content}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:J.create(0,0),end:J.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]}},IC=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}},LC=class extends FC{get text(){return this._text.substring(this.offset,this.end)}get fullText(){return this._text}constructor(e){super(),this._text=``,this._text=e??``}},RC=Symbol(`Datatype`);function zC(e){return e.$type===RC}var BC=``,VC=e=>e.endsWith(BC)?e:e+BC,HC=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`;this.wrapper=new JC(t,Object.assign(Object.assign({},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()}},UC=class extends HC{get current(){return this.stack[this.stack.length-1]}constructor(e){super(e),this.nodeBuilder=new MC,this.stack=[],this.assignmentMap=new Map,this.linker=e.references.Linker,this.converter=e.parser.ValueConverter,this.astReflection=e.shared.AstReflection}rule(e,t){let n=this.computeRuleType(e),r=this.wrapper.DEFINE_RULE(VC(e.name),this.startImplementation(n,t).bind(this));return this.allRules.set(e.name,r),e.entry&&(this.mainRule=r),r}computeRuleType(e){if(!e.fragment)return Rn(e)?RC:Bn(e)??e.name}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=r.call(this.wrapper,{});return this.nodeBuilder.addHiddenNodes(n.hidden),this.unorderedGroups.clear(),this.lexerResult=void 0,{value:i,lexerErrors:n.errors,lexerReport:n.report,parserErrors:this.wrapper.errors}}startImplementation(e,t){return n=>{let r=!this.isRecording()&&e!==void 0;if(r){let t={$type:e};this.stack.push(t),e===RC&&(t.value=``)}let i;try{i=t(n)}catch{i=void 0}return i===void 0&&r&&(i=this.construct()),i}}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,isCrossRef:a}=this.getAssignment(n),o=this.current;if(i){let e=Ct(n)?r.image:this.converter.convert(r.image,t);this.assign(i.operator,i.feature,e,t,a)}else if(zC(o)){let e=r.image;Ct(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=this.wrapper.wrapSubrule(e,t,i);!this.isRecording()&&a&&a.length>0&&this.performSubruleAssignment(o,r,a)}performSubruleAssignment(e,t,n){let{assignment:r,isCrossRef:i}=this.getAssignment(t);if(r)this.assign(r.operator,r.feature,e,n,i);else if(!r){let t=this.current;if(zC(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,!1)}else n.$type=e}}construct(){if(this.isRecording())return;let e=this.current;return Ut(e),this.nodeBuilder.construct(e),this.stack.pop(),zC(e)?this.converter.convert(e.value,e.$cstNode):(Qt(this.astReflection,e),e)}getAssignment(e){if(!this.assignmentMap.has(e)){let t=Wt(e,pt);this.assignmentMap.set(e,{assignment:t,isCrossRef:t?_t(t.terminal):!1})}return this.assignmentMap.get(e)}assign(e,t,n,r,i){let a=this.current,o;switch(o=i&&typeof n==`string`?this.linker.buildReference(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}},WC=class{buildMismatchTokenMessage(e){return Jv.buildMismatchTokenMessage(e)}buildNotAllInputParsedMessage(e){return Jv.buildNotAllInputParsedMessage(e)}buildNoViableAltMessage(e){return Jv.buildNoViableAltMessage(e)}buildEarlyExitMessage(e){return Jv.buildEarlyExitMessage(e)}},GC=class extends WC{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}\`.`}},KC=class extends HC{constructor(){super(...arguments),this.tokens=[],this.elementStack=[],this.lastElementStack=[],this.nextTokenIndex=0,this.stackSize=0}action(){}construct(){}parse(e){this.resetState();let t=this.lexer.tokenize(e,{mode:`partial`});return this.tokens=t.tokens,this.wrapper.input=[...this.tokens],this.mainRule.call(this.wrapper,{}),this.unorderedGroups.clear(),{tokens:this.tokens,elementStack:[...this.lastElementStack],tokenIndex:this.nextTokenIndex}}rule(e,t){let n=this.wrapper.DEFINE_RULE(VC(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}},qC={recoveryEnabled:!0,nodeLocationTracking:`full`,skipValidations:!0,errorMessageProvider:new GC},JC=class extends ex{constructor(e,t){let n=t&&`maxLookahead`in t;super(e,Object.assign(Object.assign(Object.assign({},qC),{lookaheadStrategy:n?new pb({maxLookahead:t.maxLookahead}):new Ix({logging:t.skipValidations?()=>{}:void 0})}),t))}get IS_RECORDING(){return this.RECORDING_PHASE}DEFINE_RULE(e,t){return this.RULE(e,t)}wrapSelfAnalysis(){this.performSelfAnalysis()}wrapConsume(e,t){return this.consume(e,t)}wrapSubrule(e,t,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)}};function YC(e,t,n){return XC({parser:t,tokens:n,ruleNames:new Map},e),t}function XC(e,t){let n=En(t,!1),r=S(t.rules).filter(Ye).filter(e=>n.has(e));for(let t of r){let n=Object.assign(Object.assign({},e),{consume:1,optional:1,subrule:1,many:1,or:1});e.parser.rule(t,ZC(n,t.definition))}}function ZC(e,t,n=!1){let r;if(Ct(t))r=sw(e,t);else if(lt(t))r=QC(e,t);else if(pt(t))r=ZC(e,t.terminal);else if(_t(t))r=ow(e,t);else if(kt(t))r=$C(e,t);else if(dt(t))r=nw(e,t);else if(Lt(t))r=rw(e,t);else if(xt(t))r=iw(e,t);else if(yt(t)){let n=e.consume++;r=()=>e.parser.consume(n,Gv,t)}else throw new ve(t.$cstNode,`Unexpected element type: ${t.$type}`);return cw(e,n?void 0:aw(t),r,t.cardinality)}function QC(e,t){let n=Vn(t);return()=>e.parser.action(n,t)}function $C(e,t){let n=t.rule.ref;if(Ye(n)){let r=e.subrule++,i=n.fragment,a=t.arguments.length>0?ew(n,t.arguments):()=>({});return o=>e.parser.subrule(r,lw(e,n),i,t,a(o))}else if(rt(n)){let r=e.consume++,i=dw(e,n.name);return()=>e.parser.consume(r,i,t)}else if(n)ye(n);else throw new ve(t.$cstNode,`Undefined rule: ${t.rule.$refText}`)}function ew(e,t){let n=t.map(e=>tw(e.value));return t=>{let r={};for(let i=0;i<n.length;i++){let a=e.parameters[i],o=n[i];r[a.name]=o(t)}return r}}function tw(e){if(Pe(e)){let t=tw(e.left),n=tw(e.right);return e=>t(e)||n(e)}else if(Me(e)){let t=tw(e.left),n=tw(e.right);return e=>t(e)&&n(e)}else if(Ue(e)){let t=tw(e.value);return e=>!t(e)}else if(qe(e)){let t=e.parameter.ref.name;return e=>e!==void 0&&e[t]===!0}else if(Ae(e)){let t=!!e.true;return()=>t}ye(e)}function nw(e,t){if(t.elements.length===1)return ZC(e,t.elements[0]);{let n=[];for(let r of t.elements){let t={ALT:ZC(e,r,!0)},i=aw(r);i&&(t.GATE=tw(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 rw(e,t){if(t.elements.length===1)return ZC(e,t.elements[0]);let n=[];for(let r of t.elements){let t={ALT:ZC(e,r,!0)},i=aw(r);i&&(t.GATE=tw(i)),n.push(t)}let r=e.or++,i=(e,t)=>`uGroup_${e}_${t.getRuleStack().join(`-`)}`,a=cw(e,aw(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 iw(e,t){let n=t.elements.map(t=>ZC(e,t));return e=>n.forEach(t=>t(e))}function aw(e){if(xt(e))return e.guardCondition}function ow(e,t,n=t.terminal){if(!n){if(!t.type.ref)throw Error(`Could not resolve reference to type: `+t.type.$refText);let n=In(t.type.ref)?.terminal;if(!n)throw Error(`Could not find name assignment for type: `+Vn(t.type.ref));return ow(e,t,n)}else if(kt(n)&&Ye(n.rule.ref)){let r=n.rule.ref,i=e.subrule++;return n=>e.parser.subrule(i,lw(e,r),!1,t,n)}else if(kt(n)&&rt(n.rule.ref)){let r=e.consume++,i=dw(e,n.rule.ref.name);return()=>e.parser.consume(r,i,t)}else if(Ct(n)){let r=e.consume++,i=dw(e,n.value);return()=>e.parser.consume(r,i,t)}else throw Error(`Could not build cross reference parser`)}function sw(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 cw(e,t,n,r){let i=t&&tw(t);if(!r)if(i){let t=e.or++;return r=>e.parser.alternatives(t,[{ALT:()=>n(r),GATE:()=>i(r)},{ALT:Qb(),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:Qb(),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 ye(r)}function lw(e,t){let n=uw(e,t),r=e.parser.getRule(n);if(!r)throw Error(`Rule "${n}" not found."`);return r}function uw(e,t){if(Ye(t))return t.name;if(e.ruleNames.has(t))return e.ruleNames.get(t);{let n=t,r=n.$container,i=t.$type;for(;!Ye(r);)(xt(r)||dt(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 dw(e,t){let n=e.tokens[t];if(!n)throw Error(`Token "${t}" not found."`);return n}function fw(e){let t=e.Grammar,n=e.parser.Lexer,r=new KC(e);return YC(t,r,n.definition),r.finalize(),r}function pw(e){let t=mw(e);return t.finalize(),t}function mw(e){let t=e.Grammar,n=e.parser.Lexer;return YC(t,new UC(e),n.definition)}var hw=class{constructor(){this.diagnostics=[]}buildTokens(e,t){let n=S(En(e,!1)),r=this.buildTerminalTokens(n),i=this.buildKeywordTokens(n,r,t);return r.forEach(e=>{let t=e.PATTERN;typeof t==`object`&&t&&`test`in t&&yn(t)?i.unshift(e):i.push(e)}),i}flushLexingReport(e){return{diagnostics:this.popDiagnostics()}}popDiagnostics(){let e=[...this.diagnostics];return this.diagnostics=[],e}buildTerminalTokens(e){return e.filter(rt).filter(e=>!e.fragment).map(e=>this.buildTerminalToken(e)).toArray()}buildTerminalToken(e){let t=Wn(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=yn(t)?jv.SKIPPED:`hidden`),r}requiresCustomPattern(e){return e.flags.includes(`u`)||e.flags.includes(`s`)?!0:!!(e.source.includes(`?<=`)||e.source.includes(`?<!`))}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(Ye).flatMap(e=>Jt(e).filter(Ct)).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(xn(e.value)):e.value}findLongerAlt(e,t){return t.reduce((t,n)=>{let r=n?.PATTERN;return r?.source&&Sn(`^`+r.source+`$`,e.value)&&t.push(n),t},[])}},gw=class{convert(e,t){let n=t.grammarSource;if(_t(n)&&(n=On(n)),kt(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 _w.convertInt(t);case`STRING`:return _w.convertString(t);case`ID`:return _w.convertID(t)}switch(Un(e)?.toLowerCase()){case`number`:return _w.convertNumber(t);case`boolean`:return _w.convertBoolean(t);case`bigint`:return _w.convertBigint(t);case`date`:return _w.convertDate(t);default:return t}}},_w;(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`
|
|
73
|
+
`;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})(_w||={});var vw=r((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})),yw=r((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})),bw=r((e=>{Object.defineProperty(e,`__esModule`,{value:!0}),e.Emitter=e.Event=void 0;var t=vw(),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(){}})),xw=r((e=>{Object.defineProperty(e,`__esModule`,{value:!0}),e.CancellationTokenSource=e.CancellationToken=void 0;var t=vw(),n=yw(),r=bw(),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}}})),Z=t({});n(Z,e(xw(),1));function Sw(){return new Promise(e=>{typeof setImmediate>`u`?setTimeout(e,0):setImmediate(e)})}var Cw=0,ww=10;function Tw(){return Cw=performance.now(),new Z.CancellationTokenSource}var Ew=Symbol(`OperationCancelled`);function Dw(e){return e===Ew}async function Ow(e){if(e===Z.CancellationToken.None)return;let t=performance.now();if(t-Cw>=ww&&(Cw=t,await Sw(),Cw=performance.now()),e.isCancellationRequested)throw Ew}var kw=class{constructor(){this.promise=new Promise((e,t)=>{this.resolve=t=>(e(t),this),this.reject=e=>(t(e),this)})}},Aw=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=Fw(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=Nw(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=Nw(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&&Pw(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}},jw;(function(e){function t(e,t,n,r){return new Aw(e,t,n,r)}e.create=t;function n(e,t,n){if(e instanceof Aw)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=Mw(t.map(Iw),(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})(jw||={});function Mw(e,t){if(e.length<=1)return e;let n=e.length/2|0,r=e.slice(0,n),i=e.slice(n);Mw(r,t),Mw(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 Nw(e,t,n=0){let r=t?[n]:[];for(let t=0;t<e.length;t++){let i=e.charCodeAt(t);Pw(i)&&(i===13&&t+1<e.length&&e.charCodeAt(t+1)===10&&t++,r.push(n+t+1))}return r}function Pw(e){return e===13||e===10}function Fw(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 Iw(e){let t=Fw(e.range);return t===e.range?e:{newText:e.newText,range:t}}var Lw;(()=>{var e={470: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 e;n.r(r),n.d(r,{URI:()=>c,Utils:()=>te}),typeof process==`object`?e=process.platform===`win32`:typeof navigator==`object`&&(e=navigator.userAgent.indexOf(`Windows`)>=0);let t=/^\w[\w\d+.-]*$/,i=/^\//,a=/^\/\//;function o(e,n){if(!e.scheme&&n)throw Error(`[UriError]: Scheme is missing: {scheme: "", authority: "${e.authority}", path: "${e.path}", query: "${e.query}", fragment: "${e.fragment}"}`);if(e.scheme&&!t.test(e.scheme))throw Error(`[UriError]: Scheme contains illegal characters.`);if(e.path){if(e.authority){if(!i.test(e.path))throw Error(`[UriError]: If a URI contains an authority component, then the path component must either be empty or begin with a slash ("/") character`)}else if(a.test(e.path))throw Error(`[UriError]: If a URI does not contain an authority component, then the path cannot begin with two slash characters ("//")`)}}let s=/^(([^:/?#]+?):)?(\/\/([^/?#]*))?([^?#]*)(\?([^#]*))?(#(.*))?/;class c{static isUri(e){return e instanceof c||!!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||``,o(this,a))}get fsPath(){return m(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 u(t,n,r,i,a)}static parse(e,t=!1){let n=s.exec(e);return n?new u(n[2]||``,v(n[4]||``),v(n[5]||``),v(n[7]||``),v(n[9]||``),t):new u(``,``,``,``,``)}static file(t){let n=``;if(e&&(t=t.replace(/\\/g,`/`)),t[0]===`/`&&t[1]===`/`){let e=t.indexOf(`/`,2);e===-1?(n=t.substring(2),t=`/`):(n=t.substring(2,e),t=t.substring(e)||`/`)}return new u(`file`,n,t,``,``)}static from(e){let t=new u(e.scheme,e.authority,e.path,e.query,e.fragment);return o(t,!0),t}toString(e=!1){return h(this,e)}toJSON(){return this}static revive(e){if(e){if(e instanceof c)return e;{let t=new u(e);return t._formatted=e.external,t._fsPath=e._sep===l?e.fsPath:null,t}}return e}}let l=e?1:void 0;class u extends c{_formatted=null;_fsPath=null;get fsPath(){return this._fsPath||=m(this,!1),this._fsPath}toString(e=!1){return e?h(this,!0):(this._formatted||=h(this,!1),this._formatted)}toJSON(){let e={$mid:1};return this._fsPath&&(e.fsPath=this._fsPath,e._sep=l),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 d={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 f(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=d[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 p(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+=d[r]):t!==void 0&&(t+=e[n])}return t===void 0?e:t}function m(t,n){let r;return r=t.authority&&t.path.length>1&&t.scheme===`file`?`//${t.authority}${t.path}`:t.path.charCodeAt(0)===47&&(t.path.charCodeAt(1)>=65&&t.path.charCodeAt(1)<=90||t.path.charCodeAt(1)>=97&&t.path.charCodeAt(1)<=122)&&t.path.charCodeAt(2)===58?n?t.path.substr(1):t.path[1].toLowerCase()+t.path.substr(2):t.path,e&&(r=r.replace(/\//g,`\\`)),r}function h(e,t){let n=t?p:f,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:f(c,!1,!1)),r}function g(e){try{return decodeURIComponent(e)}catch{return e.length>3?e.substr(0,3)+g(e.substr(3)):e}}let _=/(%[0-9A-Za-z][0-9A-Za-z])+/g;function v(e){return e.match(_)?e.replace(_,(e=>g(e))):e}var y=n(470);let ee=y.posix||y;var te;(function(e){e.joinPath=function(e,...t){return e.with({path:ee.join(e.path,...t)})},e.resolvePath=function(e,...t){let n=e.path,r=!1;n[0]!==`/`&&(n=`/`+n,r=!0);let i=ee.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=ee.dirname(e.path);return t.length===1&&t.charCodeAt(0)===46&&(t=``),e.with({path:t})},e.basename=function(e){return ee.basename(e.path)},e.extname=function(e){return ee.extname(e.path)}})(te||={})})(),Lw=r})();var{URI:Rw,Utils:zw}=Lw,Bw;(function(e){e.basename=zw.basename,e.dirname=zw.dirname,e.extname=zw.extname,e.joinPath=zw.joinPath,e.resolvePath=zw.resolvePath;function t(e,t){return e?.toString()===t?.toString()}e.equals=t;function n(e,t){let n=typeof e==`string`?e:e.path,r=typeof t==`string`?t:t.path,i=n.split(`/`).filter(e=>e.length>0),a=r.split(`/`).filter(e=>e.length>0),o=0;for(;o<i.length&&i[o]===a[o];o++);return`../`.repeat(i.length-o)+a.slice(o).join(`/`)}e.relative=n;function r(e){return Rw.parse(e.toString()).toString()}e.normalize=r})(Bw||={});var Q;(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`})(Q||={});var Vw=class{constructor(e){this.serviceRegistry=e.ServiceRegistry,this.textDocuments=e.workspace.TextDocuments,this.fileSystemProvider=e.workspace.FileSystemProvider}async fromUri(e,t=Z.CancellationToken.None){let n=await this.fileSystemProvider.readFile(e);return this.createAsync(e,n,t)}fromTextDocument(e,t,n){return t??=Rw.parse(e.uri),Z.CancellationToken.is(n)?this.createAsync(t,e,n):this.create(t,e,n)}fromString(e,t,n){return Z.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:Q.Parsed,references:[],textDocument:n};else{let n=this.createTextDocumentGetter(t,r);i={parseResult:e,uri:t,state:Q.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=Q.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??=jw.create(e.toString(),n.getServices(e).LanguageMetaData.languageId,0,t??``)}},Hw=class{constructor(e){this.documentMap=new Map,this.langiumDocumentFactory=e.workspace.LangiumDocumentFactory,this.serviceRegistry=e.ServiceRegistry}get all(){return S(this.documentMap.values())}addDocument(e){let t=e.uri.toString();if(this.documentMap.has(t))throw Error(`A document with the URI '${t}' is already present.`);this.documentMap.set(t,e)}getDocument(e){let t=e.toString();return this.documentMap.get(t)}async getOrCreateDocument(e,t){let 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.documentMap.has(e.toString())}invalidateDocument(e){let t=e.toString(),n=this.documentMap.get(t);return n&&(this.serviceRegistry.getServices(e).references.Linker.unlink(n),n.state=Q.Changed,n.precomputedScopes=void 0,n.diagnostics=void 0),n}deleteDocument(e){let t=e.toString(),n=this.documentMap.get(t);return n&&(n.state=Q.Changed,this.documentMap.delete(t)),n}},Uw=Symbol(`ref_resolving`),Ww=class{constructor(e){this.reflection=e.shared.AstReflection,this.langiumDocuments=()=>e.shared.workspace.LangiumDocuments,this.scopeProvider=e.references.ScopeProvider,this.astNodeLocator=e.workspace.AstNodeLocator}async link(e,t=Z.CancellationToken.None){for(let n of Yt(e.parseResult.value))await Ow(t),Zt(n).forEach(t=>this.doLink(t,e))}doLink(e,t){let n=e.reference;if(n._ref===void 0){n._ref=Uw;try{let t=this.getCandidate(e);_(t)?n._ref=t:(n._nodeDescription=t,this.langiumDocuments().hasDocument(t.documentUri)?n._ref=this.loadAstNode(t)??this.createLinkingError(e,t):n._ref=void 0)}catch(t){console.error(`An error occurred while resolving reference to '${n.$refText}':`,t);let r=t.message??String(t);n._ref=Object.assign(Object.assign({},e),{message:`An error occurred while resolving reference to '${n.$refText}': ${r}`})}t.references.push(n)}}unlink(e){for(let t of e.references)delete t._ref,delete t._nodeDescription;e.references=[]}getCandidate(e){return this.scopeProvider.getScope(e).getElement(e.reference.$refText)??this.createLinkingError(e)}buildReference(e,t,n,r){let i=this,a={$refNode:n,$refText:r,get ref(){if(m(this._ref))return this._ref;if(g(this._nodeDescription)){let n=i.loadAstNode(this._nodeDescription);this._ref=n??i.createLinkingError({reference:a,container:e,property:t},this._nodeDescription)}else if(this._ref===void 0){this._ref=Uw;let n=Kt(e).$document,r=i.getLinkedNode({reference:a,container:e,property:t});if(r.error&&n&&n.state<Q.ComputedScopes){this._ref=void 0;return}this._ref=r.node??r.error,this._nodeDescription=r.descr,n?.references.push(this)}else if(this._ref===Uw)throw Error(`Cyclic reference resolution detected: ${i.astNodeLocator.getAstNodePath(e)}/${t} (symbol '${r}')`);return m(this._ref)?this._ref:void 0},get $nodeDescription(){return this._nodeDescription},get error(){return _(this._ref)?this._ref:void 0}};return a}getLinkedNode(e){try{let t=this.getCandidate(e);if(_(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:Object.assign(Object.assign({},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=Kt(e.container).$document;n&&n.state<Q.ComputedScopes&&console.warn(`Attempted reference resolution before document reached ComputedScopes state (${n.uri}).`);let r=this.reflection.getReferenceType(e);return Object.assign(Object.assign({},e),{message:`Could not resolve reference to ${r} named '${e.reference.$refText}'.`,targetDescription:t})}};function Gw(e){return typeof e.name==`string`}var Kw=class{getName(e){if(Gw(e))return e.name}getNameNode(e){return jn(e.$cstNode,`name`)}},qw=class{constructor(e){this.nameProvider=e.references.NameProvider,this.index=e.shared.workspace.IndexManager,this.nodeLocator=e.workspace.AstNodeLocator}findDeclaration(e){if(e){let t=Fn(e),n=e.astNode;if(t&&n){let r=n[t.feature];if(h(r))return r.ref;if(Array.isArray(r)){for(let t of r)if(h(t)&&t.$refNode&&t.$refNode.offset<=e.offset&&t.$refNode.end>=e.end)return t.ref}}if(n){let t=this.nameProvider.getNameNode(n);if(t&&(t===e||ce(e,t)))return n}}}findDeclarationNode(e){let t=this.findDeclaration(e);if(t?.$cstNode)return this.nameProvider.getNameNode(t)??t.$cstNode}findReferences(e,t){let n=[];if(t.includeDeclaration){let t=this.getReferenceToSelf(e);t&&n.push(t)}let r=this.index.findAllReferences(e,this.nodeLocator.getAstNodePath(e));return t.documentUri&&(r=r.filter(e=>Bw.equals(e.sourceUri,t.documentUri))),n.push(...r),S(n)}getReferenceToSelf(e){let t=this.nameProvider.getNameNode(e);if(t){let n=Gt(e),r=this.nodeLocator.getAstNodePath(e);return{sourceUri:n.uri,sourcePath:r,targetUri:n.uri,targetPath:r,segment:ue(t),local:!0}}}},Jw=class{constructor(e){if(this.map=new Map,e)for(let[t,n]of e)this.add(t,n)}get size(){return oe.sum(S(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)??[]}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 S(this.map.entries()).flatMap(([e,t])=>t.map(t=>[e,t]))}keys(){return S(this.map.keys())}values(){return S(this.map.values()).flat()}entriesGroupedByKey(){return S(this.map.entries())}},Yw=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)}},Xw=class{constructor(e){this.nameProvider=e.references.NameProvider,this.descriptions=e.workspace.AstNodeDescriptionProvider}async computeExports(e,t=Z.CancellationToken.None){return this.computeExportsForNode(e.parseResult.value,e,void 0,t)}async computeExportsForNode(e,t,n=qt,r=Z.CancellationToken.None){let i=[];this.exportNode(e,i,t);for(let a of n(e))await Ow(r),this.exportNode(a,i,t);return i}exportNode(e,t,n){let r=this.nameProvider.getName(e);r&&t.push(this.descriptions.createDescription(e,r,n))}async computeLocalScopes(e,t=Z.CancellationToken.None){let n=e.parseResult.value,r=new Jw;for(let i of Jt(n))await Ow(t),this.processNode(i,e,r);return r}processNode(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))}}},Zw=class{constructor(e,t,n){this.elements=e,this.outerScope=t,this.caseInsensitive=n?.caseInsensitive??!1}getAllElements(){return this.outerScope?this.elements.concat(this.outerScope.getAllElements()):this.elements}getElement(e){let t=this.caseInsensitive?this.elements.find(t=>t.name.toLowerCase()===e.toLowerCase()):this.elements.find(t=>t.name===e);if(t)return t;if(this.outerScope)return this.outerScope.getElement(e)}},Qw=class{constructor(e,t,n){this.elements=new Map,this.caseInsensitive=n?.caseInsensitive??!1;for(let t of e){let e=this.caseInsensitive?t.name.toLowerCase():t.name;this.elements.set(e,t)}this.outerScope=t}getElement(e){let t=this.caseInsensitive?e.toLowerCase():e,n=this.elements.get(t);if(n)return n;if(this.outerScope)return this.outerScope.getElement(e)}getAllElements(){let e=S(this.elements.values());return this.outerScope&&(e=e.concat(this.outerScope.getAllElements())),e}},$w=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`)}},eT=class extends $w{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()}},tT=class extends $w{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}},nT=class extends eT{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()}))}},rT=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 nT(e.shared)}getScope(e){let t=[],n=this.reflection.getReferenceType(e),r=Gt(e.container).precomputedScopes;if(r){let i=e.container;do{let e=r.get(i);e.length>0&&t.push(S(e).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 Zw(S(e),t,n)}createScopeForNodes(e,t,n){return new Zw(S(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 Qw(this.indexManager.allElements(e)))}};function iT(e){return typeof e.$comment==`string`}function aT(e){return typeof e==`object`&&!!e&&(`$ref`in e||`$error`in e)}var oT=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=Gt(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(h(t)){let e=t.ref,r=n?t.$refText:void 0;if(e){let n=Gt(e),i=``;this.currentDocument&&this.currentDocument!==n&&(i=o?o(n.uri,t):n.uri.toString());let a=this.astNodeLocator.getAstNodePath(e);return{$ref:`${i}#${a}`,$refText:r}}else return{$error:t.error?.message??`Could not resolve reference`,$refText:r}}else if(m(t)){let n;if(i&&(n=this.addAstNodeRegionWithAssignmentsTo(Object.assign({},t)),(!e||t.$document)&&n?.$textRegion&&(n.$textRegion.documentURI=this.currentDocument?.uri.toString())),r&&!e&&(n??=Object.assign({},t),n.$sourceText=t.$cstNode?.text),a){n??=Object.assign({},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=An(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];aT(o)?i[a]=this.reviveReference(e,r,t,o,n):m(o)&&this.linkNode(o,t,n,e,r,a)}else aT(i)?e[r]=this.reviveReference(e,r,t,i,n):m(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;if(r.$ref){let e=this.getRefNode(n,r.$ref,i.uriConverter);if(m(e))return a||=this.nameProvider.getName(e),{$refText:a??``,ref:e};o=e}if(o){let n={$refText:a??``};return n.error={container:e,property:t,message:o,reference:n},n}else return}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):Rw.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)):Rw.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)}}},sT=class{get map(){return this.fileExtensionMap}constructor(e){this.languageIdMap=new Map,this.fileExtensionMap=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);this.languageIdMap.set(t.languageId,e),this.languageIdMap.size===1?this.singleton=e:this.singleton=void 0}getServices(e){if(this.singleton!==void 0)return this.singleton;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=Bw.extname(e),r=this.fileExtensionMap.get(n);if(!r)throw Error(t?`The service registry contains no services for the extension '${n}' for language '${t}'.`:`The service registry contains no services for the extension '${n}'.`);return r}hasServices(e){try{return this.getServices(e),!0}catch{return!1}}get all(){return Array.from(this.languageIdMap.values())}};function cT(e){return{code:e}}var lT;(function(e){e.all=[`fast`,`slow`,`built-in`]})(lT||={});var uT=class{constructor(e){this.entries=new Jw,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.`);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 ye(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(Dw(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=S(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}},dT=class{constructor(e){this.validationRegistry=e.validation.ValidationRegistry,this.metadata=e.LanguageMetaData}async validateDocument(e,t={},n=Z.CancellationToken.None){let r=e.parseResult,i=[];if(await Ow(n),(!t.categories||t.categories.includes(`built-in`))&&(this.processLexingErrors(r,i,t),t.stopAfterLexingErrors&&i.some(e=>e.data?.code===hT.LexingError)||(this.processParsingErrors(r,i,t),t.stopAfterParsingErrors&&i.some(e=>e.data?.code===hT.ParsingError))||(this.processLinkingErrors(e,i,t),t.stopAfterLinkingErrors&&i.some(e=>e.data?.code===hT.LinkingError))))return i;try{i.push(...await this.validateAst(r.value,t,n))}catch(e){if(Dw(e))throw e;console.error(`An error occurred during validation:`,e)}return await Ow(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:pT(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:mT(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=le(n.token);if(e){let r={severity:pT(`error`),range:e,message:n.message,data:cT(hT.ParsingError),source:this.getSource()};t.push(r)}}}processLinkingErrors(e,t,n){for(let n of e.references){let e=n.error;if(e){let n={node:e.container,property:e.property,index:e.index,data:{code:hT.LinkingError,containerType:e.container.$type,property:e.property,refText:e.reference.$refText}};t.push(this.toDiagnostic(`error`,e.message,n))}}}async validateAst(e,t,n=Z.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=Z.CancellationToken.None){let i=this.validationRegistry.checksBefore;for(let a of i)await Ow(r),await a(e,n,t.categories??[],r)}async validateAstNodes(e,t,n,r=Z.CancellationToken.None){await Promise.all(Yt(e).map(async e=>{await Ow(r);let i=this.validationRegistry.getChecks(e.$type,t.categories);for(let t of i)await t(e,n,r)}))}async validateAstAfter(e,t,n,r=Z.CancellationToken.None){let i=this.validationRegistry.checksAfter;for(let a of i)await Ow(r),await a(e,n,t.categories??[],r)}toDiagnostic(e,t,n){return{message:t,range:fT(n),severity:pT(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 fT(e){if(e.range)return e.range;let t;return typeof e.property==`string`?t=jn(e.node.$cstNode,e.property,e.index):typeof e.keyword==`string`&&(t=Nn(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 pT(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 mT(e){switch(e){case`error`:return cT(hT.LexingError);case`warning`:return cT(hT.LexingWarning);case`info`:return cT(hT.LexingInfo);case`hint`:return cT(hT.LexingHint);default:throw Error(`Invalid diagnostic severity: `+e)}}var hT;(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`})(hT||={});var gT=class{constructor(e){this.astNodeLocator=e.workspace.AstNodeLocator,this.nameProvider=e.references.NameProvider}createDescription(e,t,n){let r=n??Gt(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??=ue(this.nameProvider.getNameNode(e)??e.$cstNode);return{node:e,name:t,get nameSegment(){return o()},selectionSegment:ue(e.$cstNode),type:e.$type,documentUri:r.uri,path:i}}},_T=class{constructor(e){this.nodeLocator=e.workspace.AstNodeLocator}async createDescriptions(e,t=Z.CancellationToken.None){let n=[],r=e.parseResult.value;for(let e of Yt(r))await Ow(t),Zt(e).filter(e=>!_(e)).forEach(e=>{let t=this.createDescription(e);t&&n.push(t)});return n}createDescription(e){let t=e.reference.$nodeDescription,n=e.reference.$refNode;if(!t||!n)return;let r=Gt(e.container).uri;return{sourceUri:r,sourcePath:this.nodeLocator.getAstNodePath(e.container),targetUri:t.documentUri,targetPath:t.path,segment:ue(n),local:Bw.equals(t.documentUri,r)}}},vT=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)}},yT=t({});n(yT,e(bw(),1));var bT=class{constructor(e){this._ready=new kw,this.settings={},this.workspaceConfig=!1,this.onConfigurationSectionUpdateEmitter=new yT.Emitter,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){e.settings&&Object.keys(e.settings).forEach(t=>{let n=e.settings[t];this.updateSectionConfiguration(t,n),this.onConfigurationSectionUpdateEmitter.fire({section:t,configuration:n})})}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}},xT;(function(e){function t(e){return{dispose:async()=>await e()}}e.create=t})(xT||={});var ST=class{constructor(e){this.updateBuildOptions={validation:{categories:[`built-in`,`fast`]}},this.updateListeners=[],this.buildPhaseListeners=new Jw,this.documentPhaseListeners=new Jw,this.buildState=new Map,this.documentBuildWaiters=new Map,this.currentState=Q.Changed,this.langiumDocuments=e.workspace.LangiumDocuments,this.langiumDocumentFactory=e.workspace.LangiumDocumentFactory,this.textDocuments=e.workspace.TextDocuments,this.indexManager=e.workspace.IndexManager,this.serviceRegistry=e.ServiceRegistry}async build(e,t={},n=Z.CancellationToken.None){for(let n of e){let e=n.uri.toString();if(n.state===Q.Validated){if(typeof t.validation==`boolean`&&t.validation)n.state=Q.IndexedReferences,n.diagnostics=void 0,this.buildState.delete(e);else if(typeof t.validation==`object`){let r=this.buildState.get(e),i=r?.result?.validationChecks;if(i){let a=(t.validation.categories??lT.all).filter(e=>!i.includes(e));a.length>0&&(this.buildState.set(e,{completed:!1,options:{validation:Object.assign(Object.assign({},t.validation),{categories:a})},result:r.result}),n.state=Q.IndexedReferences)}}}else this.buildState.delete(e)}this.currentState=Q.Changed,await this.emitUpdate(e.map(e=>e.uri),[]),await this.buildDocuments(e,t,n)}async update(e,t,n=Z.CancellationToken.None){this.currentState=Q.Changed;for(let e of t)this.langiumDocuments.deleteDocument(e),this.buildState.delete(e.toString()),this.indexManager.remove(e);for(let t of e){if(!this.langiumDocuments.invalidateDocument(t)){let e=this.langiumDocumentFactory.fromModel({$type:`INVALID`},t);e.state=Q.Changed,this.langiumDocuments.addDocument(e)}this.buildState.delete(t.toString())}let r=S(e).concat(t).map(e=>e.toString()).toSet();this.langiumDocuments.all.filter(e=>!r.has(e.uri.toString())&&this.shouldRelink(e,r)).forEach(e=>{this.serviceRegistry.getServices(e.uri).references.Linker.unlink(e),e.state=Math.min(e.state,Q.ComputedScopes),e.diagnostics=void 0}),await this.emitUpdate(e,t),await Ow(n);let i=this.sortDocuments(this.langiumDocuments.all.filter(e=>e.state<Q.Linked||!this.buildState.get(e.uri.toString())?.completed).toArray());await this.buildDocuments(i,this.updateBuildOptions,n)}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),xT.create(()=>{let t=this.updateListeners.indexOf(e);t>=0&&this.updateListeners.splice(t,1)})}async buildDocuments(e,t,n){this.prepareBuild(e,t),await this.runCancelable(e,Q.Parsed,n,e=>this.langiumDocumentFactory.update(e,n)),await this.runCancelable(e,Q.IndexedContent,n,e=>this.indexManager.updateContent(e,n)),await this.runCancelable(e,Q.ComputedScopes,n,async e=>{e.precomputedScopes=await this.serviceRegistry.getServices(e.uri).references.ScopeComputation.computeLocalScopes(e,n)}),await this.runCancelable(e,Q.Linked,n,e=>this.serviceRegistry.getServices(e.uri).references.Linker.link(e,n)),await this.runCancelable(e,Q.IndexedReferences,n,e=>this.indexManager.updateReferences(e,n));let r=e.filter(e=>this.shouldValidate(e));await this.runCancelable(r,Q.Validated,n,e=>this.validate(e,n));for(let t of e){let e=this.buildState.get(t.uri.toString());e&&(e.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){let i=e.filter(e=>e.state<t);for(let e of i)await Ow(n),await r(e),e.state=t,await this.notifyDocumentPhase(e,t,n);let a=e.filter(e=>e.state===t);await this.notifyBuildPhase(a,t,n),this.currentState=t}onBuildPhase(e,t){return this.buildPhaseListeners.add(e,t),xT.create(()=>{this.buildPhaseListeners.delete(e,t)})}onDocumentPhase(e,t){return this.documentPhaseListeners.add(e,t),xT.create(()=>{this.documentPhaseListeners.delete(e,t)})}waitUntil(e,t,n){let r;if(t&&`path`in t?r=t:n=t,n??=Z.CancellationToken.None,r){let t=this.langiumDocuments.getDocument(r);if(t&&t.state>e)return Promise.resolve(r)}return this.currentState>=e?Promise.resolve(void 0):n.isCancellationRequested?Promise.reject(Ew):new Promise((t,i)=>{let a=this.onBuildPhase(e,()=>{a.dispose(),o.dispose(),t(r?this.langiumDocuments.getDocument(r)?.uri:void 0)}),o=n.onCancellationRequested(()=>{a.dispose(),o.dispose(),i(Ew)})})}async notifyDocumentPhase(e,t,n){let r=this.documentPhaseListeners.get(t).slice();for(let t of r)try{await t(e,n)}catch(e){if(!Dw(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 Ow(n),await t(e,n)}shouldValidate(e){return!!this.getBuildOptions(e).validation}async validate(e,t){let n=this.serviceRegistry.getServices(e.uri).validation.DocumentValidator,r=this.getBuildOptions(e).validation,i=typeof r==`object`?r:void 0,a=await n.validateDocument(e,i,t);e.diagnostics?e.diagnostics.push(...a):e.diagnostics=a;let o=this.buildState.get(e.uri.toString());if(o){o.result??={};let e=i?.categories??lT.all;o.result.validationChecks?o.result.validationChecks.push(...e):o.result.validationChecks=[...e]}}getBuildOptions(e){return this.buildState.get(e.uri.toString())?.options??{}}},CT=class{constructor(e){this.symbolIndex=new Map,this.symbolByTypeIndex=new tT,this.referenceIndex=new Map,this.documents=e.workspace.LangiumDocuments,this.serviceRegistry=e.ServiceRegistry,this.astReflection=e.AstReflection}findAllReferences(e,t){let n=Gt(e).uri,r=[];return this.referenceIndex.forEach(e=>{e.forEach(e=>{Bw.equals(e.targetUri,n)&&e.targetPath===t&&r.push(e)})}),S(r)}allElements(e,t){let n=S(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){let t=e.toString();this.symbolIndex.delete(t),this.symbolByTypeIndex.clear(t),this.referenceIndex.delete(t)}async updateContent(e,t=Z.CancellationToken.None){let n=await this.serviceRegistry.getServices(e.uri).references.ScopeComputation.computeExports(e,t),r=e.uri.toString();this.symbolIndex.set(r,n),this.symbolByTypeIndex.clear(r)}async updateReferences(e,t=Z.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}},wT=class{constructor(e){this.initialBuildOptions={},this._ready=new kw,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=Z.CancellationToken.None){let n=await this.performStartup(e);await Ow(t),await this.documentBuilder.build(n,this.initialBuildOptions,t)}async performStartup(e){let t=this.serviceRegistry.all.flatMap(e=>e.LanguageMetaData.fileExtensions),n=[],r=e=>{n.push(e),this.langiumDocuments.hasDocument(e.uri)||this.langiumDocuments.addDocument(e)};return await this.loadAdditionalDocuments(e,r),await Promise.all(e.map(e=>[e,this.getRootFolder(e)]).map(async e=>this.traverseFolder(...e,t,r))),this._ready.resolve(),n}loadAdditionalDocuments(e,t){return Promise.resolve()}getRootFolder(e){return Rw.parse(e.uri)}async traverseFolder(e,t,n,r){let i=await this.fileSystemProvider.readDirectory(t);await Promise.all(i.map(async t=>{this.includeEntry(e,t,n)&&(t.isDirectory?await this.traverseFolder(e,t.uri,n,r):t.isFile&&r(await this.langiumDocuments.getOrCreateDocument(t.uri)))}))}includeEntry(e,t,n){let r=Bw.basename(t.uri);if(r.startsWith(`.`))return!1;if(t.isDirectory)return r!==`node_modules`&&r!==`out`;if(t.isFile){let e=Bw.extname(t.uri);return n.includes(e)}return!1}},TT=class{buildUnexpectedCharactersMessage(e,t,n,r,i){return kv.buildUnexpectedCharactersMessage(e,t,n,r,i)}buildUnableToPopLexerModeMessage(e){return kv.buildUnableToPopLexerModeMessage(e)}},ET={mode:`full`},DT=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);let n=AT(t)?Object.values(t):t,r=e.LanguageMetaData.mode===`production`;this.chevrotainLexer=new jv(n,{positionTracking:`full`,skipValidations:r,errorMessageProvider:this.errorMessageProvider})}get definition(){return this.tokenTypes}tokenize(e,t=ET){var n;let r=this.chevrotainLexer.tokenize(e);return{tokens:r.tokens,errors:r.errors,hidden:r.groups.hidden??[],report:(n=this.tokenBuilder).flushLexingReport?.call(n,e)}}toTokenTypeDictionary(e){if(AT(e))return e;let t=kT(e)?Object.values(e.modes).flat():e,n={};return t.forEach(e=>n[e.name]=e),n}};function OT(e){return Array.isArray(e)&&(e.length===0||`name`in e[0])}function kT(e){return e&&`modes`in e&&`defaultMode`in e}function AT(e){return!OT(e)&&!kT(e)}function jT(e,t,n){let r,i;typeof e==`string`?(i=t,r=n):(i=e.range.start,r=t),i||=J.create(0,0);let a=NT(e),o=YT(r);return HT({index:0,tokens:IT({lines:a,position:i,options:o}),position:i})}function MT(e,t){let n=YT(t),r=NT(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 NT(e){let t=``;return t=typeof e==`string`?e:e.text,t.split(mn)}var PT=/\s*(@([\p{L}][\p{L}\p{N}]*)?)/uy,FT=/\{(@[\p{L}][\p{L}\p{N}]*)(\s*)([^\r\n}]+)?\}/gu;function IT(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,VT(s)),BT(s,c)>=s.length){if(t.length>0){let e=J.create(n,r);t.push({type:`break`,content:``,range:Y.create(e,e)})}}else{PT.lastIndex=c;let e=PT.exec(s);if(e){let i=e[0],a=e[1],o=J.create(n,r+c),l=J.create(n,r+c+i.length);t.push({type:`tag`,content:a,range:Y.create(o,l)}),c+=i.length,c=BT(s,c)}if(c<s.length){let e=s.substring(c),i=Array.from(e.matchAll(FT));t.push(...LT(i,e,n,r+c))}}n++,r=0}return t.length>0&&t[t.length-1].type===`break`?t.slice(0,-1):t}function LT(e,t,n,r){let i=[];if(e.length===0){let e=J.create(n,r),a=J.create(n,r+t.length);i.push({type:`text`,content:t,range:Y.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:Y.create(J.create(n,a+r),J.create(n,e+r))});let c=s.length+1,l=o[1];if(i.push({type:`inline-tag`,content:l,range:Y.create(J.create(n,a+c+r),J.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:Y.create(J.create(n,a+c+r),J.create(n,a+c+e.length+r))})}else i.push({type:`text`,content:``,range:Y.create(J.create(n,a+c+r),J.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:Y.create(J.create(n,a+r),J.create(n,a+r+o.length))})}return i}var RT=/\S/,zT=/\s*$/;function BT(e,t){let n=e.substring(t).match(RT);return n?t+n.index:e.length}function VT(e){let t=e.match(zT);if(t&&typeof t.index==`number`)return t.index}function HT(e){let t=J.create(e.position.line,e.position.character);if(e.tokens.length===0)return new ZT([],Y.create(t,t));let n=[];for(;e.index<e.tokens.length;){let t=UT(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 ZT(n,Y.create(r,i))}function UT(e,t){let n=e.tokens[e.index];if(n.type===`tag`)return qT(e,!1);if(n.type===`text`||n.type===`inline-tag`)return GT(e);WT(n,t),e.index++}function WT(e,t){if(t){let n=new nE(``,e.range);`inlines`in t?t.inlines.push(n):t.content.inlines.push(n)}}function GT(e){let t=e.tokens[e.index],n=t,r=t,i=[];for(;t&&t.type!==`break`&&t.type!==`tag`;)i.push(KT(e)),r=t,t=e.tokens[e.index];return new tE(i,Y.create(n.range.start,r.range.end))}function KT(e){return e.tokens[e.index].type===`inline-tag`?qT(e,!0):JT(e)}function qT(e,t){let n=e.tokens[e.index++],r=n.content.substring(1);if(e.tokens[e.index]?.type===`text`)if(t){let i=JT(e);return new QT(r,new tE([i],i.range),t,Y.create(n.range.start,i.range.end))}else{let i=GT(e);return new QT(r,i,t,Y.create(n.range.start,i.range.end))}else{let e=n.range;return new QT(r,new tE([],e),t,e)}}function JT(e){let t=e.tokens[e.index++];return new nE(t.content,t.range)}function YT(e){if(!e)return YT({start:`/**`,end:`*/`,line:`*`});let{start:t,end:n,line:r}=e;return{start:XT(t,!0),end:XT(n,!1),line:XT(r,!0)}}function XT(e,t){if(typeof e==`string`||typeof e==`object`){let n=typeof e==`string`?bn(e):e.source;return RegExp(t?`^\\s*${n}`:`\\s*${n}\\s*$`)}else return e}var ZT=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+=rE(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+=rE(t)+r}return t.trim()}},QT=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)?.call(e,this)??this.toMarkdownDefault(e)}toMarkdownDefault(e){let t=this.content.toMarkdown(e);if(this.inline){let n=$T(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 $T(e,t,n){if(e===`linkplain`||e===`linkcode`||e===`link`){let r=t.indexOf(` `),i=t;if(r>0){let e=BT(t,r);i=t.substring(e),t=t.substring(0,r)}return(e===`linkcode`||e===`link`&&n.link===`code`)&&(i=`\`${i}\``),n.renderLink?.call(n,t,i)??eE(t,i)}}function eE(e,t){try{return Rw.parse(e,!0),`[${t}](${e})`}catch{return e}}var tE=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+=`
|
|
74
|
+
`)}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+=`
|
|
75
|
+
`)}return t}},nE=class{constructor(e,t){this.text=e,this.range=t}toString(){return this.text}toMarkdown(){return this.text}};function rE(e){return e.endsWith(`
|
|
76
|
+
`)?`
|
|
77
|
+
`:`
|
|
78
|
+
|
|
79
|
+
`}var iE=class{constructor(e){this.indexManager=e.shared.workspace.IndexManager,this.commentProvider=e.documentation.CommentProvider}getDocumentation(e){let t=this.commentProvider.getComment(e);if(t&&MT(t))return jT(t).toMarkdown({renderLink:(t,n)=>this.documentationLinkRenderer(e,t,n),renderTag:t=>this.documentationTagRenderer(e,t)})}documentationLinkRenderer(e,t,n){let r=this.findNameInPrecomputedScopes(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){}findNameInPrecomputedScopes(e,t){let n=Gt(e).precomputedScopes;if(!n)return;let r=e;do{let e=n.get(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)}},aE=class{constructor(e){this.grammarConfig=()=>e.parser.GrammarConfig}getComment(e){return iT(e)?e.$comment:he(e.$cstNode,this.grammarConfig().multilineCommentRules)?.text}},oE=class{constructor(e){this.syncParser=e.parser.LangiumParser}parse(e,t){return Promise.resolve(this.syncParser.parse(e))}},sE=class{constructor(){this.previousTokenSource=new Z.CancellationTokenSource,this.writeQueue=[],this.readQueue=[],this.done=!0}write(e){this.cancelWrite();let t=Tw();return this.previousTokenSource=t,this.enqueue(this.writeQueue,e,t.token)}read(e){return this.enqueue(this.readQueue,e)}enqueue(e,t,n=Z.CancellationToken.None){let r=new kw,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){Dw(e)?t.resolve(void 0):t.reject(e)}})),this.done=!0,this.performNextOperation()}cancelWrite(){this.previousTokenSource.cancel()}},cE=class{constructor(e){this.grammarElementIdMap=new Yw,this.tokenTypeIdMap=new Yw,this.grammar=e.Grammar,this.lexer=e.parser.Lexer,this.linker=e.references.Linker}dehydrate(e){return{lexerErrors:e.lexerErrors,lexerReport:e.lexerReport?this.dehydrateLexerReport(e.lexerReport):void 0,parserErrors:e.parserErrors.map(e=>Object.assign(Object.assign({},e),{message:e.message})),value:this.dehydrateAstNode(e.value,this.createDehyrationContext(e.value))}}dehydrateLexerReport(e){return e}createDehyrationContext(e){let t=new Map,n=new Map;for(let n of Yt(e))t.set(n,{});if(e.$cstNode)for(let t of se(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)m(n)?e.push(this.dehydrateAstNode(n,t)):h(n)?e.push(this.dehydrateReference(n,t)):e.push(n)}else m(i)?n[r]=this.dehydrateAstNode(i,t):h(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 te(e)?n.fullText=e.fullText:n.grammarSource=this.getGrammarElementId(e.grammarSource),n.hidden=e.hidden,n.astNode=t.astNodes.get(e.astNode),y(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 Yt(e))t.set(n,{});let r;if(e.$cstNode)for(let t of se(e.$cstNode)){let e;`fullText`in t?(e=new LC(t.fullText),r=e):`content`in t?e=new FC:`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)m(a)?e.push(this.setParent(this.hydrateAstNode(a,t),n)):h(a)?e.push(this.hydrateReference(a,n,r,t)):e.push(a)}else m(i)?n[r]=this.setParent(this.hydrateAstNode(i,t),n):h(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),y(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 PC(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 Yt(this.grammar))Ee(t)&&this.grammarElementIdMap.set(t,e++)}};function lE(e){return{documentation:{CommentProvider:e=>new aE(e),DocumentationProvider:e=>new iE(e)},parser:{AsyncParser:e=>new oE(e),GrammarConfig:e=>er(e),LangiumParser:e=>pw(e),CompletionParser:e=>fw(e),ValueConverter:()=>new gw,TokenBuilder:()=>new hw,Lexer:e=>new DT(e),ParserErrorMessageProvider:()=>new GC,LexerErrorMessageProvider:()=>new TT},workspace:{AstNodeLocator:()=>new vT,AstNodeDescriptionProvider:e=>new gT(e),ReferenceDescriptionProvider:e=>new _T(e)},references:{Linker:e=>new Ww(e),NameProvider:()=>new Kw,ScopeProvider:e=>new rT(e),ScopeComputation:e=>new Xw(e),References:e=>new qw(e)},serializer:{Hydrator:e=>new cE(e),JsonSerializer:e=>new oT(e)},validation:{DocumentValidator:e=>new dT(e),ValidationRegistry:e=>new uT(e)},shared:()=>e.shared}}function uE(e){return{ServiceRegistry:e=>new sT(e),workspace:{LangiumDocuments:e=>new Hw(e),LangiumDocumentFactory:e=>new Vw(e),DocumentBuilder:e=>new ST(e),IndexManager:e=>new CT(e),WorkspaceManager:e=>new wT(e),FileSystemProvider:t=>e.fileSystemProvider(t),WorkspaceLock:()=>new sE,ConfigurationProvider:e=>new bT(e)}}}var dE;(function(e){e.merge=(e,t)=>_E(_E({},e),t)})(dE||={});function fE(e,t,n,r,i,a,o,s,c){return mE([e,t,n,r,i,a,o,s,c].reduce(_E,{}))}var pE=Symbol(`isProxy`);function mE(e,t){let n=new Proxy({},{deleteProperty:()=>!1,set:()=>{throw Error(`Cannot set property on injected service container`)},get:(r,i)=>i===pE?!0:gE(r,i,e,t||n),getOwnPropertyDescriptor:(r,i)=>(gE(r,i,e,t||n),Object.getOwnPropertyDescriptor(r,i)),has:(t,n)=>n in e,ownKeys:()=>[...Object.getOwnPropertyNames(e)]});return n}var hE=Symbol();function gE(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]===hE)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]=hE;try{e[t]=typeof i==`function`?i(r):mE(i,r)}catch(n){throw e[t]=n instanceof Error?n:void 0,n}return e[t]}else return}function _E(e,t){if(t){for(let[n,r]of Object.entries(t))if(r!==void 0){let t=e[n];t!==null&&r!==null&&typeof t==`object`&&typeof r==`object`?e[n]=_E(t,r):e[n]=r}}return e}var vE=class{readFile(){throw Error(`No file system is available.`)}async readDirectory(){return[]}},yE={fileSystemProvider:()=>new vE},bE={Grammar:()=>void 0,LanguageMetaData:()=>({caseInsensitive:!1,fileExtensions:[`.langium`],languageId:`langium`})},xE={AstReflection:()=>new Ht};function SE(){let e=fE(uE(yE),xE),t=fE(lE({shared:e}),bE);return e.ServiceRegistry.register(t),t}function CE(e){let t=SE(),n=t.serializer.JsonSerializer.deserialize(e);return t.shared.workspace.LangiumDocumentFactory.fromModel(n,Rw.parse(`memory://${n.name??`grammar`}.langium`)),n}var wE=Object.defineProperty,$=(e,t)=>wE(e,`name`,{value:t,configurable:!0}),TE=`Statement`,EE=`Architecture`;function DE(e){return dD.isInstance(e,EE)}$(DE,`isArchitecture`);var OE=`Axis`,kE=`Branch`;function AE(e){return dD.isInstance(e,kE)}$(AE,`isBranch`);var jE=`Checkout`,ME=`CherryPicking`,NE=`ClassDefStatement`,PE=`Commit`;function FE(e){return dD.isInstance(e,PE)}$(FE,`isCommit`);var IE=`Curve`,LE=`Edge`,RE=`Entry`,zE=`GitGraph`;function BE(e){return dD.isInstance(e,zE)}$(BE,`isGitGraph`);var VE=`Group`,HE=`Info`;function UE(e){return dD.isInstance(e,HE)}$(UE,`isInfo`);var WE=`Item`,GE=`Junction`,KE=`Merge`;function qE(e){return dD.isInstance(e,KE)}$(qE,`isMerge`);var JE=`Option`,YE=`Packet`;function XE(e){return dD.isInstance(e,YE)}$(XE,`isPacket`);var ZE=`PacketBlock`;function QE(e){return dD.isInstance(e,ZE)}$(QE,`isPacketBlock`);function $E(e){return dD.isInstance(e,`Pie`)}$($E,`isPie`);var eD=`PieSection`;function tD(e){return dD.isInstance(e,eD)}$(tD,`isPieSection`);var nD=`Radar`,rD=`Service`,iD=`Treemap`;function aD(e){return dD.isInstance(e,iD)}$(aD,`isTreemap`);var oD=`TreemapRow`,sD=`Direction`,cD=`Leaf`,lD=`Section`,uD=class extends v{static{$(this,`MermaidAstReflection`)}getAllTypes(){return[EE,OE,kE,jE,ME,NE,PE,IE,sD,LE,RE,zE,VE,HE,WE,GE,cD,KE,JE,YE,ZE,`Pie`,eD,nD,lD,rD,TE,iD,oD]}computeIsSubtype(e,t){switch(e){case kE:case jE:case ME:case PE:case KE:return this.isSubtype(TE,t);case sD:return this.isSubtype(zE,t);case cD:case lD:return this.isSubtype(WE,t);default:return!1}}getReferenceType(e){let t=`${e.container.$type}:${e.property}`;switch(t){case`Entry:axis`:return OE;default:throw Error(`${t} is not a valid reference id.`)}}getTypeMetaData(e){switch(e){case EE:return{name:EE,properties:[{name:`accDescr`},{name:`accTitle`},{name:`edges`,defaultValue:[]},{name:`groups`,defaultValue:[]},{name:`junctions`,defaultValue:[]},{name:`services`,defaultValue:[]},{name:`title`}]};case OE:return{name:OE,properties:[{name:`label`},{name:`name`}]};case kE:return{name:kE,properties:[{name:`name`},{name:`order`}]};case jE:return{name:jE,properties:[{name:`branch`}]};case ME:return{name:ME,properties:[{name:`id`},{name:`parent`},{name:`tags`,defaultValue:[]}]};case NE:return{name:NE,properties:[{name:`className`},{name:`styleText`}]};case PE:return{name:PE,properties:[{name:`id`},{name:`message`},{name:`tags`,defaultValue:[]},{name:`type`}]};case IE:return{name:IE,properties:[{name:`entries`,defaultValue:[]},{name:`label`},{name:`name`}]};case LE:return{name:LE,properties:[{name:`lhsDir`},{name:`lhsGroup`,defaultValue:!1},{name:`lhsId`},{name:`lhsInto`,defaultValue:!1},{name:`rhsDir`},{name:`rhsGroup`,defaultValue:!1},{name:`rhsId`},{name:`rhsInto`,defaultValue:!1},{name:`title`}]};case RE:return{name:RE,properties:[{name:`axis`},{name:`value`}]};case zE:return{name:zE,properties:[{name:`accDescr`},{name:`accTitle`},{name:`statements`,defaultValue:[]},{name:`title`}]};case VE:return{name:VE,properties:[{name:`icon`},{name:`id`},{name:`in`},{name:`title`}]};case HE:return{name:HE,properties:[{name:`accDescr`},{name:`accTitle`},{name:`title`}]};case WE:return{name:WE,properties:[{name:`classSelector`},{name:`name`}]};case GE:return{name:GE,properties:[{name:`id`},{name:`in`}]};case KE:return{name:KE,properties:[{name:`branch`},{name:`id`},{name:`tags`,defaultValue:[]},{name:`type`}]};case JE:return{name:JE,properties:[{name:`name`},{name:`value`,defaultValue:!1}]};case YE:return{name:YE,properties:[{name:`accDescr`},{name:`accTitle`},{name:`blocks`,defaultValue:[]},{name:`title`}]};case ZE:return{name:ZE,properties:[{name:`bits`},{name:`end`},{name:`label`},{name:`start`}]};case`Pie`:return{name:`Pie`,properties:[{name:`accDescr`},{name:`accTitle`},{name:`sections`,defaultValue:[]},{name:`showData`,defaultValue:!1},{name:`title`}]};case eD:return{name:eD,properties:[{name:`label`},{name:`value`}]};case nD:return{name:nD,properties:[{name:`accDescr`},{name:`accTitle`},{name:`axes`,defaultValue:[]},{name:`curves`,defaultValue:[]},{name:`options`,defaultValue:[]},{name:`title`}]};case rD:return{name:rD,properties:[{name:`icon`},{name:`iconText`},{name:`id`},{name:`in`},{name:`title`}]};case iD:return{name:iD,properties:[{name:`accDescr`},{name:`accTitle`},{name:`title`},{name:`TreemapRows`,defaultValue:[]}]};case oD:return{name:oD,properties:[{name:`indent`},{name:`item`}]};case sD:return{name:sD,properties:[{name:`accDescr`},{name:`accTitle`},{name:`dir`},{name:`statements`,defaultValue:[]},{name:`title`}]};case cD:return{name:cD,properties:[{name:`classSelector`},{name:`name`},{name:`value`}]};case lD:return{name:lD,properties:[{name:`classSelector`},{name:`name`}]};default:return{name:e,properties:[]}}}},dD=new uD,fD,pD=$(()=>fD??=CE(`{"$type":"Grammar","isDeclared":true,"name":"Info","imports":[],"rules":[{"$type":"ParserRule","entry":true,"name":"Info","definition":{"$type":"Group","elements":[{"$type":"RuleCall","rule":{"$ref":"#/rules@12"},"arguments":[],"cardinality":"*"},{"$type":"Keyword","value":"info"},{"$type":"RuleCall","rule":{"$ref":"#/rules@12"},"arguments":[],"cardinality":"*"},{"$type":"Group","elements":[{"$type":"Keyword","value":"showInfo"},{"$type":"RuleCall","rule":{"$ref":"#/rules@12"},"arguments":[],"cardinality":"*"}],"cardinality":"?"},{"$type":"RuleCall","rule":{"$ref":"#/rules@2"},"arguments":[],"cardinality":"?"}]},"definesHiddenTokens":false,"fragment":false,"hiddenTokens":[],"parameters":[],"wildcard":false},{"$type":"ParserRule","fragment":true,"name":"EOL","dataType":"string","definition":{"$type":"Alternatives","elements":[{"$type":"RuleCall","rule":{"$ref":"#/rules@12"},"arguments":[],"cardinality":"+"},{"$type":"EndOfFile"}]},"definesHiddenTokens":false,"entry":false,"hiddenTokens":[],"parameters":[],"wildcard":false},{"$type":"ParserRule","fragment":true,"name":"TitleAndAccessibilities","definition":{"$type":"Group","elements":[{"$type":"Alternatives","elements":[{"$type":"Assignment","feature":"accDescr","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@4"},"arguments":[]}},{"$type":"Assignment","feature":"accTitle","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@5"},"arguments":[]}},{"$type":"Assignment","feature":"title","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@6"},"arguments":[]}}]},{"$type":"RuleCall","rule":{"$ref":"#/rules@1"},"arguments":[]}],"cardinality":"+"},"definesHiddenTokens":false,"entry":false,"hiddenTokens":[],"parameters":[],"wildcard":false},{"$type":"TerminalRule","name":"BOOLEAN","type":{"$type":"ReturnType","name":"boolean"},"definition":{"$type":"TerminalAlternatives","elements":[{"$type":"CharacterRange","left":{"$type":"Keyword","value":"true"}},{"$type":"CharacterRange","left":{"$type":"Keyword","value":"false"}}]},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"ACC_DESCR","definition":{"$type":"RegexToken","regex":"/[\\\\t ]*accDescr(?:[\\\\t ]*:([^\\\\n\\\\r]*?(?=%%)|[^\\\\n\\\\r]*)|\\\\s*{([^}]*)})/"},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"ACC_TITLE","definition":{"$type":"RegexToken","regex":"/[\\\\t ]*accTitle[\\\\t ]*:(?:[^\\\\n\\\\r]*?(?=%%)|[^\\\\n\\\\r]*)/"},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"TITLE","definition":{"$type":"RegexToken","regex":"/[\\\\t ]*title(?:[\\\\t ][^\\\\n\\\\r]*?(?=%%)|[\\\\t ][^\\\\n\\\\r]*|)/"},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"FLOAT","type":{"$type":"ReturnType","name":"number"},"definition":{"$type":"RegexToken","regex":"/[0-9]+\\\\.[0-9]+(?!\\\\.)/"},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"INT","type":{"$type":"ReturnType","name":"number"},"definition":{"$type":"RegexToken","regex":"/0|[1-9][0-9]*(?!\\\\.)/"},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"NUMBER","type":{"$type":"ReturnType","name":"number"},"definition":{"$type":"TerminalAlternatives","elements":[{"$type":"TerminalRuleCall","rule":{"$ref":"#/rules@7"}},{"$type":"TerminalRuleCall","rule":{"$ref":"#/rules@8"}}]},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"STRING","type":{"$type":"ReturnType","name":"string"},"definition":{"$type":"RegexToken","regex":"/\\"([^\\"\\\\\\\\]|\\\\\\\\.)*\\"|'([^'\\\\\\\\]|\\\\\\\\.)*'/"},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"ID","type":{"$type":"ReturnType","name":"string"},"definition":{"$type":"RegexToken","regex":"/[\\\\w]([-\\\\w]*\\\\w)?/"},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"NEWLINE","definition":{"$type":"RegexToken","regex":"/\\\\r?\\\\n/"},"fragment":false,"hidden":false},{"$type":"TerminalRule","hidden":true,"name":"WHITESPACE","definition":{"$type":"RegexToken","regex":"/[\\\\t ]+/"},"fragment":false},{"$type":"TerminalRule","hidden":true,"name":"YAML","definition":{"$type":"RegexToken","regex":"/---[\\\\t ]*\\\\r?\\\\n(?:[\\\\S\\\\s]*?\\\\r?\\\\n)?---(?:\\\\r?\\\\n|(?!\\\\S))/"},"fragment":false},{"$type":"TerminalRule","hidden":true,"name":"DIRECTIVE","definition":{"$type":"RegexToken","regex":"/[\\\\t ]*%%{[\\\\S\\\\s]*?}%%(?:\\\\r?\\\\n|(?!\\\\S))/"},"fragment":false},{"$type":"TerminalRule","hidden":true,"name":"SINGLE_LINE_COMMENT","definition":{"$type":"RegexToken","regex":"/[\\\\t ]*%%[^\\\\n\\\\r]*/"},"fragment":false}],"definesHiddenTokens":false,"hiddenTokens":[],"interfaces":[],"types":[],"usedGrammars":[]}`),`InfoGrammar`),mD,hD=$(()=>mD??=CE(`{"$type":"Grammar","isDeclared":true,"name":"Packet","imports":[],"rules":[{"$type":"ParserRule","entry":true,"name":"Packet","definition":{"$type":"Group","elements":[{"$type":"RuleCall","rule":{"$ref":"#/rules@13"},"arguments":[],"cardinality":"*"},{"$type":"Alternatives","elements":[{"$type":"Keyword","value":"packet"},{"$type":"Keyword","value":"packet-beta"}]},{"$type":"Alternatives","elements":[{"$type":"RuleCall","rule":{"$ref":"#/rules@3"},"arguments":[]},{"$type":"Assignment","feature":"blocks","operator":"+=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@1"},"arguments":[]}},{"$type":"RuleCall","rule":{"$ref":"#/rules@13"},"arguments":[]}],"cardinality":"*"}]},"definesHiddenTokens":false,"fragment":false,"hiddenTokens":[],"parameters":[],"wildcard":false},{"$type":"ParserRule","name":"PacketBlock","definition":{"$type":"Group","elements":[{"$type":"Alternatives","elements":[{"$type":"Group","elements":[{"$type":"Assignment","feature":"start","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@9"},"arguments":[]}},{"$type":"Group","elements":[{"$type":"Keyword","value":"-"},{"$type":"Assignment","feature":"end","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@9"},"arguments":[]}}],"cardinality":"?"}]},{"$type":"Group","elements":[{"$type":"Keyword","value":"+"},{"$type":"Assignment","feature":"bits","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@9"},"arguments":[]}}]}]},{"$type":"Keyword","value":":"},{"$type":"Assignment","feature":"label","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@11"},"arguments":[]}},{"$type":"RuleCall","rule":{"$ref":"#/rules@2"},"arguments":[]}]},"definesHiddenTokens":false,"entry":false,"fragment":false,"hiddenTokens":[],"parameters":[],"wildcard":false},{"$type":"ParserRule","fragment":true,"name":"EOL","dataType":"string","definition":{"$type":"Alternatives","elements":[{"$type":"RuleCall","rule":{"$ref":"#/rules@13"},"arguments":[],"cardinality":"+"},{"$type":"EndOfFile"}]},"definesHiddenTokens":false,"entry":false,"hiddenTokens":[],"parameters":[],"wildcard":false},{"$type":"ParserRule","fragment":true,"name":"TitleAndAccessibilities","definition":{"$type":"Group","elements":[{"$type":"Alternatives","elements":[{"$type":"Assignment","feature":"accDescr","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@5"},"arguments":[]}},{"$type":"Assignment","feature":"accTitle","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@6"},"arguments":[]}},{"$type":"Assignment","feature":"title","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@7"},"arguments":[]}}]},{"$type":"RuleCall","rule":{"$ref":"#/rules@2"},"arguments":[]}],"cardinality":"+"},"definesHiddenTokens":false,"entry":false,"hiddenTokens":[],"parameters":[],"wildcard":false},{"$type":"TerminalRule","name":"BOOLEAN","type":{"$type":"ReturnType","name":"boolean"},"definition":{"$type":"TerminalAlternatives","elements":[{"$type":"CharacterRange","left":{"$type":"Keyword","value":"true"}},{"$type":"CharacterRange","left":{"$type":"Keyword","value":"false"}}]},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"ACC_DESCR","definition":{"$type":"RegexToken","regex":"/[\\\\t ]*accDescr(?:[\\\\t ]*:([^\\\\n\\\\r]*?(?=%%)|[^\\\\n\\\\r]*)|\\\\s*{([^}]*)})/"},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"ACC_TITLE","definition":{"$type":"RegexToken","regex":"/[\\\\t ]*accTitle[\\\\t ]*:(?:[^\\\\n\\\\r]*?(?=%%)|[^\\\\n\\\\r]*)/"},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"TITLE","definition":{"$type":"RegexToken","regex":"/[\\\\t ]*title(?:[\\\\t ][^\\\\n\\\\r]*?(?=%%)|[\\\\t ][^\\\\n\\\\r]*|)/"},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"FLOAT","type":{"$type":"ReturnType","name":"number"},"definition":{"$type":"RegexToken","regex":"/[0-9]+\\\\.[0-9]+(?!\\\\.)/"},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"INT","type":{"$type":"ReturnType","name":"number"},"definition":{"$type":"RegexToken","regex":"/0|[1-9][0-9]*(?!\\\\.)/"},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"NUMBER","type":{"$type":"ReturnType","name":"number"},"definition":{"$type":"TerminalAlternatives","elements":[{"$type":"TerminalRuleCall","rule":{"$ref":"#/rules@8"}},{"$type":"TerminalRuleCall","rule":{"$ref":"#/rules@9"}}]},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"STRING","type":{"$type":"ReturnType","name":"string"},"definition":{"$type":"RegexToken","regex":"/\\"([^\\"\\\\\\\\]|\\\\\\\\.)*\\"|'([^'\\\\\\\\]|\\\\\\\\.)*'/"},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"ID","type":{"$type":"ReturnType","name":"string"},"definition":{"$type":"RegexToken","regex":"/[\\\\w]([-\\\\w]*\\\\w)?/"},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"NEWLINE","definition":{"$type":"RegexToken","regex":"/\\\\r?\\\\n/"},"fragment":false,"hidden":false},{"$type":"TerminalRule","hidden":true,"name":"WHITESPACE","definition":{"$type":"RegexToken","regex":"/[\\\\t ]+/"},"fragment":false},{"$type":"TerminalRule","hidden":true,"name":"YAML","definition":{"$type":"RegexToken","regex":"/---[\\\\t ]*\\\\r?\\\\n(?:[\\\\S\\\\s]*?\\\\r?\\\\n)?---(?:\\\\r?\\\\n|(?!\\\\S))/"},"fragment":false},{"$type":"TerminalRule","hidden":true,"name":"DIRECTIVE","definition":{"$type":"RegexToken","regex":"/[\\\\t ]*%%{[\\\\S\\\\s]*?}%%(?:\\\\r?\\\\n|(?!\\\\S))/"},"fragment":false},{"$type":"TerminalRule","hidden":true,"name":"SINGLE_LINE_COMMENT","definition":{"$type":"RegexToken","regex":"/[\\\\t ]*%%[^\\\\n\\\\r]*/"},"fragment":false}],"definesHiddenTokens":false,"hiddenTokens":[],"interfaces":[],"types":[],"usedGrammars":[]}`),`PacketGrammar`),gD,_D=$(()=>gD??=CE(`{"$type":"Grammar","isDeclared":true,"name":"Pie","imports":[],"rules":[{"$type":"ParserRule","entry":true,"name":"Pie","definition":{"$type":"Group","elements":[{"$type":"RuleCall","rule":{"$ref":"#/rules@16"},"arguments":[],"cardinality":"*"},{"$type":"Keyword","value":"pie"},{"$type":"Assignment","feature":"showData","operator":"?=","terminal":{"$type":"Keyword","value":"showData"},"cardinality":"?"},{"$type":"Alternatives","elements":[{"$type":"RuleCall","rule":{"$ref":"#/rules@6"},"arguments":[]},{"$type":"Assignment","feature":"sections","operator":"+=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@1"},"arguments":[]}},{"$type":"RuleCall","rule":{"$ref":"#/rules@16"},"arguments":[]}],"cardinality":"*"}]},"definesHiddenTokens":false,"fragment":false,"hiddenTokens":[],"parameters":[],"wildcard":false},{"$type":"ParserRule","name":"PieSection","definition":{"$type":"Group","elements":[{"$type":"Assignment","feature":"label","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@14"},"arguments":[]}},{"$type":"Keyword","value":":"},{"$type":"Assignment","feature":"value","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@4"},"arguments":[]}},{"$type":"RuleCall","rule":{"$ref":"#/rules@5"},"arguments":[]}]},"definesHiddenTokens":false,"entry":false,"fragment":false,"hiddenTokens":[],"parameters":[],"wildcard":false},{"$type":"TerminalRule","name":"FLOAT_PIE","type":{"$type":"ReturnType","name":"number"},"definition":{"$type":"RegexToken","regex":"/-?[0-9]+\\\\.[0-9]+(?!\\\\.)/"},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"INT_PIE","type":{"$type":"ReturnType","name":"number"},"definition":{"$type":"RegexToken","regex":"/-?(0|[1-9][0-9]*)(?!\\\\.)/"},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"NUMBER_PIE","type":{"$type":"ReturnType","name":"number"},"definition":{"$type":"TerminalAlternatives","elements":[{"$type":"TerminalRuleCall","rule":{"$ref":"#/rules@2"}},{"$type":"TerminalRuleCall","rule":{"$ref":"#/rules@3"}}]},"fragment":false,"hidden":false},{"$type":"ParserRule","fragment":true,"name":"EOL","dataType":"string","definition":{"$type":"Alternatives","elements":[{"$type":"RuleCall","rule":{"$ref":"#/rules@16"},"arguments":[],"cardinality":"+"},{"$type":"EndOfFile"}]},"definesHiddenTokens":false,"entry":false,"hiddenTokens":[],"parameters":[],"wildcard":false},{"$type":"ParserRule","fragment":true,"name":"TitleAndAccessibilities","definition":{"$type":"Group","elements":[{"$type":"Alternatives","elements":[{"$type":"Assignment","feature":"accDescr","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@8"},"arguments":[]}},{"$type":"Assignment","feature":"accTitle","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@9"},"arguments":[]}},{"$type":"Assignment","feature":"title","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@10"},"arguments":[]}}]},{"$type":"RuleCall","rule":{"$ref":"#/rules@5"},"arguments":[]}],"cardinality":"+"},"definesHiddenTokens":false,"entry":false,"hiddenTokens":[],"parameters":[],"wildcard":false},{"$type":"TerminalRule","name":"BOOLEAN","type":{"$type":"ReturnType","name":"boolean"},"definition":{"$type":"TerminalAlternatives","elements":[{"$type":"CharacterRange","left":{"$type":"Keyword","value":"true"}},{"$type":"CharacterRange","left":{"$type":"Keyword","value":"false"}}]},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"ACC_DESCR","definition":{"$type":"RegexToken","regex":"/[\\\\t ]*accDescr(?:[\\\\t ]*:([^\\\\n\\\\r]*?(?=%%)|[^\\\\n\\\\r]*)|\\\\s*{([^}]*)})/"},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"ACC_TITLE","definition":{"$type":"RegexToken","regex":"/[\\\\t ]*accTitle[\\\\t ]*:(?:[^\\\\n\\\\r]*?(?=%%)|[^\\\\n\\\\r]*)/"},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"TITLE","definition":{"$type":"RegexToken","regex":"/[\\\\t ]*title(?:[\\\\t ][^\\\\n\\\\r]*?(?=%%)|[\\\\t ][^\\\\n\\\\r]*|)/"},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"FLOAT","type":{"$type":"ReturnType","name":"number"},"definition":{"$type":"RegexToken","regex":"/[0-9]+\\\\.[0-9]+(?!\\\\.)/"},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"INT","type":{"$type":"ReturnType","name":"number"},"definition":{"$type":"RegexToken","regex":"/0|[1-9][0-9]*(?!\\\\.)/"},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"NUMBER","type":{"$type":"ReturnType","name":"number"},"definition":{"$type":"TerminalAlternatives","elements":[{"$type":"TerminalRuleCall","rule":{"$ref":"#/rules@11"}},{"$type":"TerminalRuleCall","rule":{"$ref":"#/rules@12"}}]},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"STRING","type":{"$type":"ReturnType","name":"string"},"definition":{"$type":"RegexToken","regex":"/\\"([^\\"\\\\\\\\]|\\\\\\\\.)*\\"|'([^'\\\\\\\\]|\\\\\\\\.)*'/"},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"ID","type":{"$type":"ReturnType","name":"string"},"definition":{"$type":"RegexToken","regex":"/[\\\\w]([-\\\\w]*\\\\w)?/"},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"NEWLINE","definition":{"$type":"RegexToken","regex":"/\\\\r?\\\\n/"},"fragment":false,"hidden":false},{"$type":"TerminalRule","hidden":true,"name":"WHITESPACE","definition":{"$type":"RegexToken","regex":"/[\\\\t ]+/"},"fragment":false},{"$type":"TerminalRule","hidden":true,"name":"YAML","definition":{"$type":"RegexToken","regex":"/---[\\\\t ]*\\\\r?\\\\n(?:[\\\\S\\\\s]*?\\\\r?\\\\n)?---(?:\\\\r?\\\\n|(?!\\\\S))/"},"fragment":false},{"$type":"TerminalRule","hidden":true,"name":"DIRECTIVE","definition":{"$type":"RegexToken","regex":"/[\\\\t ]*%%{[\\\\S\\\\s]*?}%%(?:\\\\r?\\\\n|(?!\\\\S))/"},"fragment":false},{"$type":"TerminalRule","hidden":true,"name":"SINGLE_LINE_COMMENT","definition":{"$type":"RegexToken","regex":"/[\\\\t ]*%%[^\\\\n\\\\r]*/"},"fragment":false}],"definesHiddenTokens":false,"hiddenTokens":[],"interfaces":[],"types":[],"usedGrammars":[]}`),`PieGrammar`),vD,yD=$(()=>vD??=CE(`{"$type":"Grammar","isDeclared":true,"name":"Architecture","imports":[],"rules":[{"$type":"ParserRule","entry":true,"name":"Architecture","definition":{"$type":"Group","elements":[{"$type":"RuleCall","rule":{"$ref":"#/rules@23"},"arguments":[],"cardinality":"*"},{"$type":"Keyword","value":"architecture-beta"},{"$type":"Alternatives","elements":[{"$type":"RuleCall","rule":{"$ref":"#/rules@23"},"arguments":[]},{"$type":"RuleCall","rule":{"$ref":"#/rules@13"},"arguments":[]},{"$type":"RuleCall","rule":{"$ref":"#/rules@1"},"arguments":[]}],"cardinality":"*"}]},"definesHiddenTokens":false,"fragment":false,"hiddenTokens":[],"parameters":[],"wildcard":false},{"$type":"ParserRule","fragment":true,"name":"Statement","definition":{"$type":"Alternatives","elements":[{"$type":"Assignment","feature":"groups","operator":"+=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@5"},"arguments":[]}},{"$type":"Assignment","feature":"services","operator":"+=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@6"},"arguments":[]}},{"$type":"Assignment","feature":"junctions","operator":"+=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@7"},"arguments":[]}},{"$type":"Assignment","feature":"edges","operator":"+=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@8"},"arguments":[]}}]},"definesHiddenTokens":false,"entry":false,"hiddenTokens":[],"parameters":[],"wildcard":false},{"$type":"ParserRule","fragment":true,"name":"LeftPort","definition":{"$type":"Group","elements":[{"$type":"Keyword","value":":"},{"$type":"Assignment","feature":"lhsDir","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@9"},"arguments":[]}}]},"definesHiddenTokens":false,"entry":false,"hiddenTokens":[],"parameters":[],"wildcard":false},{"$type":"ParserRule","fragment":true,"name":"RightPort","definition":{"$type":"Group","elements":[{"$type":"Assignment","feature":"rhsDir","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@9"},"arguments":[]}},{"$type":"Keyword","value":":"}]},"definesHiddenTokens":false,"entry":false,"hiddenTokens":[],"parameters":[],"wildcard":false},{"$type":"ParserRule","fragment":true,"name":"Arrow","definition":{"$type":"Group","elements":[{"$type":"RuleCall","rule":{"$ref":"#/rules@2"},"arguments":[]},{"$type":"Assignment","feature":"lhsInto","operator":"?=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@11"},"arguments":[]},"cardinality":"?"},{"$type":"Alternatives","elements":[{"$type":"Keyword","value":"--"},{"$type":"Group","elements":[{"$type":"Keyword","value":"-"},{"$type":"Assignment","feature":"title","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@29"},"arguments":[]}},{"$type":"Keyword","value":"-"}]}]},{"$type":"Assignment","feature":"rhsInto","operator":"?=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@11"},"arguments":[]},"cardinality":"?"},{"$type":"RuleCall","rule":{"$ref":"#/rules@3"},"arguments":[]}]},"definesHiddenTokens":false,"entry":false,"hiddenTokens":[],"parameters":[],"wildcard":false},{"$type":"ParserRule","name":"Group","definition":{"$type":"Group","elements":[{"$type":"Keyword","value":"group"},{"$type":"Assignment","feature":"id","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@22"},"arguments":[]}},{"$type":"Assignment","feature":"icon","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@28"},"arguments":[]},"cardinality":"?"},{"$type":"Assignment","feature":"title","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@29"},"arguments":[]},"cardinality":"?"},{"$type":"Group","elements":[{"$type":"Keyword","value":"in"},{"$type":"Assignment","feature":"in","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@22"},"arguments":[]}}],"cardinality":"?"},{"$type":"RuleCall","rule":{"$ref":"#/rules@12"},"arguments":[]}]},"definesHiddenTokens":false,"entry":false,"fragment":false,"hiddenTokens":[],"parameters":[],"wildcard":false},{"$type":"ParserRule","name":"Service","definition":{"$type":"Group","elements":[{"$type":"Keyword","value":"service"},{"$type":"Assignment","feature":"id","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@22"},"arguments":[]}},{"$type":"Alternatives","elements":[{"$type":"Assignment","feature":"iconText","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@21"},"arguments":[]}},{"$type":"Assignment","feature":"icon","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@28"},"arguments":[]}}],"cardinality":"?"},{"$type":"Assignment","feature":"title","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@29"},"arguments":[]},"cardinality":"?"},{"$type":"Group","elements":[{"$type":"Keyword","value":"in"},{"$type":"Assignment","feature":"in","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@22"},"arguments":[]}}],"cardinality":"?"},{"$type":"RuleCall","rule":{"$ref":"#/rules@12"},"arguments":[]}]},"definesHiddenTokens":false,"entry":false,"fragment":false,"hiddenTokens":[],"parameters":[],"wildcard":false},{"$type":"ParserRule","name":"Junction","definition":{"$type":"Group","elements":[{"$type":"Keyword","value":"junction"},{"$type":"Assignment","feature":"id","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@22"},"arguments":[]}},{"$type":"Group","elements":[{"$type":"Keyword","value":"in"},{"$type":"Assignment","feature":"in","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@22"},"arguments":[]}}],"cardinality":"?"},{"$type":"RuleCall","rule":{"$ref":"#/rules@12"},"arguments":[]}]},"definesHiddenTokens":false,"entry":false,"fragment":false,"hiddenTokens":[],"parameters":[],"wildcard":false},{"$type":"ParserRule","name":"Edge","definition":{"$type":"Group","elements":[{"$type":"Assignment","feature":"lhsId","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@22"},"arguments":[]}},{"$type":"Assignment","feature":"lhsGroup","operator":"?=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@10"},"arguments":[]},"cardinality":"?"},{"$type":"RuleCall","rule":{"$ref":"#/rules@4"},"arguments":[]},{"$type":"Assignment","feature":"rhsId","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@22"},"arguments":[]}},{"$type":"Assignment","feature":"rhsGroup","operator":"?=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@10"},"arguments":[]},"cardinality":"?"},{"$type":"RuleCall","rule":{"$ref":"#/rules@12"},"arguments":[]}]},"definesHiddenTokens":false,"entry":false,"fragment":false,"hiddenTokens":[],"parameters":[],"wildcard":false},{"$type":"TerminalRule","name":"ARROW_DIRECTION","definition":{"$type":"TerminalAlternatives","elements":[{"$type":"TerminalAlternatives","elements":[{"$type":"TerminalAlternatives","elements":[{"$type":"CharacterRange","left":{"$type":"Keyword","value":"L"}},{"$type":"CharacterRange","left":{"$type":"Keyword","value":"R"}}]},{"$type":"CharacterRange","left":{"$type":"Keyword","value":"T"}}]},{"$type":"CharacterRange","left":{"$type":"Keyword","value":"B"}}]},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"ARROW_GROUP","definition":{"$type":"RegexToken","regex":"/\\\\{group\\\\}/"},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"ARROW_INTO","definition":{"$type":"RegexToken","regex":"/<|>/"},"fragment":false,"hidden":false},{"$type":"ParserRule","fragment":true,"name":"EOL","dataType":"string","definition":{"$type":"Alternatives","elements":[{"$type":"RuleCall","rule":{"$ref":"#/rules@23"},"arguments":[],"cardinality":"+"},{"$type":"EndOfFile"}]},"definesHiddenTokens":false,"entry":false,"hiddenTokens":[],"parameters":[],"wildcard":false},{"$type":"ParserRule","fragment":true,"name":"TitleAndAccessibilities","definition":{"$type":"Group","elements":[{"$type":"Alternatives","elements":[{"$type":"Assignment","feature":"accDescr","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@15"},"arguments":[]}},{"$type":"Assignment","feature":"accTitle","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@16"},"arguments":[]}},{"$type":"Assignment","feature":"title","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@17"},"arguments":[]}}]},{"$type":"RuleCall","rule":{"$ref":"#/rules@12"},"arguments":[]}],"cardinality":"+"},"definesHiddenTokens":false,"entry":false,"hiddenTokens":[],"parameters":[],"wildcard":false},{"$type":"TerminalRule","name":"BOOLEAN","type":{"$type":"ReturnType","name":"boolean"},"definition":{"$type":"TerminalAlternatives","elements":[{"$type":"CharacterRange","left":{"$type":"Keyword","value":"true"}},{"$type":"CharacterRange","left":{"$type":"Keyword","value":"false"}}]},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"ACC_DESCR","definition":{"$type":"RegexToken","regex":"/[\\\\t ]*accDescr(?:[\\\\t ]*:([^\\\\n\\\\r]*?(?=%%)|[^\\\\n\\\\r]*)|\\\\s*{([^}]*)})/"},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"ACC_TITLE","definition":{"$type":"RegexToken","regex":"/[\\\\t ]*accTitle[\\\\t ]*:(?:[^\\\\n\\\\r]*?(?=%%)|[^\\\\n\\\\r]*)/"},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"TITLE","definition":{"$type":"RegexToken","regex":"/[\\\\t ]*title(?:[\\\\t ][^\\\\n\\\\r]*?(?=%%)|[\\\\t ][^\\\\n\\\\r]*|)/"},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"FLOAT","type":{"$type":"ReturnType","name":"number"},"definition":{"$type":"RegexToken","regex":"/[0-9]+\\\\.[0-9]+(?!\\\\.)/"},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"INT","type":{"$type":"ReturnType","name":"number"},"definition":{"$type":"RegexToken","regex":"/0|[1-9][0-9]*(?!\\\\.)/"},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"NUMBER","type":{"$type":"ReturnType","name":"number"},"definition":{"$type":"TerminalAlternatives","elements":[{"$type":"TerminalRuleCall","rule":{"$ref":"#/rules@18"}},{"$type":"TerminalRuleCall","rule":{"$ref":"#/rules@19"}}]},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"STRING","type":{"$type":"ReturnType","name":"string"},"definition":{"$type":"RegexToken","regex":"/\\"([^\\"\\\\\\\\]|\\\\\\\\.)*\\"|'([^'\\\\\\\\]|\\\\\\\\.)*'/"},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"ID","type":{"$type":"ReturnType","name":"string"},"definition":{"$type":"RegexToken","regex":"/[\\\\w]([-\\\\w]*\\\\w)?/"},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"NEWLINE","definition":{"$type":"RegexToken","regex":"/\\\\r?\\\\n/"},"fragment":false,"hidden":false},{"$type":"TerminalRule","hidden":true,"name":"WHITESPACE","definition":{"$type":"RegexToken","regex":"/[\\\\t ]+/"},"fragment":false},{"$type":"TerminalRule","hidden":true,"name":"YAML","definition":{"$type":"RegexToken","regex":"/---[\\\\t ]*\\\\r?\\\\n(?:[\\\\S\\\\s]*?\\\\r?\\\\n)?---(?:\\\\r?\\\\n|(?!\\\\S))/"},"fragment":false},{"$type":"TerminalRule","hidden":true,"name":"DIRECTIVE","definition":{"$type":"RegexToken","regex":"/[\\\\t ]*%%{[\\\\S\\\\s]*?}%%(?:\\\\r?\\\\n|(?!\\\\S))/"},"fragment":false},{"$type":"TerminalRule","hidden":true,"name":"SINGLE_LINE_COMMENT","definition":{"$type":"RegexToken","regex":"/[\\\\t ]*%%[^\\\\n\\\\r]*/"},"fragment":false},{"$type":"TerminalRule","name":"ARCH_ICON","definition":{"$type":"RegexToken","regex":"/\\\\([\\\\w-:]+\\\\)/"},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"ARCH_TITLE","definition":{"$type":"RegexToken","regex":"/\\\\[[\\\\w ]+\\\\]/"},"fragment":false,"hidden":false}],"definesHiddenTokens":false,"hiddenTokens":[],"interfaces":[],"types":[],"usedGrammars":[]}`),`ArchitectureGrammar`),bD,xD=$(()=>bD??=CE(`{"$type":"Grammar","isDeclared":true,"name":"GitGraph","imports":[],"rules":[{"$type":"ParserRule","entry":true,"name":"GitGraph","definition":{"$type":"Group","elements":[{"$type":"RuleCall","rule":{"$ref":"#/rules@19"},"arguments":[],"cardinality":"*"},{"$type":"Alternatives","elements":[{"$type":"Keyword","value":"gitGraph"},{"$type":"Group","elements":[{"$type":"Keyword","value":"gitGraph"},{"$type":"Keyword","value":":"}]},{"$type":"Keyword","value":"gitGraph:"},{"$type":"Group","elements":[{"$type":"Keyword","value":"gitGraph"},{"$type":"RuleCall","rule":{"$ref":"#/rules@2"},"arguments":[]},{"$type":"Keyword","value":":"}]}]},{"$type":"Alternatives","elements":[{"$type":"RuleCall","rule":{"$ref":"#/rules@19"},"arguments":[]},{"$type":"RuleCall","rule":{"$ref":"#/rules@9"},"arguments":[]},{"$type":"Assignment","feature":"statements","operator":"+=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@1"},"arguments":[]}}],"cardinality":"*"}]},"definesHiddenTokens":false,"fragment":false,"hiddenTokens":[],"parameters":[],"wildcard":false},{"$type":"ParserRule","name":"Statement","definition":{"$type":"Alternatives","elements":[{"$type":"RuleCall","rule":{"$ref":"#/rules@3"},"arguments":[]},{"$type":"RuleCall","rule":{"$ref":"#/rules@4"},"arguments":[]},{"$type":"RuleCall","rule":{"$ref":"#/rules@5"},"arguments":[]},{"$type":"RuleCall","rule":{"$ref":"#/rules@6"},"arguments":[]},{"$type":"RuleCall","rule":{"$ref":"#/rules@7"},"arguments":[]}]},"definesHiddenTokens":false,"entry":false,"fragment":false,"hiddenTokens":[],"parameters":[],"wildcard":false},{"$type":"ParserRule","name":"Direction","definition":{"$type":"Assignment","feature":"dir","operator":"=","terminal":{"$type":"Alternatives","elements":[{"$type":"Keyword","value":"LR"},{"$type":"Keyword","value":"TB"},{"$type":"Keyword","value":"BT"}]}},"definesHiddenTokens":false,"entry":false,"fragment":false,"hiddenTokens":[],"parameters":[],"wildcard":false},{"$type":"ParserRule","name":"Commit","definition":{"$type":"Group","elements":[{"$type":"Keyword","value":"commit"},{"$type":"Alternatives","elements":[{"$type":"Group","elements":[{"$type":"Keyword","value":"id:"},{"$type":"Assignment","feature":"id","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@17"},"arguments":[]}}]},{"$type":"Group","elements":[{"$type":"Keyword","value":"msg:","cardinality":"?"},{"$type":"Assignment","feature":"message","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@17"},"arguments":[]}}]},{"$type":"Group","elements":[{"$type":"Keyword","value":"tag:"},{"$type":"Assignment","feature":"tags","operator":"+=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@17"},"arguments":[]}}]},{"$type":"Group","elements":[{"$type":"Keyword","value":"type:"},{"$type":"Assignment","feature":"type","operator":"=","terminal":{"$type":"Alternatives","elements":[{"$type":"Keyword","value":"NORMAL"},{"$type":"Keyword","value":"REVERSE"},{"$type":"Keyword","value":"HIGHLIGHT"}]}}]}],"cardinality":"*"},{"$type":"RuleCall","rule":{"$ref":"#/rules@8"},"arguments":[]}]},"definesHiddenTokens":false,"entry":false,"fragment":false,"hiddenTokens":[],"parameters":[],"wildcard":false},{"$type":"ParserRule","name":"Branch","definition":{"$type":"Group","elements":[{"$type":"Keyword","value":"branch"},{"$type":"Assignment","feature":"name","operator":"=","terminal":{"$type":"Alternatives","elements":[{"$type":"RuleCall","rule":{"$ref":"#/rules@24"},"arguments":[]},{"$type":"RuleCall","rule":{"$ref":"#/rules@17"},"arguments":[]}]}},{"$type":"Group","elements":[{"$type":"Keyword","value":"order:"},{"$type":"Assignment","feature":"order","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@15"},"arguments":[]}}],"cardinality":"?"},{"$type":"RuleCall","rule":{"$ref":"#/rules@8"},"arguments":[]}]},"definesHiddenTokens":false,"entry":false,"fragment":false,"hiddenTokens":[],"parameters":[],"wildcard":false},{"$type":"ParserRule","name":"Merge","definition":{"$type":"Group","elements":[{"$type":"Keyword","value":"merge"},{"$type":"Assignment","feature":"branch","operator":"=","terminal":{"$type":"Alternatives","elements":[{"$type":"RuleCall","rule":{"$ref":"#/rules@24"},"arguments":[]},{"$type":"RuleCall","rule":{"$ref":"#/rules@17"},"arguments":[]}]}},{"$type":"Alternatives","elements":[{"$type":"Group","elements":[{"$type":"Keyword","value":"id:"},{"$type":"Assignment","feature":"id","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@17"},"arguments":[]}}]},{"$type":"Group","elements":[{"$type":"Keyword","value":"tag:"},{"$type":"Assignment","feature":"tags","operator":"+=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@17"},"arguments":[]}}]},{"$type":"Group","elements":[{"$type":"Keyword","value":"type:"},{"$type":"Assignment","feature":"type","operator":"=","terminal":{"$type":"Alternatives","elements":[{"$type":"Keyword","value":"NORMAL"},{"$type":"Keyword","value":"REVERSE"},{"$type":"Keyword","value":"HIGHLIGHT"}]}}]}],"cardinality":"*"},{"$type":"RuleCall","rule":{"$ref":"#/rules@8"},"arguments":[]}]},"definesHiddenTokens":false,"entry":false,"fragment":false,"hiddenTokens":[],"parameters":[],"wildcard":false},{"$type":"ParserRule","name":"Checkout","definition":{"$type":"Group","elements":[{"$type":"Alternatives","elements":[{"$type":"Keyword","value":"checkout"},{"$type":"Keyword","value":"switch"}]},{"$type":"Assignment","feature":"branch","operator":"=","terminal":{"$type":"Alternatives","elements":[{"$type":"RuleCall","rule":{"$ref":"#/rules@24"},"arguments":[]},{"$type":"RuleCall","rule":{"$ref":"#/rules@17"},"arguments":[]}]}},{"$type":"RuleCall","rule":{"$ref":"#/rules@8"},"arguments":[]}]},"definesHiddenTokens":false,"entry":false,"fragment":false,"hiddenTokens":[],"parameters":[],"wildcard":false},{"$type":"ParserRule","name":"CherryPicking","definition":{"$type":"Group","elements":[{"$type":"Keyword","value":"cherry-pick"},{"$type":"Alternatives","elements":[{"$type":"Group","elements":[{"$type":"Keyword","value":"id:"},{"$type":"Assignment","feature":"id","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@17"},"arguments":[]}}]},{"$type":"Group","elements":[{"$type":"Keyword","value":"tag:"},{"$type":"Assignment","feature":"tags","operator":"+=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@17"},"arguments":[]}}]},{"$type":"Group","elements":[{"$type":"Keyword","value":"parent:"},{"$type":"Assignment","feature":"parent","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@17"},"arguments":[]}}]}],"cardinality":"*"},{"$type":"RuleCall","rule":{"$ref":"#/rules@8"},"arguments":[]}]},"definesHiddenTokens":false,"entry":false,"fragment":false,"hiddenTokens":[],"parameters":[],"wildcard":false},{"$type":"ParserRule","fragment":true,"name":"EOL","dataType":"string","definition":{"$type":"Alternatives","elements":[{"$type":"RuleCall","rule":{"$ref":"#/rules@19"},"arguments":[],"cardinality":"+"},{"$type":"EndOfFile"}]},"definesHiddenTokens":false,"entry":false,"hiddenTokens":[],"parameters":[],"wildcard":false},{"$type":"ParserRule","fragment":true,"name":"TitleAndAccessibilities","definition":{"$type":"Group","elements":[{"$type":"Alternatives","elements":[{"$type":"Assignment","feature":"accDescr","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@11"},"arguments":[]}},{"$type":"Assignment","feature":"accTitle","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@12"},"arguments":[]}},{"$type":"Assignment","feature":"title","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@13"},"arguments":[]}}]},{"$type":"RuleCall","rule":{"$ref":"#/rules@8"},"arguments":[]}],"cardinality":"+"},"definesHiddenTokens":false,"entry":false,"hiddenTokens":[],"parameters":[],"wildcard":false},{"$type":"TerminalRule","name":"BOOLEAN","type":{"$type":"ReturnType","name":"boolean"},"definition":{"$type":"TerminalAlternatives","elements":[{"$type":"CharacterRange","left":{"$type":"Keyword","value":"true"}},{"$type":"CharacterRange","left":{"$type":"Keyword","value":"false"}}]},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"ACC_DESCR","definition":{"$type":"RegexToken","regex":"/[\\\\t ]*accDescr(?:[\\\\t ]*:([^\\\\n\\\\r]*?(?=%%)|[^\\\\n\\\\r]*)|\\\\s*{([^}]*)})/"},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"ACC_TITLE","definition":{"$type":"RegexToken","regex":"/[\\\\t ]*accTitle[\\\\t ]*:(?:[^\\\\n\\\\r]*?(?=%%)|[^\\\\n\\\\r]*)/"},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"TITLE","definition":{"$type":"RegexToken","regex":"/[\\\\t ]*title(?:[\\\\t ][^\\\\n\\\\r]*?(?=%%)|[\\\\t ][^\\\\n\\\\r]*|)/"},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"FLOAT","type":{"$type":"ReturnType","name":"number"},"definition":{"$type":"RegexToken","regex":"/[0-9]+\\\\.[0-9]+(?!\\\\.)/"},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"INT","type":{"$type":"ReturnType","name":"number"},"definition":{"$type":"RegexToken","regex":"/0|[1-9][0-9]*(?!\\\\.)/"},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"NUMBER","type":{"$type":"ReturnType","name":"number"},"definition":{"$type":"TerminalAlternatives","elements":[{"$type":"TerminalRuleCall","rule":{"$ref":"#/rules@14"}},{"$type":"TerminalRuleCall","rule":{"$ref":"#/rules@15"}}]},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"STRING","type":{"$type":"ReturnType","name":"string"},"definition":{"$type":"RegexToken","regex":"/\\"([^\\"\\\\\\\\]|\\\\\\\\.)*\\"|'([^'\\\\\\\\]|\\\\\\\\.)*'/"},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"ID","type":{"$type":"ReturnType","name":"string"},"definition":{"$type":"RegexToken","regex":"/[\\\\w]([-\\\\w]*\\\\w)?/"},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"NEWLINE","definition":{"$type":"RegexToken","regex":"/\\\\r?\\\\n/"},"fragment":false,"hidden":false},{"$type":"TerminalRule","hidden":true,"name":"WHITESPACE","definition":{"$type":"RegexToken","regex":"/[\\\\t ]+/"},"fragment":false},{"$type":"TerminalRule","hidden":true,"name":"YAML","definition":{"$type":"RegexToken","regex":"/---[\\\\t ]*\\\\r?\\\\n(?:[\\\\S\\\\s]*?\\\\r?\\\\n)?---(?:\\\\r?\\\\n|(?!\\\\S))/"},"fragment":false},{"$type":"TerminalRule","hidden":true,"name":"DIRECTIVE","definition":{"$type":"RegexToken","regex":"/[\\\\t ]*%%{[\\\\S\\\\s]*?}%%(?:\\\\r?\\\\n|(?!\\\\S))/"},"fragment":false},{"$type":"TerminalRule","hidden":true,"name":"SINGLE_LINE_COMMENT","definition":{"$type":"RegexToken","regex":"/[\\\\t ]*%%[^\\\\n\\\\r]*/"},"fragment":false},{"$type":"TerminalRule","name":"REFERENCE","type":{"$type":"ReturnType","name":"string"},"definition":{"$type":"RegexToken","regex":"/\\\\w([-\\\\./\\\\w]*[-\\\\w])?/"},"fragment":false,"hidden":false}],"definesHiddenTokens":false,"hiddenTokens":[],"interfaces":[],"types":[],"usedGrammars":[]}`),`GitGraphGrammar`),SD,CD=$(()=>SD??=CE(`{"$type":"Grammar","isDeclared":true,"name":"Radar","imports":[],"rules":[{"$type":"ParserRule","entry":true,"name":"Radar","definition":{"$type":"Group","elements":[{"$type":"RuleCall","rule":{"$ref":"#/rules@20"},"arguments":[],"cardinality":"*"},{"$type":"Alternatives","elements":[{"$type":"Keyword","value":"radar-beta"},{"$type":"Keyword","value":"radar-beta:"},{"$type":"Group","elements":[{"$type":"Keyword","value":"radar-beta"},{"$type":"Keyword","value":":"}]}]},{"$type":"RuleCall","rule":{"$ref":"#/rules@20"},"arguments":[],"cardinality":"*"},{"$type":"Alternatives","elements":[{"$type":"RuleCall","rule":{"$ref":"#/rules@10"},"arguments":[]},{"$type":"Group","elements":[{"$type":"Keyword","value":"axis"},{"$type":"Assignment","feature":"axes","operator":"+=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@2"},"arguments":[]}},{"$type":"Group","elements":[{"$type":"Keyword","value":","},{"$type":"Assignment","feature":"axes","operator":"+=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@2"},"arguments":[]}}],"cardinality":"*"}]},{"$type":"Group","elements":[{"$type":"Keyword","value":"curve"},{"$type":"Assignment","feature":"curves","operator":"+=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@3"},"arguments":[]}},{"$type":"Group","elements":[{"$type":"Keyword","value":","},{"$type":"Assignment","feature":"curves","operator":"+=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@3"},"arguments":[]}}],"cardinality":"*"}]},{"$type":"Group","elements":[{"$type":"Assignment","feature":"options","operator":"+=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@7"},"arguments":[]}},{"$type":"Group","elements":[{"$type":"Keyword","value":","},{"$type":"Assignment","feature":"options","operator":"+=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@7"},"arguments":[]}}],"cardinality":"*"}]},{"$type":"RuleCall","rule":{"$ref":"#/rules@20"},"arguments":[]}],"cardinality":"*"}]},"definesHiddenTokens":false,"fragment":false,"hiddenTokens":[],"parameters":[],"wildcard":false},{"$type":"ParserRule","fragment":true,"name":"Label","definition":{"$type":"Group","elements":[{"$type":"Keyword","value":"["},{"$type":"Assignment","feature":"label","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@18"},"arguments":[]}},{"$type":"Keyword","value":"]"}]},"definesHiddenTokens":false,"entry":false,"hiddenTokens":[],"parameters":[],"wildcard":false},{"$type":"ParserRule","name":"Axis","definition":{"$type":"Group","elements":[{"$type":"Assignment","feature":"name","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@19"},"arguments":[]}},{"$type":"RuleCall","rule":{"$ref":"#/rules@1"},"arguments":[],"cardinality":"?"}]},"definesHiddenTokens":false,"entry":false,"fragment":false,"hiddenTokens":[],"parameters":[],"wildcard":false},{"$type":"ParserRule","name":"Curve","definition":{"$type":"Group","elements":[{"$type":"Assignment","feature":"name","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@19"},"arguments":[]}},{"$type":"RuleCall","rule":{"$ref":"#/rules@1"},"arguments":[],"cardinality":"?"},{"$type":"Keyword","value":"{"},{"$type":"RuleCall","rule":{"$ref":"#/rules@4"},"arguments":[]},{"$type":"Keyword","value":"}"}]},"definesHiddenTokens":false,"entry":false,"fragment":false,"hiddenTokens":[],"parameters":[],"wildcard":false},{"$type":"ParserRule","fragment":true,"name":"Entries","definition":{"$type":"Alternatives","elements":[{"$type":"Group","elements":[{"$type":"RuleCall","rule":{"$ref":"#/rules@20"},"arguments":[],"cardinality":"*"},{"$type":"Assignment","feature":"entries","operator":"+=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@6"},"arguments":[]}},{"$type":"Group","elements":[{"$type":"Keyword","value":","},{"$type":"RuleCall","rule":{"$ref":"#/rules@20"},"arguments":[],"cardinality":"*"},{"$type":"Assignment","feature":"entries","operator":"+=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@6"},"arguments":[]}}],"cardinality":"*"},{"$type":"RuleCall","rule":{"$ref":"#/rules@20"},"arguments":[],"cardinality":"*"}]},{"$type":"Group","elements":[{"$type":"RuleCall","rule":{"$ref":"#/rules@20"},"arguments":[],"cardinality":"*"},{"$type":"Assignment","feature":"entries","operator":"+=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@5"},"arguments":[]}},{"$type":"Group","elements":[{"$type":"Keyword","value":","},{"$type":"RuleCall","rule":{"$ref":"#/rules@20"},"arguments":[],"cardinality":"*"},{"$type":"Assignment","feature":"entries","operator":"+=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@5"},"arguments":[]}}],"cardinality":"*"},{"$type":"RuleCall","rule":{"$ref":"#/rules@20"},"arguments":[],"cardinality":"*"}]}]},"definesHiddenTokens":false,"entry":false,"hiddenTokens":[],"parameters":[],"wildcard":false},{"$type":"ParserRule","name":"DetailedEntry","returnType":{"$ref":"#/interfaces@0"},"definition":{"$type":"Group","elements":[{"$type":"Assignment","feature":"axis","operator":"=","terminal":{"$type":"CrossReference","type":{"$ref":"#/rules@2"},"terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@19"},"arguments":[]},"deprecatedSyntax":false}},{"$type":"Keyword","value":":","cardinality":"?"},{"$type":"Assignment","feature":"value","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@17"},"arguments":[]}}]},"definesHiddenTokens":false,"entry":false,"fragment":false,"hiddenTokens":[],"parameters":[],"wildcard":false},{"$type":"ParserRule","name":"NumberEntry","returnType":{"$ref":"#/interfaces@0"},"definition":{"$type":"Assignment","feature":"value","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@17"},"arguments":[]}},"definesHiddenTokens":false,"entry":false,"fragment":false,"hiddenTokens":[],"parameters":[],"wildcard":false},{"$type":"ParserRule","name":"Option","definition":{"$type":"Alternatives","elements":[{"$type":"Group","elements":[{"$type":"Assignment","feature":"name","operator":"=","terminal":{"$type":"Keyword","value":"showLegend"}},{"$type":"Assignment","feature":"value","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@11"},"arguments":[]}}]},{"$type":"Group","elements":[{"$type":"Assignment","feature":"name","operator":"=","terminal":{"$type":"Keyword","value":"ticks"}},{"$type":"Assignment","feature":"value","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@17"},"arguments":[]}}]},{"$type":"Group","elements":[{"$type":"Assignment","feature":"name","operator":"=","terminal":{"$type":"Keyword","value":"max"}},{"$type":"Assignment","feature":"value","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@17"},"arguments":[]}}]},{"$type":"Group","elements":[{"$type":"Assignment","feature":"name","operator":"=","terminal":{"$type":"Keyword","value":"min"}},{"$type":"Assignment","feature":"value","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@17"},"arguments":[]}}]},{"$type":"Group","elements":[{"$type":"Assignment","feature":"name","operator":"=","terminal":{"$type":"Keyword","value":"graticule"}},{"$type":"Assignment","feature":"value","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@8"},"arguments":[]}}]}]},"definesHiddenTokens":false,"entry":false,"fragment":false,"hiddenTokens":[],"parameters":[],"wildcard":false},{"$type":"TerminalRule","name":"GRATICULE","type":{"$type":"ReturnType","name":"string"},"definition":{"$type":"TerminalAlternatives","elements":[{"$type":"CharacterRange","left":{"$type":"Keyword","value":"circle"}},{"$type":"CharacterRange","left":{"$type":"Keyword","value":"polygon"}}]},"fragment":false,"hidden":false},{"$type":"ParserRule","fragment":true,"name":"EOL","dataType":"string","definition":{"$type":"Alternatives","elements":[{"$type":"RuleCall","rule":{"$ref":"#/rules@20"},"arguments":[],"cardinality":"+"},{"$type":"EndOfFile"}]},"definesHiddenTokens":false,"entry":false,"hiddenTokens":[],"parameters":[],"wildcard":false},{"$type":"ParserRule","fragment":true,"name":"TitleAndAccessibilities","definition":{"$type":"Group","elements":[{"$type":"Alternatives","elements":[{"$type":"Assignment","feature":"accDescr","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@12"},"arguments":[]}},{"$type":"Assignment","feature":"accTitle","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@13"},"arguments":[]}},{"$type":"Assignment","feature":"title","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@14"},"arguments":[]}}]},{"$type":"RuleCall","rule":{"$ref":"#/rules@9"},"arguments":[]}],"cardinality":"+"},"definesHiddenTokens":false,"entry":false,"hiddenTokens":[],"parameters":[],"wildcard":false},{"$type":"TerminalRule","name":"BOOLEAN","type":{"$type":"ReturnType","name":"boolean"},"definition":{"$type":"TerminalAlternatives","elements":[{"$type":"CharacterRange","left":{"$type":"Keyword","value":"true"}},{"$type":"CharacterRange","left":{"$type":"Keyword","value":"false"}}]},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"ACC_DESCR","definition":{"$type":"RegexToken","regex":"/[\\\\t ]*accDescr(?:[\\\\t ]*:([^\\\\n\\\\r]*?(?=%%)|[^\\\\n\\\\r]*)|\\\\s*{([^}]*)})/"},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"ACC_TITLE","definition":{"$type":"RegexToken","regex":"/[\\\\t ]*accTitle[\\\\t ]*:(?:[^\\\\n\\\\r]*?(?=%%)|[^\\\\n\\\\r]*)/"},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"TITLE","definition":{"$type":"RegexToken","regex":"/[\\\\t ]*title(?:[\\\\t ][^\\\\n\\\\r]*?(?=%%)|[\\\\t ][^\\\\n\\\\r]*|)/"},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"FLOAT","type":{"$type":"ReturnType","name":"number"},"definition":{"$type":"RegexToken","regex":"/[0-9]+\\\\.[0-9]+(?!\\\\.)/"},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"INT","type":{"$type":"ReturnType","name":"number"},"definition":{"$type":"RegexToken","regex":"/0|[1-9][0-9]*(?!\\\\.)/"},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"NUMBER","type":{"$type":"ReturnType","name":"number"},"definition":{"$type":"TerminalAlternatives","elements":[{"$type":"TerminalRuleCall","rule":{"$ref":"#/rules@15"}},{"$type":"TerminalRuleCall","rule":{"$ref":"#/rules@16"}}]},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"STRING","type":{"$type":"ReturnType","name":"string"},"definition":{"$type":"RegexToken","regex":"/\\"([^\\"\\\\\\\\]|\\\\\\\\.)*\\"|'([^'\\\\\\\\]|\\\\\\\\.)*'/"},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"ID","type":{"$type":"ReturnType","name":"string"},"definition":{"$type":"RegexToken","regex":"/[\\\\w]([-\\\\w]*\\\\w)?/"},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"NEWLINE","definition":{"$type":"RegexToken","regex":"/\\\\r?\\\\n/"},"fragment":false,"hidden":false},{"$type":"TerminalRule","hidden":true,"name":"WHITESPACE","definition":{"$type":"RegexToken","regex":"/[\\\\t ]+/"},"fragment":false},{"$type":"TerminalRule","hidden":true,"name":"YAML","definition":{"$type":"RegexToken","regex":"/---[\\\\t ]*\\\\r?\\\\n(?:[\\\\S\\\\s]*?\\\\r?\\\\n)?---(?:\\\\r?\\\\n|(?!\\\\S))/"},"fragment":false},{"$type":"TerminalRule","hidden":true,"name":"DIRECTIVE","definition":{"$type":"RegexToken","regex":"/[\\\\t ]*%%{[\\\\S\\\\s]*?}%%(?:\\\\r?\\\\n|(?!\\\\S))/"},"fragment":false},{"$type":"TerminalRule","hidden":true,"name":"SINGLE_LINE_COMMENT","definition":{"$type":"RegexToken","regex":"/[\\\\t ]*%%[^\\\\n\\\\r]*/"},"fragment":false}],"interfaces":[{"$type":"Interface","name":"Entry","attributes":[{"$type":"TypeAttribute","name":"axis","isOptional":true,"type":{"$type":"ReferenceType","referenceType":{"$type":"SimpleType","typeRef":{"$ref":"#/rules@2"}}}},{"$type":"TypeAttribute","name":"value","type":{"$type":"SimpleType","primitiveType":"number"},"isOptional":false}],"superTypes":[]}],"definesHiddenTokens":false,"hiddenTokens":[],"types":[],"usedGrammars":[]}`),`RadarGrammar`),wD,TD=$(()=>wD??=CE(`{"$type":"Grammar","isDeclared":true,"name":"Treemap","rules":[{"$type":"ParserRule","fragment":true,"name":"TitleAndAccessibilities","definition":{"$type":"Alternatives","elements":[{"$type":"Assignment","feature":"accDescr","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@2"},"arguments":[]}},{"$type":"Assignment","feature":"accTitle","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@3"},"arguments":[]}},{"$type":"Assignment","feature":"title","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@4"},"arguments":[]}}],"cardinality":"+"},"definesHiddenTokens":false,"entry":false,"hiddenTokens":[],"parameters":[],"wildcard":false},{"$type":"TerminalRule","name":"BOOLEAN","type":{"$type":"ReturnType","name":"boolean"},"definition":{"$type":"TerminalAlternatives","elements":[{"$type":"CharacterRange","left":{"$type":"Keyword","value":"true"}},{"$type":"CharacterRange","left":{"$type":"Keyword","value":"false"}}]},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"ACC_DESCR","definition":{"$type":"RegexToken","regex":"/[\\\\t ]*accDescr(?:[\\\\t ]*:([^\\\\n\\\\r]*?(?=%%)|[^\\\\n\\\\r]*)|\\\\s*{([^}]*)})/"},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"ACC_TITLE","definition":{"$type":"RegexToken","regex":"/[\\\\t ]*accTitle[\\\\t ]*:(?:[^\\\\n\\\\r]*?(?=%%)|[^\\\\n\\\\r]*)/"},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"TITLE","definition":{"$type":"RegexToken","regex":"/[\\\\t ]*title(?:[\\\\t ][^\\\\n\\\\r]*?(?=%%)|[\\\\t ][^\\\\n\\\\r]*|)/"},"fragment":false,"hidden":false},{"$type":"ParserRule","entry":true,"name":"Treemap","returnType":{"$ref":"#/interfaces@4"},"definition":{"$type":"Group","elements":[{"$type":"RuleCall","rule":{"$ref":"#/rules@6"},"arguments":[]},{"$type":"Alternatives","elements":[{"$type":"RuleCall","rule":{"$ref":"#/rules@0"},"arguments":[]},{"$type":"Assignment","feature":"TreemapRows","operator":"+=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@14"},"arguments":[]}}],"cardinality":"*"}]},"definesHiddenTokens":false,"fragment":false,"hiddenTokens":[],"parameters":[],"wildcard":false},{"$type":"TerminalRule","name":"TREEMAP_KEYWORD","definition":{"$type":"TerminalAlternatives","elements":[{"$type":"CharacterRange","left":{"$type":"Keyword","value":"treemap-beta"}},{"$type":"CharacterRange","left":{"$type":"Keyword","value":"treemap"}}]},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"CLASS_DEF","definition":{"$type":"RegexToken","regex":"/classDef\\\\s+([a-zA-Z_][a-zA-Z0-9_]+)(?:\\\\s+([^;\\\\r\\\\n]*))?(?:;)?/"},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"STYLE_SEPARATOR","definition":{"$type":"CharacterRange","left":{"$type":"Keyword","value":":::"}},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"SEPARATOR","definition":{"$type":"CharacterRange","left":{"$type":"Keyword","value":":"}},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"COMMA","definition":{"$type":"CharacterRange","left":{"$type":"Keyword","value":","}},"fragment":false,"hidden":false},{"$type":"TerminalRule","hidden":true,"name":"WS","definition":{"$type":"RegexToken","regex":"/[ \\\\t]+/"},"fragment":false},{"$type":"TerminalRule","hidden":true,"name":"ML_COMMENT","definition":{"$type":"RegexToken","regex":"/\\\\%\\\\%[^\\\\n]*/"},"fragment":false},{"$type":"TerminalRule","hidden":true,"name":"NL","definition":{"$type":"RegexToken","regex":"/\\\\r?\\\\n/"},"fragment":false},{"$type":"ParserRule","name":"TreemapRow","definition":{"$type":"Group","elements":[{"$type":"Assignment","feature":"indent","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@19"},"arguments":[]},"cardinality":"?"},{"$type":"Alternatives","elements":[{"$type":"Assignment","feature":"item","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@16"},"arguments":[]}},{"$type":"RuleCall","rule":{"$ref":"#/rules@15"},"arguments":[]}]}]},"definesHiddenTokens":false,"entry":false,"fragment":false,"hiddenTokens":[],"parameters":[],"wildcard":false},{"$type":"ParserRule","name":"ClassDef","dataType":"string","definition":{"$type":"RuleCall","rule":{"$ref":"#/rules@7"},"arguments":[]},"definesHiddenTokens":false,"entry":false,"fragment":false,"hiddenTokens":[],"parameters":[],"wildcard":false},{"$type":"ParserRule","name":"Item","returnType":{"$ref":"#/interfaces@0"},"definition":{"$type":"Alternatives","elements":[{"$type":"RuleCall","rule":{"$ref":"#/rules@18"},"arguments":[]},{"$type":"RuleCall","rule":{"$ref":"#/rules@17"},"arguments":[]}]},"definesHiddenTokens":false,"entry":false,"fragment":false,"hiddenTokens":[],"parameters":[],"wildcard":false},{"$type":"ParserRule","name":"Section","returnType":{"$ref":"#/interfaces@1"},"definition":{"$type":"Group","elements":[{"$type":"Assignment","feature":"name","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@23"},"arguments":[]}},{"$type":"Group","elements":[{"$type":"RuleCall","rule":{"$ref":"#/rules@8"},"arguments":[]},{"$type":"Assignment","feature":"classSelector","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@20"},"arguments":[]}}],"cardinality":"?"}]},"definesHiddenTokens":false,"entry":false,"fragment":false,"hiddenTokens":[],"parameters":[],"wildcard":false},{"$type":"ParserRule","name":"Leaf","returnType":{"$ref":"#/interfaces@2"},"definition":{"$type":"Group","elements":[{"$type":"Assignment","feature":"name","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@23"},"arguments":[]}},{"$type":"RuleCall","rule":{"$ref":"#/rules@19"},"arguments":[],"cardinality":"?"},{"$type":"Alternatives","elements":[{"$type":"RuleCall","rule":{"$ref":"#/rules@9"},"arguments":[]},{"$type":"RuleCall","rule":{"$ref":"#/rules@10"},"arguments":[]}]},{"$type":"RuleCall","rule":{"$ref":"#/rules@19"},"arguments":[],"cardinality":"?"},{"$type":"Assignment","feature":"value","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@22"},"arguments":[]}},{"$type":"Group","elements":[{"$type":"RuleCall","rule":{"$ref":"#/rules@8"},"arguments":[]},{"$type":"Assignment","feature":"classSelector","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@20"},"arguments":[]}}],"cardinality":"?"}]},"definesHiddenTokens":false,"entry":false,"fragment":false,"hiddenTokens":[],"parameters":[],"wildcard":false},{"$type":"TerminalRule","name":"INDENTATION","definition":{"$type":"RegexToken","regex":"/[ \\\\t]{1,}/"},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"ID2","definition":{"$type":"RegexToken","regex":"/[a-zA-Z_][a-zA-Z0-9_]*/"},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"NUMBER2","definition":{"$type":"RegexToken","regex":"/[0-9_\\\\.\\\\,]+/"},"fragment":false,"hidden":false},{"$type":"ParserRule","name":"MyNumber","dataType":"number","definition":{"$type":"RuleCall","rule":{"$ref":"#/rules@21"},"arguments":[]},"definesHiddenTokens":false,"entry":false,"fragment":false,"hiddenTokens":[],"parameters":[],"wildcard":false},{"$type":"TerminalRule","name":"STRING2","definition":{"$type":"RegexToken","regex":"/\\"[^\\"]*\\"|'[^']*'/"},"fragment":false,"hidden":false}],"interfaces":[{"$type":"Interface","name":"Item","attributes":[{"$type":"TypeAttribute","name":"name","type":{"$type":"SimpleType","primitiveType":"string"},"isOptional":false},{"$type":"TypeAttribute","name":"classSelector","isOptional":true,"type":{"$type":"SimpleType","primitiveType":"string"}}],"superTypes":[]},{"$type":"Interface","name":"Section","superTypes":[{"$ref":"#/interfaces@0"}],"attributes":[]},{"$type":"Interface","name":"Leaf","superTypes":[{"$ref":"#/interfaces@0"}],"attributes":[{"$type":"TypeAttribute","name":"value","type":{"$type":"SimpleType","primitiveType":"number"},"isOptional":false}]},{"$type":"Interface","name":"ClassDefStatement","attributes":[{"$type":"TypeAttribute","name":"className","type":{"$type":"SimpleType","primitiveType":"string"},"isOptional":false},{"$type":"TypeAttribute","name":"styleText","type":{"$type":"SimpleType","primitiveType":"string"},"isOptional":false}],"superTypes":[]},{"$type":"Interface","name":"Treemap","attributes":[{"$type":"TypeAttribute","name":"TreemapRows","type":{"$type":"ArrayType","elementType":{"$type":"SimpleType","typeRef":{"$ref":"#/rules@14"}}},"isOptional":false},{"$type":"TypeAttribute","name":"title","isOptional":true,"type":{"$type":"SimpleType","primitiveType":"string"}},{"$type":"TypeAttribute","name":"accTitle","isOptional":true,"type":{"$type":"SimpleType","primitiveType":"string"}},{"$type":"TypeAttribute","name":"accDescr","isOptional":true,"type":{"$type":"SimpleType","primitiveType":"string"}}],"superTypes":[]}],"definesHiddenTokens":false,"hiddenTokens":[],"imports":[],"types":[],"usedGrammars":[],"$comment":"/**\\n * Treemap grammar for Langium\\n * Converted from mindmap grammar\\n *\\n * The ML_COMMENT and NL hidden terminals handle whitespace, comments, and newlines\\n * before the treemap keyword, allowing for empty lines and comments before the\\n * treemap declaration.\\n */"}`),`TreemapGrammar`),ED={languageId:`info`,fileExtensions:[`.mmd`,`.mermaid`],caseInsensitive:!1,mode:`production`},DD={languageId:`packet`,fileExtensions:[`.mmd`,`.mermaid`],caseInsensitive:!1,mode:`production`},OD={languageId:`pie`,fileExtensions:[`.mmd`,`.mermaid`],caseInsensitive:!1,mode:`production`},kD={languageId:`architecture`,fileExtensions:[`.mmd`,`.mermaid`],caseInsensitive:!1,mode:`production`},AD={languageId:`gitGraph`,fileExtensions:[`.mmd`,`.mermaid`],caseInsensitive:!1,mode:`production`},jD={languageId:`radar`,fileExtensions:[`.mmd`,`.mermaid`],caseInsensitive:!1,mode:`production`},MD={languageId:`treemap`,fileExtensions:[`.mmd`,`.mermaid`],caseInsensitive:!1,mode:`production`},ND={AstReflection:$(()=>new uD,`AstReflection`)},PD={Grammar:$(()=>pD(),`Grammar`),LanguageMetaData:$(()=>ED,`LanguageMetaData`),parser:{}},FD={Grammar:$(()=>hD(),`Grammar`),LanguageMetaData:$(()=>DD,`LanguageMetaData`),parser:{}},ID={Grammar:$(()=>_D(),`Grammar`),LanguageMetaData:$(()=>OD,`LanguageMetaData`),parser:{}},LD={Grammar:$(()=>yD(),`Grammar`),LanguageMetaData:$(()=>kD,`LanguageMetaData`),parser:{}},RD={Grammar:$(()=>xD(),`Grammar`),LanguageMetaData:$(()=>AD,`LanguageMetaData`),parser:{}},zD={Grammar:$(()=>CD(),`Grammar`),LanguageMetaData:$(()=>jD,`LanguageMetaData`),parser:{}},BD={Grammar:$(()=>TD(),`Grammar`),LanguageMetaData:$(()=>MD,`LanguageMetaData`),parser:{}},VD={ACC_DESCR:/accDescr(?:[\t ]*:([^\n\r]*)|\s*{([^}]*)})/,ACC_TITLE:/accTitle[\t ]*:([^\n\r]*)/,TITLE:/title([\t ][^\n\r]*|)/},HD=class extends gw{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=VD[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,`
|
|
80
|
+
`)}}},UD=class extends HD{static{$(this,`CommonValueConverter`)}runCustomConverter(e,t,n){}},WD=class extends hw{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 WD{static{$(this,`CommonTokenBuilder`)}});export{RD as a,FD as c,BD as d,$ as f,uE as g,lE as h,UD as i,ID as l,fE as m,HD as n,PD as o,yE as p,LD as r,ND as s,WD as t,zD as u};
|