claude-mpm 3.4.10__py3-none-any.whl → 5.4.85__py3-none-any.whl
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.
- claude_mpm/BUILD_NUMBER +1 -0
- claude_mpm/VERSION +1 -0
- claude_mpm/__init__.py +50 -12
- claude_mpm/__main__.py +7 -2
- claude_mpm/agents/BASE_AGENT.md +164 -0
- claude_mpm/agents/BASE_ENGINEER.md +658 -0
- claude_mpm/agents/CLAUDE_MPM_FOUNDERS_OUTPUT_STYLE.md +405 -0
- claude_mpm/agents/CLAUDE_MPM_OUTPUT_STYLE.md +112 -0
- claude_mpm/agents/CLAUDE_MPM_TEACHER_OUTPUT_STYLE.md +186 -0
- claude_mpm/agents/MEMORY.md +72 -0
- claude_mpm/agents/PM_INSTRUCTIONS.md +1429 -0
- claude_mpm/agents/WORKFLOW.md +111 -0
- claude_mpm/agents/__init__.py +92 -80
- claude_mpm/agents/agent-template.yaml +83 -0
- claude_mpm/agents/agent_loader.py +560 -745
- claude_mpm/agents/agent_loader_integration.py +53 -55
- claude_mpm/agents/agents_metadata.py +186 -27
- claude_mpm/agents/async_agent_loader.py +436 -0
- claude_mpm/agents/base_agent.json +8 -4
- claude_mpm/agents/frontmatter_validator.py +754 -0
- claude_mpm/agents/system_agent_config.py +222 -155
- claude_mpm/agents/templates/README.md +465 -0
- claude_mpm/agents/templates/__init__.py +17 -13
- claude_mpm/agents/templates/circuit-breakers.md +1391 -0
- claude_mpm/agents/templates/context-management-examples.md +544 -0
- claude_mpm/agents/templates/git-file-tracking.md +584 -0
- claude_mpm/agents/templates/pm-examples.md +474 -0
- claude_mpm/agents/templates/pm-red-flags.md +310 -0
- claude_mpm/agents/templates/pr-workflow-examples.md +427 -0
- claude_mpm/agents/templates/research-gate-examples.md +669 -0
- claude_mpm/agents/templates/response-format.md +583 -0
- claude_mpm/agents/templates/structured-questions-examples.md +615 -0
- claude_mpm/agents/templates/ticket-completeness-examples.md +139 -0
- claude_mpm/agents/templates/ticketing-examples.md +277 -0
- claude_mpm/agents/templates/validation-templates.md +312 -0
- claude_mpm/cli/__init__.py +94 -128
- claude_mpm/cli/__main__.py +33 -0
- claude_mpm/cli/chrome_devtools_installer.py +175 -0
- claude_mpm/cli/commands/__init__.py +36 -12
- claude_mpm/cli/commands/agent_manager.py +1403 -0
- claude_mpm/cli/commands/agent_source.py +774 -0
- claude_mpm/cli/commands/agent_state_manager.py +335 -0
- claude_mpm/cli/commands/agents.py +2501 -168
- claude_mpm/cli/commands/agents_cleanup.py +210 -0
- claude_mpm/cli/commands/agents_discover.py +338 -0
- claude_mpm/cli/commands/agents_reconcile.py +197 -0
- claude_mpm/cli/commands/aggregate.py +540 -0
- claude_mpm/cli/commands/analyze.py +553 -0
- claude_mpm/cli/commands/analyze_code.py +528 -0
- claude_mpm/cli/commands/auto_configure.py +1053 -0
- claude_mpm/cli/commands/cleanup.py +588 -0
- claude_mpm/cli/commands/cleanup_orphaned_agents.py +150 -0
- claude_mpm/cli/commands/config.py +586 -0
- claude_mpm/cli/commands/configure.py +3253 -0
- claude_mpm/cli/commands/configure_agent_display.py +282 -0
- claude_mpm/cli/commands/configure_behavior_manager.py +204 -0
- claude_mpm/cli/commands/configure_hook_manager.py +225 -0
- claude_mpm/cli/commands/configure_models.py +18 -0
- claude_mpm/cli/commands/configure_navigation.py +184 -0
- claude_mpm/cli/commands/configure_paths.py +104 -0
- claude_mpm/cli/commands/configure_persistence.py +254 -0
- claude_mpm/cli/commands/configure_startup_manager.py +646 -0
- claude_mpm/cli/commands/configure_template_editor.py +497 -0
- claude_mpm/cli/commands/configure_validators.py +73 -0
- claude_mpm/cli/commands/dashboard.py +286 -0
- claude_mpm/cli/commands/debug.py +1386 -0
- claude_mpm/cli/commands/doctor.py +243 -0
- claude_mpm/cli/commands/hook_errors.py +277 -0
- claude_mpm/cli/commands/info.py +195 -74
- claude_mpm/cli/commands/local_deploy.py +534 -0
- claude_mpm/cli/commands/mcp.py +205 -0
- claude_mpm/cli/commands/mcp_command_router.py +161 -0
- claude_mpm/cli/commands/mcp_config.py +154 -0
- claude_mpm/cli/commands/mcp_config_commands.py +20 -0
- claude_mpm/cli/commands/mcp_external_commands.py +249 -0
- claude_mpm/cli/commands/mcp_install_commands.py +346 -0
- claude_mpm/cli/commands/mcp_pipx_config.py +208 -0
- claude_mpm/cli/commands/mcp_server_commands.py +155 -0
- claude_mpm/cli/commands/mcp_setup_external.py +868 -0
- claude_mpm/cli/commands/mcp_tool_commands.py +34 -0
- claude_mpm/cli/commands/memory.py +585 -846
- claude_mpm/cli/commands/monitor.py +228 -310
- claude_mpm/cli/commands/mpm_init/__init__.py +73 -0
- claude_mpm/cli/commands/mpm_init/core.py +759 -0
- claude_mpm/cli/commands/mpm_init/display.py +341 -0
- claude_mpm/cli/commands/mpm_init/git_activity.py +427 -0
- claude_mpm/cli/commands/mpm_init/knowledge_extractor.py +481 -0
- claude_mpm/cli/commands/mpm_init/modes.py +397 -0
- claude_mpm/cli/commands/mpm_init/prompts.py +722 -0
- claude_mpm/cli/commands/mpm_init_cli.py +396 -0
- claude_mpm/cli/commands/mpm_init_handler.py +195 -0
- claude_mpm/cli/commands/postmortem.py +401 -0
- claude_mpm/cli/commands/profile.py +276 -0
- claude_mpm/cli/commands/run.py +910 -488
- claude_mpm/cli/commands/search.py +458 -0
- claude_mpm/cli/commands/skill_source.py +694 -0
- claude_mpm/cli/commands/skills.py +1398 -0
- claude_mpm/cli/commands/summarize.py +413 -0
- claude_mpm/cli/commands/tickets.py +536 -53
- claude_mpm/cli/commands/uninstall.py +176 -0
- claude_mpm/cli/commands/upgrade.py +152 -0
- claude_mpm/cli/commands/verify.py +119 -0
- claude_mpm/cli/executor.py +298 -0
- claude_mpm/cli/helpers.py +105 -0
- claude_mpm/cli/interactive/__init__.py +31 -0
- claude_mpm/cli/interactive/agent_wizard.py +1927 -0
- claude_mpm/cli/interactive/questionary_styles.py +65 -0
- claude_mpm/cli/interactive/skill_selector.py +481 -0
- claude_mpm/cli/interactive/skills_wizard.py +491 -0
- claude_mpm/cli/parser.py +87 -563
- claude_mpm/cli/parsers/__init__.py +35 -0
- claude_mpm/cli/parsers/agent_manager_parser.py +393 -0
- claude_mpm/cli/parsers/agent_source_parser.py +171 -0
- claude_mpm/cli/parsers/agents_parser.py +575 -0
- claude_mpm/cli/parsers/analyze_code_parser.py +170 -0
- claude_mpm/cli/parsers/analyze_parser.py +135 -0
- claude_mpm/cli/parsers/auto_configure_parser.py +120 -0
- claude_mpm/cli/parsers/base_parser.py +649 -0
- claude_mpm/cli/parsers/config_parser.py +208 -0
- claude_mpm/cli/parsers/configure_parser.py +138 -0
- claude_mpm/cli/parsers/dashboard_parser.py +113 -0
- claude_mpm/cli/parsers/debug_parser.py +319 -0
- claude_mpm/cli/parsers/local_deploy_parser.py +227 -0
- claude_mpm/cli/parsers/mcp_parser.py +195 -0
- claude_mpm/cli/parsers/memory_parser.py +138 -0
- claude_mpm/cli/parsers/monitor_parser.py +142 -0
- claude_mpm/cli/parsers/mpm_init_parser.py +311 -0
- claude_mpm/cli/parsers/profile_parser.py +147 -0
- claude_mpm/cli/parsers/run_parser.py +157 -0
- claude_mpm/cli/parsers/search_parser.py +245 -0
- claude_mpm/cli/parsers/skill_source_parser.py +169 -0
- claude_mpm/cli/parsers/skills_parser.py +277 -0
- claude_mpm/cli/parsers/source_parser.py +138 -0
- claude_mpm/cli/parsers/tickets_parser.py +203 -0
- claude_mpm/cli/shared/__init__.py +40 -0
- claude_mpm/cli/shared/argument_patterns.py +205 -0
- claude_mpm/cli/shared/base_command.py +242 -0
- claude_mpm/cli/shared/error_handling.py +242 -0
- claude_mpm/cli/shared/output_formatters.py +241 -0
- claude_mpm/cli/startup.py +1578 -0
- claude_mpm/cli/startup_display.py +480 -0
- claude_mpm/cli/startup_logging.py +839 -0
- claude_mpm/cli/utils.py +136 -47
- claude_mpm/cli_module/__init__.py +6 -6
- claude_mpm/cli_module/args.py +188 -140
- claude_mpm/cli_module/commands.py +79 -70
- claude_mpm/cli_module/migration_example.py +42 -64
- claude_mpm/commands/__init__.py +14 -0
- claude_mpm/commands/mpm-config.md +28 -0
- claude_mpm/commands/mpm-doctor.md +20 -0
- claude_mpm/commands/mpm-help.md +20 -0
- claude_mpm/commands/mpm-init.md +120 -0
- claude_mpm/commands/mpm-monitor.md +31 -0
- claude_mpm/commands/mpm-organize.md +120 -0
- claude_mpm/commands/mpm-postmortem.md +21 -0
- claude_mpm/commands/mpm-session-resume.md +30 -0
- claude_mpm/commands/mpm-status.md +20 -0
- claude_mpm/commands/mpm-ticket-view.md +109 -0
- claude_mpm/commands/mpm-version.md +20 -0
- claude_mpm/commands/mpm.md +31 -0
- claude_mpm/config/__init__.py +42 -2
- claude_mpm/config/agent_config.py +402 -0
- claude_mpm/config/agent_presets.py +488 -0
- claude_mpm/config/agent_sources.py +352 -0
- claude_mpm/config/experimental_features.py +217 -0
- claude_mpm/config/model_config.py +428 -0
- claude_mpm/config/paths.py +258 -0
- claude_mpm/config/skill_presets.py +392 -0
- claude_mpm/config/skill_sources.py +590 -0
- claude_mpm/config/socketio_config.py +125 -83
- claude_mpm/constants.py +133 -22
- claude_mpm/core/__init__.py +62 -36
- claude_mpm/core/agent_name_normalizer.py +71 -73
- claude_mpm/core/agent_registry.py +385 -492
- claude_mpm/core/agent_session_manager.py +81 -70
- claude_mpm/core/api_validator.py +330 -0
- claude_mpm/core/base_service.py +159 -122
- claude_mpm/core/cache.py +560 -0
- claude_mpm/core/claude_runner.py +696 -916
- claude_mpm/core/config.py +613 -122
- claude_mpm/core/config_aliases.py +74 -73
- claude_mpm/core/config_constants.py +314 -0
- claude_mpm/core/constants.py +361 -0
- claude_mpm/core/container.py +646 -104
- claude_mpm/core/enums.py +452 -0
- claude_mpm/core/error_handler.py +623 -0
- claude_mpm/core/exceptions.py +536 -0
- claude_mpm/core/factories.py +105 -109
- claude_mpm/core/file_utils.py +764 -0
- claude_mpm/core/framework/__init__.py +25 -0
- claude_mpm/core/framework/formatters/__init__.py +11 -0
- claude_mpm/core/framework/formatters/capability_generator.py +367 -0
- claude_mpm/core/framework/formatters/content_formatter.py +278 -0
- claude_mpm/core/framework/formatters/context_generator.py +185 -0
- claude_mpm/core/framework/loaders/__init__.py +13 -0
- claude_mpm/core/framework/loaders/agent_loader.py +213 -0
- claude_mpm/core/framework/loaders/file_loader.py +176 -0
- claude_mpm/core/framework/loaders/instruction_loader.py +222 -0
- claude_mpm/core/framework/loaders/packaged_loader.py +232 -0
- claude_mpm/core/framework/processors/__init__.py +11 -0
- claude_mpm/core/framework/processors/memory_processor.py +230 -0
- claude_mpm/core/framework/processors/metadata_processor.py +146 -0
- claude_mpm/core/framework/processors/template_processor.py +244 -0
- claude_mpm/core/framework_loader.py +485 -414
- claude_mpm/core/hook_error_memory.py +381 -0
- claude_mpm/core/hook_manager.py +246 -86
- claude_mpm/core/hook_performance_config.py +147 -0
- claude_mpm/core/injectable_service.py +72 -63
- claude_mpm/core/instruction_reinforcement_hook.py +267 -0
- claude_mpm/core/interactive_session.py +670 -0
- claude_mpm/core/interfaces.py +570 -164
- claude_mpm/core/lazy.py +467 -0
- claude_mpm/core/log_manager.py +707 -0
- claude_mpm/core/logger.py +295 -134
- claude_mpm/core/logging_config.py +474 -0
- claude_mpm/core/logging_utils.py +520 -0
- claude_mpm/core/minimal_framework_loader.py +24 -22
- claude_mpm/core/mixins.py +30 -29
- claude_mpm/core/oneshot_session.py +594 -0
- claude_mpm/core/optimized_agent_loader.py +479 -0
- claude_mpm/core/optimized_startup.py +554 -0
- claude_mpm/core/output_style_manager.py +491 -0
- claude_mpm/core/pm_hook_interceptor.py +197 -82
- claude_mpm/core/protocols/__init__.py +23 -0
- claude_mpm/core/protocols/runner_protocol.py +103 -0
- claude_mpm/core/protocols/session_protocol.py +131 -0
- claude_mpm/core/service_registry.py +153 -116
- claude_mpm/core/session_manager.py +179 -64
- claude_mpm/core/shared/__init__.py +17 -0
- claude_mpm/core/shared/config_loader.py +326 -0
- claude_mpm/core/shared/path_resolver.py +281 -0
- claude_mpm/core/shared/singleton_manager.py +221 -0
- claude_mpm/core/socketio_pool.py +400 -137
- claude_mpm/core/system_context.py +38 -0
- claude_mpm/core/tool_access_control.py +64 -57
- claude_mpm/core/types.py +307 -0
- claude_mpm/core/typing_utils.py +553 -0
- claude_mpm/core/unified_agent_registry.py +969 -0
- claude_mpm/core/unified_config.py +612 -0
- claude_mpm/core/unified_paths.py +958 -0
- claude_mpm/dashboard/__init__.py +12 -0
- claude_mpm/dashboard/api/simple_directory.py +261 -0
- claude_mpm/dashboard/static/svelte-build/_app/env.js +1 -0
- claude_mpm/dashboard/static/svelte-build/_app/immutable/assets/0.DWzvg0-y.css +1 -0
- claude_mpm/dashboard/static/svelte-build/_app/immutable/assets/2.ThTw9_ym.css +1 -0
- claude_mpm/dashboard/static/svelte-build/_app/immutable/chunks/4TdZjIqw.js +1 -0
- claude_mpm/dashboard/static/svelte-build/_app/immutable/chunks/5shd3_w0.js +24 -0
- claude_mpm/dashboard/static/svelte-build/_app/immutable/chunks/B0uc0UOD.js +36 -0
- claude_mpm/dashboard/static/svelte-build/_app/immutable/chunks/B7RN905-.js +1 -0
- claude_mpm/dashboard/static/svelte-build/_app/immutable/chunks/B7xVLGWV.js +2 -0
- claude_mpm/dashboard/static/svelte-build/_app/immutable/chunks/BIF9m_hv.js +61 -0
- claude_mpm/dashboard/static/svelte-build/_app/immutable/chunks/BKjSRqUr.js +1 -0
- claude_mpm/dashboard/static/svelte-build/_app/immutable/chunks/BPYeabCQ.js +1 -0
- claude_mpm/dashboard/static/svelte-build/_app/immutable/chunks/BQaXIfA_.js +331 -0
- claude_mpm/dashboard/static/svelte-build/_app/immutable/chunks/BSNlmTZj.js +1 -0
- claude_mpm/dashboard/static/svelte-build/_app/immutable/chunks/Be7GpZd6.js +7 -0
- claude_mpm/dashboard/static/svelte-build/_app/immutable/chunks/Bh0LDWpI.js +145 -0
- claude_mpm/dashboard/static/svelte-build/_app/immutable/chunks/BofRWZRR.js +10 -0
- claude_mpm/dashboard/static/svelte-build/_app/immutable/chunks/BovzEFCE.js +30 -0
- claude_mpm/dashboard/static/svelte-build/_app/immutable/chunks/C30mlcqg.js +165 -0
- claude_mpm/dashboard/static/svelte-build/_app/immutable/chunks/C4B-KCzX.js +1 -0
- claude_mpm/dashboard/static/svelte-build/_app/immutable/chunks/C4JcI4KD.js +122 -0
- claude_mpm/dashboard/static/svelte-build/_app/immutable/chunks/CBBdVcY8.js +1 -0
- claude_mpm/dashboard/static/svelte-build/_app/immutable/chunks/CDuw-vjf.js +1 -0
- claude_mpm/dashboard/static/svelte-build/_app/immutable/chunks/C_Usid8X.js +15 -0
- claude_mpm/dashboard/static/svelte-build/_app/immutable/chunks/Cfqx1Qun.js +10 -0
- claude_mpm/dashboard/static/svelte-build/_app/immutable/chunks/CiIAseT4.js +128 -0
- claude_mpm/dashboard/static/svelte-build/_app/immutable/chunks/CmKTTxBW.js +1 -0
- claude_mpm/dashboard/static/svelte-build/_app/immutable/chunks/CnA0NrzZ.js +1 -0
- claude_mpm/dashboard/static/svelte-build/_app/immutable/chunks/Cs_tUR18.js +24 -0
- claude_mpm/dashboard/static/svelte-build/_app/immutable/chunks/Cu_Erd72.js +261 -0
- claude_mpm/dashboard/static/svelte-build/_app/immutable/chunks/CyWMqx4W.js +43 -0
- claude_mpm/dashboard/static/svelte-build/_app/immutable/chunks/CzZX-COe.js +220 -0
- claude_mpm/dashboard/static/svelte-build/_app/immutable/chunks/CzeYkLYB.js +65 -0
- claude_mpm/dashboard/static/svelte-build/_app/immutable/chunks/D3k0OPJN.js +4 -0
- claude_mpm/dashboard/static/svelte-build/_app/immutable/chunks/D9lljYKQ.js +1 -0
- claude_mpm/dashboard/static/svelte-build/_app/immutable/chunks/DGkLK5U1.js +267 -0
- claude_mpm/dashboard/static/svelte-build/_app/immutable/chunks/DI7hHRFL.js +1 -0
- claude_mpm/dashboard/static/svelte-build/_app/immutable/chunks/DLVjFsZ3.js +139 -0
- claude_mpm/dashboard/static/svelte-build/_app/immutable/chunks/DUrLdbGD.js +89 -0
- claude_mpm/dashboard/static/svelte-build/_app/immutable/chunks/DVp1hx9R.js +1 -0
- claude_mpm/dashboard/static/svelte-build/_app/immutable/chunks/DY1XQ8fi.js +2 -0
- claude_mpm/dashboard/static/svelte-build/_app/immutable/chunks/DZX00Y4g.js +1 -0
- claude_mpm/dashboard/static/svelte-build/_app/immutable/chunks/Da0KfYnO.js +1 -0
- claude_mpm/dashboard/static/svelte-build/_app/immutable/chunks/DaimHw_p.js +68 -0
- claude_mpm/dashboard/static/svelte-build/_app/immutable/chunks/Dfy6j1xT.js +323 -0
- claude_mpm/dashboard/static/svelte-build/_app/immutable/chunks/Dhb8PKl3.js +1 -0
- claude_mpm/dashboard/static/svelte-build/_app/immutable/chunks/Dle-35c7.js +64 -0
- claude_mpm/dashboard/static/svelte-build/_app/immutable/chunks/DmxopI1J.js +1 -0
- claude_mpm/dashboard/static/svelte-build/_app/immutable/chunks/DwBR2MJi.js +60 -0
- claude_mpm/dashboard/static/svelte-build/_app/immutable/chunks/GYwsonyD.js +1 -0
- claude_mpm/dashboard/static/svelte-build/_app/immutable/chunks/Gi6I4Gst.js +1 -0
- claude_mpm/dashboard/static/svelte-build/_app/immutable/chunks/NqQ1dWOy.js +1 -0
- claude_mpm/dashboard/static/svelte-build/_app/immutable/chunks/RJiighC3.js +1 -0
- claude_mpm/dashboard/static/svelte-build/_app/immutable/chunks/Vzk33B_K.js +2 -0
- claude_mpm/dashboard/static/svelte-build/_app/immutable/chunks/ZGh7QtNv.js +7 -0
- claude_mpm/dashboard/static/svelte-build/_app/immutable/chunks/bT1r9zLR.js +1 -0
- claude_mpm/dashboard/static/svelte-build/_app/immutable/chunks/bTOqqlTd.js +1 -0
- claude_mpm/dashboard/static/svelte-build/_app/immutable/chunks/eNVUfhuA.js +1 -0
- claude_mpm/dashboard/static/svelte-build/_app/immutable/chunks/iEWssX7S.js +162 -0
- claude_mpm/dashboard/static/svelte-build/_app/immutable/chunks/sQeU3Y1z.js +1 -0
- claude_mpm/dashboard/static/svelte-build/_app/immutable/chunks/uuIeMWc-.js +1 -0
- claude_mpm/dashboard/static/svelte-build/_app/immutable/entry/app.D6-I5TpK.js +2 -0
- claude_mpm/dashboard/static/svelte-build/_app/immutable/entry/start.NWzMBYRp.js +1 -0
- claude_mpm/dashboard/static/svelte-build/_app/immutable/nodes/0.m1gL8KXf.js +1 -0
- claude_mpm/dashboard/static/svelte-build/_app/immutable/nodes/1.CgNOuw-d.js +1 -0
- claude_mpm/dashboard/static/svelte-build/_app/immutable/nodes/2.C0GcWctS.js +1 -0
- claude_mpm/dashboard/static/svelte-build/_app/version.json +1 -0
- claude_mpm/dashboard/static/svelte-build/favicon.svg +7 -0
- claude_mpm/dashboard/static/svelte-build/index.html +36 -0
- claude_mpm/dashboard-svelte/node_modules/katex/src/fonts/generate_fonts.py +58 -0
- claude_mpm/dashboard-svelte/node_modules/katex/src/metrics/extract_tfms.py +114 -0
- claude_mpm/dashboard-svelte/node_modules/katex/src/metrics/extract_ttfs.py +122 -0
- claude_mpm/dashboard-svelte/node_modules/katex/src/metrics/format_json.py +28 -0
- claude_mpm/dashboard-svelte/node_modules/katex/src/metrics/parse_tfm.py +211 -0
- claude_mpm/experimental/__init__.py +10 -0
- claude_mpm/experimental/cli_enhancements.py +104 -89
- claude_mpm/generators/__init__.py +1 -1
- claude_mpm/generators/agent_profile_generator.py +76 -66
- claude_mpm/hooks/__init__.py +37 -1
- claude_mpm/hooks/base_hook.py +37 -32
- claude_mpm/hooks/claude_hooks/__init__.py +1 -1
- claude_mpm/hooks/claude_hooks/connection_pool.py +250 -0
- claude_mpm/hooks/claude_hooks/correlation_manager.py +60 -0
- claude_mpm/hooks/claude_hooks/event_handlers.py +888 -0
- claude_mpm/hooks/claude_hooks/hook_handler.py +652 -875
- claude_mpm/hooks/claude_hooks/hook_wrapper.sh +10 -7
- claude_mpm/hooks/claude_hooks/installer.py +806 -0
- claude_mpm/hooks/claude_hooks/memory_integration.py +249 -0
- claude_mpm/hooks/claude_hooks/response_tracking.py +412 -0
- claude_mpm/hooks/claude_hooks/services/__init__.py +15 -0
- claude_mpm/hooks/claude_hooks/services/connection_manager.py +229 -0
- claude_mpm/hooks/claude_hooks/services/connection_manager_http.py +254 -0
- claude_mpm/hooks/claude_hooks/services/duplicate_detector.py +106 -0
- claude_mpm/hooks/claude_hooks/services/state_manager.py +284 -0
- claude_mpm/hooks/claude_hooks/services/subagent_processor.py +374 -0
- claude_mpm/hooks/claude_hooks/tool_analysis.py +224 -0
- claude_mpm/hooks/failure_learning/__init__.py +54 -0
- claude_mpm/hooks/failure_learning/failure_detection_hook.py +230 -0
- claude_mpm/hooks/failure_learning/fix_detection_hook.py +212 -0
- claude_mpm/hooks/failure_learning/learning_extraction_hook.py +281 -0
- claude_mpm/hooks/instruction_reinforcement.py +301 -0
- claude_mpm/hooks/kuzu_enrichment_hook.py +263 -0
- claude_mpm/hooks/kuzu_memory_hook.py +386 -0
- claude_mpm/hooks/kuzu_response_hook.py +179 -0
- claude_mpm/hooks/memory_integration_hook.py +201 -107
- claude_mpm/hooks/session_resume_hook.py +121 -0
- claude_mpm/hooks/templates/pre_tool_use_simple.py +78 -0
- claude_mpm/hooks/templates/pre_tool_use_template.py +323 -0
- claude_mpm/hooks/tool_call_interceptor.py +92 -76
- claude_mpm/hooks/validation_hooks.py +62 -54
- claude_mpm/init.py +518 -83
- claude_mpm/models/__init__.py +9 -9
- claude_mpm/models/agent_definition.py +40 -23
- claude_mpm/models/agent_session.py +538 -0
- claude_mpm/models/git_repository.py +198 -0
- claude_mpm/models/resume_log.py +340 -0
- claude_mpm/schemas/__init__.py +12 -0
- claude_mpm/scripts/__init__.py +15 -0
- claude_mpm/scripts/claude-hook-handler.sh +227 -0
- claude_mpm/scripts/launch_monitor.py +165 -0
- claude_mpm/scripts/mpm_doctor.py +322 -0
- claude_mpm/scripts/socketio_daemon.py +189 -200
- claude_mpm/scripts/start_activity_logging.py +91 -0
- claude_mpm/services/__init__.py +208 -39
- claude_mpm/services/agent_capabilities_service.py +266 -0
- claude_mpm/services/agents/__init__.py +89 -0
- claude_mpm/services/agents/agent_builder.py +514 -0
- claude_mpm/services/agents/agent_preset_service.py +238 -0
- claude_mpm/services/agents/agent_recommendation_service.py +278 -0
- claude_mpm/services/agents/agent_review_service.py +280 -0
- claude_mpm/services/agents/agent_selection_service.py +484 -0
- claude_mpm/services/agents/auto_config_manager.py +796 -0
- claude_mpm/services/agents/auto_deploy_index_parser.py +569 -0
- claude_mpm/services/agents/cache_git_manager.py +621 -0
- claude_mpm/services/agents/deployment/__init__.py +21 -0
- claude_mpm/services/agents/deployment/agent_config_provider.py +410 -0
- claude_mpm/services/agents/deployment/agent_configuration_manager.py +358 -0
- claude_mpm/services/agents/deployment/agent_definition_factory.py +80 -0
- claude_mpm/services/agents/deployment/agent_deployment.py +1037 -0
- claude_mpm/services/agents/deployment/agent_discovery_service.py +546 -0
- claude_mpm/services/agents/deployment/agent_environment_manager.py +288 -0
- claude_mpm/services/agents/deployment/agent_filesystem_manager.py +383 -0
- claude_mpm/services/agents/deployment/agent_format_converter.py +505 -0
- claude_mpm/services/agents/deployment/agent_frontmatter_validator.py +160 -0
- claude_mpm/services/agents/deployment/agent_lifecycle_manager.py +957 -0
- claude_mpm/services/agents/deployment/agent_metrics_collector.py +273 -0
- claude_mpm/services/agents/deployment/agent_operation_service.py +573 -0
- claude_mpm/services/agents/deployment/agent_record_service.py +418 -0
- claude_mpm/services/agents/deployment/agent_restore_handler.py +84 -0
- claude_mpm/services/agents/deployment/agent_state_service.py +381 -0
- claude_mpm/services/agents/deployment/agent_template_builder.py +1377 -0
- claude_mpm/services/agents/deployment/agent_validator.py +376 -0
- claude_mpm/services/agents/deployment/agent_version_manager.py +322 -0
- claude_mpm/services/{agent_versioning.py → agents/deployment/agent_versioning.py} +10 -13
- claude_mpm/services/agents/deployment/agents_directory_resolver.py +149 -0
- claude_mpm/services/agents/deployment/async_agent_deployment.py +768 -0
- claude_mpm/services/agents/deployment/base_agent_locator.py +132 -0
- claude_mpm/services/agents/deployment/config/__init__.py +13 -0
- claude_mpm/services/agents/deployment/config/deployment_config.py +181 -0
- claude_mpm/services/agents/deployment/config/deployment_config_manager.py +200 -0
- claude_mpm/services/agents/deployment/deployment_config_loader.py +178 -0
- claude_mpm/services/agents/deployment/deployment_reconciler.py +577 -0
- claude_mpm/services/agents/deployment/deployment_results_manager.py +185 -0
- claude_mpm/services/agents/deployment/deployment_type_detector.py +120 -0
- claude_mpm/services/agents/deployment/deployment_wrapper.py +129 -0
- claude_mpm/services/agents/deployment/facade/__init__.py +18 -0
- claude_mpm/services/agents/deployment/facade/async_deployment_executor.py +159 -0
- claude_mpm/services/agents/deployment/facade/deployment_executor.py +70 -0
- claude_mpm/services/agents/deployment/facade/deployment_facade.py +269 -0
- claude_mpm/services/agents/deployment/facade/sync_deployment_executor.py +178 -0
- claude_mpm/services/agents/deployment/interface_adapter.py +226 -0
- claude_mpm/services/agents/deployment/lifecycle_health_checker.py +85 -0
- claude_mpm/services/agents/deployment/lifecycle_performance_tracker.py +100 -0
- claude_mpm/services/agents/deployment/local_template_deployment.py +362 -0
- claude_mpm/services/agents/deployment/multi_source_deployment_service.py +1478 -0
- claude_mpm/services/agents/deployment/pipeline/__init__.py +32 -0
- claude_mpm/services/agents/deployment/pipeline/pipeline_builder.py +158 -0
- claude_mpm/services/agents/deployment/pipeline/pipeline_context.py +162 -0
- claude_mpm/services/agents/deployment/pipeline/pipeline_executor.py +169 -0
- claude_mpm/services/agents/deployment/pipeline/steps/__init__.py +19 -0
- claude_mpm/services/agents/deployment/pipeline/steps/agent_processing_step.py +240 -0
- claude_mpm/services/agents/deployment/pipeline/steps/base_step.py +110 -0
- claude_mpm/services/agents/deployment/pipeline/steps/configuration_step.py +80 -0
- claude_mpm/services/agents/deployment/pipeline/steps/target_directory_step.py +92 -0
- claude_mpm/services/agents/deployment/pipeline/steps/validation_step.py +101 -0
- claude_mpm/services/agents/deployment/processors/__init__.py +15 -0
- claude_mpm/services/agents/deployment/processors/agent_deployment_context.py +102 -0
- claude_mpm/services/agents/deployment/processors/agent_deployment_result.py +235 -0
- claude_mpm/services/agents/deployment/processors/agent_processor.py +269 -0
- claude_mpm/services/agents/deployment/refactored_agent_deployment_service.py +311 -0
- claude_mpm/services/agents/deployment/remote_agent_discovery_service.py +862 -0
- claude_mpm/services/agents/deployment/results/__init__.py +13 -0
- claude_mpm/services/agents/deployment/results/deployment_metrics.py +200 -0
- claude_mpm/services/agents/deployment/results/deployment_result_builder.py +249 -0
- claude_mpm/services/agents/deployment/single_agent_deployer.py +315 -0
- claude_mpm/services/agents/deployment/startup_reconciliation.py +138 -0
- claude_mpm/services/agents/deployment/strategies/__init__.py +25 -0
- claude_mpm/services/agents/deployment/strategies/base_strategy.py +113 -0
- claude_mpm/services/agents/deployment/strategies/project_strategy.py +148 -0
- claude_mpm/services/agents/deployment/strategies/strategy_selector.py +117 -0
- claude_mpm/services/agents/deployment/strategies/system_strategy.py +131 -0
- claude_mpm/services/agents/deployment/strategies/user_strategy.py +130 -0
- claude_mpm/services/agents/deployment/system_instructions_deployer.py +228 -0
- claude_mpm/services/agents/deployment/validation/__init__.py +21 -0
- claude_mpm/services/agents/deployment/validation/agent_validator.py +323 -0
- claude_mpm/services/agents/deployment/validation/deployment_validator.py +238 -0
- claude_mpm/services/agents/deployment/validation/template_validator.py +319 -0
- claude_mpm/services/agents/deployment/validation/validation_result.py +214 -0
- claude_mpm/services/agents/git_source_manager.py +682 -0
- claude_mpm/services/agents/loading/__init__.py +11 -0
- claude_mpm/services/{agent_profile_loader.py → agents/loading/agent_profile_loader.py} +306 -228
- claude_mpm/services/{base_agent_manager.py → agents/loading/base_agent_manager.py} +106 -91
- claude_mpm/services/agents/loading/framework_agent_loader.py +433 -0
- claude_mpm/services/agents/local_template_manager.py +784 -0
- claude_mpm/services/agents/management/__init__.py +9 -0
- claude_mpm/services/{agent_capabilities_generator.py → agents/management/agent_capabilities_generator.py} +92 -69
- claude_mpm/services/{agent_management_service.py → agents/management/agent_management_service.py} +219 -168
- claude_mpm/services/agents/memory/__init__.py +22 -0
- claude_mpm/services/agents/memory/agent_memory_manager.py +784 -0
- claude_mpm/services/{agent_persistence_service.py → agents/memory/agent_persistence_service.py} +20 -18
- claude_mpm/services/agents/memory/content_manager.py +470 -0
- claude_mpm/services/agents/memory/memory_categorization_service.py +167 -0
- claude_mpm/services/agents/memory/memory_file_service.py +129 -0
- claude_mpm/services/agents/memory/memory_format_service.py +201 -0
- claude_mpm/services/agents/memory/memory_limits_service.py +101 -0
- claude_mpm/services/agents/memory/template_generator.py +83 -0
- claude_mpm/services/agents/observers.py +547 -0
- claude_mpm/services/agents/recommender.py +617 -0
- claude_mpm/services/agents/registry/__init__.py +30 -0
- claude_mpm/services/agents/registry/deployed_agent_discovery.py +273 -0
- claude_mpm/services/{agent_modification_tracker.py → agents/registry/modification_tracker.py} +370 -295
- claude_mpm/services/agents/single_tier_deployment_service.py +696 -0
- claude_mpm/services/agents/sources/__init__.py +13 -0
- claude_mpm/services/agents/sources/agent_sync_state.py +516 -0
- claude_mpm/services/agents/sources/git_source_sync_service.py +1205 -0
- claude_mpm/services/agents/startup_sync.py +262 -0
- claude_mpm/services/agents/toolchain_detector.py +478 -0
- claude_mpm/services/analysis/__init__.py +35 -0
- claude_mpm/services/analysis/clone_detector.py +1030 -0
- claude_mpm/services/analysis/postmortem_reporter.py +474 -0
- claude_mpm/services/analysis/postmortem_service.py +765 -0
- claude_mpm/services/async_session_logger.py +665 -0
- claude_mpm/services/claude_session_logger.py +321 -0
- claude_mpm/services/cli/__init__.py +18 -0
- claude_mpm/services/cli/agent_cleanup_service.py +408 -0
- claude_mpm/services/cli/agent_dependency_service.py +395 -0
- claude_mpm/services/cli/agent_listing_service.py +463 -0
- claude_mpm/services/cli/agent_output_formatter.py +605 -0
- claude_mpm/services/cli/agent_validation_service.py +590 -0
- claude_mpm/services/cli/memory_crud_service.py +622 -0
- claude_mpm/services/cli/memory_output_formatter.py +604 -0
- claude_mpm/services/cli/resume_service.py +617 -0
- claude_mpm/services/cli/session_manager.py +604 -0
- claude_mpm/services/cli/session_pause_manager.py +504 -0
- claude_mpm/services/cli/session_resume_helper.py +372 -0
- claude_mpm/services/cli/startup_checker.py +362 -0
- claude_mpm/services/cli/unified_dashboard_manager.py +439 -0
- claude_mpm/services/command_deployment_service.py +446 -0
- claude_mpm/services/command_handler_service.py +221 -0
- claude_mpm/services/communication/__init__.py +22 -0
- claude_mpm/services/core/__init__.py +108 -0
- claude_mpm/services/core/base.py +269 -0
- claude_mpm/services/core/cache_manager.py +309 -0
- claude_mpm/services/core/interfaces/__init__.py +273 -0
- claude_mpm/services/core/interfaces/agent.py +514 -0
- claude_mpm/services/core/interfaces/communication.py +316 -0
- claude_mpm/services/core/interfaces/health.py +169 -0
- claude_mpm/services/core/interfaces/infrastructure.py +357 -0
- claude_mpm/services/core/interfaces/model.py +281 -0
- claude_mpm/services/core/interfaces/process.py +372 -0
- claude_mpm/services/core/interfaces/project.py +121 -0
- claude_mpm/services/core/interfaces/restart.py +307 -0
- claude_mpm/services/core/interfaces/service.py +405 -0
- claude_mpm/services/core/interfaces/stability.py +260 -0
- claude_mpm/services/core/interfaces.py +81 -0
- claude_mpm/services/core/memory_manager.py +682 -0
- claude_mpm/services/core/models/__init__.py +70 -0
- claude_mpm/services/core/models/agent_config.py +384 -0
- claude_mpm/services/core/models/health.py +162 -0
- claude_mpm/services/core/models/process.py +239 -0
- claude_mpm/services/core/models/restart.py +302 -0
- claude_mpm/services/core/models/stability.py +264 -0
- claude_mpm/services/core/models/toolchain.py +306 -0
- claude_mpm/services/core/path_resolver.py +517 -0
- claude_mpm/services/core/service_container.py +520 -0
- claude_mpm/services/core/service_interfaces.py +436 -0
- claude_mpm/services/diagnostics/__init__.py +18 -0
- claude_mpm/services/diagnostics/checks/__init__.py +38 -0
- claude_mpm/services/diagnostics/checks/agent_check.py +370 -0
- claude_mpm/services/diagnostics/checks/agent_sources_check.py +577 -0
- claude_mpm/services/diagnostics/checks/base_check.py +60 -0
- claude_mpm/services/diagnostics/checks/claude_code_check.py +270 -0
- claude_mpm/services/diagnostics/checks/common_issues_check.py +363 -0
- claude_mpm/services/diagnostics/checks/configuration_check.py +306 -0
- claude_mpm/services/diagnostics/checks/filesystem_check.py +233 -0
- claude_mpm/services/diagnostics/checks/installation_check.py +520 -0
- claude_mpm/services/diagnostics/checks/instructions_check.py +415 -0
- claude_mpm/services/diagnostics/checks/mcp_check.py +330 -0
- claude_mpm/services/diagnostics/checks/mcp_services_check.py +1058 -0
- claude_mpm/services/diagnostics/checks/monitor_check.py +281 -0
- claude_mpm/services/diagnostics/checks/skill_sources_check.py +587 -0
- claude_mpm/services/diagnostics/checks/startup_log_check.py +319 -0
- claude_mpm/services/diagnostics/diagnostic_runner.py +286 -0
- claude_mpm/services/diagnostics/doctor_reporter.py +578 -0
- claude_mpm/services/diagnostics/models.py +138 -0
- claude_mpm/services/event_aggregator.py +582 -0
- claude_mpm/services/event_bus/__init__.py +18 -0
- claude_mpm/services/event_bus/config.py +186 -0
- claude_mpm/services/event_bus/direct_relay.py +312 -0
- claude_mpm/services/event_bus/event_bus.py +396 -0
- claude_mpm/services/event_bus/relay.py +326 -0
- claude_mpm/services/events/__init__.py +44 -0
- claude_mpm/services/events/consumers/__init__.py +18 -0
- claude_mpm/services/events/consumers/dead_letter.py +306 -0
- claude_mpm/services/events/consumers/logging.py +184 -0
- claude_mpm/services/events/consumers/metrics.py +241 -0
- claude_mpm/services/events/consumers/socketio.py +377 -0
- claude_mpm/services/events/core.py +480 -0
- claude_mpm/services/events/interfaces.py +214 -0
- claude_mpm/services/events/producers/__init__.py +14 -0
- claude_mpm/services/events/producers/hook.py +269 -0
- claude_mpm/services/events/producers/system.py +329 -0
- claude_mpm/services/exceptions.py +433 -353
- claude_mpm/services/framework_claude_md_generator/__init__.py +81 -80
- claude_mpm/services/framework_claude_md_generator/content_assembler.py +74 -67
- claude_mpm/services/framework_claude_md_generator/content_validator.py +66 -62
- claude_mpm/services/framework_claude_md_generator/deployment_manager.py +82 -60
- claude_mpm/services/framework_claude_md_generator/section_generators/__init__.py +36 -37
- claude_mpm/services/framework_claude_md_generator/section_generators/agents.py +41 -40
- claude_mpm/services/framework_claude_md_generator/section_generators/claude_pm_init.py +15 -15
- claude_mpm/services/framework_claude_md_generator/section_generators/core_responsibilities.py +5 -4
- claude_mpm/services/framework_claude_md_generator/section_generators/delegation_constraints.py +4 -3
- claude_mpm/services/framework_claude_md_generator/section_generators/environment_config.py +4 -3
- claude_mpm/services/framework_claude_md_generator/section_generators/footer.py +6 -5
- claude_mpm/services/framework_claude_md_generator/section_generators/header.py +8 -7
- claude_mpm/services/framework_claude_md_generator/section_generators/orchestration_principles.py +5 -4
- claude_mpm/services/framework_claude_md_generator/section_generators/role_designation.py +6 -5
- claude_mpm/services/framework_claude_md_generator/section_generators/subprocess_validation.py +9 -8
- claude_mpm/services/framework_claude_md_generator/section_generators/todo_task_tools.py +26 -30
- claude_mpm/services/framework_claude_md_generator/section_generators/troubleshooting.py +6 -5
- claude_mpm/services/framework_claude_md_generator/section_manager.py +28 -27
- claude_mpm/services/framework_claude_md_generator/version_manager.py +31 -30
- claude_mpm/services/git/__init__.py +21 -0
- claude_mpm/services/git/git_operations_service.py +579 -0
- claude_mpm/services/github/__init__.py +21 -0
- claude_mpm/services/github/github_cli_service.py +397 -0
- claude_mpm/services/hook_installer_service.py +506 -0
- claude_mpm/services/hook_service.py +159 -111
- claude_mpm/services/infrastructure/__init__.py +52 -0
- claude_mpm/services/infrastructure/context_preservation.py +569 -0
- claude_mpm/services/infrastructure/daemon_manager.py +279 -0
- claude_mpm/services/infrastructure/logging.py +209 -0
- claude_mpm/services/infrastructure/monitoring/__init__.py +39 -0
- claude_mpm/services/infrastructure/monitoring/aggregator.py +432 -0
- claude_mpm/services/infrastructure/monitoring/base.py +122 -0
- claude_mpm/services/infrastructure/monitoring/legacy.py +203 -0
- claude_mpm/services/infrastructure/monitoring/network.py +219 -0
- claude_mpm/services/infrastructure/monitoring/process.py +343 -0
- claude_mpm/services/infrastructure/monitoring/resources.py +244 -0
- claude_mpm/services/infrastructure/monitoring/service.py +368 -0
- claude_mpm/services/infrastructure/monitoring.py +71 -0
- claude_mpm/services/infrastructure/resume_log_generator.py +439 -0
- claude_mpm/services/instructions/__init__.py +9 -0
- claude_mpm/services/instructions/instruction_cache_service.py +374 -0
- claude_mpm/services/local_ops/__init__.py +155 -0
- claude_mpm/services/local_ops/crash_detector.py +257 -0
- claude_mpm/services/local_ops/health_checks/__init__.py +26 -0
- claude_mpm/services/local_ops/health_checks/http_check.py +224 -0
- claude_mpm/services/local_ops/health_checks/process_check.py +236 -0
- claude_mpm/services/local_ops/health_checks/resource_check.py +255 -0
- claude_mpm/services/local_ops/health_manager.py +427 -0
- claude_mpm/services/local_ops/log_monitor.py +396 -0
- claude_mpm/services/local_ops/memory_leak_detector.py +294 -0
- claude_mpm/services/local_ops/process_manager.py +595 -0
- claude_mpm/services/local_ops/resource_monitor.py +331 -0
- claude_mpm/services/local_ops/restart_manager.py +401 -0
- claude_mpm/services/local_ops/restart_policy.py +387 -0
- claude_mpm/services/local_ops/state_manager.py +372 -0
- claude_mpm/services/local_ops/unified_manager.py +600 -0
- claude_mpm/services/mcp_config_manager.py +1542 -0
- claude_mpm/services/mcp_service_verifier.py +732 -0
- claude_mpm/services/memory/__init__.py +19 -0
- claude_mpm/services/{memory_builder.py → memory/builder.py} +465 -373
- claude_mpm/services/memory/cache/__init__.py +14 -0
- claude_mpm/services/{shared_prompt_cache.py → memory/cache/shared_prompt_cache.py} +237 -200
- claude_mpm/services/memory/cache/simple_cache.py +331 -0
- claude_mpm/services/memory/failure_tracker.py +578 -0
- claude_mpm/services/memory/indexed_memory.py +648 -0
- claude_mpm/services/{memory_optimizer.py → memory/optimizer.py} +272 -243
- claude_mpm/services/memory/router.py +951 -0
- claude_mpm/services/memory_hook_service.py +470 -0
- claude_mpm/services/model/__init__.py +147 -0
- claude_mpm/services/model/base_provider.py +365 -0
- claude_mpm/services/model/claude_provider.py +412 -0
- claude_mpm/services/model/model_router.py +452 -0
- claude_mpm/services/model/ollama_provider.py +415 -0
- claude_mpm/services/monitor/__init__.py +20 -0
- claude_mpm/services/monitor/daemon.py +698 -0
- claude_mpm/services/monitor/daemon_manager.py +1076 -0
- claude_mpm/services/monitor/event_emitter.py +350 -0
- claude_mpm/services/monitor/handlers/__init__.py +21 -0
- claude_mpm/services/monitor/handlers/code_analysis.py +332 -0
- claude_mpm/services/monitor/handlers/dashboard.py +299 -0
- claude_mpm/services/monitor/handlers/file.py +264 -0
- claude_mpm/services/monitor/handlers/hooks.py +512 -0
- claude_mpm/services/monitor/management/__init__.py +18 -0
- claude_mpm/services/monitor/management/health.py +124 -0
- claude_mpm/services/monitor/management/lifecycle.py +730 -0
- claude_mpm/services/monitor/server.py +1493 -0
- claude_mpm/services/monitor_build_service.py +349 -0
- claude_mpm/services/native_agent_converter.py +356 -0
- claude_mpm/services/orphan_detection.py +786 -0
- claude_mpm/services/pm_skills_deployer.py +711 -0
- claude_mpm/services/port_manager.py +597 -0
- claude_mpm/services/pr/__init__.py +14 -0
- claude_mpm/services/pr/pr_template_service.py +329 -0
- claude_mpm/services/profile_manager.py +337 -0
- claude_mpm/services/project/__init__.py +44 -0
- claude_mpm/services/{project_analyzer.py → project/analyzer.py} +541 -291
- claude_mpm/services/project/analyzer_v2.py +566 -0
- claude_mpm/services/project/architecture_analyzer.py +461 -0
- claude_mpm/services/project/archive_manager.py +1045 -0
- claude_mpm/services/project/dependency_analyzer.py +462 -0
- claude_mpm/services/project/detection_strategies.py +719 -0
- claude_mpm/services/project/documentation_manager.py +554 -0
- claude_mpm/services/project/enhanced_analyzer.py +572 -0
- claude_mpm/services/project/language_analyzer.py +265 -0
- claude_mpm/services/project/metrics_collector.py +407 -0
- claude_mpm/services/project/project_organizer.py +1009 -0
- claude_mpm/services/project/registry.py +636 -0
- claude_mpm/services/project/toolchain_analyzer.py +583 -0
- claude_mpm/services/project_port_allocator.py +596 -0
- claude_mpm/services/recovery_manager.py +293 -240
- claude_mpm/services/response_tracker.py +267 -0
- claude_mpm/services/runner_configuration_service.py +605 -0
- claude_mpm/services/self_upgrade_service.py +608 -0
- claude_mpm/services/session_management_service.py +314 -0
- claude_mpm/services/session_manager.py +380 -0
- claude_mpm/services/shared/__init__.py +21 -0
- claude_mpm/services/shared/async_service_base.py +216 -0
- claude_mpm/services/shared/config_service_base.py +301 -0
- claude_mpm/services/shared/lifecycle_service_base.py +308 -0
- claude_mpm/services/shared/manager_base.py +315 -0
- claude_mpm/services/shared/service_factory.py +309 -0
- claude_mpm/services/skills/__init__.py +21 -0
- claude_mpm/services/skills/git_skill_source_manager.py +1340 -0
- claude_mpm/services/skills/selective_skill_deployer.py +743 -0
- claude_mpm/services/skills/skill_discovery_service.py +568 -0
- claude_mpm/services/skills/skill_to_agent_mapper.py +406 -0
- claude_mpm/services/skills_config.py +547 -0
- claude_mpm/services/skills_deployer.py +1168 -0
- claude_mpm/services/socketio/__init__.py +25 -0
- claude_mpm/services/socketio/client_proxy.py +229 -0
- claude_mpm/services/socketio/dashboard_server.py +362 -0
- claude_mpm/services/socketio/event_normalizer.py +798 -0
- claude_mpm/services/socketio/handlers/__init__.py +30 -0
- claude_mpm/services/socketio/handlers/base.py +136 -0
- claude_mpm/services/socketio/handlers/code_analysis.py +682 -0
- claude_mpm/services/socketio/handlers/connection.py +643 -0
- claude_mpm/services/socketio/handlers/connection_handler.py +333 -0
- claude_mpm/services/socketio/handlers/file.py +263 -0
- claude_mpm/services/socketio/handlers/git.py +962 -0
- claude_mpm/services/socketio/handlers/hook.py +211 -0
- claude_mpm/services/socketio/handlers/memory.py +26 -0
- claude_mpm/services/socketio/handlers/project.py +24 -0
- claude_mpm/services/socketio/handlers/registry.py +214 -0
- claude_mpm/services/socketio/migration_utils.py +343 -0
- claude_mpm/services/socketio/monitor_client.py +364 -0
- claude_mpm/services/socketio/server/__init__.py +18 -0
- claude_mpm/services/socketio/server/broadcaster.py +569 -0
- claude_mpm/services/socketio/server/connection_manager.py +579 -0
- claude_mpm/services/socketio/server/core.py +1079 -0
- claude_mpm/services/socketio/server/eventbus_integration.py +245 -0
- claude_mpm/services/socketio/server/main.py +501 -0
- claude_mpm/services/socketio_client_manager.py +173 -143
- claude_mpm/services/socketio_server.py +38 -1657
- claude_mpm/services/subprocess_launcher_service.py +322 -0
- claude_mpm/services/system_instructions_service.py +270 -0
- claude_mpm/services/ticket_manager.py +25 -209
- claude_mpm/services/ticket_services/__init__.py +26 -0
- claude_mpm/services/ticket_services/crud_service.py +328 -0
- claude_mpm/services/ticket_services/formatter_service.py +290 -0
- claude_mpm/services/ticket_services/search_service.py +324 -0
- claude_mpm/services/ticket_services/validation_service.py +303 -0
- claude_mpm/services/ticket_services/workflow_service.py +244 -0
- claude_mpm/services/unified/__init__.py +65 -0
- claude_mpm/services/unified/analyzer_strategies/__init__.py +44 -0
- claude_mpm/services/unified/analyzer_strategies/code_analyzer.py +518 -0
- claude_mpm/services/unified/analyzer_strategies/dependency_analyzer.py +680 -0
- claude_mpm/services/unified/analyzer_strategies/performance_analyzer.py +900 -0
- claude_mpm/services/unified/analyzer_strategies/security_analyzer.py +745 -0
- claude_mpm/services/unified/analyzer_strategies/structure_analyzer.py +733 -0
- claude_mpm/services/unified/config_strategies/__init__.py +175 -0
- claude_mpm/services/unified/config_strategies/config_schema.py +731 -0
- claude_mpm/services/unified/config_strategies/context_strategy.py +747 -0
- claude_mpm/services/unified/config_strategies/error_handling_strategy.py +1005 -0
- claude_mpm/services/unified/config_strategies/file_loader_strategy.py +881 -0
- claude_mpm/services/unified/config_strategies/unified_config_service.py +823 -0
- claude_mpm/services/unified/config_strategies/validation_strategy.py +1148 -0
- claude_mpm/services/unified/deployment_strategies/__init__.py +97 -0
- claude_mpm/services/unified/deployment_strategies/base.py +553 -0
- claude_mpm/services/unified/deployment_strategies/cloud_strategies.py +573 -0
- claude_mpm/services/unified/deployment_strategies/local.py +607 -0
- claude_mpm/services/unified/deployment_strategies/utils.py +667 -0
- claude_mpm/services/unified/deployment_strategies/vercel.py +471 -0
- claude_mpm/services/unified/interfaces.py +475 -0
- claude_mpm/services/unified/migration.py +509 -0
- claude_mpm/services/unified/strategies.py +534 -0
- claude_mpm/services/unified/unified_analyzer.py +542 -0
- claude_mpm/services/unified/unified_config.py +691 -0
- claude_mpm/services/unified/unified_deployment.py +466 -0
- claude_mpm/services/utility_service.py +280 -0
- claude_mpm/services/version_control/__init__.py +34 -37
- claude_mpm/services/version_control/branch_strategy.py +26 -17
- claude_mpm/services/version_control/conflict_resolution.py +52 -36
- claude_mpm/services/version_control/git_operations.py +183 -49
- claude_mpm/services/version_control/semantic_versioning.py +172 -61
- claude_mpm/services/version_control/version_parser.py +546 -0
- claude_mpm/services/version_service.py +379 -0
- claude_mpm/services/visualization/__init__.py +15 -0
- claude_mpm/services/visualization/mermaid_generator.py +937 -0
- claude_mpm/skills/__init__.py +42 -0
- claude_mpm/skills/agent_skills_injector.py +324 -0
- claude_mpm/skills/bundled/LICENSE_ATTRIBUTIONS.md +79 -0
- claude_mpm/skills/bundled/__init__.py +6 -0
- claude_mpm/skills/bundled/api-documentation.md +393 -0
- claude_mpm/skills/bundled/async-testing.md +571 -0
- claude_mpm/skills/bundled/code-review.md +143 -0
- claude_mpm/skills/bundled/collaboration/brainstorming/SKILL.md +79 -0
- claude_mpm/skills/bundled/collaboration/dispatching-parallel-agents/SKILL.md +178 -0
- claude_mpm/skills/bundled/collaboration/dispatching-parallel-agents/references/agent-prompts.md +577 -0
- claude_mpm/skills/bundled/collaboration/dispatching-parallel-agents/references/coordination-patterns.md +467 -0
- claude_mpm/skills/bundled/collaboration/dispatching-parallel-agents/references/examples.md +537 -0
- claude_mpm/skills/bundled/collaboration/dispatching-parallel-agents/references/troubleshooting.md +730 -0
- claude_mpm/skills/bundled/collaboration/git-worktrees.md +317 -0
- claude_mpm/skills/bundled/collaboration/requesting-code-review/SKILL.md +112 -0
- claude_mpm/skills/bundled/collaboration/requesting-code-review/references/code-reviewer-template.md +146 -0
- claude_mpm/skills/bundled/collaboration/requesting-code-review/references/review-examples.md +412 -0
- claude_mpm/skills/bundled/collaboration/stacked-prs.md +251 -0
- claude_mpm/skills/bundled/collaboration/writing-plans/SKILL.md +81 -0
- claude_mpm/skills/bundled/collaboration/writing-plans/references/best-practices.md +362 -0
- claude_mpm/skills/bundled/collaboration/writing-plans/references/plan-structure-templates.md +312 -0
- claude_mpm/skills/bundled/database-migration.md +199 -0
- claude_mpm/skills/bundled/debugging/root-cause-tracing/SKILL.md +152 -0
- claude_mpm/skills/bundled/debugging/root-cause-tracing/references/advanced-techniques.md +668 -0
- claude_mpm/skills/bundled/debugging/root-cause-tracing/references/examples.md +587 -0
- claude_mpm/skills/bundled/debugging/root-cause-tracing/references/integration.md +438 -0
- claude_mpm/skills/bundled/debugging/root-cause-tracing/references/tracing-techniques.md +391 -0
- claude_mpm/skills/bundled/debugging/systematic-debugging/CREATION-LOG.md +119 -0
- claude_mpm/skills/bundled/debugging/systematic-debugging/SKILL.md +148 -0
- claude_mpm/skills/bundled/debugging/systematic-debugging/references/anti-patterns.md +483 -0
- claude_mpm/skills/bundled/debugging/systematic-debugging/references/examples.md +452 -0
- claude_mpm/skills/bundled/debugging/systematic-debugging/references/troubleshooting.md +449 -0
- claude_mpm/skills/bundled/debugging/systematic-debugging/references/workflow.md +411 -0
- claude_mpm/skills/bundled/debugging/systematic-debugging/test-academic.md +14 -0
- claude_mpm/skills/bundled/debugging/systematic-debugging/test-pressure-1.md +58 -0
- claude_mpm/skills/bundled/debugging/systematic-debugging/test-pressure-2.md +68 -0
- claude_mpm/skills/bundled/debugging/systematic-debugging/test-pressure-3.md +69 -0
- claude_mpm/skills/bundled/debugging/verification-before-completion/SKILL.md +131 -0
- claude_mpm/skills/bundled/debugging/verification-before-completion/references/gate-function.md +325 -0
- claude_mpm/skills/bundled/debugging/verification-before-completion/references/integration-and-workflows.md +490 -0
- claude_mpm/skills/bundled/debugging/verification-before-completion/references/red-flags-and-failures.md +425 -0
- claude_mpm/skills/bundled/debugging/verification-before-completion/references/verification-patterns.md +499 -0
- claude_mpm/skills/bundled/docker-containerization.md +194 -0
- claude_mpm/skills/bundled/express-local-dev.md +1429 -0
- claude_mpm/skills/bundled/fastapi-local-dev.md +1199 -0
- claude_mpm/skills/bundled/git-workflow.md +414 -0
- claude_mpm/skills/bundled/imagemagick.md +204 -0
- claude_mpm/skills/bundled/infrastructure/env-manager/INTEGRATION.md +611 -0
- claude_mpm/skills/bundled/infrastructure/env-manager/README.md +596 -0
- claude_mpm/skills/bundled/infrastructure/env-manager/SKILL.md +260 -0
- claude_mpm/skills/bundled/infrastructure/env-manager/examples/nextjs-env-structure.md +315 -0
- claude_mpm/skills/bundled/infrastructure/env-manager/references/frameworks.md +436 -0
- claude_mpm/skills/bundled/infrastructure/env-manager/references/security.md +433 -0
- claude_mpm/skills/bundled/infrastructure/env-manager/references/synchronization.md +452 -0
- claude_mpm/skills/bundled/infrastructure/env-manager/references/troubleshooting.md +404 -0
- claude_mpm/skills/bundled/infrastructure/env-manager/references/validation.md +420 -0
- claude_mpm/skills/bundled/infrastructure/env-manager/scripts/validate_env.py +576 -0
- claude_mpm/skills/bundled/json-data-handling.md +223 -0
- claude_mpm/skills/bundled/main/artifacts-builder/SKILL.md +86 -0
- claude_mpm/skills/bundled/main/internal-comms/SKILL.md +43 -0
- claude_mpm/skills/bundled/main/internal-comms/examples/3p-updates.md +47 -0
- claude_mpm/skills/bundled/main/internal-comms/examples/company-newsletter.md +65 -0
- claude_mpm/skills/bundled/main/internal-comms/examples/faq-answers.md +30 -0
- claude_mpm/skills/bundled/main/internal-comms/examples/general-comms.md +16 -0
- claude_mpm/skills/bundled/main/mcp-builder/SKILL.md +160 -0
- claude_mpm/skills/bundled/main/mcp-builder/reference/design_principles.md +412 -0
- claude_mpm/skills/bundled/main/mcp-builder/reference/evaluation.md +602 -0
- claude_mpm/skills/bundled/main/mcp-builder/reference/mcp_best_practices.md +915 -0
- claude_mpm/skills/bundled/main/mcp-builder/reference/node_mcp_server.md +916 -0
- claude_mpm/skills/bundled/main/mcp-builder/reference/python_mcp_server.md +752 -0
- claude_mpm/skills/bundled/main/mcp-builder/reference/workflow.md +1237 -0
- claude_mpm/skills/bundled/main/mcp-builder/scripts/connections.py +157 -0
- claude_mpm/skills/bundled/main/mcp-builder/scripts/evaluation.py +425 -0
- claude_mpm/skills/bundled/main/skill-creator/SKILL.md +189 -0
- claude_mpm/skills/bundled/main/skill-creator/references/best-practices.md +500 -0
- claude_mpm/skills/bundled/main/skill-creator/references/creation-workflow.md +464 -0
- claude_mpm/skills/bundled/main/skill-creator/references/examples.md +619 -0
- claude_mpm/skills/bundled/main/skill-creator/references/progressive-disclosure.md +437 -0
- claude_mpm/skills/bundled/main/skill-creator/references/skill-structure.md +231 -0
- claude_mpm/skills/bundled/main/skill-creator/scripts/init_skill.py +303 -0
- claude_mpm/skills/bundled/main/skill-creator/scripts/package_skill.py +113 -0
- claude_mpm/skills/bundled/main/skill-creator/scripts/quick_validate.py +72 -0
- claude_mpm/skills/bundled/nextjs-local-dev.md +807 -0
- claude_mpm/skills/bundled/pdf.md +141 -0
- claude_mpm/skills/bundled/performance-profiling.md +573 -0
- claude_mpm/skills/bundled/php/espocrm-development/SKILL.md +170 -0
- claude_mpm/skills/bundled/php/espocrm-development/references/architecture.md +602 -0
- claude_mpm/skills/bundled/php/espocrm-development/references/common-tasks.md +821 -0
- claude_mpm/skills/bundled/php/espocrm-development/references/development-workflow.md +742 -0
- claude_mpm/skills/bundled/php/espocrm-development/references/frontend-customization.md +726 -0
- claude_mpm/skills/bundled/php/espocrm-development/references/hooks-and-services.md +764 -0
- claude_mpm/skills/bundled/php/espocrm-development/references/testing-debugging.md +831 -0
- claude_mpm/skills/bundled/pm/pm-bug-reporting/pm-bug-reporting.md +248 -0
- claude_mpm/skills/bundled/pm/pm-delegation-patterns/SKILL.md +167 -0
- claude_mpm/skills/bundled/pm/pm-git-file-tracking/SKILL.md +113 -0
- claude_mpm/skills/bundled/pm/pm-pr-workflow/SKILL.md +124 -0
- claude_mpm/skills/bundled/pm/pm-teaching-mode/SKILL.md +657 -0
- claude_mpm/skills/bundled/pm/pm-ticketing-integration/SKILL.md +154 -0
- claude_mpm/skills/bundled/pm/pm-verification-protocols/SKILL.md +198 -0
- claude_mpm/skills/bundled/react/flexlayout-react.md +742 -0
- claude_mpm/skills/bundled/refactoring-patterns.md +180 -0
- claude_mpm/skills/bundled/rust/desktop-applications/SKILL.md +226 -0
- claude_mpm/skills/bundled/rust/desktop-applications/references/architecture-patterns.md +901 -0
- claude_mpm/skills/bundled/rust/desktop-applications/references/native-gui-frameworks.md +901 -0
- claude_mpm/skills/bundled/rust/desktop-applications/references/platform-integration.md +775 -0
- claude_mpm/skills/bundled/rust/desktop-applications/references/state-management.md +937 -0
- claude_mpm/skills/bundled/rust/desktop-applications/references/tauri-framework.md +770 -0
- claude_mpm/skills/bundled/rust/desktop-applications/references/testing-deployment.md +961 -0
- claude_mpm/skills/bundled/security-scanning.md +439 -0
- claude_mpm/skills/bundled/systematic-debugging.md +473 -0
- claude_mpm/skills/bundled/tauri/tauri-async-patterns.md +495 -0
- claude_mpm/skills/bundled/tauri/tauri-build-deploy.md +599 -0
- claude_mpm/skills/bundled/tauri/tauri-command-patterns.md +535 -0
- claude_mpm/skills/bundled/tauri/tauri-error-handling.md +613 -0
- claude_mpm/skills/bundled/tauri/tauri-event-system.md +648 -0
- claude_mpm/skills/bundled/tauri/tauri-file-system.md +673 -0
- claude_mpm/skills/bundled/tauri/tauri-frontend-integration.md +767 -0
- claude_mpm/skills/bundled/tauri/tauri-performance.md +669 -0
- claude_mpm/skills/bundled/tauri/tauri-state-management.md +573 -0
- claude_mpm/skills/bundled/tauri/tauri-testing.md +384 -0
- claude_mpm/skills/bundled/tauri/tauri-window-management.md +628 -0
- claude_mpm/skills/bundled/test-driven-development.md +378 -0
- claude_mpm/skills/bundled/testing/condition-based-waiting/SKILL.md +119 -0
- claude_mpm/skills/bundled/testing/condition-based-waiting/references/patterns-and-implementation.md +253 -0
- claude_mpm/skills/bundled/testing/test-driven-development/SKILL.md +145 -0
- claude_mpm/skills/bundled/testing/test-driven-development/references/anti-patterns.md +543 -0
- claude_mpm/skills/bundled/testing/test-driven-development/references/examples.md +741 -0
- claude_mpm/skills/bundled/testing/test-driven-development/references/integration.md +470 -0
- claude_mpm/skills/bundled/testing/test-driven-development/references/philosophy.md +458 -0
- claude_mpm/skills/bundled/testing/test-driven-development/references/workflow.md +639 -0
- claude_mpm/skills/bundled/testing/test-quality-inspector/SKILL.md +458 -0
- claude_mpm/skills/bundled/testing/test-quality-inspector/examples/example-inspection-report.md +411 -0
- claude_mpm/skills/bundled/testing/test-quality-inspector/references/assertion-quality.md +317 -0
- claude_mpm/skills/bundled/testing/test-quality-inspector/references/inspection-checklist.md +270 -0
- claude_mpm/skills/bundled/testing/test-quality-inspector/references/red-flags.md +436 -0
- claude_mpm/skills/bundled/testing/testing-anti-patterns/SKILL.md +140 -0
- claude_mpm/skills/bundled/testing/testing-anti-patterns/references/completeness-anti-patterns.md +572 -0
- claude_mpm/skills/bundled/testing/testing-anti-patterns/references/core-anti-patterns.md +411 -0
- claude_mpm/skills/bundled/testing/testing-anti-patterns/references/detection-guide.md +569 -0
- claude_mpm/skills/bundled/testing/testing-anti-patterns/references/tdd-connection.md +695 -0
- claude_mpm/skills/bundled/testing/webapp-testing/SKILL.md +184 -0
- claude_mpm/skills/bundled/testing/webapp-testing/decision-tree.md +459 -0
- claude_mpm/skills/bundled/testing/webapp-testing/examples/console_logging.py +35 -0
- claude_mpm/skills/bundled/testing/webapp-testing/examples/element_discovery.py +44 -0
- claude_mpm/skills/bundled/testing/webapp-testing/examples/static_html_automation.py +34 -0
- claude_mpm/skills/bundled/testing/webapp-testing/playwright-patterns.md +479 -0
- claude_mpm/skills/bundled/testing/webapp-testing/reconnaissance-pattern.md +687 -0
- claude_mpm/skills/bundled/testing/webapp-testing/scripts/with_server.py +129 -0
- claude_mpm/skills/bundled/testing/webapp-testing/server-management.md +758 -0
- claude_mpm/skills/bundled/testing/webapp-testing/troubleshooting.md +868 -0
- claude_mpm/skills/bundled/vite-local-dev.md +1061 -0
- claude_mpm/skills/bundled/web-performance-optimization.md +2305 -0
- claude_mpm/skills/bundled/xlsx.md +157 -0
- claude_mpm/skills/registry.py +286 -0
- claude_mpm/skills/skill_manager.py +405 -0
- claude_mpm/skills/skills_registry.py +347 -0
- claude_mpm/skills/skills_service.py +739 -0
- claude_mpm/storage/__init__.py +9 -0
- claude_mpm/storage/state_storage.py +546 -0
- claude_mpm/templates/.pre-commit-config.yaml +112 -0
- claude_mpm/templates/questions/__init__.py +38 -0
- claude_mpm/templates/questions/base.py +193 -0
- claude_mpm/templates/questions/pr_strategy.py +311 -0
- claude_mpm/templates/questions/project_init.py +385 -0
- claude_mpm/templates/questions/ticket_mgmt.py +394 -0
- claude_mpm/ticket_wrapper.py +2 -2
- claude_mpm/tools/__init__.py +10 -0
- claude_mpm/tools/__main__.py +208 -0
- claude_mpm/tools/code_tree_analyzer/__init__.py +45 -0
- claude_mpm/tools/code_tree_analyzer/analysis.py +299 -0
- claude_mpm/tools/code_tree_analyzer/cache.py +131 -0
- claude_mpm/tools/code_tree_analyzer/core.py +380 -0
- claude_mpm/tools/code_tree_analyzer/discovery.py +403 -0
- claude_mpm/tools/code_tree_analyzer/events.py +168 -0
- claude_mpm/tools/code_tree_analyzer/gitignore.py +308 -0
- claude_mpm/tools/code_tree_analyzer/models.py +39 -0
- claude_mpm/tools/code_tree_analyzer/multilang_analyzer.py +224 -0
- claude_mpm/tools/code_tree_analyzer/python_analyzer.py +284 -0
- claude_mpm/tools/code_tree_builder.py +631 -0
- claude_mpm/tools/code_tree_events.py +420 -0
- claude_mpm/tools/socketio_debug.py +671 -0
- claude_mpm/utils/__init__.py +8 -8
- claude_mpm/utils/agent_dependency_loader.py +1189 -0
- claude_mpm/utils/agent_filters.py +261 -0
- claude_mpm/utils/common.py +544 -0
- claude_mpm/utils/config_manager.py +168 -126
- claude_mpm/utils/console.py +11 -0
- claude_mpm/utils/database_connector.py +298 -0
- claude_mpm/utils/dependency_cache.py +373 -0
- claude_mpm/utils/dependency_manager.py +60 -59
- claude_mpm/utils/dependency_strategies.py +381 -0
- claude_mpm/utils/display_helper.py +260 -0
- claude_mpm/utils/environment_context.py +313 -0
- claude_mpm/utils/error_handler.py +78 -66
- claude_mpm/utils/file_utils.py +305 -0
- claude_mpm/utils/framework_detection.py +12 -11
- claude_mpm/utils/git_analyzer.py +407 -0
- claude_mpm/utils/gitignore.py +244 -0
- claude_mpm/utils/import_migration_example.py +12 -60
- claude_mpm/utils/imports.py +48 -45
- claude_mpm/utils/log_cleanup.py +627 -0
- claude_mpm/utils/migration.py +372 -0
- claude_mpm/utils/path_operations.py +110 -104
- claude_mpm/utils/progress.py +387 -0
- claude_mpm/utils/robust_installer.py +844 -0
- claude_mpm/utils/session_logging.py +121 -0
- claude_mpm/utils/structured_questions.py +619 -0
- claude_mpm/utils/subprocess_utils.py +343 -0
- claude_mpm/validation/__init__.py +1 -1
- claude_mpm/validation/agent_validator.py +214 -108
- claude_mpm/validation/frontmatter_validator.py +252 -0
- claude_mpm-5.4.85.dist-info/METADATA +1023 -0
- claude_mpm-5.4.85.dist-info/RECORD +980 -0
- {claude_mpm-3.4.10.dist-info → claude_mpm-5.4.85.dist-info}/entry_points.txt +1 -3
- claude_mpm-5.4.85.dist-info/licenses/LICENSE +94 -0
- claude_mpm-5.4.85.dist-info/licenses/LICENSE-FAQ.md +153 -0
- claude_mpm/agents/BASE_AGENT_TEMPLATE.md +0 -88
- claude_mpm/agents/INSTRUCTIONS.md +0 -352
- claude_mpm/agents/backups/INSTRUCTIONS.md +0 -352
- claude_mpm/agents/base_agent_loader.py +0 -529
- claude_mpm/agents/schema/agent_schema.json +0 -314
- claude_mpm/agents/templates/.claude-mpm/memories/README.md +0 -36
- claude_mpm/agents/templates/backup/data_engineer_agent_20250726_234551.json +0 -46
- claude_mpm/agents/templates/backup/documentation_agent_20250726_234551.json +0 -45
- claude_mpm/agents/templates/backup/engineer_agent_20250726_234551.json +0 -49
- claude_mpm/agents/templates/backup/ops_agent_20250726_234551.json +0 -46
- claude_mpm/agents/templates/backup/qa_agent_20250726_234551.json +0 -45
- claude_mpm/agents/templates/backup/research_agent_20250726_234551.json +0 -49
- claude_mpm/agents/templates/backup/security_agent_20250726_234551.json +0 -46
- claude_mpm/agents/templates/backup/version_control_agent_20250726_234551.json +0 -46
- claude_mpm/agents/templates/data_engineer.json +0 -110
- claude_mpm/agents/templates/documentation.json +0 -109
- claude_mpm/agents/templates/engineer.json +0 -113
- claude_mpm/agents/templates/ops.json +0 -109
- claude_mpm/agents/templates/pm.json +0 -25
- claude_mpm/agents/templates/qa.json +0 -111
- claude_mpm/agents/templates/research.json +0 -65
- claude_mpm/agents/templates/security.json +0 -113
- claude_mpm/agents/templates/test_integration.json +0 -112
- claude_mpm/agents/templates/version_control.json +0 -107
- claude_mpm/cli/commands/ui.py +0 -57
- claude_mpm/core/simple_runner.py +0 -1046
- claude_mpm/dashboard/open_dashboard.py +0 -34
- claude_mpm/deployment_paths.py +0 -261
- claude_mpm/hooks/builtin/__init__.py +0 -1
- claude_mpm/hooks/builtin/logging_hook_example.py +0 -165
- claude_mpm/hooks/builtin/memory_hooks_example.py +0 -67
- claude_mpm/hooks/builtin/mpm_command_hook.py +0 -125
- claude_mpm/hooks/builtin/post_delegation_hook_example.py +0 -124
- claude_mpm/hooks/builtin/pre_delegation_hook_example.py +0 -125
- claude_mpm/hooks/builtin/submit_hook_example.py +0 -100
- claude_mpm/hooks/builtin/ticket_extraction_hook_example.py +0 -237
- claude_mpm/hooks/builtin/todo_agent_prefix_hook.py +0 -240
- claude_mpm/hooks/builtin/workflow_start_hook.py +0 -181
- claude_mpm/orchestration/__init__.py +0 -6
- claude_mpm/orchestration/archive/direct_orchestrator.py +0 -195
- claude_mpm/orchestration/archive/factory.py +0 -215
- claude_mpm/orchestration/archive/hook_enabled_orchestrator.py +0 -188
- claude_mpm/orchestration/archive/hook_integration_example.py +0 -178
- claude_mpm/orchestration/archive/interactive_subprocess_orchestrator.py +0 -826
- claude_mpm/orchestration/archive/orchestrator.py +0 -501
- claude_mpm/orchestration/archive/pexpect_orchestrator.py +0 -252
- claude_mpm/orchestration/archive/pty_orchestrator.py +0 -270
- claude_mpm/orchestration/archive/simple_orchestrator.py +0 -82
- claude_mpm/orchestration/archive/subprocess_orchestrator.py +0 -801
- claude_mpm/orchestration/archive/system_prompt_orchestrator.py +0 -278
- claude_mpm/orchestration/archive/wrapper_orchestrator.py +0 -187
- claude_mpm/schemas/workflow_validator.py +0 -411
- claude_mpm/services/agent_deployment.py +0 -1534
- claude_mpm/services/agent_lifecycle_manager.py +0 -1169
- claude_mpm/services/agent_memory_manager.py +0 -1415
- claude_mpm/services/agent_registry.py +0 -676
- claude_mpm/services/deployed_agent_discovery.py +0 -226
- claude_mpm/services/framework_agent_loader.py +0 -337
- claude_mpm/services/framework_claude_md_generator.py +0 -621
- claude_mpm/services/health_monitor.py +0 -892
- claude_mpm/services/memory_router.py +0 -538
- claude_mpm/services/parent_directory_manager/__init__.py +0 -577
- claude_mpm/services/parent_directory_manager/backup_manager.py +0 -258
- claude_mpm/services/parent_directory_manager/config_manager.py +0 -210
- claude_mpm/services/parent_directory_manager/deduplication_manager.py +0 -279
- claude_mpm/services/parent_directory_manager/framework_protector.py +0 -143
- claude_mpm/services/parent_directory_manager/operations.py +0 -186
- claude_mpm/services/parent_directory_manager/state_manager.py +0 -624
- claude_mpm/services/parent_directory_manager/template_deployer.py +0 -579
- claude_mpm/services/parent_directory_manager/validation_manager.py +0 -378
- claude_mpm/services/parent_directory_manager/version_control_helper.py +0 -339
- claude_mpm/services/parent_directory_manager/version_manager.py +0 -222
- claude_mpm/services/standalone_socketio_server.py +0 -1300
- claude_mpm/services/ticket_manager_di.py +0 -318
- claude_mpm/services/ticketing_service_original.py +0 -508
- claude_mpm/ui/__init__.py +0 -1
- claude_mpm/ui/rich_terminal_ui.py +0 -295
- claude_mpm/ui/terminal_ui.py +0 -328
- claude_mpm/utils/paths.py +0 -289
- claude_mpm-3.4.10.dist-info/METADATA +0 -183
- claude_mpm-3.4.10.dist-info/RECORD +0 -201
- claude_mpm-3.4.10.dist-info/licenses/LICENSE +0 -21
- {claude_mpm-3.4.10.dist-info → claude_mpm-5.4.85.dist-info}/WHEEL +0 -0
- {claude_mpm-3.4.10.dist-info → claude_mpm-5.4.85.dist-info}/top_level.txt +0 -0
|
@@ -0,0 +1,128 @@
|
|
|
1
|
+
var kp=Object.defineProperty;var Np=(t,e,n)=>e in t?kp(t,e,{enumerable:!0,configurable:!0,writable:!0,value:n}):t[e]=n;var $t=(t,e,n)=>Np(t,typeof e!="symbol"?e+"":e,n);import{_ as Bt}from"./DVp1hx9R.js";import{m as ot,f as bp,d as Op}from"./uuIeMWc-.js";import{b as Pp,l as Lp,d as Mp,m as Dp,r as wl,n as ra}from"./GYwsonyD.js";import{b8 as Fp}from"./Dfy6j1xT.js";function Gp(t,e){return Pp(ot(t,e))}function Up(t,e){return t&&t.length?Lp(t,Mp(e)):[]}function ue(t){return typeof t=="object"&&t!==null&&typeof t.$type=="string"}function ze(t){return typeof t=="object"&&t!==null&&typeof t.$refText=="string"}function Bp(t){return typeof t=="object"&&t!==null&&typeof t.name=="string"&&typeof t.type=="string"&&typeof t.path=="string"}function Ci(t){return typeof t=="object"&&t!==null&&ue(t.container)&&ze(t.reference)&&typeof t.message=="string"}class Mf{constructor(){this.subtypes={},this.allSubtypes={}}isInstance(e,n){return ue(e)&&this.isSubtype(e.$type,n)}isSubtype(e,n){if(e===n)return!0;let r=this.subtypes[e];r||(r=this.subtypes[e]={});const i=r[n];if(i!==void 0)return i;{const s=this.computeIsSubtype(e,n);return r[n]=s,s}}getAllSubTypes(e){const n=this.allSubtypes[e];if(n)return n;{const r=this.getAllTypes(),i=[];for(const s of r)this.isSubtype(s,e)&&i.push(s);return this.allSubtypes[e]=i,i}}}function Mr(t){return typeof t=="object"&&t!==null&&Array.isArray(t.content)}function Df(t){return typeof t=="object"&&t!==null&&typeof t.tokenType=="object"}function Ff(t){return Mr(t)&&typeof t.fullText=="string"}class re{constructor(e,n){this.startFn=e,this.nextFn=n}iterator(){const e={state:this.startFn(),next:()=>this.nextFn(e.state),[Symbol.iterator]:()=>e};return e}[Symbol.iterator](){return this.iterator()}isEmpty(){return!!this.iterator().next().done}count(){const e=this.iterator();let n=0,r=e.next();for(;!r.done;)n++,r=e.next();return n}toArray(){const e=[],n=this.iterator();let r;do r=n.next(),r.value!==void 0&&e.push(r.value);while(!r.done);return e}toSet(){return new Set(this)}toMap(e,n){const r=this.map(i=>[e?e(i):i,n?n(i):i]);return new Map(r)}toString(){return this.join()}concat(e){return new re(()=>({first:this.startFn(),firstDone:!1,iterator:e[Symbol.iterator]()}),n=>{let r;if(!n.firstDone){do if(r=this.nextFn(n.first),!r.done)return r;while(!r.done);n.firstDone=!0}do if(r=n.iterator.next(),!r.done)return r;while(!r.done);return Ae})}join(e=","){const n=this.iterator();let r="",i,s=!1;do i=n.next(),i.done||(s&&(r+=e),r+=jp(i.value)),s=!0;while(!i.done);return r}indexOf(e,n=0){const r=this.iterator();let i=0,s=r.next();for(;!s.done;){if(i>=n&&s.value===e)return i;s=r.next(),i++}return-1}every(e){const n=this.iterator();let r=n.next();for(;!r.done;){if(!e(r.value))return!1;r=n.next()}return!0}some(e){const n=this.iterator();let r=n.next();for(;!r.done;){if(e(r.value))return!0;r=n.next()}return!1}forEach(e){const n=this.iterator();let r=0,i=n.next();for(;!i.done;)e(i.value,r),i=n.next(),r++}map(e){return new re(this.startFn,n=>{const{done:r,value:i}=this.nextFn(n);return r?Ae:{done:!1,value:e(i)}})}filter(e){return new re(this.startFn,n=>{let r;do if(r=this.nextFn(n),!r.done&&e(r.value))return r;while(!r.done);return Ae})}nonNullable(){return this.filter(e=>e!=null)}reduce(e,n){const r=this.iterator();let i=n,s=r.next();for(;!s.done;)i===void 0?i=s.value:i=e(i,s.value),s=r.next();return i}reduceRight(e,n){return this.recursiveReduce(this.iterator(),e,n)}recursiveReduce(e,n,r){const i=e.next();if(i.done)return r;const s=this.recursiveReduce(e,n,r);return s===void 0?i.value:n(s,i.value)}find(e){const n=this.iterator();let r=n.next();for(;!r.done;){if(e(r.value))return r.value;r=n.next()}}findIndex(e){const n=this.iterator();let r=0,i=n.next();for(;!i.done;){if(e(i.value))return r;i=n.next(),r++}return-1}includes(e){const n=this.iterator();let r=n.next();for(;!r.done;){if(r.value===e)return!0;r=n.next()}return!1}flatMap(e){return new re(()=>({this:this.startFn()}),n=>{do{if(n.iterator){const s=n.iterator.next();if(s.done)n.iterator=void 0;else return s}const{done:r,value:i}=this.nextFn(n.this);if(!r){const s=e(i);if(Wi(s))n.iterator=s[Symbol.iterator]();else return{done:!1,value:s}}}while(n.iterator);return Ae})}flat(e){if(e===void 0&&(e=1),e<=0)return this;const n=e>1?this.flat(e-1):this;return new re(()=>({this:n.startFn()}),r=>{do{if(r.iterator){const a=r.iterator.next();if(a.done)r.iterator=void 0;else return a}const{done:i,value:s}=n.nextFn(r.this);if(!i)if(Wi(s))r.iterator=s[Symbol.iterator]();else return{done:!1,value:s}}while(r.iterator);return Ae})}head(){const n=this.iterator().next();if(!n.done)return n.value}tail(e=1){return new re(()=>{const n=this.startFn();for(let r=0;r<e;r++)if(this.nextFn(n).done)return n;return n},this.nextFn)}limit(e){return new re(()=>({size:0,state:this.startFn()}),n=>(n.size++,n.size>e?Ae:this.nextFn(n.state)))}distinct(e){return new re(()=>({set:new Set,internalState:this.startFn()}),n=>{let r;do if(r=this.nextFn(n.internalState),!r.done){const i=e?e(r.value):r.value;if(!n.set.has(i))return n.set.add(i),r}while(!r.done);return Ae})}exclude(e,n){const r=new Set;for(const i of e){const s=n?n(i):i;r.add(s)}return this.filter(i=>{const s=n?n(i):i;return!r.has(s)})}}function jp(t){return typeof t=="string"?t:typeof t>"u"?"undefined":typeof t.toString=="function"?t.toString():Object.prototype.toString.call(t)}function Wi(t){return!!t&&typeof t[Symbol.iterator]=="function"}const Kp=new re(()=>{},()=>Ae),Ae=Object.freeze({done:!0,value:void 0});function ie(...t){if(t.length===1){const e=t[0];if(e instanceof re)return e;if(Wi(e))return new re(()=>e[Symbol.iterator](),n=>n.next());if(typeof e.length=="number")return new re(()=>({index:0}),n=>n.index<e.length?{done:!1,value:e[n.index++]}:Ae)}return t.length>1?new re(()=>({collIndex:0,arrIndex:0}),e=>{do{if(e.iterator){const n=e.iterator.next();if(!n.done)return n;e.iterator=void 0}if(e.array){if(e.arrIndex<e.array.length)return{done:!1,value:e.array[e.arrIndex++]};e.array=void 0,e.arrIndex=0}if(e.collIndex<t.length){const n=t[e.collIndex++];Wi(n)?e.iterator=n[Symbol.iterator]():n&&typeof n.length=="number"&&(e.array=n)}}while(e.iterator||e.array||e.collIndex<t.length);return Ae}):Kp}class No extends re{constructor(e,n,r){super(()=>({iterators:r!=null&&r.includeRoot?[[e][Symbol.iterator]()]:[n(e)[Symbol.iterator]()],pruned:!1}),i=>{for(i.pruned&&(i.iterators.pop(),i.pruned=!1);i.iterators.length>0;){const a=i.iterators[i.iterators.length-1].next();if(a.done)i.iterators.pop();else return i.iterators.push(n(a.value)[Symbol.iterator]()),a}return Ae})}iterator(){const e={state:this.startFn(),next:()=>this.nextFn(e.state),prune:()=>{e.state.pruned=!0},[Symbol.iterator]:()=>e};return e}}var Fa;(function(t){function e(s){return s.reduce((a,o)=>a+o,0)}t.sum=e;function n(s){return s.reduce((a,o)=>a*o,0)}t.product=n;function r(s){return s.reduce((a,o)=>Math.min(a,o))}t.min=r;function i(s){return s.reduce((a,o)=>Math.max(a,o))}t.max=i})(Fa||(Fa={}));function Ga(t){return new No(t,e=>Mr(e)?e.content:[],{includeRoot:!0})}function Hp(t,e){for(;t.container;)if(t=t.container,t===e)return!0;return!1}function Ua(t){return{start:{character:t.startColumn-1,line:t.startLine-1},end:{character:t.endColumn,line:t.endLine-1}}}function zi(t){if(!t)return;const{offset:e,end:n,range:r}=t;return{range:r,offset:e,end:n,length:n-e}}var st;(function(t){t[t.Before=0]="Before",t[t.After=1]="After",t[t.OverlapFront=2]="OverlapFront",t[t.OverlapBack=3]="OverlapBack",t[t.Inside=4]="Inside",t[t.Outside=5]="Outside"})(st||(st={}));function Wp(t,e){if(t.end.line<e.start.line||t.end.line===e.start.line&&t.end.character<=e.start.character)return st.Before;if(t.start.line>e.end.line||t.start.line===e.end.line&&t.start.character>=e.end.character)return st.After;const n=t.start.line>e.start.line||t.start.line===e.start.line&&t.start.character>=e.start.character,r=t.end.line<e.end.line||t.end.line===e.end.line&&t.end.character<=e.end.character;return n&&r?st.Inside:n?st.OverlapBack:r?st.OverlapFront:st.Outside}function zp(t,e){return Wp(t,e)>st.After}const Vp=/^[\w\p{L}]$/u;function qp(t,e){if(t){const n=Yp(t,!0);if(n&&Cl(n,e))return n;if(Ff(t)){const r=t.content.findIndex(i=>!i.hidden);for(let i=r-1;i>=0;i--){const s=t.content[i];if(Cl(s,e))return s}}}}function Cl(t,e){return Df(t)&&e.includes(t.tokenType.name)}function Yp(t,e=!0){for(;t.container;){const n=t.container;let r=n.content.indexOf(t);for(;r>0;){r--;const i=n.content[r];if(e||!i.hidden)return i}t=n}}class Gf extends Error{constructor(e,n){super(e?`${n} at ${e.range.start.line}:${e.range.start.character}`:n)}}function Wr(t){throw new Error("Error! The input value was not handled.")}const si="AbstractRule",ai="AbstractType",ia="Condition",kl="TypeDefinition",sa="ValueLiteral",Jn="AbstractElement";function Xp(t){return F.isInstance(t,Jn)}const oi="ArrayLiteral",li="ArrayType",Zn="BooleanLiteral";function Jp(t){return F.isInstance(t,Zn)}const Qn="Conjunction";function Zp(t){return F.isInstance(t,Qn)}const er="Disjunction";function Qp(t){return F.isInstance(t,er)}const ui="Grammar",aa="GrammarImport",tr="InferredType";function Uf(t){return F.isInstance(t,tr)}const nr="Interface";function Bf(t){return F.isInstance(t,nr)}const oa="NamedArgument",rr="Negation";function em(t){return F.isInstance(t,rr)}const ci="NumberLiteral",fi="Parameter",ir="ParameterReference";function tm(t){return F.isInstance(t,ir)}const sr="ParserRule";function Ne(t){return F.isInstance(t,sr)}const di="ReferenceType",ki="ReturnType";function nm(t){return F.isInstance(t,ki)}const ar="SimpleType";function rm(t){return F.isInstance(t,ar)}const hi="StringLiteral",dn="TerminalRule";function Qt(t){return F.isInstance(t,dn)}const or="Type";function jf(t){return F.isInstance(t,or)}const la="TypeAttribute",pi="UnionType",lr="Action";function $s(t){return F.isInstance(t,lr)}const ur="Alternatives";function Kf(t){return F.isInstance(t,ur)}const cr="Assignment";function Wt(t){return F.isInstance(t,cr)}const fr="CharacterRange";function im(t){return F.isInstance(t,fr)}const dr="CrossReference";function bo(t){return F.isInstance(t,dr)}const hr="EndOfFile";function sm(t){return F.isInstance(t,hr)}const pr="Group";function Oo(t){return F.isInstance(t,pr)}const mr="Keyword";function zt(t){return F.isInstance(t,mr)}const gr="NegatedToken";function am(t){return F.isInstance(t,gr)}const yr="RegexToken";function om(t){return F.isInstance(t,yr)}const Tr="RuleCall";function Vt(t){return F.isInstance(t,Tr)}const vr="TerminalAlternatives";function lm(t){return F.isInstance(t,vr)}const $r="TerminalGroup";function um(t){return F.isInstance(t,$r)}const Rr="TerminalRuleCall";function cm(t){return F.isInstance(t,Rr)}const Ar="UnorderedGroup";function Hf(t){return F.isInstance(t,Ar)}const Er="UntilToken";function fm(t){return F.isInstance(t,Er)}const Sr="Wildcard";function dm(t){return F.isInstance(t,Sr)}class Wf extends Mf{getAllTypes(){return[Jn,si,ai,lr,ur,oi,li,cr,Zn,fr,ia,Qn,dr,er,hr,ui,aa,pr,tr,nr,mr,oa,gr,rr,ci,fi,ir,sr,di,yr,ki,Tr,ar,hi,vr,$r,dn,Rr,or,la,kl,pi,Ar,Er,sa,Sr]}computeIsSubtype(e,n){switch(e){case lr:case ur:case cr:case fr:case dr:case hr:case pr:case mr:case gr:case yr:case Tr:case vr:case $r:case Rr:case Ar:case Er:case Sr:return this.isSubtype(Jn,n);case oi:case ci:case hi:return this.isSubtype(sa,n);case li:case di:case ar:case pi:return this.isSubtype(kl,n);case Zn:return this.isSubtype(ia,n)||this.isSubtype(sa,n);case Qn:case er:case rr:case ir:return this.isSubtype(ia,n);case tr:case nr:case or:return this.isSubtype(ai,n);case sr:return this.isSubtype(si,n)||this.isSubtype(ai,n);case dn:return this.isSubtype(si,n);default:return!1}}getReferenceType(e){const n=`${e.container.$type}:${e.property}`;switch(n){case"Action:type":case"CrossReference:type":case"Interface:superTypes":case"ParserRule:returnType":case"SimpleType:typeRef":return ai;case"Grammar:hiddenTokens":case"ParserRule:hiddenTokens":case"RuleCall:rule":return si;case"Grammar:usedGrammars":return ui;case"NamedArgument:parameter":case"ParameterReference:parameter":return fi;case"TerminalRuleCall:rule":return dn;default:throw new Error(`${n} is not a valid reference id.`)}}getTypeMetaData(e){switch(e){case Jn:return{name:Jn,properties:[{name:"cardinality"},{name:"lookahead"}]};case oi:return{name:oi,properties:[{name:"elements",defaultValue:[]}]};case li:return{name:li,properties:[{name:"elementType"}]};case Zn:return{name:Zn,properties:[{name:"true",defaultValue:!1}]};case Qn:return{name:Qn,properties:[{name:"left"},{name:"right"}]};case er:return{name:er,properties:[{name:"left"},{name:"right"}]};case ui:return{name:ui,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 aa:return{name:aa,properties:[{name:"path"}]};case tr:return{name:tr,properties:[{name:"name"}]};case nr:return{name:nr,properties:[{name:"attributes",defaultValue:[]},{name:"name"},{name:"superTypes",defaultValue:[]}]};case oa:return{name:oa,properties:[{name:"calledByName",defaultValue:!1},{name:"parameter"},{name:"value"}]};case rr:return{name:rr,properties:[{name:"value"}]};case ci:return{name:ci,properties:[{name:"value"}]};case fi:return{name:fi,properties:[{name:"name"}]};case ir:return{name:ir,properties:[{name:"parameter"}]};case sr:return{name:sr,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 di:return{name:di,properties:[{name:"referenceType"}]};case ki:return{name:ki,properties:[{name:"name"}]};case ar:return{name:ar,properties:[{name:"primitiveType"},{name:"stringType"},{name:"typeRef"}]};case hi:return{name:hi,properties:[{name:"value"}]};case dn:return{name:dn,properties:[{name:"definition"},{name:"fragment",defaultValue:!1},{name:"hidden",defaultValue:!1},{name:"name"},{name:"type"}]};case or:return{name:or,properties:[{name:"name"},{name:"type"}]};case la:return{name:la,properties:[{name:"defaultValue"},{name:"isOptional",defaultValue:!1},{name:"name"},{name:"type"}]};case pi:return{name:pi,properties:[{name:"types",defaultValue:[]}]};case lr:return{name:lr,properties:[{name:"cardinality"},{name:"feature"},{name:"inferredType"},{name:"lookahead"},{name:"operator"},{name:"type"}]};case ur:return{name:ur,properties:[{name:"cardinality"},{name:"elements",defaultValue:[]},{name:"lookahead"}]};case cr:return{name:cr,properties:[{name:"cardinality"},{name:"feature"},{name:"lookahead"},{name:"operator"},{name:"terminal"}]};case fr:return{name:fr,properties:[{name:"cardinality"},{name:"left"},{name:"lookahead"},{name:"right"}]};case dr:return{name:dr,properties:[{name:"cardinality"},{name:"deprecatedSyntax",defaultValue:!1},{name:"lookahead"},{name:"terminal"},{name:"type"}]};case hr:return{name:hr,properties:[{name:"cardinality"},{name:"lookahead"}]};case pr:return{name:pr,properties:[{name:"cardinality"},{name:"elements",defaultValue:[]},{name:"guardCondition"},{name:"lookahead"}]};case mr:return{name:mr,properties:[{name:"cardinality"},{name:"lookahead"},{name:"value"}]};case gr:return{name:gr,properties:[{name:"cardinality"},{name:"lookahead"},{name:"terminal"}]};case yr:return{name:yr,properties:[{name:"cardinality"},{name:"lookahead"},{name:"regex"}]};case Tr:return{name:Tr,properties:[{name:"arguments",defaultValue:[]},{name:"cardinality"},{name:"lookahead"},{name:"rule"}]};case vr:return{name:vr,properties:[{name:"cardinality"},{name:"elements",defaultValue:[]},{name:"lookahead"}]};case $r:return{name:$r,properties:[{name:"cardinality"},{name:"elements",defaultValue:[]},{name:"lookahead"}]};case Rr:return{name:Rr,properties:[{name:"cardinality"},{name:"lookahead"},{name:"rule"}]};case Ar:return{name:Ar,properties:[{name:"cardinality"},{name:"elements",defaultValue:[]},{name:"lookahead"}]};case Er:return{name:Er,properties:[{name:"cardinality"},{name:"lookahead"},{name:"terminal"}]};case Sr:return{name:Sr,properties:[{name:"cardinality"},{name:"lookahead"}]};default:return{name:e,properties:[]}}}}const F=new Wf;function hm(t){for(const[e,n]of Object.entries(t))e.startsWith("$")||(Array.isArray(n)?n.forEach((r,i)=>{ue(r)&&(r.$container=t,r.$containerProperty=e,r.$containerIndex=i)}):ue(n)&&(n.$container=t,n.$containerProperty=e))}function Rs(t,e){let n=t;for(;n;){if(e(n))return n;n=n.$container}}function At(t){const n=Ba(t).$document;if(!n)throw new Error("AST node has no document.");return n}function Ba(t){for(;t.$container;)t=t.$container;return t}function Po(t,e){if(!t)throw new Error("Node must be an AstNode.");const n=e==null?void 0:e.range;return new re(()=>({keys:Object.keys(t),keyIndex:0,arrayIndex:0}),r=>{for(;r.keyIndex<r.keys.length;){const i=r.keys[r.keyIndex];if(!i.startsWith("$")){const s=t[i];if(ue(s)){if(r.keyIndex++,Nl(s,n))return{done:!1,value:s}}else if(Array.isArray(s)){for(;r.arrayIndex<s.length;){const a=r.arrayIndex++,o=s[a];if(ue(o)&&Nl(o,n))return{done:!1,value:o}}r.arrayIndex=0}}r.keyIndex++}return Ae})}function zr(t,e){if(!t)throw new Error("Root node must be an AstNode.");return new No(t,n=>Po(n,e))}function pn(t,e){if(!t)throw new Error("Root node must be an AstNode.");return new No(t,n=>Po(n,e),{includeRoot:!0})}function Nl(t,e){var n;if(!e)return!0;const r=(n=t.$cstNode)===null||n===void 0?void 0:n.range;return r?zp(r,e):!1}function zf(t){return new re(()=>({keys:Object.keys(t),keyIndex:0,arrayIndex:0}),e=>{for(;e.keyIndex<e.keys.length;){const n=e.keys[e.keyIndex];if(!n.startsWith("$")){const r=t[n];if(ze(r))return e.keyIndex++,{done:!1,value:{reference:r,container:t,property:n}};if(Array.isArray(r)){for(;e.arrayIndex<r.length;){const i=e.arrayIndex++,s=r[i];if(ze(s))return{done:!1,value:{reference:s,container:t,property:n,index:i}}}e.arrayIndex=0}}e.keyIndex++}return Ae})}function pm(t,e){const n=t.getTypeMetaData(e.$type),r=e;for(const i of n.properties)i.defaultValue!==void 0&&r[i.name]===void 0&&(r[i.name]=Vf(i.defaultValue))}function Vf(t){return Array.isArray(t)?[...t.map(Vf)]:t}function C(t){return t.charCodeAt(0)}function ua(t,e){Array.isArray(t)?t.forEach(function(n){e.push(n)}):e.push(t)}function zn(t,e){if(t[e]===!0)throw"duplicate flag "+e;t[e],t[e]=!0}function fn(t){if(t===void 0)throw Error("Internal Error - Should never get here!");return!0}function mm(){throw Error("Internal Error - Should never get here!")}function bl(t){return t.type==="Character"}const Vi=[];for(let t=C("0");t<=C("9");t++)Vi.push(t);const qi=[C("_")].concat(Vi);for(let t=C("a");t<=C("z");t++)qi.push(t);for(let t=C("A");t<=C("Z");t++)qi.push(t);const Ol=[C(" "),C("\f"),C(`
|
|
2
|
+
`),C("\r"),C(" "),C("\v"),C(" "),C(" "),C(" "),C(" "),C(" "),C(" "),C(" "),C(" "),C(" "),C(" "),C(" "),C(" "),C(" "),C(" "),C("\u2028"),C("\u2029"),C(" "),C(" "),C(" "),C("\uFEFF")],gm=/[0-9a-fA-F]/,mi=/[0-9]/,ym=/[1-9]/;class qf{constructor(){this.idx=0,this.input="",this.groupIdx=0}saveState(){return{idx:this.idx,input:this.input,groupIdx:this.groupIdx}}restoreState(e){this.idx=e.idx,this.input=e.input,this.groupIdx=e.groupIdx}pattern(e){this.idx=0,this.input=e,this.groupIdx=0,this.consumeChar("/");const n=this.disjunction();this.consumeChar("/");const r={type:"Flags",loc:{begin:this.idx,end:e.length},global:!1,ignoreCase:!1,multiLine:!1,unicode:!1,sticky:!1};for(;this.isRegExpFlag();)switch(this.popChar()){case"g":zn(r,"global");break;case"i":zn(r,"ignoreCase");break;case"m":zn(r,"multiLine");break;case"u":zn(r,"unicode");break;case"y":zn(r,"sticky");break}if(this.idx!==this.input.length)throw Error("Redundant input: "+this.input.substring(this.idx));return{type:"Pattern",flags:r,value:n,loc:this.loc(0)}}disjunction(){const e=[],n=this.idx;for(e.push(this.alternative());this.peekChar()==="|";)this.consumeChar("|"),e.push(this.alternative());return{type:"Disjunction",value:e,loc:this.loc(n)}}alternative(){const e=[],n=this.idx;for(;this.isTerm();)e.push(this.term());return{type:"Alternative",value:e,loc:this.loc(n)}}term(){return this.isAssertion()?this.assertion():this.atom()}assertion(){const e=this.idx;switch(this.popChar()){case"^":return{type:"StartAnchor",loc:this.loc(e)};case"$":return{type:"EndAnchor",loc:this.loc(e)};case"\\":switch(this.popChar()){case"b":return{type:"WordBoundary",loc:this.loc(e)};case"B":return{type:"NonWordBoundary",loc:this.loc(e)}}throw Error("Invalid Assertion Escape");case"(":this.consumeChar("?");let n;switch(this.popChar()){case"=":n="Lookahead";break;case"!":n="NegativeLookahead";break}fn(n);const r=this.disjunction();return this.consumeChar(")"),{type:n,value:r,loc:this.loc(e)}}return mm()}quantifier(e=!1){let n;const r=this.idx;switch(this.popChar()){case"*":n={atLeast:0,atMost:1/0};break;case"+":n={atLeast:1,atMost:1/0};break;case"?":n={atLeast:0,atMost:1};break;case"{":const i=this.integerIncludingZero();switch(this.popChar()){case"}":n={atLeast:i,atMost:i};break;case",":let s;this.isDigit()?(s=this.integerIncludingZero(),n={atLeast:i,atMost:s}):n={atLeast:i,atMost:1/0},this.consumeChar("}");break}if(e===!0&&n===void 0)return;fn(n);break}if(!(e===!0&&n===void 0)&&fn(n))return this.peekChar(0)==="?"?(this.consumeChar("?"),n.greedy=!1):n.greedy=!0,n.type="Quantifier",n.loc=this.loc(r),n}atom(){let e;const n=this.idx;switch(this.peekChar()){case".":e=this.dotAll();break;case"\\":e=this.atomEscape();break;case"[":e=this.characterClass();break;case"(":e=this.group();break}if(e===void 0&&this.isPatternCharacter()&&(e=this.patternCharacter()),fn(e))return e.loc=this.loc(n),this.isQuantifier()&&(e.quantifier=this.quantifier()),e}dotAll(){return this.consumeChar("."),{type:"Set",complement:!0,value:[C(`
|
|
3
|
+
`),C("\r"),C("\u2028"),C("\u2029")]}}atomEscape(){switch(this.consumeChar("\\"),this.peekChar()){case"1":case"2":case"3":case"4":case"5":case"6":case"7":case"8":case"9":return this.decimalEscapeAtom();case"d":case"D":case"s":case"S":case"w":case"W":return this.characterClassEscape();case"f":case"n":case"r":case"t":case"v":return this.controlEscapeAtom();case"c":return this.controlLetterEscapeAtom();case"0":return this.nulCharacterAtom();case"x":return this.hexEscapeSequenceAtom();case"u":return this.regExpUnicodeEscapeSequenceAtom();default:return this.identityEscapeAtom()}}decimalEscapeAtom(){return{type:"GroupBackReference",value:this.positiveInteger()}}characterClassEscape(){let e,n=!1;switch(this.popChar()){case"d":e=Vi;break;case"D":e=Vi,n=!0;break;case"s":e=Ol;break;case"S":e=Ol,n=!0;break;case"w":e=qi;break;case"W":e=qi,n=!0;break}if(fn(e))return{type:"Set",value:e,complement:n}}controlEscapeAtom(){let e;switch(this.popChar()){case"f":e=C("\f");break;case"n":e=C(`
|
|
4
|
+
`);break;case"r":e=C("\r");break;case"t":e=C(" ");break;case"v":e=C("\v");break}if(fn(e))return{type:"Character",value:e}}controlLetterEscapeAtom(){this.consumeChar("c");const e=this.popChar();if(/[a-zA-Z]/.test(e)===!1)throw Error("Invalid ");return{type:"Character",value:e.toUpperCase().charCodeAt(0)-64}}nulCharacterAtom(){return this.consumeChar("0"),{type:"Character",value:C("\0")}}hexEscapeSequenceAtom(){return this.consumeChar("x"),this.parseHexDigits(2)}regExpUnicodeEscapeSequenceAtom(){return this.consumeChar("u"),this.parseHexDigits(4)}identityEscapeAtom(){const e=this.popChar();return{type:"Character",value:C(e)}}classPatternCharacterAtom(){switch(this.peekChar()){case`
|
|
5
|
+
`:case"\r":case"\u2028":case"\u2029":case"\\":case"]":throw Error("TBD");default:const e=this.popChar();return{type:"Character",value:C(e)}}}characterClass(){const e=[];let n=!1;for(this.consumeChar("["),this.peekChar(0)==="^"&&(this.consumeChar("^"),n=!0);this.isClassAtom();){const r=this.classAtom();if(r.type,bl(r)&&this.isRangeDash()){this.consumeChar("-");const i=this.classAtom();if(i.type,bl(i)){if(i.value<r.value)throw Error("Range out of order in character class");e.push({from:r.value,to:i.value})}else ua(r.value,e),e.push(C("-")),ua(i.value,e)}else ua(r.value,e)}return this.consumeChar("]"),{type:"Set",complement:n,value:e}}classAtom(){switch(this.peekChar()){case"]":case`
|
|
6
|
+
`:case"\r":case"\u2028":case"\u2029":throw Error("TBD");case"\\":return this.classEscape();default:return this.classPatternCharacterAtom()}}classEscape(){switch(this.consumeChar("\\"),this.peekChar()){case"b":return this.consumeChar("b"),{type:"Character",value:C("\b")};case"d":case"D":case"s":case"S":case"w":case"W":return this.characterClassEscape();case"f":case"n":case"r":case"t":case"v":return this.controlEscapeAtom();case"c":return this.controlLetterEscapeAtom();case"0":return this.nulCharacterAtom();case"x":return this.hexEscapeSequenceAtom();case"u":return this.regExpUnicodeEscapeSequenceAtom();default:return this.identityEscapeAtom()}}group(){let e=!0;switch(this.consumeChar("("),this.peekChar(0)){case"?":this.consumeChar("?"),this.consumeChar(":"),e=!1;break;default:this.groupIdx++;break}const n=this.disjunction();this.consumeChar(")");const r={type:"Group",capturing:e,value:n};return e&&(r.idx=this.groupIdx),r}positiveInteger(){let e=this.popChar();if(ym.test(e)===!1)throw Error("Expecting a positive integer");for(;mi.test(this.peekChar(0));)e+=this.popChar();return parseInt(e,10)}integerIncludingZero(){let e=this.popChar();if(mi.test(e)===!1)throw Error("Expecting an integer");for(;mi.test(this.peekChar(0));)e+=this.popChar();return parseInt(e,10)}patternCharacter(){const e=this.popChar();switch(e){case`
|
|
7
|
+
`:case"\r":case"\u2028":case"\u2029":case"^":case"$":case"\\":case".":case"*":case"+":case"?":case"(":case")":case"[":case"|":throw Error("TBD");default:return{type:"Character",value:C(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 mi.test(this.peekChar(0))}isClassAtom(e=0){switch(this.peekChar(e)){case"]":case`
|
|
8
|
+
`:case"\r":case"\u2028":case"\u2029":return!1;default:return!0}}isTerm(){return this.isAtom()||this.isAssertion()}isAtom(){if(this.isPatternCharacter())return!0;switch(this.peekChar(0)){case".":case"\\":case"[":case"(":return!0;default:return!1}}isAssertion(){switch(this.peekChar(0)){case"^":case"$":return!0;case"\\":switch(this.peekChar(1)){case"b":case"B":return!0;default:return!1}case"(":return this.peekChar(1)==="?"&&(this.peekChar(2)==="="||this.peekChar(2)==="!");default:return!1}}isQuantifier(){const e=this.saveState();try{return this.quantifier(!0)!==void 0}catch{return!1}finally{this.restoreState(e)}}isPatternCharacter(){switch(this.peekChar()){case"^":case"$":case"\\":case".":case"*":case"+":case"?":case"(":case")":case"[":case"|":case"/":case`
|
|
9
|
+
`:case"\r":case"\u2028":case"\u2029":return!1;default:return!0}}parseHexDigits(e){let n="";for(let i=0;i<e;i++){const s=this.popChar();if(gm.test(s)===!1)throw Error("Expecting a HexDecimal digits");n+=s}return{type:"Character",value:parseInt(n,16)}}peekChar(e=0){return this.input[this.idx+e]}popChar(){const e=this.peekChar(0);return this.consumeChar(void 0),e}consumeChar(e){if(e!==void 0&&this.input[this.idx]!==e)throw Error("Expected: '"+e+"' but found: '"+this.input[this.idx]+"' at offset: "+this.idx);if(this.idx>=this.input.length)throw Error("Unexpected end of input");this.idx++}loc(e){return{begin:e,end:this.idx}}}class As{visitChildren(e){for(const n in e){const r=e[n];e.hasOwnProperty(n)&&(r.type!==void 0?this.visit(r):Array.isArray(r)&&r.forEach(i=>{this.visit(i)},this))}}visit(e){switch(e.type){case"Pattern":this.visitPattern(e);break;case"Flags":this.visitFlags(e);break;case"Disjunction":this.visitDisjunction(e);break;case"Alternative":this.visitAlternative(e);break;case"StartAnchor":this.visitStartAnchor(e);break;case"EndAnchor":this.visitEndAnchor(e);break;case"WordBoundary":this.visitWordBoundary(e);break;case"NonWordBoundary":this.visitNonWordBoundary(e);break;case"Lookahead":this.visitLookahead(e);break;case"NegativeLookahead":this.visitNegativeLookahead(e);break;case"Character":this.visitCharacter(e);break;case"Set":this.visitSet(e);break;case"Group":this.visitGroup(e);break;case"GroupBackReference":this.visitGroupBackReference(e);break;case"Quantifier":this.visitQuantifier(e);break}this.visitChildren(e)}visitPattern(e){}visitFlags(e){}visitDisjunction(e){}visitAlternative(e){}visitStartAnchor(e){}visitEndAnchor(e){}visitWordBoundary(e){}visitNonWordBoundary(e){}visitLookahead(e){}visitNegativeLookahead(e){}visitCharacter(e){}visitSet(e){}visitGroup(e){}visitGroupBackReference(e){}visitQuantifier(e){}}const Tm=/\r?\n/gm,vm=new qf;class $m extends As{constructor(){super(...arguments),this.isStarting=!0,this.endRegexpStack=[],this.multiline=!1}get endRegex(){return this.endRegexpStack.join("")}reset(e){this.multiline=!1,this.regex=e,this.startRegexp="",this.isStarting=!0,this.endRegexpStack=[]}visitGroup(e){e.quantifier&&(this.isStarting=!1,this.endRegexpStack=[])}visitCharacter(e){const n=String.fromCharCode(e.value);if(!this.multiline&&n===`
|
|
10
|
+
`&&(this.multiline=!0),e.quantifier)this.isStarting=!1,this.endRegexpStack=[];else{const r=Es(n);this.endRegexpStack.push(r),this.isStarting&&(this.startRegexp+=r)}}visitSet(e){if(!this.multiline){const n=this.regex.substring(e.loc.begin,e.loc.end),r=new RegExp(n);this.multiline=!!`
|
|
11
|
+
`.match(r)}if(e.quantifier)this.isStarting=!1,this.endRegexpStack=[];else{const n=this.regex.substring(e.loc.begin,e.loc.end);this.endRegexpStack.push(n),this.isStarting&&(this.startRegexp+=n)}}visitChildren(e){e.type==="Group"&&e.quantifier||super.visitChildren(e)}}const ca=new $m;function Rm(t){try{return typeof t=="string"&&(t=new RegExp(t)),t=t.toString(),ca.reset(t),ca.visit(vm.pattern(t)),ca.multiline}catch{return!1}}const Am=`\f
|
|
12
|
+
\r \v \u2028\u2029 \uFEFF`.split("");function ja(t){const e=typeof t=="string"?new RegExp(t):t;return Am.some(n=>e.test(n))}function Es(t){return t.replace(/[.*+?^${}()|[\]\\]/g,"\\$&")}function Em(t){return Array.prototype.map.call(t,e=>/\w/.test(e)?`[${e.toLowerCase()}${e.toUpperCase()}]`:Es(e)).join("")}function Sm(t,e){const n=xm(t),r=e.match(n);return!!r&&r[0].length>0}function xm(t){typeof t=="string"&&(t=new RegExp(t));const e=t,n=t.source;let r=0;function i(){let s="",a;function o(u){s+=n.substr(r,u),r+=u}function l(u){s+="(?:"+n.substr(r,u)+"|$)",r+=u}for(;r<n.length;)switch(n[r]){case"\\":switch(n[r+1]){case"c":l(3);break;case"x":l(4);break;case"u":e.unicode?n[r+2]==="{"?l(n.indexOf("}",r)-r+1):l(6):l(2);break;case"p":case"P":e.unicode?l(n.indexOf("}",r)-r+1):l(2);break;case"k":l(n.indexOf(">",r)-r+1);break;default:l(2);break}break;case"[":a=/\[(?:\\.|.)*?\]/g,a.lastIndex=r,a=a.exec(n)||[],l(a[0].length);break;case"|":case"^":case"$":case"*":case"+":case"?":o(1);break;case"{":a=/\{\d+,?\d*\}/g,a.lastIndex=r,a=a.exec(n),a?o(a[0].length):l(1);break;case"(":if(n[r+1]==="?")switch(n[r+2]){case":":s+="(?:",r+=3,s+=i()+"|$)";break;case"=":s+="(?=",r+=3,s+=i()+")";break;case"!":a=r,r+=3,i(),s+=n.substr(a,r-a);break;case"<":switch(n[r+3]){case"=":case"!":a=r,r+=4,i(),s+=n.substr(a,r-a);break;default:o(n.indexOf(">",r)-r+1),s+=i()+"|$)";break}break}else o(1),s+=i()+"|$)";break;case")":return++r,s;default:l(1);break}return s}return new RegExp(i(),t.flags)}function _m(t){return t.rules.find(e=>Ne(e)&&e.entry)}function Im(t){return t.rules.filter(e=>Qt(e)&&e.hidden)}function Yf(t,e){const n=new Set,r=_m(t);if(!r)return new Set(t.rules);const i=[r].concat(Im(t));for(const a of i)Xf(a,n,e);const s=new Set;for(const a of t.rules)(n.has(a.name)||Qt(a)&&a.hidden)&&s.add(a);return s}function Xf(t,e,n){e.add(t.name),zr(t).forEach(r=>{if(Vt(r)||n){const i=r.rule.ref;i&&!e.has(i.name)&&Xf(i,e,n)}})}function wm(t){if(t.terminal)return t.terminal;if(t.type.ref){const e=Zf(t.type.ref);return e==null?void 0:e.terminal}}function Cm(t){return t.hidden&&!ja(Fo(t))}function km(t,e){return!t||!e?[]:Lo(t,e,t.astNode,!0)}function Jf(t,e,n){if(!t||!e)return;const r=Lo(t,e,t.astNode,!0);if(r.length!==0)return n!==void 0?n=Math.max(0,Math.min(n,r.length-1)):n=0,r[n]}function Lo(t,e,n,r){if(!r){const i=Rs(t.grammarSource,Wt);if(i&&i.feature===e)return[t]}return Mr(t)&&t.astNode===n?t.content.flatMap(i=>Lo(i,e,n,!1)):[]}function Nm(t,e,n){if(!t)return;const r=bm(t,e,t==null?void 0:t.astNode);if(r.length!==0)return n!==void 0?n=Math.max(0,Math.min(n,r.length-1)):n=0,r[n]}function bm(t,e,n){if(t.astNode!==n)return[];if(zt(t.grammarSource)&&t.grammarSource.value===e)return[t];const r=Ga(t).iterator();let i;const s=[];do if(i=r.next(),!i.done){const a=i.value;a.astNode===n?zt(a.grammarSource)&&a.grammarSource.value===e&&s.push(a):r.prune()}while(!i.done);return s}function Om(t){var e;const n=t.astNode;for(;n===((e=t.container)===null||e===void 0?void 0:e.astNode);){const r=Rs(t.grammarSource,Wt);if(r)return r;t=t.container}}function Zf(t){let e=t;return Uf(e)&&($s(e.$container)?e=e.$container.$container:Ne(e.$container)?e=e.$container:Wr(e.$container)),Qf(t,e,new Map)}function Qf(t,e,n){var r;function i(s,a){let o;return Rs(s,Wt)||(o=Qf(a,a,n)),n.set(t,o),o}if(n.has(t))return n.get(t);n.set(t,void 0);for(const s of zr(e)){if(Wt(s)&&s.feature.toLowerCase()==="name")return n.set(t,s),s;if(Vt(s)&&Ne(s.rule.ref))return i(s,s.rule.ref);if(rm(s)&&(!((r=s.typeRef)===null||r===void 0)&&r.ref))return i(s,s.typeRef.ref)}}function ed(t){return td(t,new Set)}function td(t,e){if(e.has(t))return!0;e.add(t);for(const n of zr(t))if(Vt(n)){if(!n.rule.ref||Ne(n.rule.ref)&&!td(n.rule.ref,e))return!1}else{if(Wt(n))return!1;if($s(n))return!1}return!!t.definition}function Mo(t){if(t.inferredType)return t.inferredType.name;if(t.dataType)return t.dataType;if(t.returnType){const e=t.returnType.ref;if(e){if(Ne(e))return e.name;if(Bf(e)||jf(e))return e.name}}}function Do(t){var e;if(Ne(t))return ed(t)?t.name:(e=Mo(t))!==null&&e!==void 0?e:t.name;if(Bf(t)||jf(t)||nm(t))return t.name;if($s(t)){const n=Pm(t);if(n)return n}else if(Uf(t))return t.name;throw new Error("Cannot get name of Unknown Type")}function Pm(t){var e;if(t.inferredType)return t.inferredType.name;if(!((e=t.type)===null||e===void 0)&&e.ref)return Do(t.type.ref)}function Lm(t){var e,n,r;return Qt(t)?(n=(e=t.type)===null||e===void 0?void 0:e.name)!==null&&n!==void 0?n:"string":(r=Mo(t))!==null&&r!==void 0?r:t.name}function Fo(t){const e={s:!1,i:!1,u:!1},n=jn(t.definition,e),r=Object.entries(e).filter(([,i])=>i).map(([i])=>i).join("");return new RegExp(n,r)}const Go=/[\s\S]/.source;function jn(t,e){if(lm(t))return Mm(t);if(um(t))return Dm(t);if(im(t))return Um(t);if(cm(t)){const n=t.rule.ref;if(!n)throw new Error("Missing rule reference.");return lt(jn(n.definition),{cardinality:t.cardinality,lookahead:t.lookahead})}else{if(am(t))return Gm(t);if(fm(t))return Fm(t);if(om(t)){const n=t.regex.lastIndexOf("/"),r=t.regex.substring(1,n),i=t.regex.substring(n+1);return e&&(e.i=i.includes("i"),e.s=i.includes("s"),e.u=i.includes("u")),lt(r,{cardinality:t.cardinality,lookahead:t.lookahead,wrap:!1})}else{if(dm(t))return lt(Go,{cardinality:t.cardinality,lookahead:t.lookahead});throw new Error(`Invalid terminal element: ${t==null?void 0:t.$type}`)}}}function Mm(t){return lt(t.elements.map(e=>jn(e)).join("|"),{cardinality:t.cardinality,lookahead:t.lookahead})}function Dm(t){return lt(t.elements.map(e=>jn(e)).join(""),{cardinality:t.cardinality,lookahead:t.lookahead})}function Fm(t){return lt(`${Go}*?${jn(t.terminal)}`,{cardinality:t.cardinality,lookahead:t.lookahead})}function Gm(t){return lt(`(?!${jn(t.terminal)})${Go}*?`,{cardinality:t.cardinality,lookahead:t.lookahead})}function Um(t){return t.right?lt(`[${fa(t.left)}-${fa(t.right)}]`,{cardinality:t.cardinality,lookahead:t.lookahead,wrap:!1}):lt(fa(t.left),{cardinality:t.cardinality,lookahead:t.lookahead,wrap:!1})}function fa(t){return Es(t.value)}function lt(t,e){var n;return(e.wrap!==!1||e.lookahead)&&(t=`(${(n=e.lookahead)!==null&&n!==void 0?n:""}${t})`),e.cardinality?`${t}${e.cardinality}`:t}function Bm(t){const e=[],n=t.Grammar;for(const r of n.rules)Qt(r)&&Cm(r)&&Rm(Fo(r))&&e.push(r.name);return{multilineCommentRules:e,nameRegexp:Vp}}var nd=typeof global=="object"&&global&&global.Object===Object&&global,jm=typeof self=="object"&&self&&self.Object===Object&&self,Ye=nd||jm||Function("return this")(),be=Ye.Symbol,rd=Object.prototype,Km=rd.hasOwnProperty,Hm=rd.toString,Vn=be?be.toStringTag:void 0;function Wm(t){var e=Km.call(t,Vn),n=t[Vn];try{t[Vn]=void 0;var r=!0}catch{}var i=Hm.call(t);return r&&(e?t[Vn]=n:delete t[Vn]),i}var zm=Object.prototype,Vm=zm.toString;function qm(t){return Vm.call(t)}var Ym="[object Null]",Xm="[object Undefined]",Pl=be?be.toStringTag:void 0;function Nt(t){return t==null?t===void 0?Xm:Ym:Pl&&Pl in Object(t)?Wm(t):qm(t)}function Ue(t){return t!=null&&typeof t=="object"}var Jm="[object Symbol]";function Ss(t){return typeof t=="symbol"||Ue(t)&&Nt(t)==Jm}function xs(t,e){for(var n=-1,r=t==null?0:t.length,i=Array(r);++n<r;)i[n]=e(t[n],n,t);return i}var M=Array.isArray,Ll=be?be.prototype:void 0,Ml=Ll?Ll.toString:void 0;function id(t){if(typeof t=="string")return t;if(M(t))return xs(t,id)+"";if(Ss(t))return Ml?Ml.call(t):"";var e=t+"";return e=="0"&&1/t==-1/0?"-0":e}var Zm=/\s/;function Qm(t){for(var e=t.length;e--&&Zm.test(t.charAt(e)););return e}var eg=/^\s+/;function tg(t){return t&&t.slice(0,Qm(t)+1).replace(eg,"")}function Oe(t){var e=typeof t;return t!=null&&(e=="object"||e=="function")}var Dl=NaN,ng=/^[-+]0x[0-9a-f]+$/i,rg=/^0b[01]+$/i,ig=/^0o[0-7]+$/i,sg=parseInt;function ag(t){if(typeof t=="number")return t;if(Ss(t))return Dl;if(Oe(t)){var e=typeof t.valueOf=="function"?t.valueOf():t;t=Oe(e)?e+"":e}if(typeof t!="string")return t===0?t:+t;t=tg(t);var n=rg.test(t);return n||ig.test(t)?sg(t.slice(2),n?2:8):ng.test(t)?Dl:+t}var Fl=1/0,og=17976931348623157e292;function lg(t){if(!t)return t===0?t:0;if(t=ag(t),t===Fl||t===-Fl){var e=t<0?-1:1;return e*og}return t===t?t:0}function _s(t){var e=lg(t),n=e%1;return e===e?n?e-n:e:0}function Pn(t){return t}var ug="[object AsyncFunction]",cg="[object Function]",fg="[object GeneratorFunction]",dg="[object Proxy]";function ht(t){if(!Oe(t))return!1;var e=Nt(t);return e==cg||e==fg||e==ug||e==dg}var da=Ye["__core-js_shared__"],Gl=(function(){var t=/[^.]+$/.exec(da&&da.keys&&da.keys.IE_PROTO||"");return t?"Symbol(src)_1."+t:""})();function hg(t){return!!Gl&&Gl in t}var pg=Function.prototype,mg=pg.toString;function en(t){if(t!=null){try{return mg.call(t)}catch{}try{return t+""}catch{}}return""}var gg=/[\\^$.*+?()[\]{}|]/g,yg=/^\[object .+?Constructor\]$/,Tg=Function.prototype,vg=Object.prototype,$g=Tg.toString,Rg=vg.hasOwnProperty,Ag=RegExp("^"+$g.call(Rg).replace(gg,"\\$&").replace(/hasOwnProperty|(function).*?(?=\\\()| for .+?(?=\\\])/g,"$1.*?")+"$");function Eg(t){if(!Oe(t)||hg(t))return!1;var e=ht(t)?Ag:yg;return e.test(en(t))}function Sg(t,e){return t==null?void 0:t[e]}function tn(t,e){var n=Sg(t,e);return Eg(n)?n:void 0}var Ka=tn(Ye,"WeakMap"),Ul=Object.create,xg=(function(){function t(){}return function(e){if(!Oe(e))return{};if(Ul)return Ul(e);t.prototype=e;var n=new t;return t.prototype=void 0,n}})();function _g(t,e,n){switch(n.length){case 0:return t.call(e);case 1:return t.call(e,n[0]);case 2:return t.call(e,n[0],n[1]);case 3:return t.call(e,n[0],n[1],n[2])}return t.apply(e,n)}function J(){}function Ig(t,e){var n=-1,r=t.length;for(e||(e=Array(r));++n<r;)e[n]=t[n];return e}var wg=800,Cg=16,kg=Date.now;function Ng(t){var e=0,n=0;return function(){var r=kg(),i=Cg-(r-n);if(n=r,i>0){if(++e>=wg)return arguments[0]}else e=0;return t.apply(void 0,arguments)}}function bg(t){return function(){return t}}var Yi=(function(){try{var t=tn(Object,"defineProperty");return t({},"",{}),t}catch{}})(),Og=Yi?function(t,e){return Yi(t,"toString",{configurable:!0,enumerable:!1,value:bg(e),writable:!0})}:Pn,Pg=Ng(Og);function sd(t,e){for(var n=-1,r=t==null?0:t.length;++n<r&&e(t[n],n,t)!==!1;);return t}function ad(t,e,n,r){for(var i=t.length,s=n+-1;++s<i;)if(e(t[s],s,t))return s;return-1}function Lg(t){return t!==t}function Mg(t,e,n){for(var r=n-1,i=t.length;++r<i;)if(t[r]===e)return r;return-1}function Uo(t,e,n){return e===e?Mg(t,e,n):ad(t,Lg,n)}function od(t,e){var n=t==null?0:t.length;return!!n&&Uo(t,e,0)>-1}var Dg=9007199254740991,Fg=/^(?:0|[1-9]\d*)$/;function Is(t,e){var n=typeof t;return e=e??Dg,!!e&&(n=="number"||n!="symbol"&&Fg.test(t))&&t>-1&&t%1==0&&t<e}function Bo(t,e,n){e=="__proto__"&&Yi?Yi(t,e,{configurable:!0,enumerable:!0,value:n,writable:!0}):t[e]=n}function Vr(t,e){return t===e||t!==t&&e!==e}var Gg=Object.prototype,Ug=Gg.hasOwnProperty;function ws(t,e,n){var r=t[e];(!(Ug.call(t,e)&&Vr(r,n))||n===void 0&&!(e in t))&&Bo(t,e,n)}function qr(t,e,n,r){var i=!n;n||(n={});for(var s=-1,a=e.length;++s<a;){var o=e[s],l=void 0;l===void 0&&(l=t[o]),i?Bo(n,o,l):ws(n,o,l)}return n}var Bl=Math.max;function Bg(t,e,n){return e=Bl(e===void 0?t.length-1:e,0),function(){for(var r=arguments,i=-1,s=Bl(r.length-e,0),a=Array(s);++i<s;)a[i]=r[e+i];i=-1;for(var o=Array(e+1);++i<e;)o[i]=r[i];return o[e]=n(a),_g(t,this,o)}}function jo(t,e){return Pg(Bg(t,e,Pn),t+"")}var jg=9007199254740991;function Ko(t){return typeof t=="number"&&t>-1&&t%1==0&&t<=jg}function Xe(t){return t!=null&&Ko(t.length)&&!ht(t)}function ld(t,e,n){if(!Oe(n))return!1;var r=typeof e;return(r=="number"?Xe(n)&&Is(e,n.length):r=="string"&&e in n)?Vr(n[e],t):!1}function Kg(t){return jo(function(e,n){var r=-1,i=n.length,s=i>1?n[i-1]:void 0,a=i>2?n[2]:void 0;for(s=t.length>3&&typeof s=="function"?(i--,s):void 0,a&&ld(n[0],n[1],a)&&(s=i<3?void 0:s,i=1),e=Object(e);++r<i;){var o=n[r];o&&t(e,o,r,s)}return e})}var Hg=Object.prototype;function Yr(t){var e=t&&t.constructor,n=typeof e=="function"&&e.prototype||Hg;return t===n}function Wg(t,e){for(var n=-1,r=Array(t);++n<t;)r[n]=e(n);return r}var zg="[object Arguments]";function jl(t){return Ue(t)&&Nt(t)==zg}var ud=Object.prototype,Vg=ud.hasOwnProperty,qg=ud.propertyIsEnumerable,Cs=jl((function(){return arguments})())?jl:function(t){return Ue(t)&&Vg.call(t,"callee")&&!qg.call(t,"callee")};function Yg(){return!1}var cd=typeof exports=="object"&&exports&&!exports.nodeType&&exports,Kl=cd&&typeof module=="object"&&module&&!module.nodeType&&module,Xg=Kl&&Kl.exports===cd,Hl=Xg?Ye.Buffer:void 0,Jg=Hl?Hl.isBuffer:void 0,Dr=Jg||Yg,Zg="[object Arguments]",Qg="[object Array]",ey="[object Boolean]",ty="[object Date]",ny="[object Error]",ry="[object Function]",iy="[object Map]",sy="[object Number]",ay="[object Object]",oy="[object RegExp]",ly="[object Set]",uy="[object String]",cy="[object WeakMap]",fy="[object ArrayBuffer]",dy="[object DataView]",hy="[object Float32Array]",py="[object Float64Array]",my="[object Int8Array]",gy="[object Int16Array]",yy="[object Int32Array]",Ty="[object Uint8Array]",vy="[object Uint8ClampedArray]",$y="[object Uint16Array]",Ry="[object Uint32Array]",B={};B[hy]=B[py]=B[my]=B[gy]=B[yy]=B[Ty]=B[vy]=B[$y]=B[Ry]=!0;B[Zg]=B[Qg]=B[fy]=B[ey]=B[dy]=B[ty]=B[ny]=B[ry]=B[iy]=B[sy]=B[ay]=B[oy]=B[ly]=B[uy]=B[cy]=!1;function Ay(t){return Ue(t)&&Ko(t.length)&&!!B[Nt(t)]}function ks(t){return function(e){return t(e)}}var fd=typeof exports=="object"&&exports&&!exports.nodeType&&exports,Or=fd&&typeof module=="object"&&module&&!module.nodeType&&module,Ey=Or&&Or.exports===fd,ha=Ey&&nd.process,Et=(function(){try{var t=Or&&Or.require&&Or.require("util").types;return t||ha&&ha.binding&&ha.binding("util")}catch{}})(),Wl=Et&&Et.isTypedArray,Ho=Wl?ks(Wl):Ay,Sy=Object.prototype,xy=Sy.hasOwnProperty;function dd(t,e){var n=M(t),r=!n&&Cs(t),i=!n&&!r&&Dr(t),s=!n&&!r&&!i&&Ho(t),a=n||r||i||s,o=a?Wg(t.length,String):[],l=o.length;for(var u in t)(e||xy.call(t,u))&&!(a&&(u=="length"||i&&(u=="offset"||u=="parent")||s&&(u=="buffer"||u=="byteLength"||u=="byteOffset")||Is(u,l)))&&o.push(u);return o}function hd(t,e){return function(n){return t(e(n))}}var _y=hd(Object.keys,Object),Iy=Object.prototype,wy=Iy.hasOwnProperty;function pd(t){if(!Yr(t))return _y(t);var e=[];for(var n in Object(t))wy.call(t,n)&&n!="constructor"&&e.push(n);return e}function Pe(t){return Xe(t)?dd(t):pd(t)}var Cy=Object.prototype,ky=Cy.hasOwnProperty,Ha=Kg(function(t,e){if(Yr(e)||Xe(e)){qr(e,Pe(e),t);return}for(var n in e)ky.call(e,n)&&ws(t,n,e[n])});function Ny(t){var e=[];if(t!=null)for(var n in Object(t))e.push(n);return e}var by=Object.prototype,Oy=by.hasOwnProperty;function Py(t){if(!Oe(t))return Ny(t);var e=Yr(t),n=[];for(var r in t)r=="constructor"&&(e||!Oy.call(t,r))||n.push(r);return n}function Wo(t){return Xe(t)?dd(t,!0):Py(t)}var Ly=/\.|\[(?:[^[\]]*|(["'])(?:(?!\1)[^\\]|\\.)*?\1)\]/,My=/^\w*$/;function zo(t,e){if(M(t))return!1;var n=typeof t;return n=="number"||n=="symbol"||n=="boolean"||t==null||Ss(t)?!0:My.test(t)||!Ly.test(t)||e!=null&&t in Object(e)}var Fr=tn(Object,"create");function Dy(){this.__data__=Fr?Fr(null):{},this.size=0}function Fy(t){var e=this.has(t)&&delete this.__data__[t];return this.size-=e?1:0,e}var Gy="__lodash_hash_undefined__",Uy=Object.prototype,By=Uy.hasOwnProperty;function jy(t){var e=this.__data__;if(Fr){var n=e[t];return n===Gy?void 0:n}return By.call(e,t)?e[t]:void 0}var Ky=Object.prototype,Hy=Ky.hasOwnProperty;function Wy(t){var e=this.__data__;return Fr?e[t]!==void 0:Hy.call(e,t)}var zy="__lodash_hash_undefined__";function Vy(t,e){var n=this.__data__;return this.size+=this.has(t)?0:1,n[t]=Fr&&e===void 0?zy:e,this}function qt(t){var e=-1,n=t==null?0:t.length;for(this.clear();++e<n;){var r=t[e];this.set(r[0],r[1])}}qt.prototype.clear=Dy;qt.prototype.delete=Fy;qt.prototype.get=jy;qt.prototype.has=Wy;qt.prototype.set=Vy;function qy(){this.__data__=[],this.size=0}function Ns(t,e){for(var n=t.length;n--;)if(Vr(t[n][0],e))return n;return-1}var Yy=Array.prototype,Xy=Yy.splice;function Jy(t){var e=this.__data__,n=Ns(e,t);if(n<0)return!1;var r=e.length-1;return n==r?e.pop():Xy.call(e,n,1),--this.size,!0}function Zy(t){var e=this.__data__,n=Ns(e,t);return n<0?void 0:e[n][1]}function Qy(t){return Ns(this.__data__,t)>-1}function eT(t,e){var n=this.__data__,r=Ns(n,t);return r<0?(++this.size,n.push([t,e])):n[r][1]=e,this}function pt(t){var e=-1,n=t==null?0:t.length;for(this.clear();++e<n;){var r=t[e];this.set(r[0],r[1])}}pt.prototype.clear=qy;pt.prototype.delete=Jy;pt.prototype.get=Zy;pt.prototype.has=Qy;pt.prototype.set=eT;var Gr=tn(Ye,"Map");function tT(){this.size=0,this.__data__={hash:new qt,map:new(Gr||pt),string:new qt}}function nT(t){var e=typeof t;return e=="string"||e=="number"||e=="symbol"||e=="boolean"?t!=="__proto__":t===null}function bs(t,e){var n=t.__data__;return nT(e)?n[typeof e=="string"?"string":"hash"]:n.map}function rT(t){var e=bs(this,t).delete(t);return this.size-=e?1:0,e}function iT(t){return bs(this,t).get(t)}function sT(t){return bs(this,t).has(t)}function aT(t,e){var n=bs(this,t),r=n.size;return n.set(t,e),this.size+=n.size==r?0:1,this}function mt(t){var e=-1,n=t==null?0:t.length;for(this.clear();++e<n;){var r=t[e];this.set(r[0],r[1])}}mt.prototype.clear=tT;mt.prototype.delete=rT;mt.prototype.get=iT;mt.prototype.has=sT;mt.prototype.set=aT;var oT="Expected a function";function Vo(t,e){if(typeof t!="function"||e!=null&&typeof e!="function")throw new TypeError(oT);var n=function(){var r=arguments,i=e?e.apply(this,r):r[0],s=n.cache;if(s.has(i))return s.get(i);var a=t.apply(this,r);return n.cache=s.set(i,a)||s,a};return n.cache=new(Vo.Cache||mt),n}Vo.Cache=mt;var lT=500;function uT(t){var e=Vo(t,function(r){return n.size===lT&&n.clear(),r}),n=e.cache;return e}var cT=/[^.[\]]+|\[(?:(-?\d+(?:\.\d+)?)|(["'])((?:(?!\2)[^\\]|\\.)*?)\2)\]|(?=(?:\.|\[\])(?:\.|\[\]|$))/g,fT=/\\(\\)?/g,dT=uT(function(t){var e=[];return t.charCodeAt(0)===46&&e.push(""),t.replace(cT,function(n,r,i,s){e.push(i?s.replace(fT,"$1"):r||n)}),e});function hT(t){return t==null?"":id(t)}function Os(t,e){return M(t)?t:zo(t,e)?[t]:dT(hT(t))}function Xr(t){if(typeof t=="string"||Ss(t))return t;var e=t+"";return e=="0"&&1/t==-1/0?"-0":e}function qo(t,e){e=Os(e,t);for(var n=0,r=e.length;t!=null&&n<r;)t=t[Xr(e[n++])];return n&&n==r?t:void 0}function pT(t,e,n){var r=t==null?void 0:qo(t,e);return r===void 0?n:r}function Yo(t,e){for(var n=-1,r=e.length,i=t.length;++n<r;)t[i+n]=e[n];return t}var zl=be?be.isConcatSpreadable:void 0;function mT(t){return M(t)||Cs(t)||!!(zl&&t&&t[zl])}function Xo(t,e,n,r,i){var s=-1,a=t.length;for(n||(n=mT),i||(i=[]);++s<a;){var o=t[s];n(o)?Yo(i,o):r||(i[i.length]=o)}return i}function Ge(t){var e=t==null?0:t.length;return e?Xo(t):[]}var md=hd(Object.getPrototypeOf,Object);function gd(t,e,n){var r=-1,i=t.length;e<0&&(e=-e>i?0:i+e),n=n>i?i:n,n<0&&(n+=i),i=e>n?0:n-e>>>0,e>>>=0;for(var s=Array(i);++r<i;)s[r]=t[r+e];return s}function gT(t,e,n,r){var i=-1,s=t==null?0:t.length;for(r&&s&&(n=t[++i]);++i<s;)n=e(n,t[i],i,t);return n}function yT(){this.__data__=new pt,this.size=0}function TT(t){var e=this.__data__,n=e.delete(t);return this.size=e.size,n}function vT(t){return this.__data__.get(t)}function $T(t){return this.__data__.has(t)}var RT=200;function AT(t,e){var n=this.__data__;if(n instanceof pt){var r=n.__data__;if(!Gr||r.length<RT-1)return r.push([t,e]),this.size=++n.size,this;n=this.__data__=new mt(r)}return n.set(t,e),this.size=n.size,this}function Ve(t){var e=this.__data__=new pt(t);this.size=e.size}Ve.prototype.clear=yT;Ve.prototype.delete=TT;Ve.prototype.get=vT;Ve.prototype.has=$T;Ve.prototype.set=AT;function ET(t,e){return t&&qr(e,Pe(e),t)}function ST(t,e){return t&&qr(e,Wo(e),t)}var yd=typeof exports=="object"&&exports&&!exports.nodeType&&exports,Vl=yd&&typeof module=="object"&&module&&!module.nodeType&&module,xT=Vl&&Vl.exports===yd,ql=xT?Ye.Buffer:void 0,Yl=ql?ql.allocUnsafe:void 0;function _T(t,e){var n=t.length,r=Yl?Yl(n):new t.constructor(n);return t.copy(r),r}function Jo(t,e){for(var n=-1,r=t==null?0:t.length,i=0,s=[];++n<r;){var a=t[n];e(a,n,t)&&(s[i++]=a)}return s}function Td(){return[]}var IT=Object.prototype,wT=IT.propertyIsEnumerable,Xl=Object.getOwnPropertySymbols,Zo=Xl?function(t){return t==null?[]:(t=Object(t),Jo(Xl(t),function(e){return wT.call(t,e)}))}:Td;function CT(t,e){return qr(t,Zo(t),e)}var kT=Object.getOwnPropertySymbols,vd=kT?function(t){for(var e=[];t;)Yo(e,Zo(t)),t=md(t);return e}:Td;function NT(t,e){return qr(t,vd(t),e)}function $d(t,e,n){var r=e(t);return M(t)?r:Yo(r,n(t))}function Wa(t){return $d(t,Pe,Zo)}function bT(t){return $d(t,Wo,vd)}var za=tn(Ye,"DataView"),Va=tn(Ye,"Promise"),mn=tn(Ye,"Set"),Jl="[object Map]",OT="[object Object]",Zl="[object Promise]",Ql="[object Set]",eu="[object WeakMap]",tu="[object DataView]",PT=en(za),LT=en(Gr),MT=en(Va),DT=en(mn),FT=en(Ka),Ce=Nt;(za&&Ce(new za(new ArrayBuffer(1)))!=tu||Gr&&Ce(new Gr)!=Jl||Va&&Ce(Va.resolve())!=Zl||mn&&Ce(new mn)!=Ql||Ka&&Ce(new Ka)!=eu)&&(Ce=function(t){var e=Nt(t),n=e==OT?t.constructor:void 0,r=n?en(n):"";if(r)switch(r){case PT:return tu;case LT:return Jl;case MT:return Zl;case DT:return Ql;case FT:return eu}return e});var GT=Object.prototype,UT=GT.hasOwnProperty;function BT(t){var e=t.length,n=new t.constructor(e);return e&&typeof t[0]=="string"&&UT.call(t,"index")&&(n.index=t.index,n.input=t.input),n}var Xi=Ye.Uint8Array;function jT(t){var e=new t.constructor(t.byteLength);return new Xi(e).set(new Xi(t)),e}function KT(t,e){var n=t.buffer;return new t.constructor(n,t.byteOffset,t.byteLength)}var HT=/\w*$/;function WT(t){var e=new t.constructor(t.source,HT.exec(t));return e.lastIndex=t.lastIndex,e}var nu=be?be.prototype:void 0,ru=nu?nu.valueOf:void 0;function zT(t){return ru?Object(ru.call(t)):{}}function VT(t,e){var n=t.buffer;return new t.constructor(n,t.byteOffset,t.length)}var qT="[object Boolean]",YT="[object Date]",XT="[object Map]",JT="[object Number]",ZT="[object RegExp]",QT="[object Set]",ev="[object String]",tv="[object Symbol]",nv="[object ArrayBuffer]",rv="[object DataView]",iv="[object Float32Array]",sv="[object Float64Array]",av="[object Int8Array]",ov="[object Int16Array]",lv="[object Int32Array]",uv="[object Uint8Array]",cv="[object Uint8ClampedArray]",fv="[object Uint16Array]",dv="[object Uint32Array]";function hv(t,e,n){var r=t.constructor;switch(e){case nv:return jT(t);case qT:case YT:return new r(+t);case rv:return KT(t);case iv:case sv:case av:case ov:case lv:case uv:case cv:case fv:case dv:return VT(t);case XT:return new r;case JT:case ev:return new r(t);case ZT:return WT(t);case QT:return new r;case tv:return zT(t)}}function pv(t){return typeof t.constructor=="function"&&!Yr(t)?xg(md(t)):{}}var mv="[object Map]";function gv(t){return Ue(t)&&Ce(t)==mv}var iu=Et&&Et.isMap,yv=iu?ks(iu):gv,Tv="[object Set]";function vv(t){return Ue(t)&&Ce(t)==Tv}var su=Et&&Et.isSet,$v=su?ks(su):vv,Rv=2,Rd="[object Arguments]",Av="[object Array]",Ev="[object Boolean]",Sv="[object Date]",xv="[object Error]",Ad="[object Function]",_v="[object GeneratorFunction]",Iv="[object Map]",wv="[object Number]",Ed="[object Object]",Cv="[object RegExp]",kv="[object Set]",Nv="[object String]",bv="[object Symbol]",Ov="[object WeakMap]",Pv="[object ArrayBuffer]",Lv="[object DataView]",Mv="[object Float32Array]",Dv="[object Float64Array]",Fv="[object Int8Array]",Gv="[object Int16Array]",Uv="[object Int32Array]",Bv="[object Uint8Array]",jv="[object Uint8ClampedArray]",Kv="[object Uint16Array]",Hv="[object Uint32Array]",G={};G[Rd]=G[Av]=G[Pv]=G[Lv]=G[Ev]=G[Sv]=G[Mv]=G[Dv]=G[Fv]=G[Gv]=G[Uv]=G[Iv]=G[wv]=G[Ed]=G[Cv]=G[kv]=G[Nv]=G[bv]=G[Bv]=G[jv]=G[Kv]=G[Hv]=!0;G[xv]=G[Ad]=G[Ov]=!1;function Ni(t,e,n,r,i,s){var a,o=e&Rv;if(a!==void 0)return a;if(!Oe(t))return t;var l=M(t);if(l)return a=BT(t),Ig(t,a);var u=Ce(t),c=u==Ad||u==_v;if(Dr(t))return _T(t);if(u==Ed||u==Rd||c&&!i)return a=c?{}:pv(t),o?NT(t,ST(a,t)):CT(t,ET(a,t));if(!G[u])return i?t:{};a=hv(t,u),s||(s=new Ve);var f=s.get(t);if(f)return f;s.set(t,a),$v(t)?t.forEach(function(m){a.add(Ni(m,e,n,m,t,s))}):yv(t)&&t.forEach(function(m,g){a.set(g,Ni(m,e,n,g,t,s))});var d=Wa,h=l?void 0:d(t);return sd(h||t,function(m,g){h&&(g=m,m=t[g]),ws(a,g,Ni(m,e,n,g,t,s))}),a}var Wv=4;function ae(t){return Ni(t,Wv)}function Jr(t){for(var e=-1,n=t==null?0:t.length,r=0,i=[];++e<n;){var s=t[e];s&&(i[r++]=s)}return i}var zv="__lodash_hash_undefined__";function Vv(t){return this.__data__.set(t,zv),this}function qv(t){return this.__data__.has(t)}function Ln(t){var e=-1,n=t==null?0:t.length;for(this.__data__=new mt;++e<n;)this.add(t[e])}Ln.prototype.add=Ln.prototype.push=Vv;Ln.prototype.has=qv;function Sd(t,e){for(var n=-1,r=t==null?0:t.length;++n<r;)if(e(t[n],n,t))return!0;return!1}function Qo(t,e){return t.has(e)}var Yv=1,Xv=2;function xd(t,e,n,r,i,s){var a=n&Yv,o=t.length,l=e.length;if(o!=l&&!(a&&l>o))return!1;var u=s.get(t),c=s.get(e);if(u&&c)return u==e&&c==t;var f=-1,d=!0,h=n&Xv?new Ln:void 0;for(s.set(t,e),s.set(e,t);++f<o;){var m=t[f],g=e[f];if(r)var T=a?r(g,m,f,e,t,s):r(m,g,f,t,e,s);if(T!==void 0){if(T)continue;d=!1;break}if(h){if(!Sd(e,function(y,R){if(!Qo(h,R)&&(m===y||i(m,y,n,r,s)))return h.push(R)})){d=!1;break}}else if(!(m===g||i(m,g,n,r,s))){d=!1;break}}return s.delete(t),s.delete(e),d}function Jv(t){var e=-1,n=Array(t.size);return t.forEach(function(r,i){n[++e]=[i,r]}),n}function el(t){var e=-1,n=Array(t.size);return t.forEach(function(r){n[++e]=r}),n}var Zv=1,Qv=2,e$="[object Boolean]",t$="[object Date]",n$="[object Error]",r$="[object Map]",i$="[object Number]",s$="[object RegExp]",a$="[object Set]",o$="[object String]",l$="[object Symbol]",u$="[object ArrayBuffer]",c$="[object DataView]",au=be?be.prototype:void 0,pa=au?au.valueOf:void 0;function f$(t,e,n,r,i,s,a){switch(n){case c$:if(t.byteLength!=e.byteLength||t.byteOffset!=e.byteOffset)return!1;t=t.buffer,e=e.buffer;case u$:return!(t.byteLength!=e.byteLength||!s(new Xi(t),new Xi(e)));case e$:case t$:case i$:return Vr(+t,+e);case n$:return t.name==e.name&&t.message==e.message;case s$:case o$:return t==e+"";case r$:var o=Jv;case a$:var l=r&Zv;if(o||(o=el),t.size!=e.size&&!l)return!1;var u=a.get(t);if(u)return u==e;r|=Qv,a.set(t,e);var c=xd(o(t),o(e),r,i,s,a);return a.delete(t),c;case l$:if(pa)return pa.call(t)==pa.call(e)}return!1}var d$=1,h$=Object.prototype,p$=h$.hasOwnProperty;function m$(t,e,n,r,i,s){var a=n&d$,o=Wa(t),l=o.length,u=Wa(e),c=u.length;if(l!=c&&!a)return!1;for(var f=l;f--;){var d=o[f];if(!(a?d in e:p$.call(e,d)))return!1}var h=s.get(t),m=s.get(e);if(h&&m)return h==e&&m==t;var g=!0;s.set(t,e),s.set(e,t);for(var T=a;++f<l;){d=o[f];var y=t[d],R=e[d];if(r)var v=a?r(R,y,d,e,t,s):r(y,R,d,t,e,s);if(!(v===void 0?y===R||i(y,R,n,r,s):v)){g=!1;break}T||(T=d=="constructor")}if(g&&!T){var x=t.constructor,O=e.constructor;x!=O&&"constructor"in t&&"constructor"in e&&!(typeof x=="function"&&x instanceof x&&typeof O=="function"&&O instanceof O)&&(g=!1)}return s.delete(t),s.delete(e),g}var g$=1,ou="[object Arguments]",lu="[object Array]",gi="[object Object]",y$=Object.prototype,uu=y$.hasOwnProperty;function T$(t,e,n,r,i,s){var a=M(t),o=M(e),l=a?lu:Ce(t),u=o?lu:Ce(e);l=l==ou?gi:l,u=u==ou?gi:u;var c=l==gi,f=u==gi,d=l==u;if(d&&Dr(t)){if(!Dr(e))return!1;a=!0,c=!1}if(d&&!c)return s||(s=new Ve),a||Ho(t)?xd(t,e,n,r,i,s):f$(t,e,l,n,r,i,s);if(!(n&g$)){var h=c&&uu.call(t,"__wrapped__"),m=f&&uu.call(e,"__wrapped__");if(h||m){var g=h?t.value():t,T=m?e.value():e;return s||(s=new Ve),i(g,T,n,r,s)}}return d?(s||(s=new Ve),m$(t,e,n,r,i,s)):!1}function tl(t,e,n,r,i){return t===e?!0:t==null||e==null||!Ue(t)&&!Ue(e)?t!==t&&e!==e:T$(t,e,n,r,tl,i)}var v$=1,$$=2;function R$(t,e,n,r){var i=n.length,s=i;if(t==null)return!s;for(t=Object(t);i--;){var a=n[i];if(a[2]?a[1]!==t[a[0]]:!(a[0]in t))return!1}for(;++i<s;){a=n[i];var o=a[0],l=t[o],u=a[1];if(a[2]){if(l===void 0&&!(o in t))return!1}else{var c=new Ve,f;if(!(f===void 0?tl(u,l,v$|$$,r,c):f))return!1}}return!0}function _d(t){return t===t&&!Oe(t)}function A$(t){for(var e=Pe(t),n=e.length;n--;){var r=e[n],i=t[r];e[n]=[r,i,_d(i)]}return e}function Id(t,e){return function(n){return n==null?!1:n[t]===e&&(e!==void 0||t in Object(n))}}function E$(t){var e=A$(t);return e.length==1&&e[0][2]?Id(e[0][0],e[0][1]):function(n){return n===t||R$(n,t,e)}}function S$(t,e){return t!=null&&e in Object(t)}function wd(t,e,n){e=Os(e,t);for(var r=-1,i=e.length,s=!1;++r<i;){var a=Xr(e[r]);if(!(s=t!=null&&n(t,a)))break;t=t[a]}return s||++r!=i?s:(i=t==null?0:t.length,!!i&&Ko(i)&&Is(a,i)&&(M(t)||Cs(t)))}function x$(t,e){return t!=null&&wd(t,e,S$)}var _$=1,I$=2;function w$(t,e){return zo(t)&&_d(e)?Id(Xr(t),e):function(n){var r=pT(n,t);return r===void 0&&r===e?x$(n,t):tl(e,r,_$|I$)}}function C$(t){return function(e){return e==null?void 0:e[t]}}function k$(t){return function(e){return qo(e,t)}}function N$(t){return zo(t)?C$(Xr(t)):k$(t)}function Je(t){return typeof t=="function"?t:t==null?Pn:typeof t=="object"?M(t)?w$(t[0],t[1]):E$(t):N$(t)}function b$(t,e,n,r){for(var i=-1,s=t==null?0:t.length;++i<s;){var a=t[i];e(r,a,n(a),t)}return r}function O$(t){return function(e,n,r){for(var i=-1,s=Object(e),a=r(e),o=a.length;o--;){var l=a[++i];if(n(s[l],l,s)===!1)break}return e}}var P$=O$();function L$(t,e){return t&&P$(t,e,Pe)}function M$(t,e){return function(n,r){if(n==null)return n;if(!Xe(n))return t(n,r);for(var i=n.length,s=-1,a=Object(n);++s<i&&r(a[s],s,a)!==!1;);return n}}var nn=M$(L$);function D$(t,e,n,r){return nn(t,function(i,s,a){e(r,i,n(i),a)}),r}function F$(t,e){return function(n,r){var i=M(n)?b$:D$,s=e?e():{};return i(n,t,Je(r),s)}}var Cd=Object.prototype,G$=Cd.hasOwnProperty,nl=jo(function(t,e){t=Object(t);var n=-1,r=e.length,i=r>2?e[2]:void 0;for(i&&ld(e[0],e[1],i)&&(r=1);++n<r;)for(var s=e[n],a=Wo(s),o=-1,l=a.length;++o<l;){var u=a[o],c=t[u];(c===void 0||Vr(c,Cd[u])&&!G$.call(t,u))&&(t[u]=s[u])}return t});function cu(t){return Ue(t)&&Xe(t)}var U$=200;function B$(t,e,n,r){var i=-1,s=od,a=!0,o=t.length,l=[],u=e.length;if(!o)return l;e.length>=U$&&(s=Qo,a=!1,e=new Ln(e));e:for(;++i<o;){var c=t[i],f=c;if(c=c!==0?c:0,a&&f===f){for(var d=u;d--;)if(e[d]===f)continue e;l.push(c)}else s(e,f,r)||l.push(c)}return l}var Ps=jo(function(t,e){return cu(t)?B$(t,Xo(e,1,cu,!0)):[]});function Mn(t){var e=t==null?0:t.length;return e?t[e-1]:void 0}function ne(t,e,n){var r=t==null?0:t.length;return r?(e=e===void 0?1:_s(e),gd(t,e<0?0:e,r)):[]}function Ur(t,e,n){var r=t==null?0:t.length;return r?(e=e===void 0?1:_s(e),e=r-e,gd(t,0,e<0?0:e)):[]}function j$(t){return typeof t=="function"?t:Pn}function k(t,e){var n=M(t)?sd:nn;return n(t,j$(e))}function K$(t,e){for(var n=-1,r=t==null?0:t.length;++n<r;)if(!e(t[n],n,t))return!1;return!0}function H$(t,e){var n=!0;return nn(t,function(r,i,s){return n=!!e(r,i,s),n}),n}function qe(t,e,n){var r=M(t)?K$:H$;return r(t,Je(e))}function kd(t,e){var n=[];return nn(t,function(r,i,s){e(r,i,s)&&n.push(r)}),n}function Le(t,e){var n=M(t)?Jo:kd;return n(t,Je(e))}function W$(t){return function(e,n,r){var i=Object(e);if(!Xe(e)){var s=Je(n);e=Pe(e),n=function(o){return s(i[o],o,i)}}var a=t(e,n,r);return a>-1?i[s?e[a]:a]:void 0}}var z$=Math.max;function V$(t,e,n){var r=t==null?0:t.length;if(!r)return-1;var i=n==null?0:_s(n);return i<0&&(i=z$(r+i,0)),ad(t,Je(e),i)}var Dn=W$(V$);function Be(t){return t&&t.length?t[0]:void 0}function q$(t,e){var n=-1,r=Xe(t)?Array(t.length):[];return nn(t,function(i,s,a){r[++n]=e(i,s,a)}),r}function I(t,e){var n=M(t)?xs:q$;return n(t,Je(e))}function ke(t,e){return Xo(I(t,e))}var Y$=Object.prototype,X$=Y$.hasOwnProperty,J$=F$(function(t,e,n){X$.call(t,n)?t[n].push(e):Bo(t,n,[e])}),Z$=Object.prototype,Q$=Z$.hasOwnProperty;function eR(t,e){return t!=null&&Q$.call(t,e)}function w(t,e){return t!=null&&wd(t,e,eR)}var tR="[object String]";function je(t){return typeof t=="string"||!M(t)&&Ue(t)&&Nt(t)==tR}function nR(t,e){return xs(e,function(n){return t[n]})}function Z(t){return t==null?[]:nR(t,Pe(t))}var rR=Math.max;function ge(t,e,n,r){t=Xe(t)?t:Z(t),n=n?_s(n):0;var i=t.length;return n<0&&(n=rR(i+n,0)),je(t)?n<=i&&t.indexOf(e,n)>-1:!!i&&Uo(t,e,n)>-1}function fu(t,e,n){var r=t==null?0:t.length;if(!r)return-1;var i=0;return Uo(t,e,i)}var iR="[object Map]",sR="[object Set]",aR=Object.prototype,oR=aR.hasOwnProperty;function U(t){if(t==null)return!0;if(Xe(t)&&(M(t)||typeof t=="string"||typeof t.splice=="function"||Dr(t)||Ho(t)||Cs(t)))return!t.length;var e=Ce(t);if(e==iR||e==sR)return!t.size;if(Yr(t))return!pd(t).length;for(var n in t)if(oR.call(t,n))return!1;return!0}var lR="[object RegExp]";function uR(t){return Ue(t)&&Nt(t)==lR}var du=Et&&Et.isRegExp,St=du?ks(du):uR;function ct(t){return t===void 0}var cR="Expected a function";function fR(t){if(typeof t!="function")throw new TypeError(cR);return function(){var e=arguments;switch(e.length){case 0:return!t.call(this);case 1:return!t.call(this,e[0]);case 2:return!t.call(this,e[0],e[1]);case 3:return!t.call(this,e[0],e[1],e[2])}return!t.apply(this,e)}}function dR(t,e,n,r){if(!Oe(t))return t;e=Os(e,t);for(var i=-1,s=e.length,a=s-1,o=t;o!=null&&++i<s;){var l=Xr(e[i]),u=n;if(l==="__proto__"||l==="constructor"||l==="prototype")return t;if(i!=a){var c=o[l];u=void 0,u===void 0&&(u=Oe(c)?c:Is(e[i+1])?[]:{})}ws(o,l,u),o=o[l]}return t}function hR(t,e,n){for(var r=-1,i=e.length,s={};++r<i;){var a=e[r],o=qo(t,a);n(o,a)&&dR(s,Os(a,t),o)}return s}function pR(t,e){if(t==null)return{};var n=xs(bT(t),function(r){return[r]});return e=Je(e),hR(t,n,function(r,i){return e(r,i[0])})}function mR(t,e,n,r,i){return i(t,function(s,a,o){n=r?(r=!1,s):e(n,s,a,o)}),n}function Se(t,e,n){var r=M(t)?gT:mR,i=arguments.length<3;return r(t,Je(e),n,i,nn)}function Ls(t,e){var n=M(t)?Jo:kd;return n(t,fR(Je(e)))}function gR(t,e){var n;return nn(t,function(r,i,s){return n=e(r,i,s),!n}),!!n}function yR(t,e,n){var r=M(t)?Sd:gR;return r(t,Je(e))}var TR=1/0,vR=mn&&1/el(new mn([,-0]))[1]==TR?function(t){return new mn(t)}:J,$R=200;function RR(t,e,n){var r=-1,i=od,s=t.length,a=!0,o=[],l=o;if(s>=$R){var u=vR(t);if(u)return el(u);a=!1,i=Qo,l=new Ln}else l=o;e:for(;++r<s;){var c=t[r],f=c;if(c=c!==0?c:0,a&&f===f){for(var d=l.length;d--;)if(l[d]===f)continue e;o.push(c)}else i(l,f,n)||(l!==o&&l.push(f),o.push(c))}return o}function rl(t){return t&&t.length?RR(t):[]}function qa(t){console&&console.error&&console.error(`Error: ${t}`)}function Nd(t){console&&console.warn&&console.warn(`Warning: ${t}`)}function bd(t){const e=new Date().getTime(),n=t();return{time:new Date().getTime()-e,value:n}}function Od(t){function e(){}e.prototype=t;const n=new e;function r(){return typeof n.bar}return r(),r(),t}var Pd=typeof global=="object"&&global&&global.Object===Object&&global,AR=typeof self=="object"&&self&&self.Object===Object&&self,gt=Pd||AR||Function("return this")(),xt=gt.Symbol,Ld=Object.prototype,ER=Ld.hasOwnProperty,SR=Ld.toString,qn=xt?xt.toStringTag:void 0;function xR(t){var e=ER.call(t,qn),n=t[qn];try{t[qn]=void 0;var r=!0}catch{}var i=SR.call(t);return r&&(e?t[qn]=n:delete t[qn]),i}var _R=Object.prototype,IR=_R.toString;function wR(t){return IR.call(t)}var CR="[object Null]",kR="[object Undefined]",hu=xt?xt.toStringTag:void 0;function bt(t){return t==null?t===void 0?kR:CR:hu&&hu in Object(t)?xR(t):wR(t)}function _t(t){return t!=null&&typeof t=="object"}var NR="[object Symbol]";function Ms(t){return typeof t=="symbol"||_t(t)&&bt(t)==NR}function Ds(t,e){for(var n=-1,r=t==null?0:t.length,i=Array(r);++n<r;)i[n]=e(t[n],n,t);return i}var pe=Array.isArray,pu=xt?xt.prototype:void 0,mu=pu?pu.toString:void 0;function Md(t){if(typeof t=="string")return t;if(pe(t))return Ds(t,Md)+"";if(Ms(t))return mu?mu.call(t):"";var e=t+"";return e=="0"&&1/t==-1/0?"-0":e}var bR=/\s/;function OR(t){for(var e=t.length;e--&&bR.test(t.charAt(e)););return e}var PR=/^\s+/;function LR(t){return t&&t.slice(0,OR(t)+1).replace(PR,"")}function ft(t){var e=typeof t;return t!=null&&(e=="object"||e=="function")}var gu=NaN,MR=/^[-+]0x[0-9a-f]+$/i,DR=/^0b[01]+$/i,FR=/^0o[0-7]+$/i,GR=parseInt;function UR(t){if(typeof t=="number")return t;if(Ms(t))return gu;if(ft(t)){var e=typeof t.valueOf=="function"?t.valueOf():t;t=ft(e)?e+"":e}if(typeof t!="string")return t===0?t:+t;t=LR(t);var n=DR.test(t);return n||FR.test(t)?GR(t.slice(2),n?2:8):MR.test(t)?gu:+t}var yu=1/0,BR=17976931348623157e292;function jR(t){if(!t)return t===0?t:0;if(t=UR(t),t===yu||t===-yu){var e=t<0?-1:1;return e*BR}return t===t?t:0}function KR(t){var e=jR(t),n=e%1;return e===e?n?e-n:e:0}function Fs(t){return t}var HR="[object AsyncFunction]",WR="[object Function]",zR="[object GeneratorFunction]",VR="[object Proxy]";function Dd(t){if(!ft(t))return!1;var e=bt(t);return e==WR||e==zR||e==HR||e==VR}var ma=gt["__core-js_shared__"],Tu=(function(){var t=/[^.]+$/.exec(ma&&ma.keys&&ma.keys.IE_PROTO||"");return t?"Symbol(src)_1."+t:""})();function qR(t){return!!Tu&&Tu in t}var YR=Function.prototype,XR=YR.toString;function rn(t){if(t!=null){try{return XR.call(t)}catch{}try{return t+""}catch{}}return""}var JR=/[\\^$.*+?()[\]{}|]/g,ZR=/^\[object .+?Constructor\]$/,QR=Function.prototype,eA=Object.prototype,tA=QR.toString,nA=eA.hasOwnProperty,rA=RegExp("^"+tA.call(nA).replace(JR,"\\$&").replace(/hasOwnProperty|(function).*?(?=\\\()| for .+?(?=\\\])/g,"$1.*?")+"$");function iA(t){if(!ft(t)||qR(t))return!1;var e=Dd(t)?rA:ZR;return e.test(rn(t))}function sA(t,e){return t==null?void 0:t[e]}function sn(t,e){var n=sA(t,e);return iA(n)?n:void 0}var Ya=sn(gt,"WeakMap");function aA(t,e,n){switch(n.length){case 0:return t.call(e);case 1:return t.call(e,n[0]);case 2:return t.call(e,n[0],n[1]);case 3:return t.call(e,n[0],n[1],n[2])}return t.apply(e,n)}var oA=800,lA=16,uA=Date.now;function cA(t){var e=0,n=0;return function(){var r=uA(),i=lA-(r-n);if(n=r,i>0){if(++e>=oA)return arguments[0]}else e=0;return t.apply(void 0,arguments)}}function fA(t){return function(){return t}}var Ji=(function(){try{var t=sn(Object,"defineProperty");return t({},"",{}),t}catch{}})(),dA=Ji?function(t,e){return Ji(t,"toString",{configurable:!0,enumerable:!1,value:fA(e),writable:!0})}:Fs,hA=cA(dA);function pA(t,e){for(var n=-1,r=t==null?0:t.length;++n<r&&e(t[n],n,t)!==!1;);return t}function mA(t,e,n,r){for(var i=t.length,s=n+-1;++s<i;)if(e(t[s],s,t))return s;return-1}function gA(t){return t!==t}function yA(t,e,n){for(var r=n-1,i=t.length;++r<i;)if(t[r]===e)return r;return-1}function TA(t,e,n){return e===e?yA(t,e,n):mA(t,gA,n)}var vA=9007199254740991,$A=/^(?:0|[1-9]\d*)$/;function Gs(t,e){var n=typeof t;return e=e??vA,!!e&&(n=="number"||n!="symbol"&&$A.test(t))&&t>-1&&t%1==0&&t<e}function Fd(t,e,n){e=="__proto__"&&Ji?Ji(t,e,{configurable:!0,enumerable:!0,value:n,writable:!0}):t[e]=n}function Us(t,e){return t===e||t!==t&&e!==e}var RA=Object.prototype,AA=RA.hasOwnProperty;function il(t,e,n){var r=t[e];(!(AA.call(t,e)&&Us(r,n))||n===void 0&&!(e in t))&&Fd(t,e,n)}function EA(t,e,n,r){var i=!n;n||(n={});for(var s=-1,a=e.length;++s<a;){var o=e[s],l=void 0;l===void 0&&(l=t[o]),i?Fd(n,o,l):il(n,o,l)}return n}var vu=Math.max;function SA(t,e,n){return e=vu(e===void 0?t.length-1:e,0),function(){for(var r=arguments,i=-1,s=vu(r.length-e,0),a=Array(s);++i<s;)a[i]=r[e+i];i=-1;for(var o=Array(e+1);++i<e;)o[i]=r[i];return o[e]=n(a),aA(t,this,o)}}function xA(t,e){return hA(SA(t,e,Fs),t+"")}var _A=9007199254740991;function sl(t){return typeof t=="number"&&t>-1&&t%1==0&&t<=_A}function an(t){return t!=null&&sl(t.length)&&!Dd(t)}function IA(t,e,n){if(!ft(n))return!1;var r=typeof e;return(r=="number"?an(n)&&Gs(e,n.length):r=="string"&&e in n)?Us(n[e],t):!1}function wA(t){return xA(function(e,n){var r=-1,i=n.length,s=i>1?n[i-1]:void 0,a=i>2?n[2]:void 0;for(s=t.length>3&&typeof s=="function"?(i--,s):void 0,a&&IA(n[0],n[1],a)&&(s=i<3?void 0:s,i=1),e=Object(e);++r<i;){var o=n[r];o&&t(e,o,r,s)}return e})}var CA=Object.prototype;function al(t){var e=t&&t.constructor,n=typeof e=="function"&&e.prototype||CA;return t===n}function kA(t,e){for(var n=-1,r=Array(t);++n<t;)r[n]=e(n);return r}var NA="[object Arguments]";function $u(t){return _t(t)&&bt(t)==NA}var Gd=Object.prototype,bA=Gd.hasOwnProperty,OA=Gd.propertyIsEnumerable,Ud=$u((function(){return arguments})())?$u:function(t){return _t(t)&&bA.call(t,"callee")&&!OA.call(t,"callee")};function PA(){return!1}var Bd=typeof exports=="object"&&exports&&!exports.nodeType&&exports,Ru=Bd&&typeof module=="object"&&module&&!module.nodeType&&module,LA=Ru&&Ru.exports===Bd,Au=LA?gt.Buffer:void 0,MA=Au?Au.isBuffer:void 0,Xa=MA||PA,DA="[object Arguments]",FA="[object Array]",GA="[object Boolean]",UA="[object Date]",BA="[object Error]",jA="[object Function]",KA="[object Map]",HA="[object Number]",WA="[object Object]",zA="[object RegExp]",VA="[object Set]",qA="[object String]",YA="[object WeakMap]",XA="[object ArrayBuffer]",JA="[object DataView]",ZA="[object Float32Array]",QA="[object Float64Array]",eE="[object Int8Array]",tE="[object Int16Array]",nE="[object Int32Array]",rE="[object Uint8Array]",iE="[object Uint8ClampedArray]",sE="[object Uint16Array]",aE="[object Uint32Array]",j={};j[ZA]=j[QA]=j[eE]=j[tE]=j[nE]=j[rE]=j[iE]=j[sE]=j[aE]=!0;j[DA]=j[FA]=j[XA]=j[GA]=j[JA]=j[UA]=j[BA]=j[jA]=j[KA]=j[HA]=j[WA]=j[zA]=j[VA]=j[qA]=j[YA]=!1;function oE(t){return _t(t)&&sl(t.length)&&!!j[bt(t)]}function jd(t){return function(e){return t(e)}}var Kd=typeof exports=="object"&&exports&&!exports.nodeType&&exports,Pr=Kd&&typeof module=="object"&&module&&!module.nodeType&&module,lE=Pr&&Pr.exports===Kd,ga=lE&&Pd.process,Zi=(function(){try{var t=Pr&&Pr.require&&Pr.require("util").types;return t||ga&&ga.binding&&ga.binding("util")}catch{}})(),Eu=Zi&&Zi.isTypedArray,Hd=Eu?jd(Eu):oE,uE=Object.prototype,cE=uE.hasOwnProperty;function Wd(t,e){var n=pe(t),r=!n&&Ud(t),i=!n&&!r&&Xa(t),s=!n&&!r&&!i&&Hd(t),a=n||r||i||s,o=a?kA(t.length,String):[],l=o.length;for(var u in t)(e||cE.call(t,u))&&!(a&&(u=="length"||i&&(u=="offset"||u=="parent")||s&&(u=="buffer"||u=="byteLength"||u=="byteOffset")||Gs(u,l)))&&o.push(u);return o}function zd(t,e){return function(n){return t(e(n))}}var fE=zd(Object.keys,Object),dE=Object.prototype,hE=dE.hasOwnProperty;function pE(t){if(!al(t))return fE(t);var e=[];for(var n in Object(t))hE.call(t,n)&&n!="constructor"&&e.push(n);return e}function Zr(t){return an(t)?Wd(t):pE(t)}var mE=Object.prototype,gE=mE.hasOwnProperty,Ze=wA(function(t,e){if(al(e)||an(e)){EA(e,Zr(e),t);return}for(var n in e)gE.call(e,n)&&il(t,n,e[n])});function yE(t){var e=[];if(t!=null)for(var n in Object(t))e.push(n);return e}var TE=Object.prototype,vE=TE.hasOwnProperty;function $E(t){if(!ft(t))return yE(t);var e=al(t),n=[];for(var r in t)r=="constructor"&&(e||!vE.call(t,r))||n.push(r);return n}function RE(t){return an(t)?Wd(t,!0):$E(t)}var AE=/\.|\[(?:[^[\]]*|(["'])(?:(?!\1)[^\\]|\\.)*?\1)\]/,EE=/^\w*$/;function ol(t,e){if(pe(t))return!1;var n=typeof t;return n=="number"||n=="symbol"||n=="boolean"||t==null||Ms(t)?!0:EE.test(t)||!AE.test(t)||e!=null&&t in Object(e)}var Br=sn(Object,"create");function SE(){this.__data__=Br?Br(null):{},this.size=0}function xE(t){var e=this.has(t)&&delete this.__data__[t];return this.size-=e?1:0,e}var _E="__lodash_hash_undefined__",IE=Object.prototype,wE=IE.hasOwnProperty;function CE(t){var e=this.__data__;if(Br){var n=e[t];return n===_E?void 0:n}return wE.call(e,t)?e[t]:void 0}var kE=Object.prototype,NE=kE.hasOwnProperty;function bE(t){var e=this.__data__;return Br?e[t]!==void 0:NE.call(e,t)}var OE="__lodash_hash_undefined__";function PE(t,e){var n=this.__data__;return this.size+=this.has(t)?0:1,n[t]=Br&&e===void 0?OE:e,this}function Yt(t){var e=-1,n=t==null?0:t.length;for(this.clear();++e<n;){var r=t[e];this.set(r[0],r[1])}}Yt.prototype.clear=SE;Yt.prototype.delete=xE;Yt.prototype.get=CE;Yt.prototype.has=bE;Yt.prototype.set=PE;function LE(){this.__data__=[],this.size=0}function Bs(t,e){for(var n=t.length;n--;)if(Us(t[n][0],e))return n;return-1}var ME=Array.prototype,DE=ME.splice;function FE(t){var e=this.__data__,n=Bs(e,t);if(n<0)return!1;var r=e.length-1;return n==r?e.pop():DE.call(e,n,1),--this.size,!0}function GE(t){var e=this.__data__,n=Bs(e,t);return n<0?void 0:e[n][1]}function UE(t){return Bs(this.__data__,t)>-1}function BE(t,e){var n=this.__data__,r=Bs(n,t);return r<0?(++this.size,n.push([t,e])):n[r][1]=e,this}function yt(t){var e=-1,n=t==null?0:t.length;for(this.clear();++e<n;){var r=t[e];this.set(r[0],r[1])}}yt.prototype.clear=LE;yt.prototype.delete=FE;yt.prototype.get=GE;yt.prototype.has=UE;yt.prototype.set=BE;var jr=sn(gt,"Map");function jE(){this.size=0,this.__data__={hash:new Yt,map:new(jr||yt),string:new Yt}}function KE(t){var e=typeof t;return e=="string"||e=="number"||e=="symbol"||e=="boolean"?t!=="__proto__":t===null}function js(t,e){var n=t.__data__;return KE(e)?n[typeof e=="string"?"string":"hash"]:n.map}function HE(t){var e=js(this,t).delete(t);return this.size-=e?1:0,e}function WE(t){return js(this,t).get(t)}function zE(t){return js(this,t).has(t)}function VE(t,e){var n=js(this,t),r=n.size;return n.set(t,e),this.size+=n.size==r?0:1,this}function Tt(t){var e=-1,n=t==null?0:t.length;for(this.clear();++e<n;){var r=t[e];this.set(r[0],r[1])}}Tt.prototype.clear=jE;Tt.prototype.delete=HE;Tt.prototype.get=WE;Tt.prototype.has=zE;Tt.prototype.set=VE;var qE="Expected a function";function ll(t,e){if(typeof t!="function"||e!=null&&typeof e!="function")throw new TypeError(qE);var n=function(){var r=arguments,i=e?e.apply(this,r):r[0],s=n.cache;if(s.has(i))return s.get(i);var a=t.apply(this,r);return n.cache=s.set(i,a)||s,a};return n.cache=new(ll.Cache||Tt),n}ll.Cache=Tt;var YE=500;function XE(t){var e=ll(t,function(r){return n.size===YE&&n.clear(),r}),n=e.cache;return e}var JE=/[^.[\]]+|\[(?:(-?\d+(?:\.\d+)?)|(["'])((?:(?!\2)[^\\]|\\.)*?)\2)\]|(?=(?:\.|\[\])(?:\.|\[\]|$))/g,ZE=/\\(\\)?/g,QE=XE(function(t){var e=[];return t.charCodeAt(0)===46&&e.push(""),t.replace(JE,function(n,r,i,s){e.push(i?s.replace(ZE,"$1"):r||n)}),e});function eS(t){return t==null?"":Md(t)}function Ks(t,e){return pe(t)?t:ol(t,e)?[t]:QE(eS(t))}function Qr(t){if(typeof t=="string"||Ms(t))return t;var e=t+"";return e=="0"&&1/t==-1/0?"-0":e}function ul(t,e){e=Ks(e,t);for(var n=0,r=e.length;t!=null&&n<r;)t=t[Qr(e[n++])];return n&&n==r?t:void 0}function tS(t,e,n){var r=t==null?void 0:ul(t,e);return r===void 0?n:r}function Vd(t,e){for(var n=-1,r=e.length,i=t.length;++n<r;)t[i+n]=e[n];return t}var nS=zd(Object.getPrototypeOf,Object);function rS(){this.__data__=new yt,this.size=0}function iS(t){var e=this.__data__,n=e.delete(t);return this.size=e.size,n}function sS(t){return this.__data__.get(t)}function aS(t){return this.__data__.has(t)}var oS=200;function lS(t,e){var n=this.__data__;if(n instanceof yt){var r=n.__data__;if(!jr||r.length<oS-1)return r.push([t,e]),this.size=++n.size,this;n=this.__data__=new Tt(r)}return n.set(t,e),this.size=n.size,this}function ut(t){var e=this.__data__=new yt(t);this.size=e.size}ut.prototype.clear=rS;ut.prototype.delete=iS;ut.prototype.get=sS;ut.prototype.has=aS;ut.prototype.set=lS;function uS(t,e){for(var n=-1,r=t==null?0:t.length,i=0,s=[];++n<r;){var a=t[n];e(a,n,t)&&(s[i++]=a)}return s}function qd(){return[]}var cS=Object.prototype,fS=cS.propertyIsEnumerable,Su=Object.getOwnPropertySymbols,Yd=Su?function(t){return t==null?[]:(t=Object(t),uS(Su(t),function(e){return fS.call(t,e)}))}:qd,dS=Object.getOwnPropertySymbols,hS=dS?function(t){for(var e=[];t;)Vd(e,Yd(t)),t=nS(t);return e}:qd;function Xd(t,e,n){var r=e(t);return pe(t)?r:Vd(r,n(t))}function xu(t){return Xd(t,Zr,Yd)}function pS(t){return Xd(t,RE,hS)}var Ja=sn(gt,"DataView"),Za=sn(gt,"Promise"),Qa=sn(gt,"Set"),_u="[object Map]",mS="[object Object]",Iu="[object Promise]",wu="[object Set]",Cu="[object WeakMap]",ku="[object DataView]",gS=rn(Ja),yS=rn(jr),TS=rn(Za),vS=rn(Qa),$S=rn(Ya),Rt=bt;(Ja&&Rt(new Ja(new ArrayBuffer(1)))!=ku||jr&&Rt(new jr)!=_u||Za&&Rt(Za.resolve())!=Iu||Qa&&Rt(new Qa)!=wu||Ya&&Rt(new Ya)!=Cu)&&(Rt=function(t){var e=bt(t),n=e==mS?t.constructor:void 0,r=n?rn(n):"";if(r)switch(r){case gS:return ku;case yS:return _u;case TS:return Iu;case vS:return wu;case $S:return Cu}return e});var Nu=gt.Uint8Array,RS="__lodash_hash_undefined__";function AS(t){return this.__data__.set(t,RS),this}function ES(t){return this.__data__.has(t)}function Qi(t){var e=-1,n=t==null?0:t.length;for(this.__data__=new Tt;++e<n;)this.add(t[e])}Qi.prototype.add=Qi.prototype.push=AS;Qi.prototype.has=ES;function Jd(t,e){for(var n=-1,r=t==null?0:t.length;++n<r;)if(e(t[n],n,t))return!0;return!1}function SS(t,e){return t.has(e)}var xS=1,_S=2;function Zd(t,e,n,r,i,s){var a=n&xS,o=t.length,l=e.length;if(o!=l&&!(a&&l>o))return!1;var u=s.get(t),c=s.get(e);if(u&&c)return u==e&&c==t;var f=-1,d=!0,h=n&_S?new Qi:void 0;for(s.set(t,e),s.set(e,t);++f<o;){var m=t[f],g=e[f];if(r)var T=a?r(g,m,f,e,t,s):r(m,g,f,t,e,s);if(T!==void 0){if(T)continue;d=!1;break}if(h){if(!Jd(e,function(y,R){if(!SS(h,R)&&(m===y||i(m,y,n,r,s)))return h.push(R)})){d=!1;break}}else if(!(m===g||i(m,g,n,r,s))){d=!1;break}}return s.delete(t),s.delete(e),d}function IS(t){var e=-1,n=Array(t.size);return t.forEach(function(r,i){n[++e]=[i,r]}),n}function wS(t){var e=-1,n=Array(t.size);return t.forEach(function(r){n[++e]=r}),n}var CS=1,kS=2,NS="[object Boolean]",bS="[object Date]",OS="[object Error]",PS="[object Map]",LS="[object Number]",MS="[object RegExp]",DS="[object Set]",FS="[object String]",GS="[object Symbol]",US="[object ArrayBuffer]",BS="[object DataView]",bu=xt?xt.prototype:void 0,ya=bu?bu.valueOf:void 0;function jS(t,e,n,r,i,s,a){switch(n){case BS:if(t.byteLength!=e.byteLength||t.byteOffset!=e.byteOffset)return!1;t=t.buffer,e=e.buffer;case US:return!(t.byteLength!=e.byteLength||!s(new Nu(t),new Nu(e)));case NS:case bS:case LS:return Us(+t,+e);case OS:return t.name==e.name&&t.message==e.message;case MS:case FS:return t==e+"";case PS:var o=IS;case DS:var l=r&CS;if(o||(o=wS),t.size!=e.size&&!l)return!1;var u=a.get(t);if(u)return u==e;r|=kS,a.set(t,e);var c=Zd(o(t),o(e),r,i,s,a);return a.delete(t),c;case GS:if(ya)return ya.call(t)==ya.call(e)}return!1}var KS=1,HS=Object.prototype,WS=HS.hasOwnProperty;function zS(t,e,n,r,i,s){var a=n&KS,o=xu(t),l=o.length,u=xu(e),c=u.length;if(l!=c&&!a)return!1;for(var f=l;f--;){var d=o[f];if(!(a?d in e:WS.call(e,d)))return!1}var h=s.get(t),m=s.get(e);if(h&&m)return h==e&&m==t;var g=!0;s.set(t,e),s.set(e,t);for(var T=a;++f<l;){d=o[f];var y=t[d],R=e[d];if(r)var v=a?r(R,y,d,e,t,s):r(y,R,d,t,e,s);if(!(v===void 0?y===R||i(y,R,n,r,s):v)){g=!1;break}T||(T=d=="constructor")}if(g&&!T){var x=t.constructor,O=e.constructor;x!=O&&"constructor"in t&&"constructor"in e&&!(typeof x=="function"&&x instanceof x&&typeof O=="function"&&O instanceof O)&&(g=!1)}return s.delete(t),s.delete(e),g}var VS=1,Ou="[object Arguments]",Pu="[object Array]",yi="[object Object]",qS=Object.prototype,Lu=qS.hasOwnProperty;function YS(t,e,n,r,i,s){var a=pe(t),o=pe(e),l=a?Pu:Rt(t),u=o?Pu:Rt(e);l=l==Ou?yi:l,u=u==Ou?yi:u;var c=l==yi,f=u==yi,d=l==u;if(d&&Xa(t)){if(!Xa(e))return!1;a=!0,c=!1}if(d&&!c)return s||(s=new ut),a||Hd(t)?Zd(t,e,n,r,i,s):jS(t,e,l,n,r,i,s);if(!(n&VS)){var h=c&&Lu.call(t,"__wrapped__"),m=f&&Lu.call(e,"__wrapped__");if(h||m){var g=h?t.value():t,T=m?e.value():e;return s||(s=new ut),i(g,T,n,r,s)}}return d?(s||(s=new ut),zS(t,e,n,r,i,s)):!1}function cl(t,e,n,r,i){return t===e?!0:t==null||e==null||!_t(t)&&!_t(e)?t!==t&&e!==e:YS(t,e,n,r,cl,i)}var XS=1,JS=2;function ZS(t,e,n,r){var i=n.length,s=i;if(t==null)return!s;for(t=Object(t);i--;){var a=n[i];if(a[2]?a[1]!==t[a[0]]:!(a[0]in t))return!1}for(;++i<s;){a=n[i];var o=a[0],l=t[o],u=a[1];if(a[2]){if(l===void 0&&!(o in t))return!1}else{var c=new ut,f;if(!(f===void 0?cl(u,l,XS|JS,r,c):f))return!1}}return!0}function Qd(t){return t===t&&!ft(t)}function QS(t){for(var e=Zr(t),n=e.length;n--;){var r=e[n],i=t[r];e[n]=[r,i,Qd(i)]}return e}function eh(t,e){return function(n){return n==null?!1:n[t]===e&&(e!==void 0||t in Object(n))}}function ex(t){var e=QS(t);return e.length==1&&e[0][2]?eh(e[0][0],e[0][1]):function(n){return n===t||ZS(n,t,e)}}function tx(t,e){return t!=null&&e in Object(t)}function nx(t,e,n){e=Ks(e,t);for(var r=-1,i=e.length,s=!1;++r<i;){var a=Qr(e[r]);if(!(s=t!=null&&n(t,a)))break;t=t[a]}return s||++r!=i?s:(i=t==null?0:t.length,!!i&&sl(i)&&Gs(a,i)&&(pe(t)||Ud(t)))}function rx(t,e){return t!=null&&nx(t,e,tx)}var ix=1,sx=2;function ax(t,e){return ol(t)&&Qd(e)?eh(Qr(t),e):function(n){var r=tS(n,t);return r===void 0&&r===e?rx(n,t):cl(e,r,ix|sx)}}function ox(t){return function(e){return e==null?void 0:e[t]}}function lx(t){return function(e){return ul(e,t)}}function ux(t){return ol(t)?ox(Qr(t)):lx(t)}function Hs(t){return typeof t=="function"?t:t==null?Fs:typeof t=="object"?pe(t)?ax(t[0],t[1]):ex(t):ux(t)}function cx(t){return function(e,n,r){for(var i=-1,s=Object(e),a=r(e),o=a.length;o--;){var l=a[++i];if(n(s[l],l,s)===!1)break}return e}}var fx=cx();function dx(t,e){return t&&fx(t,e,Zr)}function hx(t,e){return function(n,r){if(n==null)return n;if(!an(n))return t(n,r);for(var i=n.length,s=-1,a=Object(n);++s<i&&r(a[s],s,a)!==!1;);return n}}var Ws=hx(dx);function px(t){return typeof t=="function"?t:Fs}function mx(t,e){var n=pe(t)?pA:Ws;return n(t,px(e))}function gx(t,e){for(var n=-1,r=t==null?0:t.length;++n<r;)if(!e(t[n],n,t))return!1;return!0}function yx(t,e){var n=!0;return Ws(t,function(r,i,s){return n=!!e(r,i,s),n}),n}function Tx(t,e,n){var r=pe(t)?gx:yx;return r(t,Hs(e))}function vx(t,e){var n=-1,r=an(t)?Array(t.length):[];return Ws(t,function(i,s,a){r[++n]=e(i,s,a)}),r}function th(t,e){var n=pe(t)?Ds:vx;return n(t,Hs(e))}var $x="[object String]";function es(t){return typeof t=="string"||!pe(t)&&_t(t)&&bt(t)==$x}function Rx(t,e){return Ds(e,function(n){return t[n]})}function Ax(t){return t==null?[]:Rx(t,Zr(t))}var Ex=Math.max;function Sx(t,e,n,r){t=an(t)?t:Ax(t),n=n?KR(n):0;var i=t.length;return n<0&&(n=Ex(i+n,0)),es(t)?n<=i&&t.indexOf(e,n)>-1:!!i&&TA(t,e,n)>-1}var xx="[object RegExp]";function _x(t){return _t(t)&&bt(t)==xx}var Mu=Zi&&Zi.isRegExp,Ix=Mu?jd(Mu):_x;function wx(t,e,n,r){if(!ft(t))return t;e=Ks(e,t);for(var i=-1,s=e.length,a=s-1,o=t;o!=null&&++i<s;){var l=Qr(e[i]),u=n;if(l==="__proto__"||l==="constructor"||l==="prototype")return t;if(i!=a){var c=o[l];u=void 0,u===void 0&&(u=ft(c)?c:Gs(e[i+1])?[]:{})}il(o,l,u),o=o[l]}return t}function Cx(t,e,n){for(var r=-1,i=e.length,s={};++r<i;){var a=e[r],o=ul(t,a);n(o,a)&&wx(s,Ks(a,t),o)}return s}function Qe(t,e){if(t==null)return{};var n=Ds(pS(t),function(r){return[r]});return e=Hs(e),Cx(t,n,function(r,i){return e(r,i[0])})}function kx(t,e){var n;return Ws(t,function(r,i,s){return n=e(r,i,s),!n}),!!n}function Nx(t,e,n){var r=pe(t)?Jd:kx;return r(t,Hs(e))}function bx(t){return Ox(t)?t.LABEL:t.name}function Ox(t){return es(t.LABEL)&&t.LABEL!==""}class et{get definition(){return this._definition}set definition(e){this._definition=e}constructor(e){this._definition=e}accept(e){e.visit(this),mx(this.definition,n=>{n.accept(e)})}}class fe extends et{constructor(e){super([]),this.idx=1,Ze(this,Qe(e,n=>n!==void 0))}set definition(e){}get definition(){return this.referencedRule!==void 0?this.referencedRule.definition:[]}accept(e){e.visit(this)}}class Kn extends et{constructor(e){super(e.definition),this.orgText="",Ze(this,Qe(e,n=>n!==void 0))}}class me extends et{constructor(e){super(e.definition),this.ignoreAmbiguities=!1,Ze(this,Qe(e,n=>n!==void 0))}}let se=class extends et{constructor(e){super(e.definition),this.idx=1,Ze(this,Qe(e,n=>n!==void 0))}};class xe extends et{constructor(e){super(e.definition),this.idx=1,Ze(this,Qe(e,n=>n!==void 0))}}class _e extends et{constructor(e){super(e.definition),this.idx=1,Ze(this,Qe(e,n=>n!==void 0))}}class q extends et{constructor(e){super(e.definition),this.idx=1,Ze(this,Qe(e,n=>n!==void 0))}}class ye extends et{constructor(e){super(e.definition),this.idx=1,Ze(this,Qe(e,n=>n!==void 0))}}class Te extends et{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,Ze(this,Qe(e,n=>n!==void 0))}}class K{constructor(e){this.idx=1,Ze(this,Qe(e,n=>n!==void 0))}accept(e){e.visit(this)}}function Px(t){return th(t,bi)}function bi(t){function e(n){return th(n,bi)}if(t instanceof fe){const n={type:"NonTerminal",name:t.nonTerminalName,idx:t.idx};return es(t.label)&&(n.label=t.label),n}else{if(t instanceof me)return{type:"Alternative",definition:e(t.definition)};if(t instanceof se)return{type:"Option",idx:t.idx,definition:e(t.definition)};if(t instanceof xe)return{type:"RepetitionMandatory",idx:t.idx,definition:e(t.definition)};if(t instanceof _e)return{type:"RepetitionMandatoryWithSeparator",idx:t.idx,separator:bi(new K({terminalType:t.separator})),definition:e(t.definition)};if(t instanceof ye)return{type:"RepetitionWithSeparator",idx:t.idx,separator:bi(new K({terminalType:t.separator})),definition:e(t.definition)};if(t instanceof q)return{type:"Repetition",idx:t.idx,definition:e(t.definition)};if(t instanceof Te)return{type:"Alternation",idx:t.idx,definition:e(t.definition)};if(t instanceof K){const n={type:"Terminal",name:t.terminalType.name,label:bx(t.terminalType),idx:t.idx};es(t.label)&&(n.terminalLabel=t.label);const r=t.terminalType.PATTERN;return t.terminalType.PATTERN&&(n.pattern=Ix(r)?r.source:r),n}else{if(t instanceof Kn)return{type:"Rule",name:t.name,orgText:t.orgText,definition:e(t.definition)};throw Error("non exhaustive match")}}}class Hn{visit(e){const n=e;switch(n.constructor){case fe:return this.visitNonTerminal(n);case me:return this.visitAlternative(n);case se:return this.visitOption(n);case xe:return this.visitRepetitionMandatory(n);case _e:return this.visitRepetitionMandatoryWithSeparator(n);case ye:return this.visitRepetitionWithSeparator(n);case q:return this.visitRepetition(n);case Te:return this.visitAlternation(n);case K:return this.visitTerminal(n);case Kn:return this.visitRule(n);default:throw Error("non exhaustive match")}}visitNonTerminal(e){}visitAlternative(e){}visitOption(e){}visitRepetition(e){}visitRepetitionMandatory(e){}visitRepetitionMandatoryWithSeparator(e){}visitRepetitionWithSeparator(e){}visitAlternation(e){}visitTerminal(e){}visitRule(e){}}function Lx(t){return t instanceof me||t instanceof se||t instanceof q||t instanceof xe||t instanceof _e||t instanceof ye||t instanceof K||t instanceof Kn}function ts(t,e=[]){return t instanceof se||t instanceof q||t instanceof ye?!0:t instanceof Te?Nx(t.definition,r=>ts(r,e)):t instanceof fe&&Sx(e,t)?!1:t instanceof et?(t instanceof fe&&e.push(t),Tx(t.definition,r=>ts(r,e))):!1}function Mx(t){return t instanceof Te}function We(t){if(t instanceof fe)return"SUBRULE";if(t instanceof se)return"OPTION";if(t instanceof Te)return"OR";if(t instanceof xe)return"AT_LEAST_ONE";if(t instanceof _e)return"AT_LEAST_ONE_SEP";if(t instanceof ye)return"MANY_SEP";if(t instanceof q)return"MANY";if(t instanceof K)return"CONSUME";throw Error("non exhaustive match")}class zs{walk(e,n=[]){k(e.definition,(r,i)=>{const s=ne(e.definition,i+1);if(r instanceof fe)this.walkProdRef(r,s,n);else if(r instanceof K)this.walkTerminal(r,s,n);else if(r instanceof me)this.walkFlat(r,s,n);else if(r instanceof se)this.walkOption(r,s,n);else if(r instanceof xe)this.walkAtLeastOne(r,s,n);else if(r instanceof _e)this.walkAtLeastOneSep(r,s,n);else if(r instanceof ye)this.walkManySep(r,s,n);else if(r instanceof q)this.walkMany(r,s,n);else if(r instanceof Te)this.walkOr(r,s,n);else throw Error("non exhaustive match")})}walkTerminal(e,n,r){}walkProdRef(e,n,r){}walkFlat(e,n,r){const i=n.concat(r);this.walk(e,i)}walkOption(e,n,r){const i=n.concat(r);this.walk(e,i)}walkAtLeastOne(e,n,r){const i=[new se({definition:e.definition})].concat(n,r);this.walk(e,i)}walkAtLeastOneSep(e,n,r){const i=Du(e,n,r);this.walk(e,i)}walkMany(e,n,r){const i=[new se({definition:e.definition})].concat(n,r);this.walk(e,i)}walkManySep(e,n,r){const i=Du(e,n,r);this.walk(e,i)}walkOr(e,n,r){const i=n.concat(r);k(e.definition,s=>{const a=new me({definition:[s]});this.walk(a,i)})}}function Du(t,e,n){return[new se({definition:[new K({terminalType:t.separator})].concat(t.definition)})].concat(e,n)}function ei(t){if(t instanceof fe)return ei(t.referencedRule);if(t instanceof K)return Gx(t);if(Lx(t))return Dx(t);if(Mx(t))return Fx(t);throw Error("non exhaustive match")}function Dx(t){let e=[];const n=t.definition;let r=0,i=n.length>r,s,a=!0;for(;i&&a;)s=n[r],a=ts(s),e=e.concat(ei(s)),r=r+1,i=n.length>r;return rl(e)}function Fx(t){const e=I(t.definition,n=>ei(n));return rl(Ge(e))}function Gx(t){return[t.terminalType]}const nh="_~IN~_";class Ux extends zs{constructor(e){super(),this.topProd=e,this.follows={}}startWalking(){return this.walk(this.topProd),this.follows}walkTerminal(e,n,r){}walkProdRef(e,n,r){const i=jx(e.referencedRule,e.idx)+this.topProd.name,s=n.concat(r),a=new me({definition:s}),o=ei(a);this.follows[i]=o}}function Bx(t){const e={};return k(t,n=>{const r=new Ux(n).startWalking();Ha(e,r)}),e}function jx(t,e){return t.name+e+nh}let Oi={};const Kx=new qf;function Vs(t){const e=t.toString();if(Oi.hasOwnProperty(e))return Oi[e];{const n=Kx.pattern(e);return Oi[e]=n,n}}function Hx(){Oi={}}const rh="Complement Sets are not supported for first char optimization",ns=`Unable to use "first char" lexer optimizations:
|
|
13
|
+
`;function Wx(t,e=!1){try{const n=Vs(t);return eo(n.value,{},n.flags.ignoreCase)}catch(n){if(n.message===rh)e&&Nd(`${ns} Unable to optimize: < ${t.toString()} >
|
|
14
|
+
Complement Sets cannot be automatically optimized.
|
|
15
|
+
This will disable the lexer's first char optimizations.
|
|
16
|
+
See: https://chevrotain.io/docs/guide/resolving_lexer_errors.html#COMPLEMENT for details.`);else{let r="";e&&(r=`
|
|
17
|
+
This will disable the lexer's first char optimizations.
|
|
18
|
+
See: https://chevrotain.io/docs/guide/resolving_lexer_errors.html#REGEXP_PARSING for details.`),qa(`${ns}
|
|
19
|
+
Failed parsing: < ${t.toString()} >
|
|
20
|
+
Using the @chevrotain/regexp-to-ast library
|
|
21
|
+
Please open an issue at: https://github.com/chevrotain/chevrotain/issues`+r)}}return[]}function eo(t,e,n){switch(t.type){case"Disjunction":for(let i=0;i<t.value.length;i++)eo(t.value[i],e,n);break;case"Alternative":const r=t.value;for(let i=0;i<r.length;i++){const s=r[i];switch(s.type){case"EndAnchor":case"GroupBackReference":case"Lookahead":case"NegativeLookahead":case"StartAnchor":case"WordBoundary":case"NonWordBoundary":continue}const a=s;switch(a.type){case"Character":Ti(a.value,e,n);break;case"Set":if(a.complement===!0)throw Error(rh);k(a.value,l=>{if(typeof l=="number")Ti(l,e,n);else{const u=l;if(n===!0)for(let c=u.from;c<=u.to;c++)Ti(c,e,n);else{for(let c=u.from;c<=u.to&&c<_r;c++)Ti(c,e,n);if(u.to>=_r){const c=u.from>=_r?u.from:_r,f=u.to,d=It(c),h=It(f);for(let m=d;m<=h;m++)e[m]=m}}}});break;case"Group":eo(a.value,e,n);break;default:throw Error("Non Exhaustive Match")}const o=a.quantifier!==void 0&&a.quantifier.atLeast===0;if(a.type==="Group"&&to(a)===!1||a.type!=="Group"&&o===!1)break}break;default:throw Error("non exhaustive match!")}return Z(e)}function Ti(t,e,n){const r=It(t);e[r]=r,n===!0&&zx(t,e)}function zx(t,e){const n=String.fromCharCode(t),r=n.toUpperCase();if(r!==n){const i=It(r.charCodeAt(0));e[i]=i}else{const i=n.toLowerCase();if(i!==n){const s=It(i.charCodeAt(0));e[s]=s}}}function Fu(t,e){return Dn(t.value,n=>{if(typeof n=="number")return ge(e,n);{const r=n;return Dn(e,i=>r.from<=i&&i<=r.to)!==void 0}})}function to(t){const e=t.quantifier;return e&&e.atLeast===0?!0:t.value?M(t.value)?qe(t.value,to):to(t.value):!1}class Vx extends As{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){ge(this.targetCharCodes,e.value)&&(this.found=!0)}visitSet(e){e.complement?Fu(e,this.targetCharCodes)===void 0&&(this.found=!0):Fu(e,this.targetCharCodes)!==void 0&&(this.found=!0)}}function fl(t,e){if(e instanceof RegExp){const n=Vs(e),r=new Vx(t);return r.visit(n),r.found}else return Dn(e,n=>ge(t,n.charCodeAt(0)))!==void 0}const Xt="PATTERN",xr="defaultMode",vi="modes";let ih=typeof new RegExp("(?:)").sticky=="boolean";function qx(t,e){e=nl(e,{useSticky:ih,debug:!1,safeMode:!1,positionTracking:"full",lineTerminatorCharacters:["\r",`
|
|
22
|
+
`],tracer:(R,v)=>v()});const n=e.tracer;n("initCharCodeToOptimizedIndexMap",()=>{y_()});let r;n("Reject Lexer.NA",()=>{r=Ls(t,R=>R[Xt]===he.NA)});let i=!1,s;n("Transform Patterns",()=>{i=!1,s=I(r,R=>{const v=R[Xt];if(St(v)){const x=v.source;return x.length===1&&x!=="^"&&x!=="$"&&x!=="."&&!v.ignoreCase?x:x.length===2&&x[0]==="\\"&&!ge(["d","D","s","S","t","r","n","t","0","c","b","B","f","v","w","W"],x[1])?x[1]:e.useSticky?Uu(v):Gu(v)}else{if(ht(v))return i=!0,{exec:v};if(typeof v=="object")return i=!0,v;if(typeof v=="string"){if(v.length===1)return v;{const x=v.replace(/[\\^$.*+?()[\]{}|]/g,"\\$&"),O=new RegExp(x);return e.useSticky?Uu(O):Gu(O)}}else throw Error("non exhaustive match")}})});let a,o,l,u,c;n("misc mapping",()=>{a=I(r,R=>R.tokenTypeIdx),o=I(r,R=>{const v=R.GROUP;if(v!==he.SKIPPED){if(je(v))return v;if(ct(v))return!1;throw Error("non exhaustive match")}}),l=I(r,R=>{const v=R.LONGER_ALT;if(v)return M(v)?I(v,O=>fu(r,O)):[fu(r,v)]}),u=I(r,R=>R.PUSH_MODE),c=I(r,R=>w(R,"POP_MODE"))});let f;n("Line Terminator Handling",()=>{const R=oh(e.lineTerminatorCharacters);f=I(r,v=>!1),e.positionTracking!=="onlyOffset"&&(f=I(r,v=>w(v,"LINE_BREAKS")?!!v.LINE_BREAKS:ah(v,R)===!1&&fl(R,v.PATTERN)))});let d,h,m,g;n("Misc Mapping #2",()=>{d=I(r,sh),h=I(s,p_),m=Se(r,(R,v)=>{const x=v.GROUP;return je(x)&&x!==he.SKIPPED&&(R[x]=[]),R},{}),g=I(s,(R,v)=>({pattern:s[v],longerAlt:l[v],canLineTerminator:f[v],isCustom:d[v],short:h[v],group:o[v],push:u[v],pop:c[v],tokenTypeIdx:a[v],tokenType:r[v]}))});let T=!0,y=[];return e.safeMode||n("First Char Optimization",()=>{y=Se(r,(R,v,x)=>{if(typeof v.PATTERN=="string"){const O=v.PATTERN.charCodeAt(0),oe=It(O);Ta(R,oe,g[x])}else if(M(v.START_CHARS_HINT)){let O;k(v.START_CHARS_HINT,oe=>{const Me=typeof oe=="string"?oe.charCodeAt(0):oe,ve=It(Me);O!==ve&&(O=ve,Ta(R,ve,g[x]))})}else if(St(v.PATTERN))if(v.PATTERN.unicode)T=!1,e.ensureOptimizations&&qa(`${ns} Unable to analyze < ${v.PATTERN.toString()} > pattern.
|
|
23
|
+
The regexp unicode flag is not currently supported by the regexp-to-ast library.
|
|
24
|
+
This will disable the lexer's first char optimizations.
|
|
25
|
+
For details See: https://chevrotain.io/docs/guide/resolving_lexer_errors.html#UNICODE_OPTIMIZE`);else{const O=Wx(v.PATTERN,e.ensureOptimizations);U(O)&&(T=!1),k(O,oe=>{Ta(R,oe,g[x])})}else e.ensureOptimizations&&qa(`${ns} TokenType: <${v.name}> is using a custom token pattern without providing <start_chars_hint> parameter.
|
|
26
|
+
This will disable the lexer's first char optimizations.
|
|
27
|
+
For details See: https://chevrotain.io/docs/guide/resolving_lexer_errors.html#CUSTOM_OPTIMIZE`),T=!1;return R},[])}),{emptyGroups:m,patternIdxToConfig:g,charCodeToPatternIdxToConfig:y,hasCustom:i,canBeOptimized:T}}function Yx(t,e){let n=[];const r=Jx(t);n=n.concat(r.errors);const i=Zx(r.valid),s=i.valid;return n=n.concat(i.errors),n=n.concat(Xx(s)),n=n.concat(a_(s)),n=n.concat(o_(s,e)),n=n.concat(l_(s)),n}function Xx(t){let e=[];const n=Le(t,r=>St(r[Xt]));return e=e.concat(e_(n)),e=e.concat(r_(n)),e=e.concat(i_(n)),e=e.concat(s_(n)),e=e.concat(t_(n)),e}function Jx(t){const e=Le(t,i=>!w(i,Xt)),n=I(e,i=>({message:"Token Type: ->"+i.name+"<- missing static 'PATTERN' property",type:Y.MISSING_PATTERN,tokenTypes:[i]})),r=Ps(t,e);return{errors:n,valid:r}}function Zx(t){const e=Le(t,i=>{const s=i[Xt];return!St(s)&&!ht(s)&&!w(s,"exec")&&!je(s)}),n=I(e,i=>({message:"Token Type: ->"+i.name+"<- static 'PATTERN' can only be a RegExp, a Function matching the {CustomPatternMatcherFunc} type or an Object matching the {ICustomPattern} interface.",type:Y.INVALID_PATTERN,tokenTypes:[i]})),r=Ps(t,e);return{errors:n,valid:r}}const Qx=/[^\\][$]/;function e_(t){class e extends As{constructor(){super(...arguments),this.found=!1}visitEndAnchor(s){this.found=!0}}const n=Le(t,i=>{const s=i.PATTERN;try{const a=Vs(s),o=new e;return o.visit(a),o.found}catch{return Qx.test(s.source)}});return I(n,i=>({message:`Unexpected RegExp Anchor Error:
|
|
28
|
+
Token Type: ->`+i.name+`<- static 'PATTERN' cannot contain end of input anchor '$'
|
|
29
|
+
See chevrotain.io/docs/guide/resolving_lexer_errors.html#ANCHORS for details.`,type:Y.EOI_ANCHOR_FOUND,tokenTypes:[i]}))}function t_(t){const e=Le(t,r=>r.PATTERN.test(""));return I(e,r=>({message:"Token Type: ->"+r.name+"<- static 'PATTERN' must not match an empty string",type:Y.EMPTY_MATCH_PATTERN,tokenTypes:[r]}))}const n_=/[^\\[][\^]|^\^/;function r_(t){class e extends As{constructor(){super(...arguments),this.found=!1}visitStartAnchor(s){this.found=!0}}const n=Le(t,i=>{const s=i.PATTERN;try{const a=Vs(s),o=new e;return o.visit(a),o.found}catch{return n_.test(s.source)}});return I(n,i=>({message:`Unexpected RegExp Anchor Error:
|
|
30
|
+
Token Type: ->`+i.name+`<- static 'PATTERN' cannot contain start of input anchor '^'
|
|
31
|
+
See https://chevrotain.io/docs/guide/resolving_lexer_errors.html#ANCHORS for details.`,type:Y.SOI_ANCHOR_FOUND,tokenTypes:[i]}))}function i_(t){const e=Le(t,r=>{const i=r[Xt];return i instanceof RegExp&&(i.multiline||i.global)});return I(e,r=>({message:"Token Type: ->"+r.name+"<- static 'PATTERN' may NOT contain global('g') or multiline('m')",type:Y.UNSUPPORTED_FLAGS_FOUND,tokenTypes:[r]}))}function s_(t){const e=[];let n=I(t,s=>Se(t,(a,o)=>(s.PATTERN.source===o.PATTERN.source&&!ge(e,o)&&o.PATTERN!==he.NA&&(e.push(o),a.push(o)),a),[]));n=Jr(n);const r=Le(n,s=>s.length>1);return I(r,s=>{const a=I(s,l=>l.name);return{message:`The same RegExp pattern ->${Be(s).PATTERN}<-has been used in all of the following Token Types: ${a.join(", ")} <-`,type:Y.DUPLICATE_PATTERNS_FOUND,tokenTypes:s}})}function a_(t){const e=Le(t,r=>{if(!w(r,"GROUP"))return!1;const i=r.GROUP;return i!==he.SKIPPED&&i!==he.NA&&!je(i)});return I(e,r=>({message:"Token Type: ->"+r.name+"<- static 'GROUP' can only be Lexer.SKIPPED/Lexer.NA/A String",type:Y.INVALID_GROUP_TYPE_FOUND,tokenTypes:[r]}))}function o_(t,e){const n=Le(t,i=>i.PUSH_MODE!==void 0&&!ge(e,i.PUSH_MODE));return I(n,i=>({message:`Token Type: ->${i.name}<- static 'PUSH_MODE' value cannot refer to a Lexer Mode ->${i.PUSH_MODE}<-which does not exist`,type:Y.PUSH_MODE_DOES_NOT_EXIST,tokenTypes:[i]}))}function l_(t){const e=[],n=Se(t,(r,i,s)=>{const a=i.PATTERN;return a===he.NA||(je(a)?r.push({str:a,idx:s,tokenType:i}):St(a)&&c_(a)&&r.push({str:a.source,idx:s,tokenType:i})),r},[]);return k(t,(r,i)=>{k(n,({str:s,idx:a,tokenType:o})=>{if(i<a&&u_(s,r.PATTERN)){const l=`Token: ->${o.name}<- can never be matched.
|
|
32
|
+
Because it appears AFTER the Token Type ->${r.name}<-in the lexer's definition.
|
|
33
|
+
See https://chevrotain.io/docs/guide/resolving_lexer_errors.html#UNREACHABLE`;e.push({message:l,type:Y.UNREACHABLE_PATTERN,tokenTypes:[r,o]})}})}),e}function u_(t,e){if(St(e)){const n=e.exec(t);return n!==null&&n.index===0}else{if(ht(e))return e(t,0,[],{});if(w(e,"exec"))return e.exec(t,0,[],{});if(typeof e=="string")return e===t;throw Error("non exhaustive match")}}function c_(t){return Dn([".","\\","[","]","|","^","$","(",")","?","*","+","{"],n=>t.source.indexOf(n)!==-1)===void 0}function Gu(t){const e=t.ignoreCase?"i":"";return new RegExp(`^(?:${t.source})`,e)}function Uu(t){const e=t.ignoreCase?"iy":"y";return new RegExp(`${t.source}`,e)}function f_(t,e,n){const r=[];return w(t,xr)||r.push({message:"A MultiMode Lexer cannot be initialized without a <"+xr+`> property in its definition
|
|
34
|
+
`,type:Y.MULTI_MODE_LEXER_WITHOUT_DEFAULT_MODE}),w(t,vi)||r.push({message:"A MultiMode Lexer cannot be initialized without a <"+vi+`> property in its definition
|
|
35
|
+
`,type:Y.MULTI_MODE_LEXER_WITHOUT_MODES_PROPERTY}),w(t,vi)&&w(t,xr)&&!w(t.modes,t.defaultMode)&&r.push({message:`A MultiMode Lexer cannot be initialized with a ${xr}: <${t.defaultMode}>which does not exist
|
|
36
|
+
`,type:Y.MULTI_MODE_LEXER_DEFAULT_MODE_VALUE_DOES_NOT_EXIST}),w(t,vi)&&k(t.modes,(i,s)=>{k(i,(a,o)=>{if(ct(a))r.push({message:`A Lexer cannot be initialized using an undefined Token Type. Mode:<${s}> at index: <${o}>
|
|
37
|
+
`,type:Y.LEXER_DEFINITION_CANNOT_CONTAIN_UNDEFINED});else if(w(a,"LONGER_ALT")){const l=M(a.LONGER_ALT)?a.LONGER_ALT:[a.LONGER_ALT];k(l,u=>{!ct(u)&&!ge(i,u)&&r.push({message:`A MultiMode Lexer cannot be initialized with a longer_alt <${u.name}> on token <${a.name}> outside of mode <${s}>
|
|
38
|
+
`,type:Y.MULTI_MODE_LEXER_LONGER_ALT_NOT_IN_CURRENT_MODE})})}})}),r}function d_(t,e,n){const r=[];let i=!1;const s=Jr(Ge(Z(t.modes))),a=Ls(s,l=>l[Xt]===he.NA),o=oh(n);return e&&k(a,l=>{const u=ah(l,o);if(u!==!1){const f={message:g_(l,u),type:u.issue,tokenType:l};r.push(f)}else w(l,"LINE_BREAKS")?l.LINE_BREAKS===!0&&(i=!0):fl(o,l.PATTERN)&&(i=!0)}),e&&!i&&r.push({message:`Warning: No LINE_BREAKS Found.
|
|
39
|
+
This Lexer has been defined to track line and column information,
|
|
40
|
+
But none of the Token Types can be identified as matching a line terminator.
|
|
41
|
+
See https://chevrotain.io/docs/guide/resolving_lexer_errors.html#LINE_BREAKS
|
|
42
|
+
for details.`,type:Y.NO_LINE_BREAKS_FLAGS}),r}function h_(t){const e={},n=Pe(t);return k(n,r=>{const i=t[r];if(M(i))e[r]=[];else throw Error("non exhaustive match")}),e}function sh(t){const e=t.PATTERN;if(St(e))return!1;if(ht(e))return!0;if(w(e,"exec"))return!0;if(je(e))return!1;throw Error("non exhaustive match")}function p_(t){return je(t)&&t.length===1?t.charCodeAt(0):!1}const m_={test:function(t){const e=t.length;for(let n=this.lastIndex;n<e;n++){const r=t.charCodeAt(n);if(r===10)return this.lastIndex=n+1,!0;if(r===13)return t.charCodeAt(n+1)===10?this.lastIndex=n+2:this.lastIndex=n+1,!0}return!1},lastIndex:0};function ah(t,e){if(w(t,"LINE_BREAKS"))return!1;if(St(t.PATTERN)){try{fl(e,t.PATTERN)}catch(n){return{issue:Y.IDENTIFY_TERMINATOR,errMsg:n.message}}return!1}else{if(je(t.PATTERN))return!1;if(sh(t))return{issue:Y.CUSTOM_LINE_BREAK};throw Error("non exhaustive match")}}function g_(t,e){if(e.issue===Y.IDENTIFY_TERMINATOR)return`Warning: unable to identify line terminator usage in pattern.
|
|
43
|
+
The problem is in the <${t.name}> Token Type
|
|
44
|
+
Root cause: ${e.errMsg}.
|
|
45
|
+
For details See: https://chevrotain.io/docs/guide/resolving_lexer_errors.html#IDENTIFY_TERMINATOR`;if(e.issue===Y.CUSTOM_LINE_BREAK)return`Warning: A Custom Token Pattern should specify the <line_breaks> option.
|
|
46
|
+
The problem is in the <${t.name}> Token Type
|
|
47
|
+
For details See: https://chevrotain.io/docs/guide/resolving_lexer_errors.html#CUSTOM_LINE_BREAK`;throw Error("non exhaustive match")}function oh(t){return I(t,n=>je(n)?n.charCodeAt(0):n)}function Ta(t,e,n){t[e]===void 0?t[e]=[n]:t[e].push(n)}const _r=256;let Pi=[];function It(t){return t<_r?t:Pi[t]}function y_(){if(U(Pi)){Pi=new Array(65536);for(let t=0;t<65536;t++)Pi[t]=t>255?255+~~(t/255):t}}function ti(t,e){const n=t.tokenTypeIdx;return n===e.tokenTypeIdx?!0:e.isParent===!0&&e.categoryMatchesMap[n]===!0}function rs(t,e){return t.tokenTypeIdx===e.tokenTypeIdx}let Bu=1;const lh={};function ni(t){const e=T_(t);v_(e),R_(e),$_(e),k(e,n=>{n.isParent=n.categoryMatches.length>0})}function T_(t){let e=ae(t),n=t,r=!0;for(;r;){n=Jr(Ge(I(n,s=>s.CATEGORIES)));const i=Ps(n,e);e=e.concat(i),U(i)?r=!1:n=i}return e}function v_(t){k(t,e=>{ch(e)||(lh[Bu]=e,e.tokenTypeIdx=Bu++),ju(e)&&!M(e.CATEGORIES)&&(e.CATEGORIES=[e.CATEGORIES]),ju(e)||(e.CATEGORIES=[]),A_(e)||(e.categoryMatches=[]),E_(e)||(e.categoryMatchesMap={})})}function $_(t){k(t,e=>{e.categoryMatches=[],k(e.categoryMatchesMap,(n,r)=>{e.categoryMatches.push(lh[r].tokenTypeIdx)})})}function R_(t){k(t,e=>{uh([],e)})}function uh(t,e){k(t,n=>{e.categoryMatchesMap[n.tokenTypeIdx]=!0}),k(e.CATEGORIES,n=>{const r=t.concat(e);ge(r,n)||uh(r,n)})}function ch(t){return w(t,"tokenTypeIdx")}function ju(t){return w(t,"CATEGORIES")}function A_(t){return w(t,"categoryMatches")}function E_(t){return w(t,"categoryMatchesMap")}function S_(t){return w(t,"tokenTypeIdx")}const no={buildUnableToPopLexerModeMessage(t){return`Unable to pop Lexer Mode after encountering Token ->${t.image}<- The Mode Stack is empty`},buildUnexpectedCharactersMessage(t,e,n,r,i){return`unexpected character: ->${t.charAt(e)}<- at offset: ${e}, skipped ${n} characters.`}};var Y;(function(t){t[t.MISSING_PATTERN=0]="MISSING_PATTERN",t[t.INVALID_PATTERN=1]="INVALID_PATTERN",t[t.EOI_ANCHOR_FOUND=2]="EOI_ANCHOR_FOUND",t[t.UNSUPPORTED_FLAGS_FOUND=3]="UNSUPPORTED_FLAGS_FOUND",t[t.DUPLICATE_PATTERNS_FOUND=4]="DUPLICATE_PATTERNS_FOUND",t[t.INVALID_GROUP_TYPE_FOUND=5]="INVALID_GROUP_TYPE_FOUND",t[t.PUSH_MODE_DOES_NOT_EXIST=6]="PUSH_MODE_DOES_NOT_EXIST",t[t.MULTI_MODE_LEXER_WITHOUT_DEFAULT_MODE=7]="MULTI_MODE_LEXER_WITHOUT_DEFAULT_MODE",t[t.MULTI_MODE_LEXER_WITHOUT_MODES_PROPERTY=8]="MULTI_MODE_LEXER_WITHOUT_MODES_PROPERTY",t[t.MULTI_MODE_LEXER_DEFAULT_MODE_VALUE_DOES_NOT_EXIST=9]="MULTI_MODE_LEXER_DEFAULT_MODE_VALUE_DOES_NOT_EXIST",t[t.LEXER_DEFINITION_CANNOT_CONTAIN_UNDEFINED=10]="LEXER_DEFINITION_CANNOT_CONTAIN_UNDEFINED",t[t.SOI_ANCHOR_FOUND=11]="SOI_ANCHOR_FOUND",t[t.EMPTY_MATCH_PATTERN=12]="EMPTY_MATCH_PATTERN",t[t.NO_LINE_BREAKS_FLAGS=13]="NO_LINE_BREAKS_FLAGS",t[t.UNREACHABLE_PATTERN=14]="UNREACHABLE_PATTERN",t[t.IDENTIFY_TERMINATOR=15]="IDENTIFY_TERMINATOR",t[t.CUSTOM_LINE_BREAK=16]="CUSTOM_LINE_BREAK",t[t.MULTI_MODE_LEXER_LONGER_ALT_NOT_IN_CURRENT_MODE=17]="MULTI_MODE_LEXER_LONGER_ALT_NOT_IN_CURRENT_MODE"})(Y||(Y={}));const Ir={deferDefinitionErrorsHandling:!1,positionTracking:"full",lineTerminatorsPattern:/\n|\r\n?/g,lineTerminatorCharacters:[`
|
|
48
|
+
`,"\r"],ensureOptimizations:!1,safeMode:!1,errorMessageProvider:no,traceInitPerf:!1,skipValidations:!1,recoveryEnabled:!0};Object.freeze(Ir);class he{constructor(e,n=Ir){if(this.lexerDefinition=e,this.lexerDefinitionErrors=[],this.lexerDefinitionWarning=[],this.patternIdxToConfig={},this.charCodeToPatternIdxToConfig={},this.modes=[],this.emptyGroups={},this.trackStartLines=!0,this.trackEndLines=!0,this.hasCustom=!1,this.canModeBeOptimized={},this.TRACE_INIT=(i,s)=>{if(this.traceInitPerf===!0){this.traceInitIndent++;const a=new Array(this.traceInitIndent+1).join(" ");this.traceInitIndent<this.traceInitMaxIdent&&console.log(`${a}--> <${i}>`);const{time:o,value:l}=bd(s),u=o>10?console.warn:console.log;return this.traceInitIndent<this.traceInitMaxIdent&&u(`${a}<-- <${i}> time: ${o}ms`),this.traceInitIndent--,l}else return s()},typeof n=="boolean")throw Error(`The second argument to the Lexer constructor is now an ILexerConfig Object.
|
|
49
|
+
a boolean 2nd argument is no longer supported`);this.config=Ha({},Ir,n);const r=this.config.traceInitPerf;r===!0?(this.traceInitMaxIdent=1/0,this.traceInitPerf=!0):typeof r=="number"&&(this.traceInitMaxIdent=r,this.traceInitPerf=!0),this.traceInitIndent=-1,this.TRACE_INIT("Lexer Constructor",()=>{let i,s=!0;this.TRACE_INIT("Lexer Config handling",()=>{if(this.config.lineTerminatorsPattern===Ir.lineTerminatorsPattern)this.config.lineTerminatorsPattern=m_;else if(this.config.lineTerminatorCharacters===Ir.lineTerminatorCharacters)throw Error(`Error: Missing <lineTerminatorCharacters> property on the Lexer config.
|
|
50
|
+
For details See: https://chevrotain.io/docs/guide/resolving_lexer_errors.html#MISSING_LINE_TERM_CHARS`);if(n.safeMode&&n.ensureOptimizations)throw Error('"safeMode" and "ensureOptimizations" flags are mutually exclusive.');this.trackStartLines=/full|onlyStart/i.test(this.config.positionTracking),this.trackEndLines=/full/i.test(this.config.positionTracking),M(e)?i={modes:{defaultMode:ae(e)},defaultMode:xr}:(s=!1,i=ae(e))}),this.config.skipValidations===!1&&(this.TRACE_INIT("performRuntimeChecks",()=>{this.lexerDefinitionErrors=this.lexerDefinitionErrors.concat(f_(i,this.trackStartLines,this.config.lineTerminatorCharacters))}),this.TRACE_INIT("performWarningRuntimeChecks",()=>{this.lexerDefinitionWarning=this.lexerDefinitionWarning.concat(d_(i,this.trackStartLines,this.config.lineTerminatorCharacters))})),i.modes=i.modes?i.modes:{},k(i.modes,(o,l)=>{i.modes[l]=Ls(o,u=>ct(u))});const a=Pe(i.modes);if(k(i.modes,(o,l)=>{this.TRACE_INIT(`Mode: <${l}> processing`,()=>{if(this.modes.push(l),this.config.skipValidations===!1&&this.TRACE_INIT("validatePatterns",()=>{this.lexerDefinitionErrors=this.lexerDefinitionErrors.concat(Yx(o,a))}),U(this.lexerDefinitionErrors)){ni(o);let u;this.TRACE_INIT("analyzeTokenTypes",()=>{u=qx(o,{lineTerminatorCharacters:this.config.lineTerminatorCharacters,positionTracking:n.positionTracking,ensureOptimizations:n.ensureOptimizations,safeMode:n.safeMode,tracer:this.TRACE_INIT})}),this.patternIdxToConfig[l]=u.patternIdxToConfig,this.charCodeToPatternIdxToConfig[l]=u.charCodeToPatternIdxToConfig,this.emptyGroups=Ha({},this.emptyGroups,u.emptyGroups),this.hasCustom=u.hasCustom||this.hasCustom,this.canModeBeOptimized[l]=u.canBeOptimized}})}),this.defaultMode=i.defaultMode,!U(this.lexerDefinitionErrors)&&!this.config.deferDefinitionErrorsHandling){const l=I(this.lexerDefinitionErrors,u=>u.message).join(`-----------------------
|
|
51
|
+
`);throw new Error(`Errors detected in definition of Lexer:
|
|
52
|
+
`+l)}k(this.lexerDefinitionWarning,o=>{Nd(o.message)}),this.TRACE_INIT("Choosing sub-methods implementations",()=>{if(ih?(this.chopInput=Pn,this.match=this.matchWithTest):(this.updateLastIndex=J,this.match=this.matchWithExec),s&&(this.handleModes=J),this.trackStartLines===!1&&(this.computeNewColumn=Pn),this.trackEndLines===!1&&(this.updateTokenEndLineColumnLocation=J),/full/i.test(this.config.positionTracking))this.createTokenInstance=this.createFullToken;else if(/onlyStart/i.test(this.config.positionTracking))this.createTokenInstance=this.createStartOnlyToken;else if(/onlyOffset/i.test(this.config.positionTracking))this.createTokenInstance=this.createOffsetOnlyToken;else throw Error(`Invalid <positionTracking> config option: "${this.config.positionTracking}"`);this.hasCustom?(this.addToken=this.addTokenUsingPush,this.handlePayload=this.handlePayloadWithCustom):(this.addToken=this.addTokenUsingMemberAccess,this.handlePayload=this.handlePayloadNoCustom)}),this.TRACE_INIT("Failed Optimization Warnings",()=>{const o=Se(this.canModeBeOptimized,(l,u,c)=>(u===!1&&l.push(c),l),[]);if(n.ensureOptimizations&&!U(o))throw Error(`Lexer Modes: < ${o.join(", ")} > cannot be optimized.
|
|
53
|
+
Disable the "ensureOptimizations" lexer config flag to silently ignore this and run the lexer in an un-optimized mode.
|
|
54
|
+
Or inspect the console log for details on how to resolve these issues.`)}),this.TRACE_INIT("clearRegExpParserCache",()=>{Hx()}),this.TRACE_INIT("toFastProperties",()=>{Od(this)})})}tokenize(e,n=this.defaultMode){if(!U(this.lexerDefinitionErrors)){const i=I(this.lexerDefinitionErrors,s=>s.message).join(`-----------------------
|
|
55
|
+
`);throw new Error(`Unable to Tokenize because Errors detected in definition of Lexer:
|
|
56
|
+
`+i)}return this.tokenizeInternal(e,n)}tokenizeInternal(e,n){let r,i,s,a,o,l,u,c,f,d,h,m,g,T,y;const R=e,v=R.length;let x=0,O=0;const oe=this.hasCustom?0:Math.floor(e.length/10),Me=new Array(oe),ve=[];let He=this.trackStartLines?1:void 0,Ie=this.trackStartLines?1:void 0;const S=h_(this.emptyGroups),$=this.trackStartLines,E=this.config.lineTerminatorsPattern;let _=0,P=[],b=[];const N=[],$e=[];Object.freeze($e);let Q;function V(){return P}function Gt(le){const we=It(le),cn=b[we];return cn===void 0?$e:cn}const Cp=le=>{if(N.length===1&&le.tokenType.PUSH_MODE===void 0){const we=this.config.errorMessageProvider.buildUnableToPopLexerModeMessage(le);ve.push({offset:le.startOffset,line:le.startLine,column:le.startColumn,length:le.image.length,message:we})}else{N.pop();const we=Mn(N);P=this.patternIdxToConfig[we],b=this.charCodeToPatternIdxToConfig[we],_=P.length;const cn=this.canModeBeOptimized[we]&&this.config.safeMode===!1;b&&cn?Q=Gt:Q=V}};function xl(le){N.push(le),b=this.charCodeToPatternIdxToConfig[le],P=this.patternIdxToConfig[le],_=P.length,_=P.length;const we=this.canModeBeOptimized[le]&&this.config.safeMode===!1;b&&we?Q=Gt:Q=V}xl.call(this,n);let De;const _l=this.config.recoveryEnabled;for(;x<v;){l=null;const le=R.charCodeAt(x),we=Q(le),cn=we.length;for(r=0;r<cn;r++){De=we[r];const Re=De.pattern;u=null;const tt=De.short;if(tt!==!1?le===tt&&(l=Re):De.isCustom===!0?(y=Re.exec(R,x,Me,S),y!==null?(l=y[0],y.payload!==void 0&&(u=y.payload)):l=null):(this.updateLastIndex(Re,x),l=this.match(Re,e,x)),l!==null){if(o=De.longerAlt,o!==void 0){const vt=o.length;for(s=0;s<vt;s++){const nt=P[o[s]],Ut=nt.pattern;if(c=null,nt.isCustom===!0?(y=Ut.exec(R,x,Me,S),y!==null?(a=y[0],y.payload!==void 0&&(c=y.payload)):a=null):(this.updateLastIndex(Ut,x),a=this.match(Ut,e,x)),a&&a.length>l.length){l=a,u=c,De=nt;break}}}break}}if(l!==null){if(f=l.length,d=De.group,d!==void 0&&(h=De.tokenTypeIdx,m=this.createTokenInstance(l,x,h,De.tokenType,He,Ie,f),this.handlePayload(m,u),d===!1?O=this.addToken(Me,O,m):S[d].push(m)),e=this.chopInput(e,f),x=x+f,Ie=this.computeNewColumn(Ie,f),$===!0&&De.canLineTerminator===!0){let Re=0,tt,vt;E.lastIndex=0;do tt=E.test(l),tt===!0&&(vt=E.lastIndex-1,Re++);while(tt===!0);Re!==0&&(He=He+Re,Ie=f-vt,this.updateTokenEndLineColumnLocation(m,d,vt,Re,He,Ie,f))}this.handleModes(De,Cp,xl,m)}else{const Re=x,tt=He,vt=Ie;let nt=_l===!1;for(;nt===!1&&x<v;)for(e=this.chopInput(e,1),x++,i=0;i<_;i++){const Ut=P[i],na=Ut.pattern,Il=Ut.short;if(Il!==!1?R.charCodeAt(x)===Il&&(nt=!0):Ut.isCustom===!0?nt=na.exec(R,x,Me,S)!==null:(this.updateLastIndex(na,x),nt=na.exec(e)!==null),nt===!0)break}if(g=x-Re,Ie=this.computeNewColumn(Ie,g),T=this.config.errorMessageProvider.buildUnexpectedCharactersMessage(R,Re,g,tt,vt),ve.push({offset:Re,line:tt,column:vt,length:g,message:T}),_l===!1)break}}return this.hasCustom||(Me.length=O),{tokens:Me,groups:S,errors:ve}}handleModes(e,n,r,i){if(e.pop===!0){const s=e.push;n(i),s!==void 0&&r.call(this,s)}else e.push!==void 0&&r.call(this,e.push)}chopInput(e,n){return e.substring(n)}updateLastIndex(e,n){e.lastIndex=n}updateTokenEndLineColumnLocation(e,n,r,i,s,a,o){let l,u;n!==void 0&&(l=r===o-1,u=l?-1:0,i===1&&l===!0||(e.endLine=s+u,e.endColumn=a-1+-u))}computeNewColumn(e,n){return e+n}createOffsetOnlyToken(e,n,r,i){return{image:e,startOffset:n,tokenTypeIdx:r,tokenType:i}}createStartOnlyToken(e,n,r,i,s,a){return{image:e,startOffset:n,startLine:s,startColumn:a,tokenTypeIdx:r,tokenType:i}}createFullToken(e,n,r,i,s,a,o){return{image:e,startOffset:n,endOffset:n+o-1,startLine:s,endLine:s,startColumn:a,endColumn:a+o-1,tokenTypeIdx:r,tokenType:i}}addTokenUsingPush(e,n,r){return e.push(r),n}addTokenUsingMemberAccess(e,n,r){return e[n]=r,n++,n}handlePayloadNoCustom(e,n){}handlePayloadWithCustom(e,n){n!==null&&(e.payload=n)}matchWithTest(e,n,r){return e.test(n)===!0?n.substring(r,e.lastIndex):null}matchWithExec(e,n){const r=e.exec(n);return r!==null?r[0]:null}}he.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.";he.NA=/NOT_APPLICABLE/;function gn(t){return fh(t)?t.LABEL:t.name}function fh(t){return je(t.LABEL)&&t.LABEL!==""}const x_="parent",Ku="categories",Hu="label",Wu="group",zu="push_mode",Vu="pop_mode",qu="longer_alt",Yu="line_breaks",Xu="start_chars_hint";function dh(t){return __(t)}function __(t){const e=t.pattern,n={};if(n.name=t.name,ct(e)||(n.PATTERN=e),w(t,x_))throw`The parent property is no longer supported.
|
|
57
|
+
See: https://github.com/chevrotain/chevrotain/issues/564#issuecomment-349062346 for details.`;return w(t,Ku)&&(n.CATEGORIES=t[Ku]),ni([n]),w(t,Hu)&&(n.LABEL=t[Hu]),w(t,Wu)&&(n.GROUP=t[Wu]),w(t,Vu)&&(n.POP_MODE=t[Vu]),w(t,zu)&&(n.PUSH_MODE=t[zu]),w(t,qu)&&(n.LONGER_ALT=t[qu]),w(t,Yu)&&(n.LINE_BREAKS=t[Yu]),w(t,Xu)&&(n.START_CHARS_HINT=t[Xu]),n}const wt=dh({name:"EOF",pattern:he.NA});ni([wt]);function dl(t,e,n,r,i,s,a,o){return{image:e,startOffset:n,endOffset:r,startLine:i,endLine:s,startColumn:a,endColumn:o,tokenTypeIdx:t.tokenTypeIdx,tokenType:t}}function hh(t,e){return ti(t,e)}const hn={buildMismatchTokenMessage({expected:t,actual:e,previous:n,ruleName:r}){return`Expecting ${fh(t)?`--> ${gn(t)} <--`:`token of type --> ${t.name} <--`} but found --> '${e.image}' <--`},buildNotAllInputParsedMessage({firstRedundant:t,ruleName:e}){return"Redundant input, expecting EOF but found: "+t.image},buildNoViableAltMessage({expectedPathsPerAlt:t,actual:e,previous:n,customUserDescription:r,ruleName:i}){const s="Expecting: ",o=`
|
|
58
|
+
but found: '`+Be(e).image+"'";if(r)return s+r+o;{const l=Se(t,(d,h)=>d.concat(h),[]),u=I(l,d=>`[${I(d,h=>gn(h)).join(", ")}]`),f=`one of these possible Token sequences:
|
|
59
|
+
${I(u,(d,h)=>` ${h+1}. ${d}`).join(`
|
|
60
|
+
`)}`;return s+f+o}},buildEarlyExitMessage({expectedIterationPaths:t,actual:e,customUserDescription:n,ruleName:r}){const i="Expecting: ",a=`
|
|
61
|
+
but found: '`+Be(e).image+"'";if(n)return i+n+a;{const l=`expecting at least one iteration which starts with one of these possible Token sequences::
|
|
62
|
+
<${I(t,u=>`[${I(u,c=>gn(c)).join(",")}]`).join(" ,")}>`;return i+l+a}}};Object.freeze(hn);const I_={buildRuleNotFoundError(t,e){return"Invalid grammar, reference to a rule which is not defined: ->"+e.nonTerminalName+`<-
|
|
63
|
+
inside top level rule: ->`+t.name+"<-"}},Ht={buildDuplicateFoundError(t,e){function n(c){return c instanceof K?c.terminalType.name:c instanceof fe?c.nonTerminalName:""}const r=t.name,i=Be(e),s=i.idx,a=We(i),o=n(i),l=s>0;let u=`->${a}${l?s:""}<- ${o?`with argument: ->${o}<-`:""}
|
|
64
|
+
appears more than once (${e.length} times) in the top level rule: ->${r}<-.
|
|
65
|
+
For further details see: https://chevrotain.io/docs/FAQ.html#NUMERICAL_SUFFIXES
|
|
66
|
+
`;return u=u.replace(/[ \t]+/g," "),u=u.replace(/\s\s+/g,`
|
|
67
|
+
`),u},buildNamespaceConflictError(t){return`Namespace conflict found in grammar.
|
|
68
|
+
The grammar has both a Terminal(Token) and a Non-Terminal(Rule) named: <${t.name}>.
|
|
69
|
+
To resolve this make sure each Terminal and Non-Terminal names are unique
|
|
70
|
+
This is easy to accomplish by using the convention that Terminal names start with an uppercase letter
|
|
71
|
+
and Non-Terminal names start with a lower case letter.`},buildAlternationPrefixAmbiguityError(t){const e=I(t.prefixPath,i=>gn(i)).join(", "),n=t.alternation.idx===0?"":t.alternation.idx;return`Ambiguous alternatives: <${t.ambiguityIndices.join(" ,")}> due to common lookahead prefix
|
|
72
|
+
in <OR${n}> inside <${t.topLevelRule.name}> Rule,
|
|
73
|
+
<${e}> may appears as a prefix path in all these alternatives.
|
|
74
|
+
See: https://chevrotain.io/docs/guide/resolving_grammar_errors.html#COMMON_PREFIX
|
|
75
|
+
For Further details.`},buildAlternationAmbiguityError(t){const e=I(t.prefixPath,i=>gn(i)).join(", "),n=t.alternation.idx===0?"":t.alternation.idx;let r=`Ambiguous Alternatives Detected: <${t.ambiguityIndices.join(" ,")}> in <OR${n}> inside <${t.topLevelRule.name}> Rule,
|
|
76
|
+
<${e}> may appears as a prefix path in all these alternatives.
|
|
77
|
+
`;return r=r+`See: https://chevrotain.io/docs/guide/resolving_grammar_errors.html#AMBIGUOUS_ALTERNATIVES
|
|
78
|
+
For Further details.`,r},buildEmptyRepetitionError(t){let e=We(t.repetition);return t.repetition.idx!==0&&(e+=t.repetition.idx),`The repetition <${e}> within Rule <${t.topLevelRule.name}> can never consume any tokens.
|
|
79
|
+
This could lead to an infinite loop.`},buildTokenNameError(t){return"deprecated"},buildEmptyAlternationError(t){return`Ambiguous empty alternative: <${t.emptyChoiceIdx+1}> in <OR${t.alternation.idx}> inside <${t.topLevelRule.name}> Rule.
|
|
80
|
+
Only the last alternative may be an empty alternative.`},buildTooManyAlternativesError(t){return`An Alternation cannot have more than 256 alternatives:
|
|
81
|
+
<OR${t.alternation.idx}> inside <${t.topLevelRule.name}> Rule.
|
|
82
|
+
has ${t.alternation.definition.length+1} alternatives.`},buildLeftRecursionError(t){const e=t.topLevelRule.name,n=I(t.leftRecursionPath,s=>s.name),r=`${e} --> ${n.concat([e]).join(" --> ")}`;return`Left Recursion found in grammar.
|
|
83
|
+
rule: <${e}> can be invoked from itself (directly or indirectly)
|
|
84
|
+
without consuming any Tokens. The grammar path that causes this is:
|
|
85
|
+
${r}
|
|
86
|
+
To fix this refactor your grammar to remove the left recursion.
|
|
87
|
+
see: https://en.wikipedia.org/wiki/LL_parser#Left_factoring.`},buildInvalidRuleNameError(t){return"deprecated"},buildDuplicateRuleNameError(t){let e;return t.topLevelRule instanceof Kn?e=t.topLevelRule.name:e=t.topLevelRule,`Duplicate definition, rule: ->${e}<- is already defined in the grammar: ->${t.grammarName}<-`}};function w_(t,e){const n=new C_(t,e);return n.resolveRefs(),n.errors}class C_ extends Hn{constructor(e,n){super(),this.nameToTopRule=e,this.errMsgProvider=n,this.errors=[]}resolveRefs(){k(Z(this.nameToTopRule),e=>{this.currTopLevel=e,e.accept(this)})}visitNonTerminal(e){const n=this.nameToTopRule[e.nonTerminalName];if(n)e.referencedRule=n;else{const r=this.errMsgProvider.buildRuleNotFoundError(this.currTopLevel,e);this.errors.push({message:r,type:de.UNRESOLVED_SUBRULE_REF,ruleName:this.currTopLevel.name,unresolvedRefName:e.nonTerminalName})}}}class k_ extends zs{constructor(e,n){super(),this.topProd=e,this.path=n,this.possibleTokTypes=[],this.nextProductionName="",this.nextProductionOccurrence=0,this.found=!1,this.isAtEndOfPath=!1}startWalking(){if(this.found=!1,this.path.ruleStack[0]!==this.topProd.name)throw Error("The path does not start with the walker's top Rule!");return this.ruleStack=ae(this.path.ruleStack).reverse(),this.occurrenceStack=ae(this.path.occurrenceStack).reverse(),this.ruleStack.pop(),this.occurrenceStack.pop(),this.updateExpectedNext(),this.walk(this.topProd),this.possibleTokTypes}walk(e,n=[]){this.found||super.walk(e,n)}walkProdRef(e,n,r){if(e.referencedRule.name===this.nextProductionName&&e.idx===this.nextProductionOccurrence){const i=n.concat(r);this.updateExpectedNext(),this.walk(e.referencedRule,i)}}updateExpectedNext(){U(this.ruleStack)?(this.nextProductionName="",this.nextProductionOccurrence=0,this.isAtEndOfPath=!0):(this.nextProductionName=this.ruleStack.pop(),this.nextProductionOccurrence=this.occurrenceStack.pop())}}class N_ extends k_{constructor(e,n){super(e,n),this.path=n,this.nextTerminalName="",this.nextTerminalOccurrence=0,this.nextTerminalName=this.path.lastTok.name,this.nextTerminalOccurrence=this.path.lastTokOccurrence}walkTerminal(e,n,r){if(this.isAtEndOfPath&&e.terminalType.name===this.nextTerminalName&&e.idx===this.nextTerminalOccurrence&&!this.found){const i=n.concat(r),s=new me({definition:i});this.possibleTokTypes=ei(s),this.found=!0}}}class qs extends zs{constructor(e,n){super(),this.topRule=e,this.occurrence=n,this.result={token:void 0,occurrence:void 0,isEndOfRule:void 0}}startWalking(){return this.walk(this.topRule),this.result}}class b_ extends qs{walkMany(e,n,r){if(e.idx===this.occurrence){const i=Be(n.concat(r));this.result.isEndOfRule=i===void 0,i instanceof K&&(this.result.token=i.terminalType,this.result.occurrence=i.idx)}else super.walkMany(e,n,r)}}class Ju extends qs{walkManySep(e,n,r){if(e.idx===this.occurrence){const i=Be(n.concat(r));this.result.isEndOfRule=i===void 0,i instanceof K&&(this.result.token=i.terminalType,this.result.occurrence=i.idx)}else super.walkManySep(e,n,r)}}class O_ extends qs{walkAtLeastOne(e,n,r){if(e.idx===this.occurrence){const i=Be(n.concat(r));this.result.isEndOfRule=i===void 0,i instanceof K&&(this.result.token=i.terminalType,this.result.occurrence=i.idx)}else super.walkAtLeastOne(e,n,r)}}class Zu extends qs{walkAtLeastOneSep(e,n,r){if(e.idx===this.occurrence){const i=Be(n.concat(r));this.result.isEndOfRule=i===void 0,i instanceof K&&(this.result.token=i.terminalType,this.result.occurrence=i.idx)}else super.walkAtLeastOneSep(e,n,r)}}function ro(t,e,n=[]){n=ae(n);let r=[],i=0;function s(o){return o.concat(ne(t,i+1))}function a(o){const l=ro(s(o),e,n);return r.concat(l)}for(;n.length<e&&i<t.length;){const o=t[i];if(o instanceof me)return a(o.definition);if(o instanceof fe)return a(o.definition);if(o instanceof se)r=a(o.definition);else if(o instanceof xe){const l=o.definition.concat([new q({definition:o.definition})]);return a(l)}else if(o instanceof _e){const l=[new me({definition:o.definition}),new q({definition:[new K({terminalType:o.separator})].concat(o.definition)})];return a(l)}else if(o instanceof ye){const l=o.definition.concat([new q({definition:[new K({terminalType:o.separator})].concat(o.definition)})]);r=a(l)}else if(o instanceof q){const l=o.definition.concat([new q({definition:o.definition})]);r=a(l)}else{if(o instanceof Te)return k(o.definition,l=>{U(l.definition)===!1&&(r=a(l.definition))}),r;if(o instanceof K)n.push(o.terminalType);else throw Error("non exhaustive match")}i++}return r.push({partialPath:n,suffixDef:ne(t,i)}),r}function ph(t,e,n,r){const i="EXIT_NONE_TERMINAL",s=[i],a="EXIT_ALTERNATIVE";let o=!1;const l=e.length,u=l-r-1,c=[],f=[];for(f.push({idx:-1,def:t,ruleStack:[],occurrenceStack:[]});!U(f);){const d=f.pop();if(d===a){o&&Mn(f).idx<=u&&f.pop();continue}const h=d.def,m=d.idx,g=d.ruleStack,T=d.occurrenceStack;if(U(h))continue;const y=h[0];if(y===i){const R={idx:m,def:ne(h),ruleStack:Ur(g),occurrenceStack:Ur(T)};f.push(R)}else if(y instanceof K)if(m<l-1){const R=m+1,v=e[R];if(n(v,y.terminalType)){const x={idx:R,def:ne(h),ruleStack:g,occurrenceStack:T};f.push(x)}}else if(m===l-1)c.push({nextTokenType:y.terminalType,nextTokenOccurrence:y.idx,ruleStack:g,occurrenceStack:T}),o=!0;else throw Error("non exhaustive match");else if(y instanceof fe){const R=ae(g);R.push(y.nonTerminalName);const v=ae(T);v.push(y.idx);const x={idx:m,def:y.definition.concat(s,ne(h)),ruleStack:R,occurrenceStack:v};f.push(x)}else if(y instanceof se){const R={idx:m,def:ne(h),ruleStack:g,occurrenceStack:T};f.push(R),f.push(a);const v={idx:m,def:y.definition.concat(ne(h)),ruleStack:g,occurrenceStack:T};f.push(v)}else if(y instanceof xe){const R=new q({definition:y.definition,idx:y.idx}),v=y.definition.concat([R],ne(h)),x={idx:m,def:v,ruleStack:g,occurrenceStack:T};f.push(x)}else if(y instanceof _e){const R=new K({terminalType:y.separator}),v=new q({definition:[R].concat(y.definition),idx:y.idx}),x=y.definition.concat([v],ne(h)),O={idx:m,def:x,ruleStack:g,occurrenceStack:T};f.push(O)}else if(y instanceof ye){const R={idx:m,def:ne(h),ruleStack:g,occurrenceStack:T};f.push(R),f.push(a);const v=new K({terminalType:y.separator}),x=new q({definition:[v].concat(y.definition),idx:y.idx}),O=y.definition.concat([x],ne(h)),oe={idx:m,def:O,ruleStack:g,occurrenceStack:T};f.push(oe)}else if(y instanceof q){const R={idx:m,def:ne(h),ruleStack:g,occurrenceStack:T};f.push(R),f.push(a);const v=new q({definition:y.definition,idx:y.idx}),x=y.definition.concat([v],ne(h)),O={idx:m,def:x,ruleStack:g,occurrenceStack:T};f.push(O)}else if(y instanceof Te)for(let R=y.definition.length-1;R>=0;R--){const v=y.definition[R],x={idx:m,def:v.definition.concat(ne(h)),ruleStack:g,occurrenceStack:T};f.push(x),f.push(a)}else if(y instanceof me)f.push({idx:m,def:y.definition.concat(ne(h)),ruleStack:g,occurrenceStack:T});else if(y instanceof Kn)f.push(P_(y,m,g,T));else throw Error("non exhaustive match")}return c}function P_(t,e,n,r){const i=ae(n);i.push(t.name);const s=ae(r);return s.push(1),{idx:e,def:t.definition,ruleStack:i,occurrenceStack:s}}var W;(function(t){t[t.OPTION=0]="OPTION",t[t.REPETITION=1]="REPETITION",t[t.REPETITION_MANDATORY=2]="REPETITION_MANDATORY",t[t.REPETITION_MANDATORY_WITH_SEPARATOR=3]="REPETITION_MANDATORY_WITH_SEPARATOR",t[t.REPETITION_WITH_SEPARATOR=4]="REPETITION_WITH_SEPARATOR",t[t.ALTERNATION=5]="ALTERNATION"})(W||(W={}));function hl(t){if(t instanceof se||t==="Option")return W.OPTION;if(t instanceof q||t==="Repetition")return W.REPETITION;if(t instanceof xe||t==="RepetitionMandatory")return W.REPETITION_MANDATORY;if(t instanceof _e||t==="RepetitionMandatoryWithSeparator")return W.REPETITION_MANDATORY_WITH_SEPARATOR;if(t instanceof ye||t==="RepetitionWithSeparator")return W.REPETITION_WITH_SEPARATOR;if(t instanceof Te||t==="Alternation")return W.ALTERNATION;throw Error("non exhaustive match")}function Qu(t){const{occurrence:e,rule:n,prodType:r,maxLookahead:i}=t,s=hl(r);return s===W.ALTERNATION?Ys(e,n,i):Xs(e,n,s,i)}function L_(t,e,n,r,i,s){const a=Ys(t,e,n),o=yh(a)?rs:ti;return s(a,r,o,i)}function M_(t,e,n,r,i,s){const a=Xs(t,e,i,n),o=yh(a)?rs:ti;return s(a[0],o,r)}function D_(t,e,n,r){const i=t.length,s=qe(t,a=>qe(a,o=>o.length===1));if(e)return function(a){const o=I(a,l=>l.GATE);for(let l=0;l<i;l++){const u=t[l],c=u.length,f=o[l];if(!(f!==void 0&&f.call(this)===!1))e:for(let d=0;d<c;d++){const h=u[d],m=h.length;for(let g=0;g<m;g++){const T=this.LA(g+1);if(n(T,h[g])===!1)continue e}return l}}};if(s&&!r){const a=I(t,l=>Ge(l)),o=Se(a,(l,u,c)=>(k(u,f=>{w(l,f.tokenTypeIdx)||(l[f.tokenTypeIdx]=c),k(f.categoryMatches,d=>{w(l,d)||(l[d]=c)})}),l),{});return function(){const l=this.LA(1);return o[l.tokenTypeIdx]}}else return function(){for(let a=0;a<i;a++){const o=t[a],l=o.length;e:for(let u=0;u<l;u++){const c=o[u],f=c.length;for(let d=0;d<f;d++){const h=this.LA(d+1);if(n(h,c[d])===!1)continue e}return a}}}}function F_(t,e,n){const r=qe(t,s=>s.length===1),i=t.length;if(r&&!n){const s=Ge(t);if(s.length===1&&U(s[0].categoryMatches)){const o=s[0].tokenTypeIdx;return function(){return this.LA(1).tokenTypeIdx===o}}else{const a=Se(s,(o,l,u)=>(o[l.tokenTypeIdx]=!0,k(l.categoryMatches,c=>{o[c]=!0}),o),[]);return function(){const o=this.LA(1);return a[o.tokenTypeIdx]===!0}}}else return function(){e:for(let s=0;s<i;s++){const a=t[s],o=a.length;for(let l=0;l<o;l++){const u=this.LA(l+1);if(e(u,a[l])===!1)continue e}return!0}return!1}}class G_ extends zs{constructor(e,n,r){super(),this.topProd=e,this.targetOccurrence=n,this.targetProdType=r}startWalking(){return this.walk(this.topProd),this.restDef}checkIsTarget(e,n,r,i){return e.idx===this.targetOccurrence&&this.targetProdType===n?(this.restDef=r.concat(i),!0):!1}walkOption(e,n,r){this.checkIsTarget(e,W.OPTION,n,r)||super.walkOption(e,n,r)}walkAtLeastOne(e,n,r){this.checkIsTarget(e,W.REPETITION_MANDATORY,n,r)||super.walkOption(e,n,r)}walkAtLeastOneSep(e,n,r){this.checkIsTarget(e,W.REPETITION_MANDATORY_WITH_SEPARATOR,n,r)||super.walkOption(e,n,r)}walkMany(e,n,r){this.checkIsTarget(e,W.REPETITION,n,r)||super.walkOption(e,n,r)}walkManySep(e,n,r){this.checkIsTarget(e,W.REPETITION_WITH_SEPARATOR,n,r)||super.walkOption(e,n,r)}}class mh extends Hn{constructor(e,n,r){super(),this.targetOccurrence=e,this.targetProdType=n,this.targetRef=r,this.result=[]}checkIsTarget(e,n){e.idx===this.targetOccurrence&&this.targetProdType===n&&(this.targetRef===void 0||e===this.targetRef)&&(this.result=e.definition)}visitOption(e){this.checkIsTarget(e,W.OPTION)}visitRepetition(e){this.checkIsTarget(e,W.REPETITION)}visitRepetitionMandatory(e){this.checkIsTarget(e,W.REPETITION_MANDATORY)}visitRepetitionMandatoryWithSeparator(e){this.checkIsTarget(e,W.REPETITION_MANDATORY_WITH_SEPARATOR)}visitRepetitionWithSeparator(e){this.checkIsTarget(e,W.REPETITION_WITH_SEPARATOR)}visitAlternation(e){this.checkIsTarget(e,W.ALTERNATION)}}function ec(t){const e=new Array(t);for(let n=0;n<t;n++)e[n]=[];return e}function va(t){let e=[""];for(let n=0;n<t.length;n++){const r=t[n],i=[];for(let s=0;s<e.length;s++){const a=e[s];i.push(a+"_"+r.tokenTypeIdx);for(let o=0;o<r.categoryMatches.length;o++){const l="_"+r.categoryMatches[o];i.push(a+l)}}e=i}return e}function U_(t,e,n){for(let r=0;r<t.length;r++){if(r===n)continue;const i=t[r];for(let s=0;s<e.length;s++){const a=e[s];if(i[a]===!0)return!1}}return!0}function gh(t,e){const n=I(t,a=>ro([a],1)),r=ec(n.length),i=I(n,a=>{const o={};return k(a,l=>{const u=va(l.partialPath);k(u,c=>{o[c]=!0})}),o});let s=n;for(let a=1;a<=e;a++){const o=s;s=ec(o.length);for(let l=0;l<o.length;l++){const u=o[l];for(let c=0;c<u.length;c++){const f=u[c].partialPath,d=u[c].suffixDef,h=va(f);if(U_(i,h,l)||U(d)||f.length===e){const g=r[l];if(io(g,f)===!1){g.push(f);for(let T=0;T<h.length;T++){const y=h[T];i[l][y]=!0}}}else{const g=ro(d,a+1,f);s[l]=s[l].concat(g),k(g,T=>{const y=va(T.partialPath);k(y,R=>{i[l][R]=!0})})}}}}return r}function Ys(t,e,n,r){const i=new mh(t,W.ALTERNATION,r);return e.accept(i),gh(i.result,n)}function Xs(t,e,n,r){const i=new mh(t,n);e.accept(i);const s=i.result,o=new G_(e,t,n).startWalking(),l=new me({definition:s}),u=new me({definition:o});return gh([l,u],r)}function io(t,e){e:for(let n=0;n<t.length;n++){const r=t[n];if(r.length===e.length){for(let i=0;i<r.length;i++){const s=e[i],a=r[i];if((s===a||a.categoryMatchesMap[s.tokenTypeIdx]!==void 0)===!1)continue e}return!0}}return!1}function B_(t,e){return t.length<e.length&&qe(t,(n,r)=>{const i=e[r];return n===i||i.categoryMatchesMap[n.tokenTypeIdx]})}function yh(t){return qe(t,e=>qe(e,n=>qe(n,r=>U(r.categoryMatches))))}function j_(t){const e=t.lookaheadStrategy.validate({rules:t.rules,tokenTypes:t.tokenTypes,grammarName:t.grammarName});return I(e,n=>Object.assign({type:de.CUSTOM_LOOKAHEAD_VALIDATION},n))}function K_(t,e,n,r){const i=ke(t,l=>H_(l,n)),s=nI(t,e,n),a=ke(t,l=>Z_(l,n)),o=ke(t,l=>V_(l,t,r,n));return i.concat(s,a,o)}function H_(t,e){const n=new z_;t.accept(n);const r=n.allProductions,i=J$(r,W_),s=pR(i,o=>o.length>1);return I(Z(s),o=>{const l=Be(o),u=e.buildDuplicateFoundError(t,o),c=We(l),f={message:u,type:de.DUPLICATE_PRODUCTIONS,ruleName:t.name,dslName:c,occurrence:l.idx},d=Th(l);return d&&(f.parameter=d),f})}function W_(t){return`${We(t)}_#_${t.idx}_#_${Th(t)}`}function Th(t){return t instanceof K?t.terminalType.name:t instanceof fe?t.nonTerminalName:""}class z_ extends Hn{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 V_(t,e,n,r){const i=[];if(Se(e,(a,o)=>o.name===t.name?a+1:a,0)>1){const a=r.buildDuplicateRuleNameError({topLevelRule:t,grammarName:n});i.push({message:a,type:de.DUPLICATE_RULE_NAME,ruleName:t.name})}return i}function q_(t,e,n){const r=[];let i;return ge(e,t)||(i=`Invalid rule override, rule: ->${t}<- cannot be overridden in the grammar: ->${n}<-as it is not defined in any of the super grammars `,r.push({message:i,type:de.INVALID_RULE_OVERRIDE,ruleName:t})),r}function vh(t,e,n,r=[]){const i=[],s=Li(e.definition);if(U(s))return[];{const a=t.name;ge(s,t)&&i.push({message:n.buildLeftRecursionError({topLevelRule:t,leftRecursionPath:r}),type:de.LEFT_RECURSION,ruleName:a});const l=Ps(s,r.concat([t])),u=ke(l,c=>{const f=ae(r);return f.push(c),vh(t,c,n,f)});return i.concat(u)}}function Li(t){let e=[];if(U(t))return e;const n=Be(t);if(n instanceof fe)e.push(n.referencedRule);else if(n instanceof me||n instanceof se||n instanceof xe||n instanceof _e||n instanceof ye||n instanceof q)e=e.concat(Li(n.definition));else if(n instanceof Te)e=Ge(I(n.definition,s=>Li(s.definition)));else if(!(n instanceof K))throw Error("non exhaustive match");const r=ts(n),i=t.length>1;if(r&&i){const s=ne(t);return e.concat(Li(s))}else return e}class pl extends Hn{constructor(){super(...arguments),this.alternations=[]}visitAlternation(e){this.alternations.push(e)}}function Y_(t,e){const n=new pl;t.accept(n);const r=n.alternations;return ke(r,s=>{const a=Ur(s.definition);return ke(a,(o,l)=>{const u=ph([o],[],ti,1);return U(u)?[{message:e.buildEmptyAlternationError({topLevelRule:t,alternation:s,emptyChoiceIdx:l}),type:de.NONE_LAST_EMPTY_ALT,ruleName:t.name,occurrence:s.idx,alternative:l+1}]:[]})})}function X_(t,e,n){const r=new pl;t.accept(r);let i=r.alternations;return i=Ls(i,a=>a.ignoreAmbiguities===!0),ke(i,a=>{const o=a.idx,l=a.maxLookahead||e,u=Ys(o,t,l,a),c=eI(u,a,t,n),f=tI(u,a,t,n);return c.concat(f)})}class J_ extends Hn{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 Z_(t,e){const n=new pl;t.accept(n);const r=n.alternations;return ke(r,s=>s.definition.length>255?[{message:e.buildTooManyAlternativesError({topLevelRule:t,alternation:s}),type:de.TOO_MANY_ALTS,ruleName:t.name,occurrence:s.idx}]:[])}function Q_(t,e,n){const r=[];return k(t,i=>{const s=new J_;i.accept(s);const a=s.allProductions;k(a,o=>{const l=hl(o),u=o.maxLookahead||e,c=o.idx,d=Xs(c,i,l,u)[0];if(U(Ge(d))){const h=n.buildEmptyRepetitionError({topLevelRule:i,repetition:o});r.push({message:h,type:de.NO_NON_EMPTY_LOOKAHEAD,ruleName:i.name})}})}),r}function eI(t,e,n,r){const i=[],s=Se(t,(o,l,u)=>(e.definition[u].ignoreAmbiguities===!0||k(l,c=>{const f=[u];k(t,(d,h)=>{u!==h&&io(d,c)&&e.definition[h].ignoreAmbiguities!==!0&&f.push(h)}),f.length>1&&!io(i,c)&&(i.push(c),o.push({alts:f,path:c}))}),o),[]);return I(s,o=>{const l=I(o.alts,c=>c+1);return{message:r.buildAlternationAmbiguityError({topLevelRule:n,alternation:e,ambiguityIndices:l,prefixPath:o.path}),type:de.AMBIGUOUS_ALTS,ruleName:n.name,occurrence:e.idx,alternatives:o.alts}})}function tI(t,e,n,r){const i=Se(t,(a,o,l)=>{const u=I(o,c=>({idx:l,path:c}));return a.concat(u)},[]);return Jr(ke(i,a=>{if(e.definition[a.idx].ignoreAmbiguities===!0)return[];const l=a.idx,u=a.path,c=Le(i,d=>e.definition[d.idx].ignoreAmbiguities!==!0&&d.idx<l&&B_(d.path,u));return I(c,d=>{const h=[d.idx+1,l+1],m=e.idx===0?"":e.idx;return{message:r.buildAlternationPrefixAmbiguityError({topLevelRule:n,alternation:e,ambiguityIndices:h,prefixPath:d.path}),type:de.AMBIGUOUS_PREFIX_ALTS,ruleName:n.name,occurrence:m,alternatives:h}})}))}function nI(t,e,n){const r=[],i=I(e,s=>s.name);return k(t,s=>{const a=s.name;if(ge(i,a)){const o=n.buildNamespaceConflictError(s);r.push({message:o,type:de.CONFLICT_TOKENS_RULES_NAMESPACE,ruleName:a})}}),r}function rI(t){const e=nl(t,{errMsgProvider:I_}),n={};return k(t.rules,r=>{n[r.name]=r}),w_(n,e.errMsgProvider)}function iI(t){return t=nl(t,{errMsgProvider:Ht}),K_(t.rules,t.tokenTypes,t.errMsgProvider,t.grammarName)}const $h="MismatchedTokenException",Rh="NoViableAltException",Ah="EarlyExitException",Eh="NotAllInputParsedException",Sh=[$h,Rh,Ah,Eh];Object.freeze(Sh);function is(t){return ge(Sh,t.name)}class Js extends Error{constructor(e,n){super(e),this.token=n,this.resyncedTokens=[],Object.setPrototypeOf(this,new.target.prototype),Error.captureStackTrace&&Error.captureStackTrace(this,this.constructor)}}class xh extends Js{constructor(e,n,r){super(e,n),this.previousToken=r,this.name=$h}}class sI extends Js{constructor(e,n,r){super(e,n),this.previousToken=r,this.name=Rh}}class aI extends Js{constructor(e,n){super(e,n),this.name=Eh}}class oI extends Js{constructor(e,n,r){super(e,n),this.previousToken=r,this.name=Ah}}const $a={},_h="InRuleRecoveryException";class lI extends Error{constructor(e){super(e),this.name=_h}}class uI{initRecoverable(e){this.firstAfterRepMap={},this.resyncFollows={},this.recoveryEnabled=w(e,"recoveryEnabled")?e.recoveryEnabled:dt.recoveryEnabled,this.recoveryEnabled&&(this.attemptInRepetitionRecovery=cI)}getTokenToInsert(e){const n=dl(e,"",NaN,NaN,NaN,NaN,NaN,NaN);return n.isInsertedInRecovery=!0,n}canTokenTypeBeInsertedInRecovery(e){return!0}canTokenTypeBeDeletedInRecovery(e){return!0}tryInRepetitionRecovery(e,n,r,i){const s=this.findReSyncTokenType(),a=this.exportLexerState(),o=[];let l=!1;const u=this.LA(1);let c=this.LA(1);const f=()=>{const d=this.LA(0),h=this.errorMessageProvider.buildMismatchTokenMessage({expected:i,actual:u,previous:d,ruleName:this.getCurrRuleFullName()}),m=new xh(h,u,this.LA(0));m.resyncedTokens=Ur(o),this.SAVE_ERROR(m)};for(;!l;)if(this.tokenMatcher(c,i)){f();return}else if(r.call(this)){f(),e.apply(this,n);return}else this.tokenMatcher(c,s)?l=!0:(c=this.SKIP_TOKEN(),this.addToResyncTokens(c,o));this.importLexerState(a)}shouldInRepetitionRecoveryBeTried(e,n,r){return!(r===!1||this.tokenMatcher(this.LA(1),e)||this.isBackTracking()||this.canPerformInRuleRecovery(e,this.getFollowsForInRuleRecovery(e,n)))}getFollowsForInRuleRecovery(e,n){const r=this.getCurrentGrammarPath(e,n);return this.getNextPossibleTokenTypes(r)}tryInRuleRecovery(e,n){if(this.canRecoverWithSingleTokenInsertion(e,n))return this.getTokenToInsert(e);if(this.canRecoverWithSingleTokenDeletion(e)){const r=this.SKIP_TOKEN();return this.consumeToken(),r}throw new lI("sad sad panda")}canPerformInRuleRecovery(e,n){return this.canRecoverWithSingleTokenInsertion(e,n)||this.canRecoverWithSingleTokenDeletion(e)}canRecoverWithSingleTokenInsertion(e,n){if(!this.canTokenTypeBeInsertedInRecovery(e)||U(n))return!1;const r=this.LA(1);return Dn(n,s=>this.tokenMatcher(r,s))!==void 0}canRecoverWithSingleTokenDeletion(e){return this.canTokenTypeBeDeletedInRecovery(e)?this.tokenMatcher(this.LA(2),e):!1}isInCurrentRuleReSyncSet(e){const n=this.getCurrFollowKey(),r=this.getFollowSetFromFollowKey(n);return ge(r,e)}findReSyncTokenType(){const e=this.flattenFollowSet();let n=this.LA(1),r=2;for(;;){const i=Dn(e,s=>hh(n,s));if(i!==void 0)return i;n=this.LA(r),r++}}getCurrFollowKey(){if(this.RULE_STACK.length===1)return $a;const e=this.getLastExplicitRuleShortName(),n=this.getLastExplicitRuleOccurrenceIndex(),r=this.getPreviousExplicitRuleShortName();return{ruleName:this.shortRuleNameToFullName(e),idxInCallingRule:n,inRule:this.shortRuleNameToFullName(r)}}buildFullFollowKeyStack(){const e=this.RULE_STACK,n=this.RULE_OCCURRENCE_STACK;return I(e,(r,i)=>i===0?$a:{ruleName:this.shortRuleNameToFullName(r),idxInCallingRule:n[i],inRule:this.shortRuleNameToFullName(e[i-1])})}flattenFollowSet(){const e=I(this.buildFullFollowKeyStack(),n=>this.getFollowSetFromFollowKey(n));return Ge(e)}getFollowSetFromFollowKey(e){if(e===$a)return[wt];const n=e.ruleName+e.idxInCallingRule+nh+e.inRule;return this.resyncFollows[n]}addToResyncTokens(e,n){return this.tokenMatcher(e,wt)||n.push(e),n}reSyncTo(e){const n=[];let r=this.LA(1);for(;this.tokenMatcher(r,e)===!1;)r=this.SKIP_TOKEN(),this.addToResyncTokens(r,n);return Ur(n)}attemptInRepetitionRecovery(e,n,r,i,s,a,o){}getCurrentGrammarPath(e,n){const r=this.getHumanReadableRuleStack(),i=ae(this.RULE_OCCURRENCE_STACK);return{ruleStack:r,occurrenceStack:i,lastTok:e,lastTokOccurrence:n}}getHumanReadableRuleStack(){return I(this.RULE_STACK,e=>this.shortRuleNameToFullName(e))}}function cI(t,e,n,r,i,s,a){const o=this.getKeyForAutomaticLookahead(r,i);let l=this.firstAfterRepMap[o];if(l===void 0){const d=this.getCurrRuleFullName(),h=this.getGAstProductions()[d];l=new s(h,i).startWalking(),this.firstAfterRepMap[o]=l}let u=l.token,c=l.occurrence;const f=l.isEndOfRule;this.RULE_STACK.length===1&&f&&u===void 0&&(u=wt,c=1),!(u===void 0||c===void 0)&&this.shouldInRepetitionRecoveryBeTried(u,c,a)&&this.tryInRepetitionRecovery(t,e,n,u)}const fI=4,Ot=8,Ih=1<<Ot,wh=2<<Ot,so=3<<Ot,ao=4<<Ot,oo=5<<Ot,Mi=6<<Ot;function Ra(t,e,n){return n|e|t}class ml{constructor(e){var n;this.maxLookahead=(n=e==null?void 0:e.maxLookahead)!==null&&n!==void 0?n:dt.maxLookahead}validate(e){const n=this.validateNoLeftRecursion(e.rules);if(U(n)){const r=this.validateEmptyOrAlternatives(e.rules),i=this.validateAmbiguousAlternationAlternatives(e.rules,this.maxLookahead),s=this.validateSomeNonEmptyLookaheadPath(e.rules,this.maxLookahead);return[...n,...r,...i,...s]}return n}validateNoLeftRecursion(e){return ke(e,n=>vh(n,n,Ht))}validateEmptyOrAlternatives(e){return ke(e,n=>Y_(n,Ht))}validateAmbiguousAlternationAlternatives(e,n){return ke(e,r=>X_(r,n,Ht))}validateSomeNonEmptyLookaheadPath(e,n){return Q_(e,n,Ht)}buildLookaheadForAlternation(e){return L_(e.prodOccurrence,e.rule,e.maxLookahead,e.hasPredicates,e.dynamicTokensEnabled,D_)}buildLookaheadForOptional(e){return M_(e.prodOccurrence,e.rule,e.maxLookahead,e.dynamicTokensEnabled,hl(e.prodType),F_)}}class dI{initLooksAhead(e){this.dynamicTokensEnabled=w(e,"dynamicTokensEnabled")?e.dynamicTokensEnabled:dt.dynamicTokensEnabled,this.maxLookahead=w(e,"maxLookahead")?e.maxLookahead:dt.maxLookahead,this.lookaheadStrategy=w(e,"lookaheadStrategy")?e.lookaheadStrategy:new ml({maxLookahead:this.maxLookahead}),this.lookAheadFuncsCache=new Map}preComputeLookaheadFunctions(e){k(e,n=>{this.TRACE_INIT(`${n.name} Rule Lookahead`,()=>{const{alternation:r,repetition:i,option:s,repetitionMandatory:a,repetitionMandatoryWithSeparator:o,repetitionWithSeparator:l}=pI(n);k(r,u=>{const c=u.idx===0?"":u.idx;this.TRACE_INIT(`${We(u)}${c}`,()=>{const f=this.lookaheadStrategy.buildLookaheadForAlternation({prodOccurrence:u.idx,rule:n,maxLookahead:u.maxLookahead||this.maxLookahead,hasPredicates:u.hasPredicates,dynamicTokensEnabled:this.dynamicTokensEnabled}),d=Ra(this.fullRuleNameToShort[n.name],Ih,u.idx);this.setLaFuncCache(d,f)})}),k(i,u=>{this.computeLookaheadFunc(n,u.idx,so,"Repetition",u.maxLookahead,We(u))}),k(s,u=>{this.computeLookaheadFunc(n,u.idx,wh,"Option",u.maxLookahead,We(u))}),k(a,u=>{this.computeLookaheadFunc(n,u.idx,ao,"RepetitionMandatory",u.maxLookahead,We(u))}),k(o,u=>{this.computeLookaheadFunc(n,u.idx,Mi,"RepetitionMandatoryWithSeparator",u.maxLookahead,We(u))}),k(l,u=>{this.computeLookaheadFunc(n,u.idx,oo,"RepetitionWithSeparator",u.maxLookahead,We(u))})})})}computeLookaheadFunc(e,n,r,i,s,a){this.TRACE_INIT(`${a}${n===0?"":n}`,()=>{const o=this.lookaheadStrategy.buildLookaheadForOptional({prodOccurrence:n,rule:e,maxLookahead:s||this.maxLookahead,dynamicTokensEnabled:this.dynamicTokensEnabled,prodType:i}),l=Ra(this.fullRuleNameToShort[e.name],r,n);this.setLaFuncCache(l,o)})}getKeyForAutomaticLookahead(e,n){const r=this.getLastExplicitRuleShortName();return Ra(r,e,n)}getLaFuncFromCache(e){return this.lookAheadFuncsCache.get(e)}setLaFuncCache(e,n){this.lookAheadFuncsCache.set(e,n)}}class hI extends Hn{constructor(){super(...arguments),this.dslMethods={option:[],alternation:[],repetition:[],repetitionWithSeparator:[],repetitionMandatory:[],repetitionMandatoryWithSeparator:[]}}reset(){this.dslMethods={option:[],alternation:[],repetition:[],repetitionWithSeparator:[],repetitionMandatory:[],repetitionMandatoryWithSeparator:[]}}visitOption(e){this.dslMethods.option.push(e)}visitRepetitionWithSeparator(e){this.dslMethods.repetitionWithSeparator.push(e)}visitRepetitionMandatory(e){this.dslMethods.repetitionMandatory.push(e)}visitRepetitionMandatoryWithSeparator(e){this.dslMethods.repetitionMandatoryWithSeparator.push(e)}visitRepetition(e){this.dslMethods.repetition.push(e)}visitAlternation(e){this.dslMethods.alternation.push(e)}}const $i=new hI;function pI(t){$i.reset(),t.accept($i);const e=$i.dslMethods;return $i.reset(),e}function tc(t,e){isNaN(t.startOffset)===!0?(t.startOffset=e.startOffset,t.endOffset=e.endOffset):t.endOffset<e.endOffset&&(t.endOffset=e.endOffset)}function nc(t,e){isNaN(t.startOffset)===!0?(t.startOffset=e.startOffset,t.startColumn=e.startColumn,t.startLine=e.startLine,t.endOffset=e.endOffset,t.endColumn=e.endColumn,t.endLine=e.endLine):t.endOffset<e.endOffset&&(t.endOffset=e.endOffset,t.endColumn=e.endColumn,t.endLine=e.endLine)}function mI(t,e,n){t.children[n]===void 0?t.children[n]=[e]:t.children[n].push(e)}function gI(t,e,n){t.children[e]===void 0?t.children[e]=[n]:t.children[e].push(n)}const yI="name";function Ch(t,e){Object.defineProperty(t,yI,{enumerable:!1,configurable:!0,writable:!1,value:e})}function TI(t,e){const n=Pe(t),r=n.length;for(let i=0;i<r;i++){const s=n[i],a=t[s],o=a.length;for(let l=0;l<o;l++){const u=a[l];u.tokenTypeIdx===void 0&&this[u.name](u.children,e)}}}function vI(t,e){const n=function(){};Ch(n,t+"BaseSemantics");const r={visit:function(i,s){if(M(i)&&(i=i[0]),!ct(i))return this[i.name](i.children,s)},validateVisitor:function(){const i=RI(this,e);if(!U(i)){const s=I(i,a=>a.msg);throw Error(`Errors Detected in CST Visitor <${this.constructor.name}>:
|
|
88
|
+
${s.join(`
|
|
89
|
+
|
|
90
|
+
`).replace(/\n/g,`
|
|
91
|
+
`)}`)}}};return n.prototype=r,n.prototype.constructor=n,n._RULE_NAMES=e,n}function $I(t,e,n){const r=function(){};Ch(r,t+"BaseSemanticsWithDefaults");const i=Object.create(n.prototype);return k(e,s=>{i[s]=TI}),r.prototype=i,r.prototype.constructor=r,r}var lo;(function(t){t[t.REDUNDANT_METHOD=0]="REDUNDANT_METHOD",t[t.MISSING_METHOD=1]="MISSING_METHOD"})(lo||(lo={}));function RI(t,e){return AI(t,e)}function AI(t,e){const n=Le(e,i=>ht(t[i])===!1),r=I(n,i=>({msg:`Missing visitor method: <${i}> on ${t.constructor.name} CST Visitor.`,type:lo.MISSING_METHOD,methodName:i}));return Jr(r)}class EI{initTreeBuilder(e){if(this.CST_STACK=[],this.outputCst=e.outputCst,this.nodeLocationTracking=w(e,"nodeLocationTracking")?e.nodeLocationTracking:dt.nodeLocationTracking,!this.outputCst)this.cstInvocationStateUpdate=J,this.cstFinallyStateUpdate=J,this.cstPostTerminal=J,this.cstPostNonTerminal=J,this.cstPostRule=J;else if(/full/i.test(this.nodeLocationTracking))this.recoveryEnabled?(this.setNodeLocationFromToken=nc,this.setNodeLocationFromNode=nc,this.cstPostRule=J,this.setInitialNodeLocation=this.setInitialNodeLocationFullRecovery):(this.setNodeLocationFromToken=J,this.setNodeLocationFromNode=J,this.cstPostRule=this.cstPostRuleFull,this.setInitialNodeLocation=this.setInitialNodeLocationFullRegular);else if(/onlyOffset/i.test(this.nodeLocationTracking))this.recoveryEnabled?(this.setNodeLocationFromToken=tc,this.setNodeLocationFromNode=tc,this.cstPostRule=J,this.setInitialNodeLocation=this.setInitialNodeLocationOnlyOffsetRecovery):(this.setNodeLocationFromToken=J,this.setNodeLocationFromNode=J,this.cstPostRule=this.cstPostRuleOnlyOffset,this.setInitialNodeLocation=this.setInitialNodeLocationOnlyOffsetRegular);else if(/none/i.test(this.nodeLocationTracking))this.setNodeLocationFromToken=J,this.setNodeLocationFromNode=J,this.cstPostRule=J,this.setInitialNodeLocation=J;else throw Error(`Invalid <nodeLocationTracking> config option: "${e.nodeLocationTracking}"`)}setInitialNodeLocationOnlyOffsetRecovery(e){e.location={startOffset:NaN,endOffset:NaN}}setInitialNodeLocationOnlyOffsetRegular(e){e.location={startOffset:this.LA(1).startOffset,endOffset:NaN}}setInitialNodeLocationFullRecovery(e){e.location={startOffset:NaN,startLine:NaN,startColumn:NaN,endOffset:NaN,endLine:NaN,endColumn:NaN}}setInitialNodeLocationFullRegular(e){const n=this.LA(1);e.location={startOffset:n.startOffset,startLine:n.startLine,startColumn:n.startColumn,endOffset:NaN,endLine:NaN,endColumn:NaN}}cstInvocationStateUpdate(e){const n={name:e,children:Object.create(null)};this.setInitialNodeLocation(n),this.CST_STACK.push(n)}cstFinallyStateUpdate(){this.CST_STACK.pop()}cstPostRuleFull(e){const n=this.LA(0),r=e.location;r.startOffset<=n.startOffset?(r.endOffset=n.endOffset,r.endLine=n.endLine,r.endColumn=n.endColumn):(r.startOffset=NaN,r.startLine=NaN,r.startColumn=NaN)}cstPostRuleOnlyOffset(e){const n=this.LA(0),r=e.location;r.startOffset<=n.startOffset?r.endOffset=n.endOffset:r.startOffset=NaN}cstPostTerminal(e,n){const r=this.CST_STACK[this.CST_STACK.length-1];mI(r,n,e),this.setNodeLocationFromToken(r.location,n)}cstPostNonTerminal(e,n){const r=this.CST_STACK[this.CST_STACK.length-1];gI(r,n,e),this.setNodeLocationFromNode(r.location,e.location)}getBaseCstVisitorConstructor(){if(ct(this.baseCstVisitorConstructor)){const e=vI(this.className,Pe(this.gastProductionsCache));return this.baseCstVisitorConstructor=e,e}return this.baseCstVisitorConstructor}getBaseCstVisitorConstructorWithDefaults(){if(ct(this.baseCstVisitorWithDefaultsConstructor)){const e=$I(this.className,Pe(this.gastProductionsCache),this.getBaseCstVisitorConstructor());return this.baseCstVisitorWithDefaultsConstructor=e,e}return this.baseCstVisitorWithDefaultsConstructor}getLastExplicitRuleShortName(){const e=this.RULE_STACK;return e[e.length-1]}getPreviousExplicitRuleShortName(){const e=this.RULE_STACK;return e[e.length-2]}getLastExplicitRuleOccurrenceIndex(){const e=this.RULE_OCCURRENCE_STACK;return e[e.length-1]}}class SI{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)):as}LA(e){const n=this.currIdx+e;return n<0||this.tokVectorLength<=n?as:this.tokVector[n]}consumeToken(){this.currIdx++}exportLexerState(){return this.currIdx}importLexerState(e){this.currIdx=e}resetLexerState(){this.currIdx=-1}moveToTerminatedState(){this.currIdx=this.tokVector.length-1}getLexerPosition(){return this.exportLexerState()}}class xI{ACTION(e){return e.call(this)}consume(e,n,r){return this.consumeInternal(n,e,r)}subrule(e,n,r){return this.subruleInternal(n,e,r)}option(e,n){return this.optionInternal(n,e)}or(e,n){return this.orInternal(n,e)}many(e,n){return this.manyInternal(e,n)}atLeastOne(e,n){return this.atLeastOneInternal(e,n)}CONSUME(e,n){return this.consumeInternal(e,0,n)}CONSUME1(e,n){return this.consumeInternal(e,1,n)}CONSUME2(e,n){return this.consumeInternal(e,2,n)}CONSUME3(e,n){return this.consumeInternal(e,3,n)}CONSUME4(e,n){return this.consumeInternal(e,4,n)}CONSUME5(e,n){return this.consumeInternal(e,5,n)}CONSUME6(e,n){return this.consumeInternal(e,6,n)}CONSUME7(e,n){return this.consumeInternal(e,7,n)}CONSUME8(e,n){return this.consumeInternal(e,8,n)}CONSUME9(e,n){return this.consumeInternal(e,9,n)}SUBRULE(e,n){return this.subruleInternal(e,0,n)}SUBRULE1(e,n){return this.subruleInternal(e,1,n)}SUBRULE2(e,n){return this.subruleInternal(e,2,n)}SUBRULE3(e,n){return this.subruleInternal(e,3,n)}SUBRULE4(e,n){return this.subruleInternal(e,4,n)}SUBRULE5(e,n){return this.subruleInternal(e,5,n)}SUBRULE6(e,n){return this.subruleInternal(e,6,n)}SUBRULE7(e,n){return this.subruleInternal(e,7,n)}SUBRULE8(e,n){return this.subruleInternal(e,8,n)}SUBRULE9(e,n){return this.subruleInternal(e,9,n)}OPTION(e){return this.optionInternal(e,0)}OPTION1(e){return this.optionInternal(e,1)}OPTION2(e){return this.optionInternal(e,2)}OPTION3(e){return this.optionInternal(e,3)}OPTION4(e){return this.optionInternal(e,4)}OPTION5(e){return this.optionInternal(e,5)}OPTION6(e){return this.optionInternal(e,6)}OPTION7(e){return this.optionInternal(e,7)}OPTION8(e){return this.optionInternal(e,8)}OPTION9(e){return this.optionInternal(e,9)}OR(e){return this.orInternal(e,0)}OR1(e){return this.orInternal(e,1)}OR2(e){return this.orInternal(e,2)}OR3(e){return this.orInternal(e,3)}OR4(e){return this.orInternal(e,4)}OR5(e){return this.orInternal(e,5)}OR6(e){return this.orInternal(e,6)}OR7(e){return this.orInternal(e,7)}OR8(e){return this.orInternal(e,8)}OR9(e){return this.orInternal(e,9)}MANY(e){this.manyInternal(0,e)}MANY1(e){this.manyInternal(1,e)}MANY2(e){this.manyInternal(2,e)}MANY3(e){this.manyInternal(3,e)}MANY4(e){this.manyInternal(4,e)}MANY5(e){this.manyInternal(5,e)}MANY6(e){this.manyInternal(6,e)}MANY7(e){this.manyInternal(7,e)}MANY8(e){this.manyInternal(8,e)}MANY9(e){this.manyInternal(9,e)}MANY_SEP(e){this.manySepFirstInternal(0,e)}MANY_SEP1(e){this.manySepFirstInternal(1,e)}MANY_SEP2(e){this.manySepFirstInternal(2,e)}MANY_SEP3(e){this.manySepFirstInternal(3,e)}MANY_SEP4(e){this.manySepFirstInternal(4,e)}MANY_SEP5(e){this.manySepFirstInternal(5,e)}MANY_SEP6(e){this.manySepFirstInternal(6,e)}MANY_SEP7(e){this.manySepFirstInternal(7,e)}MANY_SEP8(e){this.manySepFirstInternal(8,e)}MANY_SEP9(e){this.manySepFirstInternal(9,e)}AT_LEAST_ONE(e){this.atLeastOneInternal(0,e)}AT_LEAST_ONE1(e){return this.atLeastOneInternal(1,e)}AT_LEAST_ONE2(e){this.atLeastOneInternal(2,e)}AT_LEAST_ONE3(e){this.atLeastOneInternal(3,e)}AT_LEAST_ONE4(e){this.atLeastOneInternal(4,e)}AT_LEAST_ONE5(e){this.atLeastOneInternal(5,e)}AT_LEAST_ONE6(e){this.atLeastOneInternal(6,e)}AT_LEAST_ONE7(e){this.atLeastOneInternal(7,e)}AT_LEAST_ONE8(e){this.atLeastOneInternal(8,e)}AT_LEAST_ONE9(e){this.atLeastOneInternal(9,e)}AT_LEAST_ONE_SEP(e){this.atLeastOneSepFirstInternal(0,e)}AT_LEAST_ONE_SEP1(e){this.atLeastOneSepFirstInternal(1,e)}AT_LEAST_ONE_SEP2(e){this.atLeastOneSepFirstInternal(2,e)}AT_LEAST_ONE_SEP3(e){this.atLeastOneSepFirstInternal(3,e)}AT_LEAST_ONE_SEP4(e){this.atLeastOneSepFirstInternal(4,e)}AT_LEAST_ONE_SEP5(e){this.atLeastOneSepFirstInternal(5,e)}AT_LEAST_ONE_SEP6(e){this.atLeastOneSepFirstInternal(6,e)}AT_LEAST_ONE_SEP7(e){this.atLeastOneSepFirstInternal(7,e)}AT_LEAST_ONE_SEP8(e){this.atLeastOneSepFirstInternal(8,e)}AT_LEAST_ONE_SEP9(e){this.atLeastOneSepFirstInternal(9,e)}RULE(e,n,r=os){if(ge(this.definedRulesNames,e)){const a={message:Ht.buildDuplicateRuleNameError({topLevelRule:e,grammarName:this.className}),type:de.DUPLICATE_RULE_NAME,ruleName:e};this.definitionErrors.push(a)}this.definedRulesNames.push(e);const i=this.defineRule(e,n,r);return this[e]=i,i}OVERRIDE_RULE(e,n,r=os){const i=q_(e,this.definedRulesNames,this.className);this.definitionErrors=this.definitionErrors.concat(i);const s=this.defineRule(e,n,r);return this[e]=s,s}BACKTRACK(e,n){return function(){this.isBackTrackingStack.push(1);const r=this.saveRecogState();try{return e.apply(this,n),!0}catch(i){if(is(i))return!1;throw i}finally{this.reloadRecogState(r),this.isBackTrackingStack.pop()}}}getGAstProductions(){return this.gastProductionsCache}getSerializedGastProductions(){return Px(Z(this.gastProductionsCache))}}class _I{initRecognizerEngine(e,n){if(this.className=this.constructor.name,this.shortRuleNameToFull={},this.fullRuleNameToShort={},this.ruleShortNameIdx=256,this.tokenMatcher=rs,this.subruleIdx=0,this.definedRulesNames=[],this.tokensMap={},this.isBackTrackingStack=[],this.RULE_STACK=[],this.RULE_OCCURRENCE_STACK=[],this.gastProductionsCache={},w(n,"serializedGrammar"))throw Error(`The Parser's configuration can no longer contain a <serializedGrammar> property.
|
|
92
|
+
See: https://chevrotain.io/docs/changes/BREAKING_CHANGES.html#_6-0-0
|
|
93
|
+
For Further details.`);if(M(e)){if(U(e))throw Error(`A Token Vocabulary cannot be empty.
|
|
94
|
+
Note that the first argument for the parser constructor
|
|
95
|
+
is no longer a Token vector (since v4.0).`);if(typeof e[0].startOffset=="number")throw Error(`The Parser constructor no longer accepts a token vector as the first argument.
|
|
96
|
+
See: https://chevrotain.io/docs/changes/BREAKING_CHANGES.html#_4-0-0
|
|
97
|
+
For Further details.`)}if(M(e))this.tokensMap=Se(e,(s,a)=>(s[a.name]=a,s),{});else if(w(e,"modes")&&qe(Ge(Z(e.modes)),S_)){const s=Ge(Z(e.modes)),a=rl(s);this.tokensMap=Se(a,(o,l)=>(o[l.name]=l,o),{})}else if(Oe(e))this.tokensMap=ae(e);else throw new Error("<tokensDictionary> argument must be An Array of Token constructors, A dictionary of Token constructors or an IMultiModeLexerDefinition");this.tokensMap.EOF=wt;const r=w(e,"modes")?Ge(Z(e.modes)):Z(e),i=qe(r,s=>U(s.categoryMatches));this.tokenMatcher=i?rs:ti,ni(Z(this.tokensMap))}defineRule(e,n,r){if(this.selfAnalysisDone)throw Error(`Grammar rule <${e}> may not be defined after the 'performSelfAnalysis' method has been called'
|
|
98
|
+
Make sure that all grammar rule definitions are done before 'performSelfAnalysis' is called.`);const i=w(r,"resyncEnabled")?r.resyncEnabled:os.resyncEnabled,s=w(r,"recoveryValueFunc")?r.recoveryValueFunc:os.recoveryValueFunc,a=this.ruleShortNameIdx<<fI+Ot;this.ruleShortNameIdx++,this.shortRuleNameToFull[a]=e,this.fullRuleNameToShort[e]=a;let o;return this.outputCst===!0?o=function(...c){try{this.ruleInvocationStateUpdate(a,e,this.subruleIdx),n.apply(this,c);const f=this.CST_STACK[this.CST_STACK.length-1];return this.cstPostRule(f),f}catch(f){return this.invokeRuleCatch(f,i,s)}finally{this.ruleFinallyStateUpdate()}}:o=function(...c){try{return this.ruleInvocationStateUpdate(a,e,this.subruleIdx),n.apply(this,c)}catch(f){return this.invokeRuleCatch(f,i,s)}finally{this.ruleFinallyStateUpdate()}},Object.assign(o,{ruleName:e,originalGrammarAction:n})}invokeRuleCatch(e,n,r){const i=this.RULE_STACK.length===1,s=n&&!this.isBackTracking()&&this.recoveryEnabled;if(is(e)){const a=e;if(s){const o=this.findReSyncTokenType();if(this.isInCurrentRuleReSyncSet(o))if(a.resyncedTokens=this.reSyncTo(o),this.outputCst){const l=this.CST_STACK[this.CST_STACK.length-1];return l.recoveredNode=!0,l}else return r(e);else{if(this.outputCst){const l=this.CST_STACK[this.CST_STACK.length-1];l.recoveredNode=!0,a.partialCstResult=l}throw a}}else{if(i)return this.moveToTerminatedState(),r(e);throw a}}else throw e}optionInternal(e,n){const r=this.getKeyForAutomaticLookahead(wh,n);return this.optionInternalLogic(e,n,r)}optionInternalLogic(e,n,r){let i=this.getLaFuncFromCache(r),s;if(typeof e!="function"){s=e.DEF;const a=e.GATE;if(a!==void 0){const o=i;i=()=>a.call(this)&&o.call(this)}}else s=e;if(i.call(this)===!0)return s.call(this)}atLeastOneInternal(e,n){const r=this.getKeyForAutomaticLookahead(ao,e);return this.atLeastOneInternalLogic(e,n,r)}atLeastOneInternalLogic(e,n,r){let i=this.getLaFuncFromCache(r),s;if(typeof n!="function"){s=n.DEF;const a=n.GATE;if(a!==void 0){const o=i;i=()=>a.call(this)&&o.call(this)}}else s=n;if(i.call(this)===!0){let a=this.doSingleRepetition(s);for(;i.call(this)===!0&&a===!0;)a=this.doSingleRepetition(s)}else throw this.raiseEarlyExitException(e,W.REPETITION_MANDATORY,n.ERR_MSG);this.attemptInRepetitionRecovery(this.atLeastOneInternal,[e,n],i,ao,e,O_)}atLeastOneSepFirstInternal(e,n){const r=this.getKeyForAutomaticLookahead(Mi,e);this.atLeastOneSepFirstInternalLogic(e,n,r)}atLeastOneSepFirstInternalLogic(e,n,r){const i=n.DEF,s=n.SEP;if(this.getLaFuncFromCache(r).call(this)===!0){i.call(this);const o=()=>this.tokenMatcher(this.LA(1),s);for(;this.tokenMatcher(this.LA(1),s)===!0;)this.CONSUME(s),i.call(this);this.attemptInRepetitionRecovery(this.repetitionSepSecondInternal,[e,s,o,i,Zu],o,Mi,e,Zu)}else throw this.raiseEarlyExitException(e,W.REPETITION_MANDATORY_WITH_SEPARATOR,n.ERR_MSG)}manyInternal(e,n){const r=this.getKeyForAutomaticLookahead(so,e);return this.manyInternalLogic(e,n,r)}manyInternalLogic(e,n,r){let i=this.getLaFuncFromCache(r),s;if(typeof n!="function"){s=n.DEF;const o=n.GATE;if(o!==void 0){const l=i;i=()=>o.call(this)&&l.call(this)}}else s=n;let a=!0;for(;i.call(this)===!0&&a===!0;)a=this.doSingleRepetition(s);this.attemptInRepetitionRecovery(this.manyInternal,[e,n],i,so,e,b_,a)}manySepFirstInternal(e,n){const r=this.getKeyForAutomaticLookahead(oo,e);this.manySepFirstInternalLogic(e,n,r)}manySepFirstInternalLogic(e,n,r){const i=n.DEF,s=n.SEP;if(this.getLaFuncFromCache(r).call(this)===!0){i.call(this);const o=()=>this.tokenMatcher(this.LA(1),s);for(;this.tokenMatcher(this.LA(1),s)===!0;)this.CONSUME(s),i.call(this);this.attemptInRepetitionRecovery(this.repetitionSepSecondInternal,[e,s,o,i,Ju],o,oo,e,Ju)}}repetitionSepSecondInternal(e,n,r,i,s){for(;r();)this.CONSUME(n),i.call(this);this.attemptInRepetitionRecovery(this.repetitionSepSecondInternal,[e,n,r,i,s],r,Mi,e,s)}doSingleRepetition(e){const n=this.getLexerPosition();return e.call(this),this.getLexerPosition()>n}orInternal(e,n){const r=this.getKeyForAutomaticLookahead(Ih,n),i=M(e)?e:e.DEF,a=this.getLaFuncFromCache(r).call(this,i);if(a!==void 0)return i[a].ALT.call(this);this.raiseNoAltException(n,e.ERR_MSG)}ruleFinallyStateUpdate(){if(this.RULE_STACK.pop(),this.RULE_OCCURRENCE_STACK.pop(),this.cstFinallyStateUpdate(),this.RULE_STACK.length===0&&this.isAtEndOfInput()===!1){const e=this.LA(1),n=this.errorMessageProvider.buildNotAllInputParsedMessage({firstRedundant:e,ruleName:this.getCurrRuleFullName()});this.SAVE_ERROR(new aI(n,e))}}subruleInternal(e,n,r){let i;try{const s=r!==void 0?r.ARGS:void 0;return this.subruleIdx=n,i=e.apply(this,s),this.cstPostNonTerminal(i,r!==void 0&&r.LABEL!==void 0?r.LABEL:e.ruleName),i}catch(s){throw this.subruleInternalError(s,r,e.ruleName)}}subruleInternalError(e,n,r){throw is(e)&&e.partialCstResult!==void 0&&(this.cstPostNonTerminal(e.partialCstResult,n!==void 0&&n.LABEL!==void 0?n.LABEL:r),delete e.partialCstResult),e}consumeInternal(e,n,r){let i;try{const s=this.LA(1);this.tokenMatcher(s,e)===!0?(this.consumeToken(),i=s):this.consumeInternalError(e,s,r)}catch(s){i=this.consumeInternalRecovery(e,n,s)}return this.cstPostTerminal(r!==void 0&&r.LABEL!==void 0?r.LABEL:e.name,i),i}consumeInternalError(e,n,r){let i;const s=this.LA(0);throw r!==void 0&&r.ERR_MSG?i=r.ERR_MSG:i=this.errorMessageProvider.buildMismatchTokenMessage({expected:e,actual:n,previous:s,ruleName:this.getCurrRuleFullName()}),this.SAVE_ERROR(new xh(i,n,s))}consumeInternalRecovery(e,n,r){if(this.recoveryEnabled&&r.name==="MismatchedTokenException"&&!this.isBackTracking()){const i=this.getFollowsForInRuleRecovery(e,n);try{return this.tryInRuleRecovery(e,i)}catch(s){throw s.name===_h?r:s}}else throw r}saveRecogState(){const e=this.errors,n=ae(this.RULE_STACK);return{errors:e,lexerState:this.exportLexerState(),RULE_STACK:n,CST_STACK:this.CST_STACK}}reloadRecogState(e){this.errors=e.errors,this.importLexerState(e.lexerState),this.RULE_STACK=e.RULE_STACK}ruleInvocationStateUpdate(e,n,r){this.RULE_OCCURRENCE_STACK.push(r),this.RULE_STACK.push(e),this.cstInvocationStateUpdate(n)}isBackTracking(){return this.isBackTrackingStack.length!==0}getCurrRuleFullName(){const e=this.getLastExplicitRuleShortName();return this.shortRuleNameToFull[e]}shortRuleNameToFullName(e){return this.shortRuleNameToFull[e]}isAtEndOfInput(){return this.tokenMatcher(this.LA(1),wt)}reset(){this.resetLexerState(),this.subruleIdx=0,this.isBackTrackingStack=[],this.errors=[],this.RULE_STACK=[],this.CST_STACK=[],this.RULE_OCCURRENCE_STACK=[]}}class II{initErrorHandler(e){this._errors=[],this.errorMessageProvider=w(e,"errorMessageProvider")?e.errorMessageProvider:dt.errorMessageProvider}SAVE_ERROR(e){if(is(e))return e.context={ruleStack:this.getHumanReadableRuleStack(),ruleOccurrenceStack:ae(this.RULE_OCCURRENCE_STACK)},this._errors.push(e),e;throw Error("Trying to save an Error which is not a RecognitionException")}get errors(){return ae(this._errors)}set errors(e){this._errors=e}raiseEarlyExitException(e,n,r){const i=this.getCurrRuleFullName(),s=this.getGAstProductions()[i],o=Xs(e,s,n,this.maxLookahead)[0],l=[];for(let c=1;c<=this.maxLookahead;c++)l.push(this.LA(c));const u=this.errorMessageProvider.buildEarlyExitMessage({expectedIterationPaths:o,actual:l,previous:this.LA(0),customUserDescription:r,ruleName:i});throw this.SAVE_ERROR(new oI(u,this.LA(1),this.LA(0)))}raiseNoAltException(e,n){const r=this.getCurrRuleFullName(),i=this.getGAstProductions()[r],s=Ys(e,i,this.maxLookahead),a=[];for(let u=1;u<=this.maxLookahead;u++)a.push(this.LA(u));const o=this.LA(0),l=this.errorMessageProvider.buildNoViableAltMessage({expectedPathsPerAlt:s,actual:a,previous:o,customUserDescription:n,ruleName:this.getCurrRuleFullName()});throw this.SAVE_ERROR(new sI(l,this.LA(1),o))}}class wI{initContentAssist(){}computeContentAssist(e,n){const r=this.gastProductionsCache[e];if(ct(r))throw Error(`Rule ->${e}<- does not exist in this grammar.`);return ph([r],n,this.tokenMatcher,this.maxLookahead)}getNextPossibleTokenTypes(e){const n=Be(e.ruleStack),i=this.getGAstProductions()[n];return new N_(i,e).startWalking()}}const Zs={description:"This Object indicates the Parser is during Recording Phase"};Object.freeze(Zs);const rc=!0,ic=Math.pow(2,Ot)-1,kh=dh({name:"RECORDING_PHASE_TOKEN",pattern:he.NA});ni([kh]);const Nh=dl(kh,`This IToken indicates the Parser is in Recording Phase
|
|
99
|
+
See: https://chevrotain.io/docs/guide/internals.html#grammar-recording for details`,-1,-1,-1,-1,-1,-1);Object.freeze(Nh);const CI={name:`This CSTNode indicates the Parser is in Recording Phase
|
|
100
|
+
See: https://chevrotain.io/docs/guide/internals.html#grammar-recording for details`,children:{}};class kI{initGastRecorder(e){this.recordingProdStack=[],this.RECORDING_PHASE=!1}enableRecording(){this.RECORDING_PHASE=!0,this.TRACE_INIT("Enable Recording",()=>{for(let e=0;e<10;e++){const n=e>0?e:"";this[`CONSUME${n}`]=function(r,i){return this.consumeInternalRecord(r,e,i)},this[`SUBRULE${n}`]=function(r,i){return this.subruleInternalRecord(r,e,i)},this[`OPTION${n}`]=function(r){return this.optionInternalRecord(r,e)},this[`OR${n}`]=function(r){return this.orInternalRecord(r,e)},this[`MANY${n}`]=function(r){this.manyInternalRecord(e,r)},this[`MANY_SEP${n}`]=function(r){this.manySepFirstInternalRecord(e,r)},this[`AT_LEAST_ONE${n}`]=function(r){this.atLeastOneInternalRecord(e,r)},this[`AT_LEAST_ONE_SEP${n}`]=function(r){this.atLeastOneSepFirstInternalRecord(e,r)}}this.consume=function(e,n,r){return this.consumeInternalRecord(n,e,r)},this.subrule=function(e,n,r){return this.subruleInternalRecord(n,e,r)},this.option=function(e,n){return this.optionInternalRecord(n,e)},this.or=function(e,n){return this.orInternalRecord(n,e)},this.many=function(e,n){this.manyInternalRecord(e,n)},this.atLeastOne=function(e,n){this.atLeastOneInternalRecord(e,n)},this.ACTION=this.ACTION_RECORD,this.BACKTRACK=this.BACKTRACK_RECORD,this.LA=this.LA_RECORD})}disableRecording(){this.RECORDING_PHASE=!1,this.TRACE_INIT("Deleting Recording methods",()=>{const e=this;for(let n=0;n<10;n++){const r=n>0?n:"";delete e[`CONSUME${r}`],delete e[`SUBRULE${r}`],delete e[`OPTION${r}`],delete e[`OR${r}`],delete e[`MANY${r}`],delete e[`MANY_SEP${r}`],delete e[`AT_LEAST_ONE${r}`],delete e[`AT_LEAST_ONE_SEP${r}`]}delete e.consume,delete e.subrule,delete e.option,delete e.or,delete e.many,delete e.atLeastOne,delete e.ACTION,delete e.BACKTRACK,delete e.LA})}ACTION_RECORD(e){}BACKTRACK_RECORD(e,n){return()=>!0}LA_RECORD(e){return as}topLevelRuleRecord(e,n){try{const r=new Kn({definition:[],name:e});return r.name=e,this.recordingProdStack.push(r),n.call(this),this.recordingProdStack.pop(),r}catch(r){if(r.KNOWN_RECORDER_ERROR!==!0)try{r.message=r.message+`
|
|
101
|
+
This error was thrown during the "grammar recording phase" For more info see:
|
|
102
|
+
https://chevrotain.io/docs/guide/internals.html#grammar-recording`}catch{throw r}throw r}}optionInternalRecord(e,n){return Yn.call(this,se,e,n)}atLeastOneInternalRecord(e,n){Yn.call(this,xe,n,e)}atLeastOneSepFirstInternalRecord(e,n){Yn.call(this,_e,n,e,rc)}manyInternalRecord(e,n){Yn.call(this,q,n,e)}manySepFirstInternalRecord(e,n){Yn.call(this,ye,n,e,rc)}orInternalRecord(e,n){return NI.call(this,e,n)}subruleInternalRecord(e,n,r){if(ss(n),!e||w(e,"ruleName")===!1){const o=new Error(`<SUBRULE${sc(n)}> argument is invalid expecting a Parser method reference but got: <${JSON.stringify(e)}>
|
|
103
|
+
inside top level rule: <${this.recordingProdStack[0].name}>`);throw o.KNOWN_RECORDER_ERROR=!0,o}const i=Mn(this.recordingProdStack),s=e.ruleName,a=new fe({idx:n,nonTerminalName:s,label:r==null?void 0:r.LABEL,referencedRule:void 0});return i.definition.push(a),this.outputCst?CI:Zs}consumeInternalRecord(e,n,r){if(ss(n),!ch(e)){const a=new Error(`<CONSUME${sc(n)}> argument is invalid expecting a TokenType reference but got: <${JSON.stringify(e)}>
|
|
104
|
+
inside top level rule: <${this.recordingProdStack[0].name}>`);throw a.KNOWN_RECORDER_ERROR=!0,a}const i=Mn(this.recordingProdStack),s=new K({idx:n,terminalType:e,label:r==null?void 0:r.LABEL});return i.definition.push(s),Nh}}function Yn(t,e,n,r=!1){ss(n);const i=Mn(this.recordingProdStack),s=ht(e)?e:e.DEF,a=new t({definition:[],idx:n});return r&&(a.separator=e.SEP),w(e,"MAX_LOOKAHEAD")&&(a.maxLookahead=e.MAX_LOOKAHEAD),this.recordingProdStack.push(a),s.call(this),i.definition.push(a),this.recordingProdStack.pop(),Zs}function NI(t,e){ss(e);const n=Mn(this.recordingProdStack),r=M(t)===!1,i=r===!1?t:t.DEF,s=new Te({definition:[],idx:e,ignoreAmbiguities:r&&t.IGNORE_AMBIGUITIES===!0});w(t,"MAX_LOOKAHEAD")&&(s.maxLookahead=t.MAX_LOOKAHEAD);const a=yR(i,o=>ht(o.GATE));return s.hasPredicates=a,n.definition.push(s),k(i,o=>{const l=new me({definition:[]});s.definition.push(l),w(o,"IGNORE_AMBIGUITIES")?l.ignoreAmbiguities=o.IGNORE_AMBIGUITIES:w(o,"GATE")&&(l.ignoreAmbiguities=!0),this.recordingProdStack.push(l),o.ALT.call(this),this.recordingProdStack.pop()}),Zs}function sc(t){return t===0?"":`${t}`}function ss(t){if(t<0||t>ic){const e=new Error(`Invalid DSL Method idx value: <${t}>
|
|
105
|
+
Idx value must be a none negative value smaller than ${ic+1}`);throw e.KNOWN_RECORDER_ERROR=!0,e}}class bI{initPerformanceTracer(e){if(w(e,"traceInitPerf")){const n=e.traceInitPerf,r=typeof n=="number";this.traceInitMaxIdent=r?n:1/0,this.traceInitPerf=r?n>0:n}else this.traceInitMaxIdent=0,this.traceInitPerf=dt.traceInitPerf;this.traceInitIndent=-1}TRACE_INIT(e,n){if(this.traceInitPerf===!0){this.traceInitIndent++;const r=new Array(this.traceInitIndent+1).join(" ");this.traceInitIndent<this.traceInitMaxIdent&&console.log(`${r}--> <${e}>`);const{time:i,value:s}=bd(n),a=i>10?console.warn:console.log;return this.traceInitIndent<this.traceInitMaxIdent&&a(`${r}<-- <${e}> time: ${i}ms`),this.traceInitIndent--,s}else return n()}}function OI(t,e){e.forEach(n=>{const r=n.prototype;Object.getOwnPropertyNames(r).forEach(i=>{if(i==="constructor")return;const s=Object.getOwnPropertyDescriptor(r,i);s&&(s.get||s.set)?Object.defineProperty(t.prototype,i,s):t.prototype[i]=n.prototype[i]})})}const as=dl(wt,"",NaN,NaN,NaN,NaN,NaN,NaN);Object.freeze(as);const dt=Object.freeze({recoveryEnabled:!1,maxLookahead:3,dynamicTokensEnabled:!1,outputCst:!0,errorMessageProvider:hn,nodeLocationTracking:"none",traceInitPerf:!1,skipValidations:!1}),os=Object.freeze({recoveryValueFunc:()=>{},resyncEnabled:!0});var de;(function(t){t[t.INVALID_RULE_NAME=0]="INVALID_RULE_NAME",t[t.DUPLICATE_RULE_NAME=1]="DUPLICATE_RULE_NAME",t[t.INVALID_RULE_OVERRIDE=2]="INVALID_RULE_OVERRIDE",t[t.DUPLICATE_PRODUCTIONS=3]="DUPLICATE_PRODUCTIONS",t[t.UNRESOLVED_SUBRULE_REF=4]="UNRESOLVED_SUBRULE_REF",t[t.LEFT_RECURSION=5]="LEFT_RECURSION",t[t.NONE_LAST_EMPTY_ALT=6]="NONE_LAST_EMPTY_ALT",t[t.AMBIGUOUS_ALTS=7]="AMBIGUOUS_ALTS",t[t.CONFLICT_TOKENS_RULES_NAMESPACE=8]="CONFLICT_TOKENS_RULES_NAMESPACE",t[t.INVALID_TOKEN_NAME=9]="INVALID_TOKEN_NAME",t[t.NO_NON_EMPTY_LOOKAHEAD=10]="NO_NON_EMPTY_LOOKAHEAD",t[t.AMBIGUOUS_PREFIX_ALTS=11]="AMBIGUOUS_PREFIX_ALTS",t[t.TOO_MANY_ALTS=12]="TOO_MANY_ALTS",t[t.CUSTOM_LOOKAHEAD_VALIDATION=13]="CUSTOM_LOOKAHEAD_VALIDATION"})(de||(de={}));function ac(t=void 0){return function(){return t}}class ri{static performSelfAnalysis(e){throw Error("The **static** `performSelfAnalysis` method has been deprecated. \nUse the **instance** method with the same name instead.")}performSelfAnalysis(){this.TRACE_INIT("performSelfAnalysis",()=>{let e;this.selfAnalysisDone=!0;const n=this.className;this.TRACE_INIT("toFastProps",()=>{Od(this)}),this.TRACE_INIT("Grammar Recording",()=>{try{this.enableRecording(),k(this.definedRulesNames,i=>{const a=this[i].originalGrammarAction;let o;this.TRACE_INIT(`${i} Rule`,()=>{o=this.topLevelRuleRecord(i,a)}),this.gastProductionsCache[i]=o})}finally{this.disableRecording()}});let r=[];if(this.TRACE_INIT("Grammar Resolving",()=>{r=rI({rules:Z(this.gastProductionsCache)}),this.definitionErrors=this.definitionErrors.concat(r)}),this.TRACE_INIT("Grammar Validations",()=>{if(U(r)&&this.skipValidations===!1){const i=iI({rules:Z(this.gastProductionsCache),tokenTypes:Z(this.tokensMap),errMsgProvider:Ht,grammarName:n}),s=j_({lookaheadStrategy:this.lookaheadStrategy,rules:Z(this.gastProductionsCache),tokenTypes:Z(this.tokensMap),grammarName:n});this.definitionErrors=this.definitionErrors.concat(i,s)}}),U(this.definitionErrors)&&(this.recoveryEnabled&&this.TRACE_INIT("computeAllProdsFollows",()=>{const i=Bx(Z(this.gastProductionsCache));this.resyncFollows=i}),this.TRACE_INIT("ComputeLookaheadFunctions",()=>{var i,s;(s=(i=this.lookaheadStrategy).initialize)===null||s===void 0||s.call(i,{rules:Z(this.gastProductionsCache)}),this.preComputeLookaheadFunctions(Z(this.gastProductionsCache))})),!ri.DEFER_DEFINITION_ERRORS_HANDLING&&!U(this.definitionErrors))throw e=I(this.definitionErrors,i=>i.message),new Error(`Parser Definition Errors detected:
|
|
106
|
+
${e.join(`
|
|
107
|
+
-------------------------------
|
|
108
|
+
`)}`)})}constructor(e,n){this.definitionErrors=[],this.selfAnalysisDone=!1;const r=this;if(r.initErrorHandler(n),r.initLexerAdapter(),r.initLooksAhead(n),r.initRecognizerEngine(e,n),r.initRecoverable(n),r.initTreeBuilder(n),r.initContentAssist(),r.initGastRecorder(n),r.initPerformanceTracer(n),w(n,"ignoredIssues"))throw new Error(`The <ignoredIssues> IParserConfig property has been deprecated.
|
|
109
|
+
Please use the <IGNORE_AMBIGUITIES> flag on the relevant DSL method instead.
|
|
110
|
+
See: https://chevrotain.io/docs/guide/resolving_grammar_errors.html#IGNORING_AMBIGUITIES
|
|
111
|
+
For further details.`);this.skipValidations=w(n,"skipValidations")?n.skipValidations:dt.skipValidations}}ri.DEFER_DEFINITION_ERRORS_HANDLING=!1;OI(ri,[uI,dI,EI,SI,_I,xI,II,wI,kI,bI]);class PI extends ri{constructor(e,n=dt){const r=ae(n);r.outputCst=!1,super(e,r)}}function Fn(t,e,n){return`${t.name}_${e}_${n}`}const Ct=1,LI=2,bh=4,Oh=5,ii=7,MI=8,DI=9,FI=10,GI=11,Ph=12;class gl{constructor(e){this.target=e}isEpsilon(){return!1}}class yl extends gl{constructor(e,n){super(e),this.tokenType=n}}class Lh extends gl{constructor(e){super(e)}isEpsilon(){return!0}}class Tl extends gl{constructor(e,n,r){super(e),this.rule=n,this.followState=r}isEpsilon(){return!0}}function UI(t){const e={decisionMap:{},decisionStates:[],ruleToStartState:new Map,ruleToStopState:new Map,states:[]};BI(e,t);const n=t.length;for(let r=0;r<n;r++){const i=t[r],s=on(e,i,i);s!==void 0&&ZI(e,i,s)}return e}function BI(t,e){const n=e.length;for(let r=0;r<n;r++){const i=e[r],s=ee(t,i,void 0,{type:LI}),a=ee(t,i,void 0,{type:ii});s.stop=a,t.ruleToStartState.set(i,s),t.ruleToStopState.set(i,a)}}function Mh(t,e,n){return n instanceof K?vl(t,e,n.terminalType,n):n instanceof fe?JI(t,e,n):n instanceof Te?zI(t,e,n):n instanceof se?VI(t,e,n):n instanceof q?jI(t,e,n):n instanceof ye?KI(t,e,n):n instanceof xe?HI(t,e,n):n instanceof _e?WI(t,e,n):on(t,e,n)}function jI(t,e,n){const r=ee(t,e,n,{type:Oh});Pt(t,r);const i=Wn(t,e,r,n,on(t,e,n));return Fh(t,e,n,i)}function KI(t,e,n){const r=ee(t,e,n,{type:Oh});Pt(t,r);const i=Wn(t,e,r,n,on(t,e,n)),s=vl(t,e,n.separator,n);return Fh(t,e,n,i,s)}function HI(t,e,n){const r=ee(t,e,n,{type:bh});Pt(t,r);const i=Wn(t,e,r,n,on(t,e,n));return Dh(t,e,n,i)}function WI(t,e,n){const r=ee(t,e,n,{type:bh});Pt(t,r);const i=Wn(t,e,r,n,on(t,e,n)),s=vl(t,e,n.separator,n);return Dh(t,e,n,i,s)}function zI(t,e,n){const r=ee(t,e,n,{type:Ct});Pt(t,r);const i=ot(n.definition,a=>Mh(t,e,a));return Wn(t,e,r,n,...i)}function VI(t,e,n){const r=ee(t,e,n,{type:Ct});Pt(t,r);const i=Wn(t,e,r,n,on(t,e,n));return qI(t,e,n,i)}function on(t,e,n){const r=Dp(ot(n.definition,i=>Mh(t,e,i)),i=>i!==void 0);return r.length===1?r[0]:r.length===0?void 0:XI(t,r)}function Dh(t,e,n,r,i){const s=r.left,a=r.right,o=ee(t,e,n,{type:GI});Pt(t,o);const l=ee(t,e,n,{type:Ph});return s.loopback=o,l.loopback=o,t.decisionMap[Fn(e,i?"RepetitionMandatoryWithSeparator":"RepetitionMandatory",n.idx)]=o,X(a,o),i===void 0?(X(o,s),X(o,l)):(X(o,l),X(o,i.left),X(i.right,s)),{left:s,right:l}}function Fh(t,e,n,r,i){const s=r.left,a=r.right,o=ee(t,e,n,{type:FI});Pt(t,o);const l=ee(t,e,n,{type:Ph}),u=ee(t,e,n,{type:DI});return o.loopback=u,l.loopback=u,X(o,s),X(o,l),X(a,u),i!==void 0?(X(u,l),X(u,i.left),X(i.right,s)):X(u,o),t.decisionMap[Fn(e,i?"RepetitionWithSeparator":"Repetition",n.idx)]=o,{left:o,right:l}}function qI(t,e,n,r){const i=r.left,s=r.right;return X(i,s),t.decisionMap[Fn(e,"Option",n.idx)]=i,r}function Pt(t,e){return t.decisionStates.push(e),e.decision=t.decisionStates.length-1,e.decision}function Wn(t,e,n,r,...i){const s=ee(t,e,r,{type:MI,start:n});n.end=s;for(const o of i)o!==void 0?(X(n,o.left),X(o.right,s)):X(n,s);const a={left:n,right:s};return t.decisionMap[Fn(e,YI(r),r.idx)]=n,a}function YI(t){if(t instanceof Te)return"Alternation";if(t instanceof se)return"Option";if(t instanceof q)return"Repetition";if(t instanceof ye)return"RepetitionWithSeparator";if(t instanceof xe)return"RepetitionMandatory";if(t instanceof _e)return"RepetitionMandatoryWithSeparator";throw new Error("Invalid production type encountered")}function XI(t,e){const n=e.length;for(let s=0;s<n-1;s++){const a=e[s];let o;a.left.transitions.length===1&&(o=a.left.transitions[0]);const l=o instanceof Tl,u=o,c=e[s+1].left;a.left.type===Ct&&a.right.type===Ct&&o!==void 0&&(l&&u.followState===a.right||o.target===a.right)?(l?u.followState=c:o.target=c,QI(t,a.right)):X(a.right,c)}const r=e[0],i=e[n-1];return{left:r.left,right:i.right}}function vl(t,e,n,r){const i=ee(t,e,r,{type:Ct}),s=ee(t,e,r,{type:Ct});return $l(i,new yl(s,n)),{left:i,right:s}}function JI(t,e,n){const r=n.referencedRule,i=t.ruleToStartState.get(r),s=ee(t,e,n,{type:Ct}),a=ee(t,e,n,{type:Ct}),o=new Tl(i,r,a);return $l(s,o),{left:s,right:a}}function ZI(t,e,n){const r=t.ruleToStartState.get(e);X(r,n.left);const i=t.ruleToStopState.get(e);return X(n.right,i),{left:r,right:i}}function X(t,e){const n=new Lh(e);$l(t,n)}function ee(t,e,n,r){const i=Object.assign({atn:t,production:n,epsilonOnlyTransitions:!1,rule:e,transitions:[],nextTokenWithinRule:[],stateNumber:t.states.length},r);return t.states.push(i),i}function $l(t,e){t.transitions.length===0&&(t.epsilonOnlyTransitions=e.isEpsilon()),t.transitions.push(e)}function QI(t,e){t.states.splice(t.states.indexOf(e),1)}const ls={};class uo{constructor(){this.map={},this.configs=[]}get size(){return this.configs.length}finalize(){this.map={}}add(e){const n=Gh(e);n in this.map||(this.map[n]=this.configs.length,this.configs.push(e))}get elements(){return this.configs}get alts(){return ot(this.configs,e=>e.alt)}get key(){let e="";for(const n in this.map)e+=n+":";return e}}function Gh(t,e=!0){return`${e?`a${t.alt}`:""}s${t.state.stateNumber}:${t.stack.map(n=>n.stateNumber.toString()).join("_")}`}function ew(t,e){const n={};return r=>{const i=r.toString();let s=n[i];return s!==void 0||(s={atnStartState:t,decision:e,states:{}},n[i]=s),s}}class Uh{constructor(){this.predicates=[]}is(e){return e>=this.predicates.length||this.predicates[e]}set(e,n){this.predicates[e]=n}toString(){let e="";const n=this.predicates.length;for(let r=0;r<n;r++)e+=this.predicates[r]===!0?"1":"0";return e}}const oc=new Uh;class tw extends ml{constructor(e){var n;super(),this.logging=(n=e==null?void 0:e.logging)!==null&&n!==void 0?n:(r=>console.log(r))}initialize(e){this.atn=UI(e.rules),this.dfas=nw(this.atn)}validateAmbiguousAlternationAlternatives(){return[]}validateEmptyOrAlternatives(){return[]}buildLookaheadForAlternation(e){const{prodOccurrence:n,rule:r,hasPredicates:i,dynamicTokensEnabled:s}=e,a=this.dfas,o=this.logging,l=Fn(r,"Alternation",n),c=this.atn.decisionMap[l].decision,f=ot(Qu({maxLookahead:1,occurrence:n,prodType:"Alternation",rule:r}),d=>ot(d,h=>h[0]));if(lc(f,!1)&&!s){const d=wl(f,(h,m,g)=>(ra(m,T=>{T&&(h[T.tokenTypeIdx]=g,ra(T.categoryMatches,y=>{h[y]=g}))}),h),{});return i?function(h){var m;const g=this.LA(1),T=d[g.tokenTypeIdx];if(h!==void 0&&T!==void 0){const y=(m=h[T])===null||m===void 0?void 0:m.GATE;if(y!==void 0&&y.call(this)===!1)return}return T}:function(){const h=this.LA(1);return d[h.tokenTypeIdx]}}else return i?function(d){const h=new Uh,m=d===void 0?0:d.length;for(let T=0;T<m;T++){const y=d==null?void 0:d[T].GATE;h.set(T,y===void 0||y.call(this))}const g=Aa.call(this,a,c,h,o);return typeof g=="number"?g:void 0}:function(){const d=Aa.call(this,a,c,oc,o);return typeof d=="number"?d:void 0}}buildLookaheadForOptional(e){const{prodOccurrence:n,rule:r,prodType:i,dynamicTokensEnabled:s}=e,a=this.dfas,o=this.logging,l=Fn(r,i,n),c=this.atn.decisionMap[l].decision,f=ot(Qu({maxLookahead:1,occurrence:n,prodType:i,rule:r}),d=>ot(d,h=>h[0]));if(lc(f)&&f[0][0]&&!s){const d=f[0],h=bp(d);if(h.length===1&&Fp(h[0].categoryMatches)){const g=h[0].tokenTypeIdx;return function(){return this.LA(1).tokenTypeIdx===g}}else{const m=wl(h,(g,T)=>(T!==void 0&&(g[T.tokenTypeIdx]=!0,ra(T.categoryMatches,y=>{g[y]=!0})),g),{});return function(){const g=this.LA(1);return m[g.tokenTypeIdx]===!0}}}return function(){const d=Aa.call(this,a,c,oc,o);return typeof d=="object"?!1:d===0}}}function lc(t,e=!0){const n=new Set;for(const r of t){const i=new Set;for(const s of r){if(s===void 0){if(e)break;return!1}const a=[s.tokenTypeIdx].concat(s.categoryMatches);for(const o of a)if(n.has(o)){if(!i.has(o))return!1}else n.add(o),i.add(o)}}return!0}function nw(t){const e=t.decisionStates.length,n=Array(e);for(let r=0;r<e;r++)n[r]=ew(t.decisionStates[r],r);return n}function Aa(t,e,n,r){const i=t[e](n);let s=i.start;if(s===void 0){const o=hw(i.atnStartState);s=jh(i,Bh(o)),i.start=s}return rw.apply(this,[i,s,n,r])}function rw(t,e,n,r){let i=e,s=1;const a=[];let o=this.LA(s++);for(;;){let l=uw(i,o);if(l===void 0&&(l=iw.apply(this,[t,i,o,s,n,r])),l===ls)return lw(a,i,o);if(l.isAcceptState===!0)return l.prediction;i=l,a.push(o),o=this.LA(s++)}}function iw(t,e,n,r,i,s){const a=cw(e.configs,n,i);if(a.size===0)return uc(t,e,n,ls),ls;let o=Bh(a);const l=dw(a,i);if(l!==void 0)o.isAcceptState=!0,o.prediction=l,o.configs.uniqueAlt=l;else if(yw(a)){const u=Op(a.alts);o.isAcceptState=!0,o.prediction=u,o.configs.uniqueAlt=u,sw.apply(this,[t,r,a.alts,s])}return o=uc(t,e,n,o),o}function sw(t,e,n,r){const i=[];for(let u=1;u<=e;u++)i.push(this.LA(u).tokenType);const s=t.atnStartState,a=s.rule,o=s.production,l=aw({topLevelRule:a,ambiguityIndices:n,production:o,prefixPath:i});r(l)}function aw(t){const e=ot(t.prefixPath,i=>gn(i)).join(", "),n=t.production.idx===0?"":t.production.idx;let r=`Ambiguous Alternatives Detected: <${t.ambiguityIndices.join(", ")}> in <${ow(t.production)}${n}> inside <${t.topLevelRule.name}> Rule,
|
|
112
|
+
<${e}> may appears as a prefix path in all these alternatives.
|
|
113
|
+
`;return r=r+`See: https://chevrotain.io/docs/guide/resolving_grammar_errors.html#AMBIGUOUS_ALTERNATIVES
|
|
114
|
+
For Further details.`,r}function ow(t){if(t instanceof fe)return"SUBRULE";if(t instanceof se)return"OPTION";if(t instanceof Te)return"OR";if(t instanceof xe)return"AT_LEAST_ONE";if(t instanceof _e)return"AT_LEAST_ONE_SEP";if(t instanceof ye)return"MANY_SEP";if(t instanceof q)return"MANY";if(t instanceof K)return"CONSUME";throw Error("non exhaustive match")}function lw(t,e,n){const r=Gp(e.configs.elements,s=>s.state.transitions),i=Up(r.filter(s=>s instanceof yl).map(s=>s.tokenType),s=>s.tokenTypeIdx);return{actualToken:n,possibleTokenTypes:i,tokenPath:t}}function uw(t,e){return t.edges[e.tokenTypeIdx]}function cw(t,e,n){const r=new uo,i=[];for(const a of t.elements){if(n.is(a.alt)===!1)continue;if(a.state.type===ii){i.push(a);continue}const o=a.state.transitions.length;for(let l=0;l<o;l++){const u=a.state.transitions[l],c=fw(u,e);c!==void 0&&r.add({state:c,alt:a.alt,stack:a.stack})}}let s;if(i.length===0&&r.size===1&&(s=r),s===void 0){s=new uo;for(const a of r.elements)us(a,s)}if(i.length>0&&!mw(s))for(const a of i)s.add(a);return s}function fw(t,e){if(t instanceof yl&&hh(e,t.tokenType))return t.target}function dw(t,e){let n;for(const r of t.elements)if(e.is(r.alt)===!0){if(n===void 0)n=r.alt;else if(n!==r.alt)return}return n}function Bh(t){return{configs:t,edges:{},isAcceptState:!1,prediction:-1}}function uc(t,e,n,r){return r=jh(t,r),e.edges[n.tokenTypeIdx]=r,r}function jh(t,e){if(e===ls)return e;const n=e.configs.key,r=t.states[n];return r!==void 0?r:(e.configs.finalize(),t.states[n]=e,e)}function hw(t){const e=new uo,n=t.transitions.length;for(let r=0;r<n;r++){const s={state:t.transitions[r].target,alt:r,stack:[]};us(s,e)}return e}function us(t,e){const n=t.state;if(n.type===ii){if(t.stack.length>0){const i=[...t.stack],a={state:i.pop(),alt:t.alt,stack:i};us(a,e)}else e.add(t);return}n.epsilonOnlyTransitions||e.add(t);const r=n.transitions.length;for(let i=0;i<r;i++){const s=n.transitions[i],a=pw(t,s);a!==void 0&&us(a,e)}}function pw(t,e){if(e instanceof Lh)return{state:e.target,alt:t.alt,stack:t.stack};if(e instanceof Tl){const n=[...t.stack,e.followState];return{state:e.target,alt:t.alt,stack:n}}}function mw(t){for(const e of t.elements)if(e.state.type===ii)return!0;return!1}function gw(t){for(const e of t.elements)if(e.state.type!==ii)return!1;return!0}function yw(t){if(gw(t))return!0;const e=Tw(t.elements);return vw(e)&&!$w(e)}function Tw(t){const e=new Map;for(const n of t){const r=Gh(n,!1);let i=e.get(r);i===void 0&&(i={},e.set(r,i)),i[n.alt]=!0}return e}function vw(t){for(const e of Array.from(t.values()))if(Object.keys(e).length>1)return!0;return!1}function $w(t){for(const e of Array.from(t.values()))if(Object.keys(e).length===1)return!0;return!1}var cc;(function(t){function e(n){return typeof n=="string"}t.is=e})(cc||(cc={}));var co;(function(t){function e(n){return typeof n=="string"}t.is=e})(co||(co={}));var fc;(function(t){t.MIN_VALUE=-2147483648,t.MAX_VALUE=2147483647;function e(n){return typeof n=="number"&&t.MIN_VALUE<=n&&n<=t.MAX_VALUE}t.is=e})(fc||(fc={}));var cs;(function(t){t.MIN_VALUE=0,t.MAX_VALUE=2147483647;function e(n){return typeof n=="number"&&t.MIN_VALUE<=n&&n<=t.MAX_VALUE}t.is=e})(cs||(cs={}));var D;(function(t){function e(r,i){return r===Number.MAX_VALUE&&(r=cs.MAX_VALUE),i===Number.MAX_VALUE&&(i=cs.MAX_VALUE),{line:r,character:i}}t.create=e;function n(r){let i=r;return p.objectLiteral(i)&&p.uinteger(i.line)&&p.uinteger(i.character)}t.is=n})(D||(D={}));var L;(function(t){function e(r,i,s,a){if(p.uinteger(r)&&p.uinteger(i)&&p.uinteger(s)&&p.uinteger(a))return{start:D.create(r,i),end:D.create(s,a)};if(D.is(r)&&D.is(i))return{start:r,end:i};throw new Error(`Range#create called with invalid arguments[${r}, ${i}, ${s}, ${a}]`)}t.create=e;function n(r){let i=r;return p.objectLiteral(i)&&D.is(i.start)&&D.is(i.end)}t.is=n})(L||(L={}));var fs;(function(t){function e(r,i){return{uri:r,range:i}}t.create=e;function n(r){let i=r;return p.objectLiteral(i)&&L.is(i.range)&&(p.string(i.uri)||p.undefined(i.uri))}t.is=n})(fs||(fs={}));var dc;(function(t){function e(r,i,s,a){return{targetUri:r,targetRange:i,targetSelectionRange:s,originSelectionRange:a}}t.create=e;function n(r){let i=r;return p.objectLiteral(i)&&L.is(i.targetRange)&&p.string(i.targetUri)&&L.is(i.targetSelectionRange)&&(L.is(i.originSelectionRange)||p.undefined(i.originSelectionRange))}t.is=n})(dc||(dc={}));var fo;(function(t){function e(r,i,s,a){return{red:r,green:i,blue:s,alpha:a}}t.create=e;function n(r){const i=r;return p.objectLiteral(i)&&p.numberRange(i.red,0,1)&&p.numberRange(i.green,0,1)&&p.numberRange(i.blue,0,1)&&p.numberRange(i.alpha,0,1)}t.is=n})(fo||(fo={}));var hc;(function(t){function e(r,i){return{range:r,color:i}}t.create=e;function n(r){const i=r;return p.objectLiteral(i)&&L.is(i.range)&&fo.is(i.color)}t.is=n})(hc||(hc={}));var pc;(function(t){function e(r,i,s){return{label:r,textEdit:i,additionalTextEdits:s}}t.create=e;function n(r){const i=r;return p.objectLiteral(i)&&p.string(i.label)&&(p.undefined(i.textEdit)||Un.is(i))&&(p.undefined(i.additionalTextEdits)||p.typedArray(i.additionalTextEdits,Un.is))}t.is=n})(pc||(pc={}));var mc;(function(t){t.Comment="comment",t.Imports="imports",t.Region="region"})(mc||(mc={}));var gc;(function(t){function e(r,i,s,a,o,l){const u={startLine:r,endLine:i};return p.defined(s)&&(u.startCharacter=s),p.defined(a)&&(u.endCharacter=a),p.defined(o)&&(u.kind=o),p.defined(l)&&(u.collapsedText=l),u}t.create=e;function n(r){const i=r;return p.objectLiteral(i)&&p.uinteger(i.startLine)&&p.uinteger(i.startLine)&&(p.undefined(i.startCharacter)||p.uinteger(i.startCharacter))&&(p.undefined(i.endCharacter)||p.uinteger(i.endCharacter))&&(p.undefined(i.kind)||p.string(i.kind))}t.is=n})(gc||(gc={}));var ho;(function(t){function e(r,i){return{location:r,message:i}}t.create=e;function n(r){let i=r;return p.defined(i)&&fs.is(i.location)&&p.string(i.message)}t.is=n})(ho||(ho={}));var yc;(function(t){t.Error=1,t.Warning=2,t.Information=3,t.Hint=4})(yc||(yc={}));var Tc;(function(t){t.Unnecessary=1,t.Deprecated=2})(Tc||(Tc={}));var vc;(function(t){function e(n){const r=n;return p.objectLiteral(r)&&p.string(r.href)}t.is=e})(vc||(vc={}));var ds;(function(t){function e(r,i,s,a,o,l){let u={range:r,message:i};return p.defined(s)&&(u.severity=s),p.defined(a)&&(u.code=a),p.defined(o)&&(u.source=o),p.defined(l)&&(u.relatedInformation=l),u}t.create=e;function n(r){var i;let s=r;return p.defined(s)&&L.is(s.range)&&p.string(s.message)&&(p.number(s.severity)||p.undefined(s.severity))&&(p.integer(s.code)||p.string(s.code)||p.undefined(s.code))&&(p.undefined(s.codeDescription)||p.string((i=s.codeDescription)===null||i===void 0?void 0:i.href))&&(p.string(s.source)||p.undefined(s.source))&&(p.undefined(s.relatedInformation)||p.typedArray(s.relatedInformation,ho.is))}t.is=n})(ds||(ds={}));var Gn;(function(t){function e(r,i,...s){let a={title:r,command:i};return p.defined(s)&&s.length>0&&(a.arguments=s),a}t.create=e;function n(r){let i=r;return p.defined(i)&&p.string(i.title)&&p.string(i.command)}t.is=n})(Gn||(Gn={}));var Un;(function(t){function e(s,a){return{range:s,newText:a}}t.replace=e;function n(s,a){return{range:{start:s,end:s},newText:a}}t.insert=n;function r(s){return{range:s,newText:""}}t.del=r;function i(s){const a=s;return p.objectLiteral(a)&&p.string(a.newText)&&L.is(a.range)}t.is=i})(Un||(Un={}));var po;(function(t){function e(r,i,s){const a={label:r};return i!==void 0&&(a.needsConfirmation=i),s!==void 0&&(a.description=s),a}t.create=e;function n(r){const i=r;return p.objectLiteral(i)&&p.string(i.label)&&(p.boolean(i.needsConfirmation)||i.needsConfirmation===void 0)&&(p.string(i.description)||i.description===void 0)}t.is=n})(po||(po={}));var Bn;(function(t){function e(n){const r=n;return p.string(r)}t.is=e})(Bn||(Bn={}));var $c;(function(t){function e(s,a,o){return{range:s,newText:a,annotationId:o}}t.replace=e;function n(s,a,o){return{range:{start:s,end:s},newText:a,annotationId:o}}t.insert=n;function r(s,a){return{range:s,newText:"",annotationId:a}}t.del=r;function i(s){const a=s;return Un.is(a)&&(po.is(a.annotationId)||Bn.is(a.annotationId))}t.is=i})($c||($c={}));var mo;(function(t){function e(r,i){return{textDocument:r,edits:i}}t.create=e;function n(r){let i=r;return p.defined(i)&&$o.is(i.textDocument)&&Array.isArray(i.edits)}t.is=n})(mo||(mo={}));var go;(function(t){function e(r,i,s){let a={kind:"create",uri:r};return i!==void 0&&(i.overwrite!==void 0||i.ignoreIfExists!==void 0)&&(a.options=i),s!==void 0&&(a.annotationId=s),a}t.create=e;function n(r){let i=r;return i&&i.kind==="create"&&p.string(i.uri)&&(i.options===void 0||(i.options.overwrite===void 0||p.boolean(i.options.overwrite))&&(i.options.ignoreIfExists===void 0||p.boolean(i.options.ignoreIfExists)))&&(i.annotationId===void 0||Bn.is(i.annotationId))}t.is=n})(go||(go={}));var yo;(function(t){function e(r,i,s,a){let o={kind:"rename",oldUri:r,newUri:i};return s!==void 0&&(s.overwrite!==void 0||s.ignoreIfExists!==void 0)&&(o.options=s),a!==void 0&&(o.annotationId=a),o}t.create=e;function n(r){let i=r;return i&&i.kind==="rename"&&p.string(i.oldUri)&&p.string(i.newUri)&&(i.options===void 0||(i.options.overwrite===void 0||p.boolean(i.options.overwrite))&&(i.options.ignoreIfExists===void 0||p.boolean(i.options.ignoreIfExists)))&&(i.annotationId===void 0||Bn.is(i.annotationId))}t.is=n})(yo||(yo={}));var To;(function(t){function e(r,i,s){let a={kind:"delete",uri:r};return i!==void 0&&(i.recursive!==void 0||i.ignoreIfNotExists!==void 0)&&(a.options=i),s!==void 0&&(a.annotationId=s),a}t.create=e;function n(r){let i=r;return i&&i.kind==="delete"&&p.string(i.uri)&&(i.options===void 0||(i.options.recursive===void 0||p.boolean(i.options.recursive))&&(i.options.ignoreIfNotExists===void 0||p.boolean(i.options.ignoreIfNotExists)))&&(i.annotationId===void 0||Bn.is(i.annotationId))}t.is=n})(To||(To={}));var vo;(function(t){function e(n){let r=n;return r&&(r.changes!==void 0||r.documentChanges!==void 0)&&(r.documentChanges===void 0||r.documentChanges.every(i=>p.string(i.kind)?go.is(i)||yo.is(i)||To.is(i):mo.is(i)))}t.is=e})(vo||(vo={}));var Rc;(function(t){function e(r){return{uri:r}}t.create=e;function n(r){let i=r;return p.defined(i)&&p.string(i.uri)}t.is=n})(Rc||(Rc={}));var Ac;(function(t){function e(r,i){return{uri:r,version:i}}t.create=e;function n(r){let i=r;return p.defined(i)&&p.string(i.uri)&&p.integer(i.version)}t.is=n})(Ac||(Ac={}));var $o;(function(t){function e(r,i){return{uri:r,version:i}}t.create=e;function n(r){let i=r;return p.defined(i)&&p.string(i.uri)&&(i.version===null||p.integer(i.version))}t.is=n})($o||($o={}));var Ec;(function(t){function e(r,i,s,a){return{uri:r,languageId:i,version:s,text:a}}t.create=e;function n(r){let i=r;return p.defined(i)&&p.string(i.uri)&&p.string(i.languageId)&&p.integer(i.version)&&p.string(i.text)}t.is=n})(Ec||(Ec={}));var Ro;(function(t){t.PlainText="plaintext",t.Markdown="markdown";function e(n){const r=n;return r===t.PlainText||r===t.Markdown}t.is=e})(Ro||(Ro={}));var Kr;(function(t){function e(n){const r=n;return p.objectLiteral(n)&&Ro.is(r.kind)&&p.string(r.value)}t.is=e})(Kr||(Kr={}));var Sc;(function(t){t.Text=1,t.Method=2,t.Function=3,t.Constructor=4,t.Field=5,t.Variable=6,t.Class=7,t.Interface=8,t.Module=9,t.Property=10,t.Unit=11,t.Value=12,t.Enum=13,t.Keyword=14,t.Snippet=15,t.Color=16,t.File=17,t.Reference=18,t.Folder=19,t.EnumMember=20,t.Constant=21,t.Struct=22,t.Event=23,t.Operator=24,t.TypeParameter=25})(Sc||(Sc={}));var xc;(function(t){t.PlainText=1,t.Snippet=2})(xc||(xc={}));var _c;(function(t){t.Deprecated=1})(_c||(_c={}));var Ic;(function(t){function e(r,i,s){return{newText:r,insert:i,replace:s}}t.create=e;function n(r){const i=r;return i&&p.string(i.newText)&&L.is(i.insert)&&L.is(i.replace)}t.is=n})(Ic||(Ic={}));var wc;(function(t){t.asIs=1,t.adjustIndentation=2})(wc||(wc={}));var Cc;(function(t){function e(n){const r=n;return r&&(p.string(r.detail)||r.detail===void 0)&&(p.string(r.description)||r.description===void 0)}t.is=e})(Cc||(Cc={}));var kc;(function(t){function e(n){return{label:n}}t.create=e})(kc||(kc={}));var Nc;(function(t){function e(n,r){return{items:n||[],isIncomplete:!!r}}t.create=e})(Nc||(Nc={}));var hs;(function(t){function e(r){return r.replace(/[\\`*_{}[\]()#+\-.!]/g,"\\$&")}t.fromPlainText=e;function n(r){const i=r;return p.string(i)||p.objectLiteral(i)&&p.string(i.language)&&p.string(i.value)}t.is=n})(hs||(hs={}));var bc;(function(t){function e(n){let r=n;return!!r&&p.objectLiteral(r)&&(Kr.is(r.contents)||hs.is(r.contents)||p.typedArray(r.contents,hs.is))&&(n.range===void 0||L.is(n.range))}t.is=e})(bc||(bc={}));var Oc;(function(t){function e(n,r){return r?{label:n,documentation:r}:{label:n}}t.create=e})(Oc||(Oc={}));var Pc;(function(t){function e(n,r,...i){let s={label:n};return p.defined(r)&&(s.documentation=r),p.defined(i)?s.parameters=i:s.parameters=[],s}t.create=e})(Pc||(Pc={}));var Lc;(function(t){t.Text=1,t.Read=2,t.Write=3})(Lc||(Lc={}));var Mc;(function(t){function e(n,r){let i={range:n};return p.number(r)&&(i.kind=r),i}t.create=e})(Mc||(Mc={}));var Dc;(function(t){t.File=1,t.Module=2,t.Namespace=3,t.Package=4,t.Class=5,t.Method=6,t.Property=7,t.Field=8,t.Constructor=9,t.Enum=10,t.Interface=11,t.Function=12,t.Variable=13,t.Constant=14,t.String=15,t.Number=16,t.Boolean=17,t.Array=18,t.Object=19,t.Key=20,t.Null=21,t.EnumMember=22,t.Struct=23,t.Event=24,t.Operator=25,t.TypeParameter=26})(Dc||(Dc={}));var Fc;(function(t){t.Deprecated=1})(Fc||(Fc={}));var Gc;(function(t){function e(n,r,i,s,a){let o={name:n,kind:r,location:{uri:s,range:i}};return a&&(o.containerName=a),o}t.create=e})(Gc||(Gc={}));var Uc;(function(t){function e(n,r,i,s){return s!==void 0?{name:n,kind:r,location:{uri:i,range:s}}:{name:n,kind:r,location:{uri:i}}}t.create=e})(Uc||(Uc={}));var Bc;(function(t){function e(r,i,s,a,o,l){let u={name:r,detail:i,kind:s,range:a,selectionRange:o};return l!==void 0&&(u.children=l),u}t.create=e;function n(r){let i=r;return i&&p.string(i.name)&&p.number(i.kind)&&L.is(i.range)&&L.is(i.selectionRange)&&(i.detail===void 0||p.string(i.detail))&&(i.deprecated===void 0||p.boolean(i.deprecated))&&(i.children===void 0||Array.isArray(i.children))&&(i.tags===void 0||Array.isArray(i.tags))}t.is=n})(Bc||(Bc={}));var jc;(function(t){t.Empty="",t.QuickFix="quickfix",t.Refactor="refactor",t.RefactorExtract="refactor.extract",t.RefactorInline="refactor.inline",t.RefactorRewrite="refactor.rewrite",t.Source="source",t.SourceOrganizeImports="source.organizeImports",t.SourceFixAll="source.fixAll"})(jc||(jc={}));var ps;(function(t){t.Invoked=1,t.Automatic=2})(ps||(ps={}));var Kc;(function(t){function e(r,i,s){let a={diagnostics:r};return i!=null&&(a.only=i),s!=null&&(a.triggerKind=s),a}t.create=e;function n(r){let i=r;return p.defined(i)&&p.typedArray(i.diagnostics,ds.is)&&(i.only===void 0||p.typedArray(i.only,p.string))&&(i.triggerKind===void 0||i.triggerKind===ps.Invoked||i.triggerKind===ps.Automatic)}t.is=n})(Kc||(Kc={}));var Hc;(function(t){function e(r,i,s){let a={title:r},o=!0;return typeof i=="string"?(o=!1,a.kind=i):Gn.is(i)?a.command=i:a.edit=i,o&&s!==void 0&&(a.kind=s),a}t.create=e;function n(r){let i=r;return i&&p.string(i.title)&&(i.diagnostics===void 0||p.typedArray(i.diagnostics,ds.is))&&(i.kind===void 0||p.string(i.kind))&&(i.edit!==void 0||i.command!==void 0)&&(i.command===void 0||Gn.is(i.command))&&(i.isPreferred===void 0||p.boolean(i.isPreferred))&&(i.edit===void 0||vo.is(i.edit))}t.is=n})(Hc||(Hc={}));var Wc;(function(t){function e(r,i){let s={range:r};return p.defined(i)&&(s.data=i),s}t.create=e;function n(r){let i=r;return p.defined(i)&&L.is(i.range)&&(p.undefined(i.command)||Gn.is(i.command))}t.is=n})(Wc||(Wc={}));var zc;(function(t){function e(r,i){return{tabSize:r,insertSpaces:i}}t.create=e;function n(r){let i=r;return p.defined(i)&&p.uinteger(i.tabSize)&&p.boolean(i.insertSpaces)}t.is=n})(zc||(zc={}));var Vc;(function(t){function e(r,i,s){return{range:r,target:i,data:s}}t.create=e;function n(r){let i=r;return p.defined(i)&&L.is(i.range)&&(p.undefined(i.target)||p.string(i.target))}t.is=n})(Vc||(Vc={}));var qc;(function(t){function e(r,i){return{range:r,parent:i}}t.create=e;function n(r){let i=r;return p.objectLiteral(i)&&L.is(i.range)&&(i.parent===void 0||t.is(i.parent))}t.is=n})(qc||(qc={}));var Yc;(function(t){t.namespace="namespace",t.type="type",t.class="class",t.enum="enum",t.interface="interface",t.struct="struct",t.typeParameter="typeParameter",t.parameter="parameter",t.variable="variable",t.property="property",t.enumMember="enumMember",t.event="event",t.function="function",t.method="method",t.macro="macro",t.keyword="keyword",t.modifier="modifier",t.comment="comment",t.string="string",t.number="number",t.regexp="regexp",t.operator="operator",t.decorator="decorator"})(Yc||(Yc={}));var Xc;(function(t){t.declaration="declaration",t.definition="definition",t.readonly="readonly",t.static="static",t.deprecated="deprecated",t.abstract="abstract",t.async="async",t.modification="modification",t.documentation="documentation",t.defaultLibrary="defaultLibrary"})(Xc||(Xc={}));var Jc;(function(t){function e(n){const r=n;return p.objectLiteral(r)&&(r.resultId===void 0||typeof r.resultId=="string")&&Array.isArray(r.data)&&(r.data.length===0||typeof r.data[0]=="number")}t.is=e})(Jc||(Jc={}));var Zc;(function(t){function e(r,i){return{range:r,text:i}}t.create=e;function n(r){const i=r;return i!=null&&L.is(i.range)&&p.string(i.text)}t.is=n})(Zc||(Zc={}));var Qc;(function(t){function e(r,i,s){return{range:r,variableName:i,caseSensitiveLookup:s}}t.create=e;function n(r){const i=r;return i!=null&&L.is(i.range)&&p.boolean(i.caseSensitiveLookup)&&(p.string(i.variableName)||i.variableName===void 0)}t.is=n})(Qc||(Qc={}));var ef;(function(t){function e(r,i){return{range:r,expression:i}}t.create=e;function n(r){const i=r;return i!=null&&L.is(i.range)&&(p.string(i.expression)||i.expression===void 0)}t.is=n})(ef||(ef={}));var tf;(function(t){function e(r,i){return{frameId:r,stoppedLocation:i}}t.create=e;function n(r){const i=r;return p.defined(i)&&L.is(r.stoppedLocation)}t.is=n})(tf||(tf={}));var Ao;(function(t){t.Type=1,t.Parameter=2;function e(n){return n===1||n===2}t.is=e})(Ao||(Ao={}));var Eo;(function(t){function e(r){return{value:r}}t.create=e;function n(r){const i=r;return p.objectLiteral(i)&&(i.tooltip===void 0||p.string(i.tooltip)||Kr.is(i.tooltip))&&(i.location===void 0||fs.is(i.location))&&(i.command===void 0||Gn.is(i.command))}t.is=n})(Eo||(Eo={}));var nf;(function(t){function e(r,i,s){const a={position:r,label:i};return s!==void 0&&(a.kind=s),a}t.create=e;function n(r){const i=r;return p.objectLiteral(i)&&D.is(i.position)&&(p.string(i.label)||p.typedArray(i.label,Eo.is))&&(i.kind===void 0||Ao.is(i.kind))&&i.textEdits===void 0||p.typedArray(i.textEdits,Un.is)&&(i.tooltip===void 0||p.string(i.tooltip)||Kr.is(i.tooltip))&&(i.paddingLeft===void 0||p.boolean(i.paddingLeft))&&(i.paddingRight===void 0||p.boolean(i.paddingRight))}t.is=n})(nf||(nf={}));var rf;(function(t){function e(n){return{kind:"snippet",value:n}}t.createSnippet=e})(rf||(rf={}));var sf;(function(t){function e(n,r,i,s){return{insertText:n,filterText:r,range:i,command:s}}t.create=e})(sf||(sf={}));var af;(function(t){function e(n){return{items:n}}t.create=e})(af||(af={}));var of;(function(t){t.Invoked=0,t.Automatic=1})(of||(of={}));var lf;(function(t){function e(n,r){return{range:n,text:r}}t.create=e})(lf||(lf={}));var uf;(function(t){function e(n,r){return{triggerKind:n,selectedCompletionInfo:r}}t.create=e})(uf||(uf={}));var cf;(function(t){function e(n){const r=n;return p.objectLiteral(r)&&co.is(r.uri)&&p.string(r.name)}t.is=e})(cf||(cf={}));var ff;(function(t){function e(s,a,o,l){return new Rw(s,a,o,l)}t.create=e;function n(s){let a=s;return!!(p.defined(a)&&p.string(a.uri)&&(p.undefined(a.languageId)||p.string(a.languageId))&&p.uinteger(a.lineCount)&&p.func(a.getText)&&p.func(a.positionAt)&&p.func(a.offsetAt))}t.is=n;function r(s,a){let o=s.getText(),l=i(a,(c,f)=>{let d=c.range.start.line-f.range.start.line;return d===0?c.range.start.character-f.range.start.character:d}),u=o.length;for(let c=l.length-1;c>=0;c--){let f=l[c],d=s.offsetAt(f.range.start),h=s.offsetAt(f.range.end);if(h<=u)o=o.substring(0,d)+f.newText+o.substring(h,o.length);else throw new Error("Overlapping edit");u=d}return o}t.applyEdits=r;function i(s,a){if(s.length<=1)return s;const o=s.length/2|0,l=s.slice(0,o),u=s.slice(o);i(l,a),i(u,a);let c=0,f=0,d=0;for(;c<l.length&&f<u.length;)a(l[c],u[f])<=0?s[d++]=l[c++]:s[d++]=u[f++];for(;c<l.length;)s[d++]=l[c++];for(;f<u.length;)s[d++]=u[f++];return s}})(ff||(ff={}));let Rw=class{constructor(e,n,r,i){this._uri=e,this._languageId=n,this._version=r,this._content=i,this._lineOffsets=void 0}get uri(){return this._uri}get languageId(){return this._languageId}get version(){return this._version}getText(e){if(e){let n=this.offsetAt(e.start),r=this.offsetAt(e.end);return this._content.substring(n,r)}return this._content}update(e,n){this._content=e.text,this._version=n,this._lineOffsets=void 0}getLineOffsets(){if(this._lineOffsets===void 0){let e=[],n=this._content,r=!0;for(let i=0;i<n.length;i++){r&&(e.push(i),r=!1);let s=n.charAt(i);r=s==="\r"||s===`
|
|
115
|
+
`,s==="\r"&&i+1<n.length&&n.charAt(i+1)===`
|
|
116
|
+
`&&i++}r&&n.length>0&&e.push(n.length),this._lineOffsets=e}return this._lineOffsets}positionAt(e){e=Math.max(Math.min(e,this._content.length),0);let n=this.getLineOffsets(),r=0,i=n.length;if(i===0)return D.create(0,e);for(;r<i;){let a=Math.floor((r+i)/2);n[a]>e?i=a:r=a+1}let s=r-1;return D.create(s,e-n[s])}offsetAt(e){let n=this.getLineOffsets();if(e.line>=n.length)return this._content.length;if(e.line<0)return 0;let r=n[e.line],i=e.line+1<n.length?n[e.line+1]:this._content.length;return Math.max(Math.min(r+e.character,i),r)}get lineCount(){return this.getLineOffsets().length}};var p;(function(t){const e=Object.prototype.toString;function n(h){return typeof h<"u"}t.defined=n;function r(h){return typeof h>"u"}t.undefined=r;function i(h){return h===!0||h===!1}t.boolean=i;function s(h){return e.call(h)==="[object String]"}t.string=s;function a(h){return e.call(h)==="[object Number]"}t.number=a;function o(h,m,g){return e.call(h)==="[object Number]"&&m<=h&&h<=g}t.numberRange=o;function l(h){return e.call(h)==="[object Number]"&&-2147483648<=h&&h<=2147483647}t.integer=l;function u(h){return e.call(h)==="[object Number]"&&0<=h&&h<=2147483647}t.uinteger=u;function c(h){return e.call(h)==="[object Function]"}t.func=c;function f(h){return h!==null&&typeof h=="object"}t.objectLiteral=f;function d(h,m){return Array.isArray(h)&&h.every(m)}t.typedArray=d})(p||(p={}));class Aw{constructor(){this.nodeStack=[]}get current(){var e;return(e=this.nodeStack[this.nodeStack.length-1])!==null&&e!==void 0?e:this.rootNode}buildRootNode(e){return this.rootNode=new Hh(e),this.rootNode.root=this.rootNode,this.nodeStack=[this.rootNode],this.rootNode}buildCompositeNode(e){const n=new Rl;return n.grammarSource=e,n.root=this.rootNode,this.current.content.push(n),this.nodeStack.push(n),n}buildLeafNode(e,n){const r=new So(e.startOffset,e.image.length,Ua(e),e.tokenType,!n);return r.grammarSource=n,r.root=this.rootNode,this.current.content.push(r),r}removeNode(e){const n=e.container;if(n){const r=n.content.indexOf(e);r>=0&&n.content.splice(r,1)}}addHiddenNodes(e){const n=[];for(const s of e){const a=new So(s.startOffset,s.image.length,Ua(s),s.tokenType,!0);a.root=this.rootNode,n.push(a)}let r=this.current,i=!1;if(r.content.length>0){r.content.push(...n);return}for(;r.container;){const s=r.container.content.indexOf(r);if(s>0){r.container.content.splice(s,0,...n),i=!0;break}r=r.container}i||this.rootNode.content.unshift(...n)}construct(e){const n=this.current;typeof e.$type=="string"&&(this.current.astNode=e),e.$cstNode=n;const r=this.nodeStack.pop();(r==null?void 0:r.content.length)===0&&this.removeNode(r)}}class Kh{get parent(){return this.container}get feature(){return this.grammarSource}get hidden(){return!1}get astNode(){var e,n;const r=typeof((e=this._astNode)===null||e===void 0?void 0:e.$type)=="string"?this._astNode:(n=this.container)===null||n===void 0?void 0:n.astNode;if(!r)throw new Error("This node has no associated AST element");return r}set astNode(e){this._astNode=e}get element(){return this.astNode}get text(){return this.root.fullText.substring(this.offset,this.end)}}class So extends Kh{get offset(){return this._offset}get length(){return this._length}get end(){return this._offset+this._length}get hidden(){return this._hidden}get tokenType(){return this._tokenType}get range(){return this._range}constructor(e,n,r,i,s=!1){super(),this._hidden=s,this._offset=e,this._tokenType=i,this._length=n,this._range=r}}class Rl extends Kh{constructor(){super(...arguments),this.content=new Al(this)}get children(){return this.content}get offset(){var e,n;return(n=(e=this.firstNonHiddenNode)===null||e===void 0?void 0:e.offset)!==null&&n!==void 0?n:0}get length(){return this.end-this.offset}get end(){var e,n;return(n=(e=this.lastNonHiddenNode)===null||e===void 0?void 0:e.end)!==null&&n!==void 0?n:0}get range(){const e=this.firstNonHiddenNode,n=this.lastNonHiddenNode;if(e&&n){if(this._rangeCache===void 0){const{range:r}=e,{range:i}=n;this._rangeCache={start:r.start,end:i.end.line<r.start.line?r.start:i.end}}return this._rangeCache}else return{start:D.create(0,0),end:D.create(0,0)}}get firstNonHiddenNode(){for(const e of this.content)if(!e.hidden)return e;return this.content[0]}get lastNonHiddenNode(){for(let e=this.content.length-1;e>=0;e--){const n=this.content[e];if(!n.hidden)return n}return this.content[this.content.length-1]}}class Al extends Array{constructor(e){super(),this.parent=e,Object.setPrototypeOf(this,Al.prototype)}push(...e){return this.addParents(e),super.push(...e)}unshift(...e){return this.addParents(e),super.unshift(...e)}splice(e,n,...r){return this.addParents(r),super.splice(e,n,...r)}addParents(e){for(const n of e)n.container=this.parent}}class Hh extends Rl{get text(){return this._text.substring(this.offset,this.end)}get fullText(){return this._text}constructor(e){super(),this._text="",this._text=e??""}}const xo=Symbol("Datatype");function Ea(t){return t.$type===xo}const df="",Wh=t=>t.endsWith(df)?t:t+df;class zh{constructor(e){this._unorderedGroups=new Map,this.allRules=new Map,this.lexer=e.parser.Lexer;const n=this.lexer.definition,r=e.LanguageMetaData.mode==="production";this.wrapper=new Iw(n,Object.assign(Object.assign({},e.parser.ParserConfig),{skipValidations:r,errorMessageProvider:e.parser.ParserErrorMessageProvider}))}alternatives(e,n){this.wrapper.wrapOr(e,n)}optional(e,n){this.wrapper.wrapOption(e,n)}many(e,n){this.wrapper.wrapMany(e,n)}atLeastOne(e,n){this.wrapper.wrapAtLeastOne(e,n)}getRule(e){return this.allRules.get(e)}isRecording(){return this.wrapper.IS_RECORDING}get unorderedGroups(){return this._unorderedGroups}getRuleStack(){return this.wrapper.RULE_STACK}finalize(){this.wrapper.wrapSelfAnalysis()}}class Ew extends zh{get current(){return this.stack[this.stack.length-1]}constructor(e){super(e),this.nodeBuilder=new Aw,this.stack=[],this.assignmentMap=new Map,this.linker=e.references.Linker,this.converter=e.parser.ValueConverter,this.astReflection=e.shared.AstReflection}rule(e,n){const r=this.computeRuleType(e),i=this.wrapper.DEFINE_RULE(Wh(e.name),this.startImplementation(r,n).bind(this));return this.allRules.set(e.name,i),e.entry&&(this.mainRule=i),i}computeRuleType(e){if(!e.fragment){if(ed(e))return xo;{const n=Mo(e);return n??e.name}}}parse(e,n={}){this.nodeBuilder.buildRootNode(e);const r=this.lexerResult=this.lexer.tokenize(e);this.wrapper.input=r.tokens;const i=n.rule?this.allRules.get(n.rule):this.mainRule;if(!i)throw new Error(n.rule?`No rule found with name '${n.rule}'`:"No main rule available.");const s=i.call(this.wrapper,{});return this.nodeBuilder.addHiddenNodes(r.hidden),this.unorderedGroups.clear(),this.lexerResult=void 0,{value:s,lexerErrors:r.errors,lexerReport:r.report,parserErrors:this.wrapper.errors}}startImplementation(e,n){return r=>{const i=!this.isRecording()&&e!==void 0;if(i){const a={$type:e};this.stack.push(a),e===xo&&(a.value="")}let s;try{s=n(r)}catch{s=void 0}return s===void 0&&i&&(s=this.construct()),s}}extractHiddenTokens(e){const n=this.lexerResult.hidden;if(!n.length)return[];const r=e.startOffset;for(let i=0;i<n.length;i++)if(n[i].startOffset>r)return n.splice(0,i);return n.splice(0,n.length)}consume(e,n,r){const i=this.wrapper.wrapConsume(e,n);if(!this.isRecording()&&this.isValidToken(i)){const s=this.extractHiddenTokens(i);this.nodeBuilder.addHiddenNodes(s);const a=this.nodeBuilder.buildLeafNode(i,r),{assignment:o,isCrossRef:l}=this.getAssignment(r),u=this.current;if(o){const c=zt(r)?i.image:this.converter.convert(i.image,a);this.assign(o.operator,o.feature,c,a,l)}else if(Ea(u)){let c=i.image;zt(r)||(c=this.converter.convert(c,a).toString()),u.value+=c}}}isValidToken(e){return!e.isInsertedInRecovery&&!isNaN(e.startOffset)&&typeof e.endOffset=="number"&&!isNaN(e.endOffset)}subrule(e,n,r,i,s){let a;!this.isRecording()&&!r&&(a=this.nodeBuilder.buildCompositeNode(i));const o=this.wrapper.wrapSubrule(e,n,s);!this.isRecording()&&a&&a.length>0&&this.performSubruleAssignment(o,i,a)}performSubruleAssignment(e,n,r){const{assignment:i,isCrossRef:s}=this.getAssignment(n);if(i)this.assign(i.operator,i.feature,e,r,s);else if(!i){const a=this.current;if(Ea(a))a.value+=e.toString();else if(typeof e=="object"&&e){const l=this.assignWithoutOverride(e,a);this.stack.pop(),this.stack.push(l)}}}action(e,n){if(!this.isRecording()){let r=this.current;if(n.feature&&n.operator){r=this.construct(),this.nodeBuilder.removeNode(r.$cstNode),this.nodeBuilder.buildCompositeNode(n).content.push(r.$cstNode);const s={$type:e};this.stack.push(s),this.assign(n.operator,n.feature,r,r.$cstNode,!1)}else r.$type=e}}construct(){if(this.isRecording())return;const e=this.current;return hm(e),this.nodeBuilder.construct(e),this.stack.pop(),Ea(e)?this.converter.convert(e.value,e.$cstNode):(pm(this.astReflection,e),e)}getAssignment(e){if(!this.assignmentMap.has(e)){const n=Rs(e,Wt);this.assignmentMap.set(e,{assignment:n,isCrossRef:n?bo(n.terminal):!1})}return this.assignmentMap.get(e)}assign(e,n,r,i,s){const a=this.current;let o;switch(s&&typeof r=="string"?o=this.linker.buildReference(a,n,i,r):o=r,e){case"=":{a[n]=o;break}case"?=":{a[n]=!0;break}case"+=":Array.isArray(a[n])||(a[n]=[]),a[n].push(o)}}assignWithoutOverride(e,n){for(const[i,s]of Object.entries(n)){const a=e[i];a===void 0?e[i]=s:Array.isArray(a)&&Array.isArray(s)&&(s.push(...a),e[i]=s)}const r=e.$cstNode;return r&&(r.astNode=void 0,e.$cstNode=void 0),e}get definitionErrors(){return this.wrapper.definitionErrors}}class Sw{buildMismatchTokenMessage(e){return hn.buildMismatchTokenMessage(e)}buildNotAllInputParsedMessage(e){return hn.buildNotAllInputParsedMessage(e)}buildNoViableAltMessage(e){return hn.buildNoViableAltMessage(e)}buildEarlyExitMessage(e){return hn.buildEarlyExitMessage(e)}}class Vh extends Sw{buildMismatchTokenMessage({expected:e,actual:n}){return`Expecting ${e.LABEL?"`"+e.LABEL+"`":e.name.endsWith(":KW")?`keyword '${e.name.substring(0,e.name.length-3)}'`:`token of type '${e.name}'`} but found \`${n.image}\`.`}buildNotAllInputParsedMessage({firstRedundant:e}){return`Expecting end of file but found \`${e.image}\`.`}}class xw extends zh{constructor(){super(...arguments),this.tokens=[],this.elementStack=[],this.lastElementStack=[],this.nextTokenIndex=0,this.stackSize=0}action(){}construct(){}parse(e){this.resetState();const n=this.lexer.tokenize(e,{mode:"partial"});return this.tokens=n.tokens,this.wrapper.input=[...this.tokens],this.mainRule.call(this.wrapper,{}),this.unorderedGroups.clear(),{tokens:this.tokens,elementStack:[...this.lastElementStack],tokenIndex:this.nextTokenIndex}}rule(e,n){const r=this.wrapper.DEFINE_RULE(Wh(e.name),this.startImplementation(n).bind(this));return this.allRules.set(e.name,r),e.entry&&(this.mainRule=r),r}resetState(){this.elementStack=[],this.lastElementStack=[],this.nextTokenIndex=0,this.stackSize=0}startImplementation(e){return n=>{const r=this.keepStackSize();try{e(n)}finally{this.resetStackSize(r)}}}removeUnexpectedElements(){this.elementStack.splice(this.stackSize)}keepStackSize(){const e=this.elementStack.length;return this.stackSize=e,e}resetStackSize(e){this.removeUnexpectedElements(),this.stackSize=e}consume(e,n,r){this.wrapper.wrapConsume(e,n),this.isRecording()||(this.lastElementStack=[...this.elementStack,r],this.nextTokenIndex=this.currIdx+1)}subrule(e,n,r,i,s){this.before(i),this.wrapper.wrapSubrule(e,n,s),this.after(i)}before(e){this.isRecording()||this.elementStack.push(e)}after(e){if(!this.isRecording()){const n=this.elementStack.lastIndexOf(e);n>=0&&this.elementStack.splice(n)}}get currIdx(){return this.wrapper.currIdx}}const _w={recoveryEnabled:!0,nodeLocationTracking:"full",skipValidations:!0,errorMessageProvider:new Vh};class Iw extends PI{constructor(e,n){const r=n&&"maxLookahead"in n;super(e,Object.assign(Object.assign(Object.assign({},_w),{lookaheadStrategy:r?new ml({maxLookahead:n.maxLookahead}):new tw({logging:n.skipValidations?()=>{}:void 0})}),n))}get IS_RECORDING(){return this.RECORDING_PHASE}DEFINE_RULE(e,n){return this.RULE(e,n)}wrapSelfAnalysis(){this.performSelfAnalysis()}wrapConsume(e,n){return this.consume(e,n)}wrapSubrule(e,n,r){return this.subrule(e,n,{ARGS:[r]})}wrapOr(e,n){this.or(e,n)}wrapOption(e,n){this.option(e,n)}wrapMany(e,n){this.many(e,n)}wrapAtLeastOne(e,n){this.atLeastOne(e,n)}}function qh(t,e,n){return ww({parser:e,tokens:n,ruleNames:new Map},t),e}function ww(t,e){const n=Yf(e,!1),r=ie(e.rules).filter(Ne).filter(i=>n.has(i));for(const i of r){const s=Object.assign(Object.assign({},t),{consume:1,optional:1,subrule:1,many:1,or:1});t.parser.rule(i,Jt(s,i.definition))}}function Jt(t,e,n=!1){let r;if(zt(e))r=Lw(t,e);else if($s(e))r=Cw(t,e);else if(Wt(e))r=Jt(t,e.terminal);else if(bo(e))r=Yh(t,e);else if(Vt(e))r=kw(t,e);else if(Kf(e))r=bw(t,e);else if(Hf(e))r=Ow(t,e);else if(Oo(e))r=Pw(t,e);else if(sm(e)){const i=t.consume++;r=()=>t.parser.consume(i,wt,e)}else throw new Gf(e.$cstNode,`Unexpected element type: ${e.$type}`);return Xh(t,n?void 0:ms(e),r,e.cardinality)}function Cw(t,e){const n=Do(e);return()=>t.parser.action(n,e)}function kw(t,e){const n=e.rule.ref;if(Ne(n)){const r=t.subrule++,i=n.fragment,s=e.arguments.length>0?Nw(n,e.arguments):()=>({});return a=>t.parser.subrule(r,Jh(t,n),i,e,s(a))}else if(Qt(n)){const r=t.consume++,i=_o(t,n.name);return()=>t.parser.consume(r,i,e)}else if(n)Wr();else throw new Gf(e.$cstNode,`Undefined rule: ${e.rule.$refText}`)}function Nw(t,e){const n=e.map(r=>at(r.value));return r=>{const i={};for(let s=0;s<n.length;s++){const a=t.parameters[s],o=n[s];i[a.name]=o(r)}return i}}function at(t){if(Qp(t)){const e=at(t.left),n=at(t.right);return r=>e(r)||n(r)}else if(Zp(t)){const e=at(t.left),n=at(t.right);return r=>e(r)&&n(r)}else if(em(t)){const e=at(t.value);return n=>!e(n)}else if(tm(t)){const e=t.parameter.ref.name;return n=>n!==void 0&&n[e]===!0}else if(Jp(t)){const e=!!t.true;return()=>e}Wr()}function bw(t,e){if(e.elements.length===1)return Jt(t,e.elements[0]);{const n=[];for(const i of e.elements){const s={ALT:Jt(t,i,!0)},a=ms(i);a&&(s.GATE=at(a)),n.push(s)}const r=t.or++;return i=>t.parser.alternatives(r,n.map(s=>{const a={ALT:()=>s.ALT(i)},o=s.GATE;return o&&(a.GATE=()=>o(i)),a}))}}function Ow(t,e){if(e.elements.length===1)return Jt(t,e.elements[0]);const n=[];for(const o of e.elements){const l={ALT:Jt(t,o,!0)},u=ms(o);u&&(l.GATE=at(u)),n.push(l)}const r=t.or++,i=(o,l)=>{const u=l.getRuleStack().join("-");return`uGroup_${o}_${u}`},s=o=>t.parser.alternatives(r,n.map((l,u)=>{const c={ALT:()=>!0},f=t.parser;c.ALT=()=>{if(l.ALT(o),!f.isRecording()){const h=i(r,f);f.unorderedGroups.get(h)||f.unorderedGroups.set(h,[]);const m=f.unorderedGroups.get(h);typeof(m==null?void 0:m[u])>"u"&&(m[u]=!0)}};const d=l.GATE;return d?c.GATE=()=>d(o):c.GATE=()=>{const h=f.unorderedGroups.get(i(r,f));return!(h!=null&&h[u])},c})),a=Xh(t,ms(e),s,"*");return o=>{a(o),t.parser.isRecording()||t.parser.unorderedGroups.delete(i(r,t.parser))}}function Pw(t,e){const n=e.elements.map(r=>Jt(t,r));return r=>n.forEach(i=>i(r))}function ms(t){if(Oo(t))return t.guardCondition}function Yh(t,e,n=e.terminal){if(n)if(Vt(n)&&Ne(n.rule.ref)){const r=n.rule.ref,i=t.subrule++;return s=>t.parser.subrule(i,Jh(t,r),!1,e,s)}else if(Vt(n)&&Qt(n.rule.ref)){const r=t.consume++,i=_o(t,n.rule.ref.name);return()=>t.parser.consume(r,i,e)}else if(zt(n)){const r=t.consume++,i=_o(t,n.value);return()=>t.parser.consume(r,i,e)}else throw new Error("Could not build cross reference parser");else{if(!e.type.ref)throw new Error("Could not resolve reference to type: "+e.type.$refText);const r=Zf(e.type.ref),i=r==null?void 0:r.terminal;if(!i)throw new Error("Could not find name assignment for type: "+Do(e.type.ref));return Yh(t,e,i)}}function Lw(t,e){const n=t.consume++,r=t.tokens[e.value];if(!r)throw new Error("Could not find token for keyword: "+e.value);return()=>t.parser.consume(n,r,e)}function Xh(t,e,n,r){const i=e&&at(e);if(!r)if(i){const s=t.or++;return a=>t.parser.alternatives(s,[{ALT:()=>n(a),GATE:()=>i(a)},{ALT:ac(),GATE:()=>!i(a)}])}else return n;if(r==="*"){const s=t.many++;return a=>t.parser.many(s,{DEF:()=>n(a),GATE:i?()=>i(a):void 0})}else if(r==="+"){const s=t.many++;if(i){const a=t.or++;return o=>t.parser.alternatives(a,[{ALT:()=>t.parser.atLeastOne(s,{DEF:()=>n(o)}),GATE:()=>i(o)},{ALT:ac(),GATE:()=>!i(o)}])}else return a=>t.parser.atLeastOne(s,{DEF:()=>n(a)})}else if(r==="?"){const s=t.optional++;return a=>t.parser.optional(s,{DEF:()=>n(a),GATE:i?()=>i(a):void 0})}else Wr()}function Jh(t,e){const n=Mw(t,e),r=t.parser.getRule(n);if(!r)throw new Error(`Rule "${n}" not found."`);return r}function Mw(t,e){if(Ne(e))return e.name;if(t.ruleNames.has(e))return t.ruleNames.get(e);{let n=e,r=n.$container,i=e.$type;for(;!Ne(r);)(Oo(r)||Kf(r)||Hf(r))&&(i=r.elements.indexOf(n).toString()+":"+i),n=r,r=r.$container;return i=r.name+":"+i,t.ruleNames.set(e,i),i}}function _o(t,e){const n=t.tokens[e];if(!n)throw new Error(`Token "${e}" not found."`);return n}function Dw(t){const e=t.Grammar,n=t.parser.Lexer,r=new xw(t);return qh(e,r,n.definition),r.finalize(),r}function Fw(t){const e=Gw(t);return e.finalize(),e}function Gw(t){const e=t.Grammar,n=t.parser.Lexer,r=new Ew(t);return qh(e,r,n.definition)}class Zh{constructor(){this.diagnostics=[]}buildTokens(e,n){const r=ie(Yf(e,!1)),i=this.buildTerminalTokens(r),s=this.buildKeywordTokens(r,i,n);return i.forEach(a=>{const o=a.PATTERN;typeof o=="object"&&o&&"test"in o&&ja(o)?s.unshift(a):s.push(a)}),s}flushLexingReport(e){return{diagnostics:this.popDiagnostics()}}popDiagnostics(){const e=[...this.diagnostics];return this.diagnostics=[],e}buildTerminalTokens(e){return e.filter(Qt).filter(n=>!n.fragment).map(n=>this.buildTerminalToken(n)).toArray()}buildTerminalToken(e){const n=Fo(e),r=this.requiresCustomPattern(n)?this.regexPatternFunction(n):n,i={name:e.name,PATTERN:r};return typeof r=="function"&&(i.LINE_BREAKS=!0),e.hidden&&(i.GROUP=ja(n)?he.SKIPPED:"hidden"),i}requiresCustomPattern(e){return e.flags.includes("u")||e.flags.includes("s")?!0:!!(e.source.includes("?<=")||e.source.includes("?<!"))}regexPatternFunction(e){const n=new RegExp(e,e.flags+"y");return(r,i)=>(n.lastIndex=i,n.exec(r))}buildKeywordTokens(e,n,r){return e.filter(Ne).flatMap(i=>zr(i).filter(zt)).distinct(i=>i.value).toArray().sort((i,s)=>s.value.length-i.value.length).map(i=>this.buildKeywordToken(i,n,!!(r!=null&&r.caseInsensitive)))}buildKeywordToken(e,n,r){const i=this.buildKeywordPattern(e,r),s={name:e.value,PATTERN:i,LONGER_ALT:this.findLongerAlt(e,n)};return typeof i=="function"&&(s.LINE_BREAKS=!0),s}buildKeywordPattern(e,n){return n?new RegExp(Em(e.value)):e.value}findLongerAlt(e,n){return n.reduce((r,i)=>{const s=i==null?void 0:i.PATTERN;return s!=null&&s.source&&Sm("^"+s.source+"$",e.value)&&r.push(i),r},[])}}class Qh{convert(e,n){let r=n.grammarSource;if(bo(r)&&(r=wm(r)),Vt(r)){const i=r.rule.ref;if(!i)throw new Error("This cst node was not parsed by a rule.");return this.runConverter(i,e,n)}return e}runConverter(e,n,r){var i;switch(e.name.toUpperCase()){case"INT":return rt.convertInt(n);case"STRING":return rt.convertString(n);case"ID":return rt.convertID(n)}switch((i=Lm(e))===null||i===void 0?void 0:i.toLowerCase()){case"number":return rt.convertNumber(n);case"boolean":return rt.convertBoolean(n);case"bigint":return rt.convertBigint(n);case"date":return rt.convertDate(n);default:return n}}}var rt;(function(t){function e(u){let c="";for(let f=1;f<u.length-1;f++){const d=u.charAt(f);if(d==="\\"){const h=u.charAt(++f);c+=n(h)}else c+=d}return c}t.convertString=e;function n(u){switch(u){case"b":return"\b";case"f":return"\f";case"n":return`
|
|
117
|
+
`;case"r":return"\r";case"t":return" ";case"v":return"\v";case"0":return"\0";default:return u}}function r(u){return u.charAt(0)==="^"?u.substring(1):u}t.convertID=r;function i(u){return parseInt(u)}t.convertInt=i;function s(u){return BigInt(u)}t.convertBigint=s;function a(u){return new Date(u)}t.convertDate=a;function o(u){return Number(u)}t.convertNumber=o;function l(u){return u.toLowerCase()==="true"}t.convertBoolean=l})(rt||(rt={}));var jt={},Ri={},hf;function ep(){if(hf)return Ri;hf=1,Object.defineProperty(Ri,"__esModule",{value:!0});let t;function e(){if(t===void 0)throw new Error("No runtime abstraction layer installed");return t}return(function(n){function r(i){if(i===void 0)throw new Error("No runtime abstraction layer provided");t=i}n.install=r})(e||(e={})),Ri.default=e,Ri}var te={},pf;function Uw(){if(pf)return te;pf=1,Object.defineProperty(te,"__esModule",{value:!0}),te.stringArray=te.array=te.func=te.error=te.number=te.string=te.boolean=void 0;function t(o){return o===!0||o===!1}te.boolean=t;function e(o){return typeof o=="string"||o instanceof String}te.string=e;function n(o){return typeof o=="number"||o instanceof Number}te.number=n;function r(o){return o instanceof Error}te.error=r;function i(o){return typeof o=="function"}te.func=i;function s(o){return Array.isArray(o)}te.array=s;function a(o){return s(o)&&o.every(l=>e(l))}return te.stringArray=a,te}var Kt={},mf;function tp(){if(mf)return Kt;mf=1,Object.defineProperty(Kt,"__esModule",{value:!0}),Kt.Emitter=Kt.Event=void 0;const t=ep();var e;(function(i){const s={dispose(){}};i.None=function(){return s}})(e||(Kt.Event=e={}));class n{add(s,a=null,o){this._callbacks||(this._callbacks=[],this._contexts=[]),this._callbacks.push(s),this._contexts.push(a),Array.isArray(o)&&o.push({dispose:()=>this.remove(s,a)})}remove(s,a=null){if(!this._callbacks)return;let o=!1;for(let l=0,u=this._callbacks.length;l<u;l++)if(this._callbacks[l]===s)if(this._contexts[l]===a){this._callbacks.splice(l,1),this._contexts.splice(l,1);return}else o=!0;if(o)throw new Error("When adding a listener with a context, you should remove it with the same context")}invoke(...s){if(!this._callbacks)return[];const a=[],o=this._callbacks.slice(0),l=this._contexts.slice(0);for(let u=0,c=o.length;u<c;u++)try{a.push(o[u].apply(l[u],s))}catch(f){(0,t.default)().console.error(f)}return a}isEmpty(){return!this._callbacks||this._callbacks.length===0}dispose(){this._callbacks=void 0,this._contexts=void 0}}class r{constructor(s){this._options=s}get event(){return this._event||(this._event=(s,a,o)=>{this._callbacks||(this._callbacks=new n),this._options&&this._options.onFirstListenerAdd&&this._callbacks.isEmpty()&&this._options.onFirstListenerAdd(this),this._callbacks.add(s,a);const l={dispose:()=>{this._callbacks&&(this._callbacks.remove(s,a),l.dispose=r._noop,this._options&&this._options.onLastListenerRemove&&this._callbacks.isEmpty()&&this._options.onLastListenerRemove(this))}};return Array.isArray(o)&&o.push(l),l}),this._event}fire(s){this._callbacks&&this._callbacks.invoke.call(this._callbacks,s)}dispose(){this._callbacks&&(this._callbacks.dispose(),this._callbacks=void 0)}}return Kt.Emitter=r,r._noop=function(){},Kt}var gf;function Bw(){if(gf)return jt;gf=1,Object.defineProperty(jt,"__esModule",{value:!0}),jt.CancellationTokenSource=jt.CancellationToken=void 0;const t=ep(),e=Uw(),n=tp();var r;(function(o){o.None=Object.freeze({isCancellationRequested:!1,onCancellationRequested:n.Event.None}),o.Cancelled=Object.freeze({isCancellationRequested:!0,onCancellationRequested:n.Event.None});function l(u){const c=u;return c&&(c===o.None||c===o.Cancelled||e.boolean(c.isCancellationRequested)&&!!c.onCancellationRequested)}o.is=l})(r||(jt.CancellationToken=r={}));const i=Object.freeze(function(o,l){const u=(0,t.default)().timer.setTimeout(o.bind(l),0);return{dispose(){u.dispose()}}});class s{constructor(){this._isCancelled=!1}cancel(){this._isCancelled||(this._isCancelled=!0,this._emitter&&(this._emitter.fire(void 0),this.dispose()))}get isCancellationRequested(){return this._isCancelled}get onCancellationRequested(){return this._isCancelled?i:(this._emitter||(this._emitter=new n.Emitter),this._emitter.event)}dispose(){this._emitter&&(this._emitter.dispose(),this._emitter=void 0)}}class a{get token(){return this._token||(this._token=new s),this._token}cancel(){this._token?this._token.cancel():this._token=r.Cancelled}dispose(){this._token?this._token instanceof s&&this._token.dispose():this._token=r.None}}return jt.CancellationTokenSource=a,jt}var z=Bw();function jw(){return new Promise(t=>{typeof setImmediate>"u"?setTimeout(t,0):setImmediate(t)})}let Di=0,Kw=10;function Hw(){return Di=performance.now(),new z.CancellationTokenSource}const gs=Symbol("OperationCancelled");function Qs(t){return t===gs}async function Ee(t){if(t===z.CancellationToken.None)return;const e=performance.now();if(e-Di>=Kw&&(Di=e,await jw(),Di=performance.now()),t.isCancellationRequested)throw gs}class El{constructor(){this.promise=new Promise((e,n)=>{this.resolve=r=>(e(r),this),this.reject=r=>(n(r),this)})}}class Hr{constructor(e,n,r,i){this._uri=e,this._languageId=n,this._version=r,this._content=i,this._lineOffsets=void 0}get uri(){return this._uri}get languageId(){return this._languageId}get version(){return this._version}getText(e){if(e){const n=this.offsetAt(e.start),r=this.offsetAt(e.end);return this._content.substring(n,r)}return this._content}update(e,n){for(const r of e)if(Hr.isIncremental(r)){const i=rp(r.range),s=this.offsetAt(i.start),a=this.offsetAt(i.end);this._content=this._content.substring(0,s)+r.text+this._content.substring(a,this._content.length);const o=Math.max(i.start.line,0),l=Math.max(i.end.line,0);let u=this._lineOffsets;const c=yf(r.text,!1,s);if(l-o===c.length)for(let d=0,h=c.length;d<h;d++)u[d+o+1]=c[d];else c.length<1e4?u.splice(o+1,l-o,...c):this._lineOffsets=u=u.slice(0,o+1).concat(c,u.slice(l+1));const f=r.text.length-(a-s);if(f!==0)for(let d=o+1+c.length,h=u.length;d<h;d++)u[d]=u[d]+f}else if(Hr.isFull(r))this._content=r.text,this._lineOffsets=void 0;else throw new Error("Unknown change event received");this._version=n}getLineOffsets(){return this._lineOffsets===void 0&&(this._lineOffsets=yf(this._content,!0)),this._lineOffsets}positionAt(e){e=Math.max(Math.min(e,this._content.length),0);const n=this.getLineOffsets();let r=0,i=n.length;if(i===0)return{line:0,character:e};for(;r<i;){const a=Math.floor((r+i)/2);n[a]>e?i=a:r=a+1}const s=r-1;return e=this.ensureBeforeEOL(e,n[s]),{line:s,character:e-n[s]}}offsetAt(e){const n=this.getLineOffsets();if(e.line>=n.length)return this._content.length;if(e.line<0)return 0;const r=n[e.line];if(e.character<=0)return r;const i=e.line+1<n.length?n[e.line+1]:this._content.length,s=Math.min(r+e.character,i);return this.ensureBeforeEOL(s,r)}ensureBeforeEOL(e,n){for(;e>n&&np(this._content.charCodeAt(e-1));)e--;return e}get lineCount(){return this.getLineOffsets().length}static isIncremental(e){const n=e;return n!=null&&typeof n.text=="string"&&n.range!==void 0&&(n.rangeLength===void 0||typeof n.rangeLength=="number")}static isFull(e){const n=e;return n!=null&&typeof n.text=="string"&&n.range===void 0&&n.rangeLength===void 0}}var Io;(function(t){function e(i,s,a,o){return new Hr(i,s,a,o)}t.create=e;function n(i,s,a){if(i instanceof Hr)return i.update(s,a),i;throw new Error("TextDocument.update: document must be created by TextDocument.create")}t.update=n;function r(i,s){const a=i.getText(),o=wo(s.map(Ww),(c,f)=>{const d=c.range.start.line-f.range.start.line;return d===0?c.range.start.character-f.range.start.character:d});let l=0;const u=[];for(const c of o){const f=i.offsetAt(c.range.start);if(f<l)throw new Error("Overlapping edit");f>l&&u.push(a.substring(l,f)),c.newText.length&&u.push(c.newText),l=i.offsetAt(c.range.end)}return u.push(a.substr(l)),u.join("")}t.applyEdits=r})(Io||(Io={}));function wo(t,e){if(t.length<=1)return t;const n=t.length/2|0,r=t.slice(0,n),i=t.slice(n);wo(r,e),wo(i,e);let s=0,a=0,o=0;for(;s<r.length&&a<i.length;)e(r[s],i[a])<=0?t[o++]=r[s++]:t[o++]=i[a++];for(;s<r.length;)t[o++]=r[s++];for(;a<i.length;)t[o++]=i[a++];return t}function yf(t,e,n=0){const r=e?[n]:[];for(let i=0;i<t.length;i++){const s=t.charCodeAt(i);np(s)&&(s===13&&i+1<t.length&&t.charCodeAt(i+1)===10&&i++,r.push(n+i+1))}return r}function np(t){return t===13||t===10}function rp(t){const e=t.start,n=t.end;return e.line>n.line||e.line===n.line&&e.character>n.character?{start:n,end:e}:t}function Ww(t){const e=rp(t.range);return e!==t.range?{newText:t.newText,range:e}:t}var ip;(()=>{var t={470:i=>{function s(l){if(typeof l!="string")throw new TypeError("Path must be a string. Received "+JSON.stringify(l))}function a(l,u){for(var c,f="",d=0,h=-1,m=0,g=0;g<=l.length;++g){if(g<l.length)c=l.charCodeAt(g);else{if(c===47)break;c=47}if(c===47){if(!(h===g-1||m===1))if(h!==g-1&&m===2){if(f.length<2||d!==2||f.charCodeAt(f.length-1)!==46||f.charCodeAt(f.length-2)!==46){if(f.length>2){var T=f.lastIndexOf("/");if(T!==f.length-1){T===-1?(f="",d=0):d=(f=f.slice(0,T)).length-1-f.lastIndexOf("/"),h=g,m=0;continue}}else if(f.length===2||f.length===1){f="",d=0,h=g,m=0;continue}}u&&(f.length>0?f+="/..":f="..",d=2)}else f.length>0?f+="/"+l.slice(h+1,g):f=l.slice(h+1,g),d=g-h-1;h=g,m=0}else c===46&&m!==-1?++m:m=-1}return f}var o={resolve:function(){for(var l,u="",c=!1,f=arguments.length-1;f>=-1&&!c;f--){var d;f>=0?d=arguments[f]:(l===void 0&&(l=process.cwd()),d=l),s(d),d.length!==0&&(u=d+"/"+u,c=d.charCodeAt(0)===47)}return u=a(u,!c),c?u.length>0?"/"+u:"/":u.length>0?u:"."},normalize:function(l){if(s(l),l.length===0)return".";var u=l.charCodeAt(0)===47,c=l.charCodeAt(l.length-1)===47;return(l=a(l,!u)).length!==0||u||(l="."),l.length>0&&c&&(l+="/"),u?"/"+l:l},isAbsolute:function(l){return s(l),l.length>0&&l.charCodeAt(0)===47},join:function(){if(arguments.length===0)return".";for(var l,u=0;u<arguments.length;++u){var c=arguments[u];s(c),c.length>0&&(l===void 0?l=c:l+="/"+c)}return l===void 0?".":o.normalize(l)},relative:function(l,u){if(s(l),s(u),l===u||(l=o.resolve(l))===(u=o.resolve(u)))return"";for(var c=1;c<l.length&&l.charCodeAt(c)===47;++c);for(var f=l.length,d=f-c,h=1;h<u.length&&u.charCodeAt(h)===47;++h);for(var m=u.length-h,g=d<m?d:m,T=-1,y=0;y<=g;++y){if(y===g){if(m>g){if(u.charCodeAt(h+y)===47)return u.slice(h+y+1);if(y===0)return u.slice(h+y)}else d>g&&(l.charCodeAt(c+y)===47?T=y:y===0&&(T=0));break}var R=l.charCodeAt(c+y);if(R!==u.charCodeAt(h+y))break;R===47&&(T=y)}var v="";for(y=c+T+1;y<=f;++y)y!==f&&l.charCodeAt(y)!==47||(v.length===0?v+="..":v+="/..");return v.length>0?v+u.slice(h+T):(h+=T,u.charCodeAt(h)===47&&++h,u.slice(h))},_makeLong:function(l){return l},dirname:function(l){if(s(l),l.length===0)return".";for(var u=l.charCodeAt(0),c=u===47,f=-1,d=!0,h=l.length-1;h>=1;--h)if((u=l.charCodeAt(h))===47){if(!d){f=h;break}}else d=!1;return f===-1?c?"/":".":c&&f===1?"//":l.slice(0,f)},basename:function(l,u){if(u!==void 0&&typeof u!="string")throw new TypeError('"ext" argument must be a string');s(l);var c,f=0,d=-1,h=!0;if(u!==void 0&&u.length>0&&u.length<=l.length){if(u.length===l.length&&u===l)return"";var m=u.length-1,g=-1;for(c=l.length-1;c>=0;--c){var T=l.charCodeAt(c);if(T===47){if(!h){f=c+1;break}}else g===-1&&(h=!1,g=c+1),m>=0&&(T===u.charCodeAt(m)?--m==-1&&(d=c):(m=-1,d=g))}return f===d?d=g:d===-1&&(d=l.length),l.slice(f,d)}for(c=l.length-1;c>=0;--c)if(l.charCodeAt(c)===47){if(!h){f=c+1;break}}else d===-1&&(h=!1,d=c+1);return d===-1?"":l.slice(f,d)},extname:function(l){s(l);for(var u=-1,c=0,f=-1,d=!0,h=0,m=l.length-1;m>=0;--m){var g=l.charCodeAt(m);if(g!==47)f===-1&&(d=!1,f=m+1),g===46?u===-1?u=m:h!==1&&(h=1):u!==-1&&(h=-1);else if(!d){c=m+1;break}}return u===-1||f===-1||h===0||h===1&&u===f-1&&u===c+1?"":l.slice(u,f)},format:function(l){if(l===null||typeof l!="object")throw new TypeError('The "pathObject" argument must be of type Object. Received type '+typeof l);return(function(u,c){var f=c.dir||c.root,d=c.base||(c.name||"")+(c.ext||"");return f?f===c.root?f+d:f+"/"+d:d})(0,l)},parse:function(l){s(l);var u={root:"",dir:"",base:"",ext:"",name:""};if(l.length===0)return u;var c,f=l.charCodeAt(0),d=f===47;d?(u.root="/",c=1):c=0;for(var h=-1,m=0,g=-1,T=!0,y=l.length-1,R=0;y>=c;--y)if((f=l.charCodeAt(y))!==47)g===-1&&(T=!1,g=y+1),f===46?h===-1?h=y:R!==1&&(R=1):h!==-1&&(R=-1);else if(!T){m=y+1;break}return h===-1||g===-1||R===0||R===1&&h===g-1&&h===m+1?g!==-1&&(u.base=u.name=m===0&&d?l.slice(1,g):l.slice(m,g)):(m===0&&d?(u.name=l.slice(1,h),u.base=l.slice(1,g)):(u.name=l.slice(m,h),u.base=l.slice(m,g)),u.ext=l.slice(h,g)),m>0?u.dir=l.slice(0,m-1):d&&(u.dir="/"),u},sep:"/",delimiter:":",win32:null,posix:null};o.posix=o,i.exports=o}},e={};function n(i){var s=e[i];if(s!==void 0)return s.exports;var a=e[i]={exports:{}};return t[i](a,a.exports,n),a.exports}n.d=(i,s)=>{for(var a in s)n.o(s,a)&&!n.o(i,a)&&Object.defineProperty(i,a,{enumerable:!0,get:s[a]})},n.o=(i,s)=>Object.prototype.hasOwnProperty.call(i,s),n.r=i=>{typeof Symbol<"u"&&Symbol.toStringTag&&Object.defineProperty(i,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(i,"__esModule",{value:!0})};var r={};(()=>{let i;n.r(r),n.d(r,{URI:()=>d,Utils:()=>Ie}),typeof process=="object"?i=process.platform==="win32":typeof navigator=="object"&&(i=navigator.userAgent.indexOf("Windows")>=0);const s=/^\w[\w\d+.-]*$/,a=/^\//,o=/^\/\//;function l(S,$){if(!S.scheme&&$)throw new Error(`[UriError]: Scheme is missing: {scheme: "", authority: "${S.authority}", path: "${S.path}", query: "${S.query}", fragment: "${S.fragment}"}`);if(S.scheme&&!s.test(S.scheme))throw new Error("[UriError]: Scheme contains illegal characters.");if(S.path){if(S.authority){if(!a.test(S.path))throw new Error('[UriError]: If a URI contains an authority component, then the path component must either be empty or begin with a slash ("/") character')}else if(o.test(S.path))throw new Error('[UriError]: If a URI does not contain an authority component, then the path cannot begin with two slash characters ("//")')}}const u="",c="/",f=/^(([^:/?#]+?):)?(\/\/([^/?#]*))?([^?#]*)(\?([^#]*))?(#(.*))?/;class d{constructor($,E,_,P,b,N=!1){$t(this,"scheme");$t(this,"authority");$t(this,"path");$t(this,"query");$t(this,"fragment");typeof $=="object"?(this.scheme=$.scheme||u,this.authority=$.authority||u,this.path=$.path||u,this.query=$.query||u,this.fragment=$.fragment||u):(this.scheme=(function($e,Q){return $e||Q?$e:"file"})($,N),this.authority=E||u,this.path=(function($e,Q){switch($e){case"https":case"http":case"file":Q?Q[0]!==c&&(Q=c+Q):Q=c}return Q})(this.scheme,_||u),this.query=P||u,this.fragment=b||u,l(this,N))}static isUri($){return $ instanceof d||!!$&&typeof $.authority=="string"&&typeof $.fragment=="string"&&typeof $.path=="string"&&typeof $.query=="string"&&typeof $.scheme=="string"&&typeof $.fsPath=="string"&&typeof $.with=="function"&&typeof $.toString=="function"}get fsPath(){return R(this)}with($){if(!$)return this;let{scheme:E,authority:_,path:P,query:b,fragment:N}=$;return E===void 0?E=this.scheme:E===null&&(E=u),_===void 0?_=this.authority:_===null&&(_=u),P===void 0?P=this.path:P===null&&(P=u),b===void 0?b=this.query:b===null&&(b=u),N===void 0?N=this.fragment:N===null&&(N=u),E===this.scheme&&_===this.authority&&P===this.path&&b===this.query&&N===this.fragment?this:new m(E,_,P,b,N)}static parse($,E=!1){const _=f.exec($);return _?new m(_[2]||u,oe(_[4]||u),oe(_[5]||u),oe(_[7]||u),oe(_[9]||u),E):new m(u,u,u,u,u)}static file($){let E=u;if(i&&($=$.replace(/\\/g,c)),$[0]===c&&$[1]===c){const _=$.indexOf(c,2);_===-1?(E=$.substring(2),$=c):(E=$.substring(2,_),$=$.substring(_)||c)}return new m("file",E,$,u,u)}static from($){const E=new m($.scheme,$.authority,$.path,$.query,$.fragment);return l(E,!0),E}toString($=!1){return v(this,$)}toJSON(){return this}static revive($){if($){if($ instanceof d)return $;{const E=new m($);return E._formatted=$.external,E._fsPath=$._sep===h?$.fsPath:null,E}}return $}}const h=i?1:void 0;class m extends d{constructor(){super(...arguments);$t(this,"_formatted",null);$t(this,"_fsPath",null)}get fsPath(){return this._fsPath||(this._fsPath=R(this)),this._fsPath}toString(E=!1){return E?v(this,!0):(this._formatted||(this._formatted=v(this,!1)),this._formatted)}toJSON(){const E={$mid:1};return this._fsPath&&(E.fsPath=this._fsPath,E._sep=h),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}}const g={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 T(S,$,E){let _,P=-1;for(let b=0;b<S.length;b++){const N=S.charCodeAt(b);if(N>=97&&N<=122||N>=65&&N<=90||N>=48&&N<=57||N===45||N===46||N===95||N===126||$&&N===47||E&&N===91||E&&N===93||E&&N===58)P!==-1&&(_+=encodeURIComponent(S.substring(P,b)),P=-1),_!==void 0&&(_+=S.charAt(b));else{_===void 0&&(_=S.substr(0,b));const $e=g[N];$e!==void 0?(P!==-1&&(_+=encodeURIComponent(S.substring(P,b)),P=-1),_+=$e):P===-1&&(P=b)}}return P!==-1&&(_+=encodeURIComponent(S.substring(P))),_!==void 0?_:S}function y(S){let $;for(let E=0;E<S.length;E++){const _=S.charCodeAt(E);_===35||_===63?($===void 0&&($=S.substr(0,E)),$+=g[_]):$!==void 0&&($+=S[E])}return $!==void 0?$:S}function R(S,$){let E;return E=S.authority&&S.path.length>1&&S.scheme==="file"?`//${S.authority}${S.path}`:S.path.charCodeAt(0)===47&&(S.path.charCodeAt(1)>=65&&S.path.charCodeAt(1)<=90||S.path.charCodeAt(1)>=97&&S.path.charCodeAt(1)<=122)&&S.path.charCodeAt(2)===58?S.path[1].toLowerCase()+S.path.substr(2):S.path,i&&(E=E.replace(/\//g,"\\")),E}function v(S,$){const E=$?y:T;let _="",{scheme:P,authority:b,path:N,query:$e,fragment:Q}=S;if(P&&(_+=P,_+=":"),(b||P==="file")&&(_+=c,_+=c),b){let V=b.indexOf("@");if(V!==-1){const Gt=b.substr(0,V);b=b.substr(V+1),V=Gt.lastIndexOf(":"),V===-1?_+=E(Gt,!1,!1):(_+=E(Gt.substr(0,V),!1,!1),_+=":",_+=E(Gt.substr(V+1),!1,!0)),_+="@"}b=b.toLowerCase(),V=b.lastIndexOf(":"),V===-1?_+=E(b,!1,!0):(_+=E(b.substr(0,V),!1,!0),_+=b.substr(V))}if(N){if(N.length>=3&&N.charCodeAt(0)===47&&N.charCodeAt(2)===58){const V=N.charCodeAt(1);V>=65&&V<=90&&(N=`/${String.fromCharCode(V+32)}:${N.substr(3)}`)}else if(N.length>=2&&N.charCodeAt(1)===58){const V=N.charCodeAt(0);V>=65&&V<=90&&(N=`${String.fromCharCode(V+32)}:${N.substr(2)}`)}_+=E(N,!0,!1)}return $e&&(_+="?",_+=E($e,!1,!1)),Q&&(_+="#",_+=$?Q:T(Q,!1,!1)),_}function x(S){try{return decodeURIComponent(S)}catch{return S.length>3?S.substr(0,3)+x(S.substr(3)):S}}const O=/(%[0-9A-Za-z][0-9A-Za-z])+/g;function oe(S){return S.match(O)?S.replace(O,($=>x($))):S}var Me=n(470);const ve=Me.posix||Me,He="/";var Ie;(function(S){S.joinPath=function($,...E){return $.with({path:ve.join($.path,...E)})},S.resolvePath=function($,...E){let _=$.path,P=!1;_[0]!==He&&(_=He+_,P=!0);let b=ve.resolve(_,...E);return P&&b[0]===He&&!$.authority&&(b=b.substring(1)),$.with({path:b})},S.dirname=function($){if($.path.length===0||$.path===He)return $;let E=ve.dirname($.path);return E.length===1&&E.charCodeAt(0)===46&&(E=""),$.with({path:E})},S.basename=function($){return ve.basename($.path)},S.extname=function($){return ve.extname($.path)}})(Ie||(Ie={}))})(),ip=r})();const{URI:Zt,Utils:Xn}=ip;var kt;(function(t){t.basename=Xn.basename,t.dirname=Xn.dirname,t.extname=Xn.extname,t.joinPath=Xn.joinPath,t.resolvePath=Xn.resolvePath;function e(i,s){return(i==null?void 0:i.toString())===(s==null?void 0:s.toString())}t.equals=e;function n(i,s){const a=typeof i=="string"?i:i.path,o=typeof s=="string"?s:s.path,l=a.split("/").filter(h=>h.length>0),u=o.split("/").filter(h=>h.length>0);let c=0;for(;c<l.length&&l[c]===u[c];c++);const f="../".repeat(l.length-c),d=u.slice(c).join("/");return f+d}t.relative=n;function r(i){return Zt.parse(i.toString()).toString()}t.normalize=r})(kt||(kt={}));var H;(function(t){t[t.Changed=0]="Changed",t[t.Parsed=1]="Parsed",t[t.IndexedContent=2]="IndexedContent",t[t.ComputedScopes=3]="ComputedScopes",t[t.Linked=4]="Linked",t[t.IndexedReferences=5]="IndexedReferences",t[t.Validated=6]="Validated"})(H||(H={}));class zw{constructor(e){this.serviceRegistry=e.ServiceRegistry,this.textDocuments=e.workspace.TextDocuments,this.fileSystemProvider=e.workspace.FileSystemProvider}async fromUri(e,n=z.CancellationToken.None){const r=await this.fileSystemProvider.readFile(e);return this.createAsync(e,r,n)}fromTextDocument(e,n,r){return n=n??Zt.parse(e.uri),z.CancellationToken.is(r)?this.createAsync(n,e,r):this.create(n,e,r)}fromString(e,n,r){return z.CancellationToken.is(r)?this.createAsync(n,e,r):this.create(n,e,r)}fromModel(e,n){return this.create(n,{$model:e})}create(e,n,r){if(typeof n=="string"){const i=this.parse(e,n,r);return this.createLangiumDocument(i,e,void 0,n)}else if("$model"in n){const i={value:n.$model,parserErrors:[],lexerErrors:[]};return this.createLangiumDocument(i,e)}else{const i=this.parse(e,n.getText(),r);return this.createLangiumDocument(i,e,n)}}async createAsync(e,n,r){if(typeof n=="string"){const i=await this.parseAsync(e,n,r);return this.createLangiumDocument(i,e,void 0,n)}else{const i=await this.parseAsync(e,n.getText(),r);return this.createLangiumDocument(i,e,n)}}createLangiumDocument(e,n,r,i){let s;if(r)s={parseResult:e,uri:n,state:H.Parsed,references:[],textDocument:r};else{const a=this.createTextDocumentGetter(n,i);s={parseResult:e,uri:n,state:H.Parsed,references:[],get textDocument(){return a()}}}return e.value.$document=s,s}async update(e,n){var r,i;const s=(r=e.parseResult.value.$cstNode)===null||r===void 0?void 0:r.root.fullText,a=(i=this.textDocuments)===null||i===void 0?void 0:i.get(e.uri.toString()),o=a?a.getText():await this.fileSystemProvider.readFile(e.uri);if(a)Object.defineProperty(e,"textDocument",{value:a});else{const l=this.createTextDocumentGetter(e.uri,o);Object.defineProperty(e,"textDocument",{get:l})}return s!==o&&(e.parseResult=await this.parseAsync(e.uri,o,n),e.parseResult.value.$document=e),e.state=H.Parsed,e}parse(e,n,r){return this.serviceRegistry.getServices(e).parser.LangiumParser.parse(n,r)}parseAsync(e,n,r){return this.serviceRegistry.getServices(e).parser.AsyncParser.parse(n,r)}createTextDocumentGetter(e,n){const r=this.serviceRegistry;let i;return()=>i??(i=Io.create(e.toString(),r.getServices(e).LanguageMetaData.languageId,0,n??""))}}class Vw{constructor(e){this.documentMap=new Map,this.langiumDocumentFactory=e.workspace.LangiumDocumentFactory,this.serviceRegistry=e.ServiceRegistry}get all(){return ie(this.documentMap.values())}addDocument(e){const n=e.uri.toString();if(this.documentMap.has(n))throw new Error(`A document with the URI '${n}' is already present.`);this.documentMap.set(n,e)}getDocument(e){const n=e.toString();return this.documentMap.get(n)}async getOrCreateDocument(e,n){let r=this.getDocument(e);return r||(r=await this.langiumDocumentFactory.fromUri(e,n),this.addDocument(r),r)}createDocument(e,n,r){if(r)return this.langiumDocumentFactory.fromString(n,e,r).then(i=>(this.addDocument(i),i));{const i=this.langiumDocumentFactory.fromString(n,e);return this.addDocument(i),i}}hasDocument(e){return this.documentMap.has(e.toString())}invalidateDocument(e){const n=e.toString(),r=this.documentMap.get(n);return r&&(this.serviceRegistry.getServices(e).references.Linker.unlink(r),r.state=H.Changed,r.precomputedScopes=void 0,r.diagnostics=void 0),r}deleteDocument(e){const n=e.toString(),r=this.documentMap.get(n);return r&&(r.state=H.Changed,this.documentMap.delete(n)),r}}const Sa=Symbol("ref_resolving");class qw{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,n=z.CancellationToken.None){for(const r of pn(e.parseResult.value))await Ee(n),zf(r).forEach(i=>this.doLink(i,e))}doLink(e,n){var r;const i=e.reference;if(i._ref===void 0){i._ref=Sa;try{const s=this.getCandidate(e);if(Ci(s))i._ref=s;else if(i._nodeDescription=s,this.langiumDocuments().hasDocument(s.documentUri)){const a=this.loadAstNode(s);i._ref=a??this.createLinkingError(e,s)}else i._ref=void 0}catch(s){console.error(`An error occurred while resolving reference to '${i.$refText}':`,s);const a=(r=s.message)!==null&&r!==void 0?r:String(s);i._ref=Object.assign(Object.assign({},e),{message:`An error occurred while resolving reference to '${i.$refText}': ${a}`})}n.references.push(i)}}unlink(e){for(const n of e.references)delete n._ref,delete n._nodeDescription;e.references=[]}getCandidate(e){const r=this.scopeProvider.getScope(e).getElement(e.reference.$refText);return r??this.createLinkingError(e)}buildReference(e,n,r,i){const s=this,a={$refNode:r,$refText:i,get ref(){var o;if(ue(this._ref))return this._ref;if(Bp(this._nodeDescription)){const l=s.loadAstNode(this._nodeDescription);this._ref=l??s.createLinkingError({reference:a,container:e,property:n},this._nodeDescription)}else if(this._ref===void 0){this._ref=Sa;const l=Ba(e).$document,u=s.getLinkedNode({reference:a,container:e,property:n});if(u.error&&l&&l.state<H.ComputedScopes)return this._ref=void 0;this._ref=(o=u.node)!==null&&o!==void 0?o:u.error,this._nodeDescription=u.descr,l==null||l.references.push(this)}else if(this._ref===Sa)throw new Error(`Cyclic reference resolution detected: ${s.astNodeLocator.getAstNodePath(e)}/${n} (symbol '${i}')`);return ue(this._ref)?this._ref:void 0},get $nodeDescription(){return this._nodeDescription},get error(){return Ci(this._ref)?this._ref:void 0}};return a}getLinkedNode(e){var n;try{const r=this.getCandidate(e);if(Ci(r))return{error:r};const i=this.loadAstNode(r);return i?{node:i,descr:r}:{descr:r,error:this.createLinkingError(e,r)}}catch(r){console.error(`An error occurred while resolving reference to '${e.reference.$refText}':`,r);const i=(n=r.message)!==null&&n!==void 0?n:String(r);return{error:Object.assign(Object.assign({},e),{message:`An error occurred while resolving reference to '${e.reference.$refText}': ${i}`})}}}loadAstNode(e){if(e.node)return e.node;const n=this.langiumDocuments().getDocument(e.documentUri);if(n)return this.astNodeLocator.getAstNode(n.parseResult.value,e.path)}createLinkingError(e,n){const r=Ba(e.container).$document;r&&r.state<H.ComputedScopes&&console.warn(`Attempted reference resolution before document reached ComputedScopes state (${r.uri}).`);const i=this.reflection.getReferenceType(e);return Object.assign(Object.assign({},e),{message:`Could not resolve reference to ${i} named '${e.reference.$refText}'.`,targetDescription:n})}}function Yw(t){return typeof t.name=="string"}class Xw{getName(e){if(Yw(e))return e.name}getNameNode(e){return Jf(e.$cstNode,"name")}}class Jw{constructor(e){this.nameProvider=e.references.NameProvider,this.index=e.shared.workspace.IndexManager,this.nodeLocator=e.workspace.AstNodeLocator}findDeclaration(e){if(e){const n=Om(e),r=e.astNode;if(n&&r){const i=r[n.feature];if(ze(i))return i.ref;if(Array.isArray(i)){for(const s of i)if(ze(s)&&s.$refNode&&s.$refNode.offset<=e.offset&&s.$refNode.end>=e.end)return s.ref}}if(r){const i=this.nameProvider.getNameNode(r);if(i&&(i===e||Hp(e,i)))return r}}}findDeclarationNode(e){const n=this.findDeclaration(e);if(n!=null&&n.$cstNode){const r=this.nameProvider.getNameNode(n);return r??n.$cstNode}}findReferences(e,n){const r=[];if(n.includeDeclaration){const s=this.getReferenceToSelf(e);s&&r.push(s)}let i=this.index.findAllReferences(e,this.nodeLocator.getAstNodePath(e));return n.documentUri&&(i=i.filter(s=>kt.equals(s.sourceUri,n.documentUri))),r.push(...i),ie(r)}getReferenceToSelf(e){const n=this.nameProvider.getNameNode(e);if(n){const r=At(e),i=this.nodeLocator.getAstNodePath(e);return{sourceUri:r.uri,sourcePath:i,targetUri:r.uri,targetPath:i,segment:zi(n),local:!0}}}}class ys{constructor(e){if(this.map=new Map,e)for(const[n,r]of e)this.add(n,r)}get size(){return Fa.sum(ie(this.map.values()).map(e=>e.length))}clear(){this.map.clear()}delete(e,n){if(n===void 0)return this.map.delete(e);{const r=this.map.get(e);if(r){const i=r.indexOf(n);if(i>=0)return r.length===1?this.map.delete(e):r.splice(i,1),!0}return!1}}get(e){var n;return(n=this.map.get(e))!==null&&n!==void 0?n:[]}has(e,n){if(n===void 0)return this.map.has(e);{const r=this.map.get(e);return r?r.indexOf(n)>=0:!1}}add(e,n){return this.map.has(e)?this.map.get(e).push(n):this.map.set(e,[n]),this}addAll(e,n){return this.map.has(e)?this.map.get(e).push(...n):this.map.set(e,Array.from(n)),this}forEach(e){this.map.forEach((n,r)=>n.forEach(i=>e(i,r,this)))}[Symbol.iterator](){return this.entries().iterator()}entries(){return ie(this.map.entries()).flatMap(([e,n])=>n.map(r=>[e,r]))}keys(){return ie(this.map.keys())}values(){return ie(this.map.values()).flat()}entriesGroupedByKey(){return ie(this.map.entries())}}class Tf{get size(){return this.map.size}constructor(e){if(this.map=new Map,this.inverse=new Map,e)for(const[n,r]of e)this.set(n,r)}clear(){this.map.clear(),this.inverse.clear()}set(e,n){return this.map.set(e,n),this.inverse.set(n,e),this}get(e){return this.map.get(e)}getKey(e){return this.inverse.get(e)}delete(e){const n=this.map.get(e);return n!==void 0?(this.map.delete(e),this.inverse.delete(n),!0):!1}}class Zw{constructor(e){this.nameProvider=e.references.NameProvider,this.descriptions=e.workspace.AstNodeDescriptionProvider}async computeExports(e,n=z.CancellationToken.None){return this.computeExportsForNode(e.parseResult.value,e,void 0,n)}async computeExportsForNode(e,n,r=Po,i=z.CancellationToken.None){const s=[];this.exportNode(e,s,n);for(const a of r(e))await Ee(i),this.exportNode(a,s,n);return s}exportNode(e,n,r){const i=this.nameProvider.getName(e);i&&n.push(this.descriptions.createDescription(e,i,r))}async computeLocalScopes(e,n=z.CancellationToken.None){const r=e.parseResult.value,i=new ys;for(const s of zr(r))await Ee(n),this.processNode(s,e,i);return i}processNode(e,n,r){const i=e.$container;if(i){const s=this.nameProvider.getName(e);s&&r.add(i,this.descriptions.createDescription(e,s,n))}}}class vf{constructor(e,n,r){var i;this.elements=e,this.outerScope=n,this.caseInsensitive=(i=r==null?void 0:r.caseInsensitive)!==null&&i!==void 0?i:!1}getAllElements(){return this.outerScope?this.elements.concat(this.outerScope.getAllElements()):this.elements}getElement(e){const n=this.caseInsensitive?this.elements.find(r=>r.name.toLowerCase()===e.toLowerCase()):this.elements.find(r=>r.name===e);if(n)return n;if(this.outerScope)return this.outerScope.getElement(e)}}class Qw{constructor(e,n,r){var i;this.elements=new Map,this.caseInsensitive=(i=r==null?void 0:r.caseInsensitive)!==null&&i!==void 0?i:!1;for(const s of e){const a=this.caseInsensitive?s.name.toLowerCase():s.name;this.elements.set(a,s)}this.outerScope=n}getElement(e){const n=this.caseInsensitive?e.toLowerCase():e,r=this.elements.get(n);if(r)return r;if(this.outerScope)return this.outerScope.getElement(e)}getAllElements(){let e=ie(this.elements.values());return this.outerScope&&(e=e.concat(this.outerScope.getAllElements())),e}}class sp{constructor(){this.toDispose=[],this.isDisposed=!1}onDispose(e){this.toDispose.push(e)}dispose(){this.throwIfDisposed(),this.clear(),this.isDisposed=!0,this.toDispose.forEach(e=>e.dispose())}throwIfDisposed(){if(this.isDisposed)throw new Error("This cache has already been disposed")}}class eC extends sp{constructor(){super(...arguments),this.cache=new Map}has(e){return this.throwIfDisposed(),this.cache.has(e)}set(e,n){this.throwIfDisposed(),this.cache.set(e,n)}get(e,n){if(this.throwIfDisposed(),this.cache.has(e))return this.cache.get(e);if(n){const r=n();return this.cache.set(e,r),r}else return}delete(e){return this.throwIfDisposed(),this.cache.delete(e)}clear(){this.throwIfDisposed(),this.cache.clear()}}class tC extends sp{constructor(e){super(),this.cache=new Map,this.converter=e??(n=>n)}has(e,n){return this.throwIfDisposed(),this.cacheForContext(e).has(n)}set(e,n,r){this.throwIfDisposed(),this.cacheForContext(e).set(n,r)}get(e,n,r){this.throwIfDisposed();const i=this.cacheForContext(e);if(i.has(n))return i.get(n);if(r){const s=r();return i.set(n,s),s}else return}delete(e,n){return this.throwIfDisposed(),this.cacheForContext(e).delete(n)}clear(e){if(this.throwIfDisposed(),e){const n=this.converter(e);this.cache.delete(n)}else this.cache.clear()}cacheForContext(e){const n=this.converter(e);let r=this.cache.get(n);return r||(r=new Map,this.cache.set(n,r)),r}}class nC extends eC{constructor(e,n){super(),n?(this.toDispose.push(e.workspace.DocumentBuilder.onBuildPhase(n,()=>{this.clear()})),this.toDispose.push(e.workspace.DocumentBuilder.onUpdate((r,i)=>{i.length>0&&this.clear()}))):this.toDispose.push(e.workspace.DocumentBuilder.onUpdate(()=>{this.clear()}))}}class rC{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 nC(e.shared)}getScope(e){const n=[],r=this.reflection.getReferenceType(e),i=At(e.container).precomputedScopes;if(i){let a=e.container;do{const o=i.get(a);o.length>0&&n.push(ie(o).filter(l=>this.reflection.isSubtype(l.type,r))),a=a.$container}while(a)}let s=this.getGlobalScope(r,e);for(let a=n.length-1;a>=0;a--)s=this.createScope(n[a],s);return s}createScope(e,n,r){return new vf(ie(e),n,r)}createScopeForNodes(e,n,r){const i=ie(e).map(s=>{const a=this.nameProvider.getName(s);if(a)return this.descriptions.createDescription(s,a)}).nonNullable();return new vf(i,n,r)}getGlobalScope(e,n){return this.globalScopeCache.get(e,()=>new Qw(this.indexManager.allElements(e)))}}function iC(t){return typeof t.$comment=="string"}function $f(t){return typeof t=="object"&&!!t&&("$ref"in t||"$error"in t)}class sC{constructor(e){this.ignoreProperties=new Set(["$container","$containerProperty","$containerIndex","$document","$cstNode"]),this.langiumDocuments=e.shared.workspace.LangiumDocuments,this.astNodeLocator=e.workspace.AstNodeLocator,this.nameProvider=e.references.NameProvider,this.commentProvider=e.documentation.CommentProvider}serialize(e,n){const r=n??{},i=n==null?void 0:n.replacer,s=(o,l)=>this.replacer(o,l,r),a=i?(o,l)=>i(o,l,s):s;try{return this.currentDocument=At(e),JSON.stringify(e,a,n==null?void 0:n.space)}finally{this.currentDocument=void 0}}deserialize(e,n){const r=n??{},i=JSON.parse(e);return this.linkNode(i,i,r),i}replacer(e,n,{refText:r,sourceText:i,textRegions:s,comments:a,uriConverter:o}){var l,u,c,f;if(!this.ignoreProperties.has(e))if(ze(n)){const d=n.ref,h=r?n.$refText:void 0;if(d){const m=At(d);let g="";this.currentDocument&&this.currentDocument!==m&&(o?g=o(m.uri,n):g=m.uri.toString());const T=this.astNodeLocator.getAstNodePath(d);return{$ref:`${g}#${T}`,$refText:h}}else return{$error:(u=(l=n.error)===null||l===void 0?void 0:l.message)!==null&&u!==void 0?u:"Could not resolve reference",$refText:h}}else if(ue(n)){let d;if(s&&(d=this.addAstNodeRegionWithAssignmentsTo(Object.assign({},n)),(!e||n.$document)&&(d!=null&&d.$textRegion)&&(d.$textRegion.documentURI=(c=this.currentDocument)===null||c===void 0?void 0:c.uri.toString())),i&&!e&&(d??(d=Object.assign({},n)),d.$sourceText=(f=n.$cstNode)===null||f===void 0?void 0:f.text),a){d??(d=Object.assign({},n));const h=this.commentProvider.getComment(n);h&&(d.$comment=h.replace(/\r/g,""))}return d??n}else return n}addAstNodeRegionWithAssignmentsTo(e){const n=r=>({offset:r.offset,end:r.end,length:r.length,range:r.range});if(e.$cstNode){const r=e.$textRegion=n(e.$cstNode),i=r.assignments={};return Object.keys(e).filter(s=>!s.startsWith("$")).forEach(s=>{const a=km(e.$cstNode,s).map(n);a.length!==0&&(i[s]=a)}),e}}linkNode(e,n,r,i,s,a){for(const[l,u]of Object.entries(e))if(Array.isArray(u))for(let c=0;c<u.length;c++){const f=u[c];$f(f)?u[c]=this.reviveReference(e,l,n,f,r):ue(f)&&this.linkNode(f,n,r,e,l,c)}else $f(u)?e[l]=this.reviveReference(e,l,n,u,r):ue(u)&&this.linkNode(u,n,r,e,l);const o=e;o.$container=i,o.$containerProperty=s,o.$containerIndex=a}reviveReference(e,n,r,i,s){let a=i.$refText,o=i.$error;if(i.$ref){const l=this.getRefNode(r,i.$ref,s.uriConverter);if(ue(l))return a||(a=this.nameProvider.getName(l)),{$refText:a??"",ref:l};o=l}if(o){const l={$refText:a??""};return l.error={container:e,property:n,message:o,reference:l},l}else return}getRefNode(e,n,r){try{const i=n.indexOf("#");if(i===0){const l=this.astNodeLocator.getAstNode(e,n.substring(1));return l||"Could not resolve path: "+n}if(i<0){const l=r?r(n):Zt.parse(n),u=this.langiumDocuments.getDocument(l);return u?u.parseResult.value:"Could not find document for URI: "+n}const s=r?r(n.substring(0,i)):Zt.parse(n.substring(0,i)),a=this.langiumDocuments.getDocument(s);if(!a)return"Could not find document for URI: "+n;if(i===n.length-1)return a.parseResult.value;const o=this.astNodeLocator.getAstNode(a.parseResult.value,n.substring(i+1));return o||"Could not resolve URI: "+n}catch(i){return String(i)}}}class aC{get map(){return this.fileExtensionMap}constructor(e){this.languageIdMap=new Map,this.fileExtensionMap=new Map,this.textDocuments=e==null?void 0:e.workspace.TextDocuments}register(e){const n=e.LanguageMetaData;for(const r of n.fileExtensions)this.fileExtensionMap.has(r)&&console.warn(`The file extension ${r} is used by multiple languages. It is now assigned to '${n.languageId}'.`),this.fileExtensionMap.set(r,e);this.languageIdMap.set(n.languageId,e),this.languageIdMap.size===1?this.singleton=e:this.singleton=void 0}getServices(e){var n,r;if(this.singleton!==void 0)return this.singleton;if(this.languageIdMap.size===0)throw new Error("The service registry is empty. Use `register` to register the services of a language.");const i=(r=(n=this.textDocuments)===null||n===void 0?void 0:n.get(e))===null||r===void 0?void 0:r.languageId;if(i!==void 0){const o=this.languageIdMap.get(i);if(o)return o}const s=kt.extname(e),a=this.fileExtensionMap.get(s);if(!a)throw i?new Error(`The service registry contains no services for the extension '${s}' for language '${i}'.`):new Error(`The service registry contains no services for the extension '${s}'.`);return a}hasServices(e){try{return this.getServices(e),!0}catch{return!1}}get all(){return Array.from(this.languageIdMap.values())}}function wr(t){return{code:t}}var Ts;(function(t){t.all=["fast","slow","built-in"]})(Ts||(Ts={}));class oC{constructor(e){this.entries=new ys,this.entriesBefore=[],this.entriesAfter=[],this.reflection=e.shared.AstReflection}register(e,n=this,r="fast"){if(r==="built-in")throw new Error("The 'built-in' category is reserved for lexer, parser, and linker errors.");for(const[i,s]of Object.entries(e)){const a=s;if(Array.isArray(a))for(const o of a){const l={check:this.wrapValidationException(o,n),category:r};this.addEntry(i,l)}else if(typeof a=="function"){const o={check:this.wrapValidationException(a,n),category:r};this.addEntry(i,o)}else Wr()}}wrapValidationException(e,n){return async(r,i,s)=>{await this.handleException(()=>e.call(n,r,i,s),"An error occurred during validation",i,r)}}async handleException(e,n,r,i){try{await e()}catch(s){if(Qs(s))throw s;console.error(`${n}:`,s),s instanceof Error&&s.stack&&console.error(s.stack);const a=s instanceof Error?s.message:String(s);r("error",`${n}: ${a}`,{node:i})}}addEntry(e,n){if(e==="AstNode"){this.entries.add("AstNode",n);return}for(const r of this.reflection.getAllSubTypes(e))this.entries.add(r,n)}getChecks(e,n){let r=ie(this.entries.get(e)).concat(this.entries.get("AstNode"));return n&&(r=r.filter(i=>n.includes(i.category))),r.map(i=>i.check)}registerBeforeDocument(e,n=this){this.entriesBefore.push(this.wrapPreparationException(e,"An error occurred during set-up of the validation",n))}registerAfterDocument(e,n=this){this.entriesAfter.push(this.wrapPreparationException(e,"An error occurred during tear-down of the validation",n))}wrapPreparationException(e,n,r){return async(i,s,a,o)=>{await this.handleException(()=>e.call(r,i,s,a,o),n,s,i)}}get checksBefore(){return this.entriesBefore}get checksAfter(){return this.entriesAfter}}class lC{constructor(e){this.validationRegistry=e.validation.ValidationRegistry,this.metadata=e.LanguageMetaData}async validateDocument(e,n={},r=z.CancellationToken.None){const i=e.parseResult,s=[];if(await Ee(r),(!n.categories||n.categories.includes("built-in"))&&(this.processLexingErrors(i,s,n),n.stopAfterLexingErrors&&s.some(a=>{var o;return((o=a.data)===null||o===void 0?void 0:o.code)===Fe.LexingError})||(this.processParsingErrors(i,s,n),n.stopAfterParsingErrors&&s.some(a=>{var o;return((o=a.data)===null||o===void 0?void 0:o.code)===Fe.ParsingError}))||(this.processLinkingErrors(e,s,n),n.stopAfterLinkingErrors&&s.some(a=>{var o;return((o=a.data)===null||o===void 0?void 0:o.code)===Fe.LinkingError}))))return s;try{s.push(...await this.validateAst(i.value,n,r))}catch(a){if(Qs(a))throw a;console.error("An error occurred during validation:",a)}return await Ee(r),s}processLexingErrors(e,n,r){var i,s,a;const o=[...e.lexerErrors,...(s=(i=e.lexerReport)===null||i===void 0?void 0:i.diagnostics)!==null&&s!==void 0?s:[]];for(const l of o){const u=(a=l.severity)!==null&&a!==void 0?a:"error",c={severity:xa(u),range:{start:{line:l.line-1,character:l.column-1},end:{line:l.line-1,character:l.column+l.length-1}},message:l.message,data:cC(u),source:this.getSource()};n.push(c)}}processParsingErrors(e,n,r){for(const i of e.parserErrors){let s;if(isNaN(i.token.startOffset)){if("previousToken"in i){const a=i.previousToken;if(isNaN(a.startOffset)){const o={line:0,character:0};s={start:o,end:o}}else{const o={line:a.endLine-1,character:a.endColumn};s={start:o,end:o}}}}else s=Ua(i.token);if(s){const a={severity:xa("error"),range:s,message:i.message,data:wr(Fe.ParsingError),source:this.getSource()};n.push(a)}}}processLinkingErrors(e,n,r){for(const i of e.references){const s=i.error;if(s){const a={node:s.container,property:s.property,index:s.index,data:{code:Fe.LinkingError,containerType:s.container.$type,property:s.property,refText:s.reference.$refText}};n.push(this.toDiagnostic("error",s.message,a))}}}async validateAst(e,n,r=z.CancellationToken.None){const i=[],s=(a,o,l)=>{i.push(this.toDiagnostic(a,o,l))};return await this.validateAstBefore(e,n,s,r),await this.validateAstNodes(e,n,s,r),await this.validateAstAfter(e,n,s,r),i}async validateAstBefore(e,n,r,i=z.CancellationToken.None){var s;const a=this.validationRegistry.checksBefore;for(const o of a)await Ee(i),await o(e,r,(s=n.categories)!==null&&s!==void 0?s:[],i)}async validateAstNodes(e,n,r,i=z.CancellationToken.None){await Promise.all(pn(e).map(async s=>{await Ee(i);const a=this.validationRegistry.getChecks(s.$type,n.categories);for(const o of a)await o(s,r,i)}))}async validateAstAfter(e,n,r,i=z.CancellationToken.None){var s;const a=this.validationRegistry.checksAfter;for(const o of a)await Ee(i),await o(e,r,(s=n.categories)!==null&&s!==void 0?s:[],i)}toDiagnostic(e,n,r){return{message:n,range:uC(r),severity:xa(e),code:r.code,codeDescription:r.codeDescription,tags:r.tags,relatedInformation:r.relatedInformation,data:r.data,source:this.getSource()}}getSource(){return this.metadata.languageId}}function uC(t){if(t.range)return t.range;let e;return typeof t.property=="string"?e=Jf(t.node.$cstNode,t.property,t.index):typeof t.keyword=="string"&&(e=Nm(t.node.$cstNode,t.keyword,t.index)),e??(e=t.node.$cstNode),e?e.range:{start:{line:0,character:0},end:{line:0,character:0}}}function xa(t){switch(t){case"error":return 1;case"warning":return 2;case"info":return 3;case"hint":return 4;default:throw new Error("Invalid diagnostic severity: "+t)}}function cC(t){switch(t){case"error":return wr(Fe.LexingError);case"warning":return wr(Fe.LexingWarning);case"info":return wr(Fe.LexingInfo);case"hint":return wr(Fe.LexingHint);default:throw new Error("Invalid diagnostic severity: "+t)}}var Fe;(function(t){t.LexingError="lexing-error",t.LexingWarning="lexing-warning",t.LexingInfo="lexing-info",t.LexingHint="lexing-hint",t.ParsingError="parsing-error",t.LinkingError="linking-error"})(Fe||(Fe={}));class fC{constructor(e){this.astNodeLocator=e.workspace.AstNodeLocator,this.nameProvider=e.references.NameProvider}createDescription(e,n,r){const i=r??At(e);n??(n=this.nameProvider.getName(e));const s=this.astNodeLocator.getAstNodePath(e);if(!n)throw new Error(`Node at path ${s} has no name.`);let a;const o=()=>{var l;return a??(a=zi((l=this.nameProvider.getNameNode(e))!==null&&l!==void 0?l:e.$cstNode))};return{node:e,name:n,get nameSegment(){return o()},selectionSegment:zi(e.$cstNode),type:e.$type,documentUri:i.uri,path:s}}}class dC{constructor(e){this.nodeLocator=e.workspace.AstNodeLocator}async createDescriptions(e,n=z.CancellationToken.None){const r=[],i=e.parseResult.value;for(const s of pn(i))await Ee(n),zf(s).filter(a=>!Ci(a)).forEach(a=>{const o=this.createDescription(a);o&&r.push(o)});return r}createDescription(e){const n=e.reference.$nodeDescription,r=e.reference.$refNode;if(!n||!r)return;const i=At(e.container).uri;return{sourceUri:i,sourcePath:this.nodeLocator.getAstNodePath(e.container),targetUri:n.documentUri,targetPath:n.path,segment:zi(r),local:kt.equals(n.documentUri,i)}}}class hC{constructor(){this.segmentSeparator="/",this.indexSeparator="@"}getAstNodePath(e){if(e.$container){const n=this.getAstNodePath(e.$container),r=this.getPathSegment(e);return n+this.segmentSeparator+r}return""}getPathSegment({$containerProperty:e,$containerIndex:n}){if(!e)throw new Error("Missing '$containerProperty' in AST node.");return n!==void 0?e+this.indexSeparator+n:e}getAstNode(e,n){return n.split(this.segmentSeparator).reduce((i,s)=>{if(!i||s.length===0)return i;const a=s.indexOf(this.indexSeparator);if(a>0){const o=s.substring(0,a),l=parseInt(s.substring(a+1)),u=i[o];return u==null?void 0:u[l]}return i[s]},e)}}var pC=tp();class mC{constructor(e){this._ready=new El,this.settings={},this.workspaceConfig=!1,this.onConfigurationSectionUpdateEmitter=new pC.Emitter,this.serviceRegistry=e.ServiceRegistry}get ready(){return this._ready.promise}initialize(e){var n,r;this.workspaceConfig=(r=(n=e.capabilities.workspace)===null||n===void 0?void 0:n.configuration)!==null&&r!==void 0?r:!1}async initialized(e){if(this.workspaceConfig){if(e.register){const n=this.serviceRegistry.all;e.register({section:n.map(r=>this.toSectionName(r.LanguageMetaData.languageId))})}if(e.fetchConfiguration){const n=this.serviceRegistry.all.map(i=>({section:this.toSectionName(i.LanguageMetaData.languageId)})),r=await e.fetchConfiguration(n);n.forEach((i,s)=>{this.updateSectionConfiguration(i.section,r[s])})}}this._ready.resolve()}updateConfiguration(e){e.settings&&Object.keys(e.settings).forEach(n=>{const r=e.settings[n];this.updateSectionConfiguration(n,r),this.onConfigurationSectionUpdateEmitter.fire({section:n,configuration:r})})}updateSectionConfiguration(e,n){this.settings[e]=n}async getConfiguration(e,n){await this.ready;const r=this.toSectionName(e);if(this.settings[r])return this.settings[r][n]}toSectionName(e){return`${e}`}get onConfigurationSectionUpdate(){return this.onConfigurationSectionUpdateEmitter.event}}var Lr;(function(t){function e(n){return{dispose:async()=>await n()}}t.create=e})(Lr||(Lr={}));class gC{constructor(e){this.updateBuildOptions={validation:{categories:["built-in","fast"]}},this.updateListeners=[],this.buildPhaseListeners=new ys,this.documentPhaseListeners=new ys,this.buildState=new Map,this.documentBuildWaiters=new Map,this.currentState=H.Changed,this.langiumDocuments=e.workspace.LangiumDocuments,this.langiumDocumentFactory=e.workspace.LangiumDocumentFactory,this.textDocuments=e.workspace.TextDocuments,this.indexManager=e.workspace.IndexManager,this.serviceRegistry=e.ServiceRegistry}async build(e,n={},r=z.CancellationToken.None){var i,s;for(const a of e){const o=a.uri.toString();if(a.state===H.Validated){if(typeof n.validation=="boolean"&&n.validation)a.state=H.IndexedReferences,a.diagnostics=void 0,this.buildState.delete(o);else if(typeof n.validation=="object"){const l=this.buildState.get(o),u=(i=l==null?void 0:l.result)===null||i===void 0?void 0:i.validationChecks;if(u){const f=((s=n.validation.categories)!==null&&s!==void 0?s:Ts.all).filter(d=>!u.includes(d));f.length>0&&(this.buildState.set(o,{completed:!1,options:{validation:Object.assign(Object.assign({},n.validation),{categories:f})},result:l.result}),a.state=H.IndexedReferences)}}}else this.buildState.delete(o)}this.currentState=H.Changed,await this.emitUpdate(e.map(a=>a.uri),[]),await this.buildDocuments(e,n,r)}async update(e,n,r=z.CancellationToken.None){this.currentState=H.Changed;for(const a of n)this.langiumDocuments.deleteDocument(a),this.buildState.delete(a.toString()),this.indexManager.remove(a);for(const a of e){if(!this.langiumDocuments.invalidateDocument(a)){const l=this.langiumDocumentFactory.fromModel({$type:"INVALID"},a);l.state=H.Changed,this.langiumDocuments.addDocument(l)}this.buildState.delete(a.toString())}const i=ie(e).concat(n).map(a=>a.toString()).toSet();this.langiumDocuments.all.filter(a=>!i.has(a.uri.toString())&&this.shouldRelink(a,i)).forEach(a=>{this.serviceRegistry.getServices(a.uri).references.Linker.unlink(a),a.state=Math.min(a.state,H.ComputedScopes),a.diagnostics=void 0}),await this.emitUpdate(e,n),await Ee(r);const s=this.sortDocuments(this.langiumDocuments.all.filter(a=>{var o;return a.state<H.Linked||!(!((o=this.buildState.get(a.uri.toString()))===null||o===void 0)&&o.completed)}).toArray());await this.buildDocuments(s,this.updateBuildOptions,r)}async emitUpdate(e,n){await Promise.all(this.updateListeners.map(r=>r(e,n)))}sortDocuments(e){let n=0,r=e.length-1;for(;n<r;){for(;n<e.length&&this.hasTextDocument(e[n]);)n++;for(;r>=0&&!this.hasTextDocument(e[r]);)r--;n<r&&([e[n],e[r]]=[e[r],e[n]])}return e}hasTextDocument(e){var n;return!!(!((n=this.textDocuments)===null||n===void 0)&&n.get(e.uri))}shouldRelink(e,n){return e.references.some(r=>r.error!==void 0)?!0:this.indexManager.isAffected(e,n)}onUpdate(e){return this.updateListeners.push(e),Lr.create(()=>{const n=this.updateListeners.indexOf(e);n>=0&&this.updateListeners.splice(n,1)})}async buildDocuments(e,n,r){this.prepareBuild(e,n),await this.runCancelable(e,H.Parsed,r,s=>this.langiumDocumentFactory.update(s,r)),await this.runCancelable(e,H.IndexedContent,r,s=>this.indexManager.updateContent(s,r)),await this.runCancelable(e,H.ComputedScopes,r,async s=>{const a=this.serviceRegistry.getServices(s.uri).references.ScopeComputation;s.precomputedScopes=await a.computeLocalScopes(s,r)}),await this.runCancelable(e,H.Linked,r,s=>this.serviceRegistry.getServices(s.uri).references.Linker.link(s,r)),await this.runCancelable(e,H.IndexedReferences,r,s=>this.indexManager.updateReferences(s,r));const i=e.filter(s=>this.shouldValidate(s));await this.runCancelable(i,H.Validated,r,s=>this.validate(s,r));for(const s of e){const a=this.buildState.get(s.uri.toString());a&&(a.completed=!0)}}prepareBuild(e,n){for(const r of e){const i=r.uri.toString(),s=this.buildState.get(i);(!s||s.completed)&&this.buildState.set(i,{completed:!1,options:n,result:s==null?void 0:s.result})}}async runCancelable(e,n,r,i){const s=e.filter(o=>o.state<n);for(const o of s)await Ee(r),await i(o),o.state=n,await this.notifyDocumentPhase(o,n,r);const a=e.filter(o=>o.state===n);await this.notifyBuildPhase(a,n,r),this.currentState=n}onBuildPhase(e,n){return this.buildPhaseListeners.add(e,n),Lr.create(()=>{this.buildPhaseListeners.delete(e,n)})}onDocumentPhase(e,n){return this.documentPhaseListeners.add(e,n),Lr.create(()=>{this.documentPhaseListeners.delete(e,n)})}waitUntil(e,n,r){let i;if(n&&"path"in n?i=n:r=n,r??(r=z.CancellationToken.None),i){const s=this.langiumDocuments.getDocument(i);if(s&&s.state>e)return Promise.resolve(i)}return this.currentState>=e?Promise.resolve(void 0):r.isCancellationRequested?Promise.reject(gs):new Promise((s,a)=>{const o=this.onBuildPhase(e,()=>{if(o.dispose(),l.dispose(),i){const u=this.langiumDocuments.getDocument(i);s(u==null?void 0:u.uri)}else s(void 0)}),l=r.onCancellationRequested(()=>{o.dispose(),l.dispose(),a(gs)})})}async notifyDocumentPhase(e,n,r){const s=this.documentPhaseListeners.get(n).slice();for(const a of s)try{await a(e,r)}catch(o){if(!Qs(o))throw o}}async notifyBuildPhase(e,n,r){if(e.length===0)return;const s=this.buildPhaseListeners.get(n).slice();for(const a of s)await Ee(r),await a(e,r)}shouldValidate(e){return!!this.getBuildOptions(e).validation}async validate(e,n){var r,i;const s=this.serviceRegistry.getServices(e.uri).validation.DocumentValidator,a=this.getBuildOptions(e).validation,o=typeof a=="object"?a:void 0,l=await s.validateDocument(e,o,n);e.diagnostics?e.diagnostics.push(...l):e.diagnostics=l;const u=this.buildState.get(e.uri.toString());if(u){(r=u.result)!==null&&r!==void 0||(u.result={});const c=(i=o==null?void 0:o.categories)!==null&&i!==void 0?i:Ts.all;u.result.validationChecks?u.result.validationChecks.push(...c):u.result.validationChecks=[...c]}}getBuildOptions(e){var n,r;return(r=(n=this.buildState.get(e.uri.toString()))===null||n===void 0?void 0:n.options)!==null&&r!==void 0?r:{}}}class yC{constructor(e){this.symbolIndex=new Map,this.symbolByTypeIndex=new tC,this.referenceIndex=new Map,this.documents=e.workspace.LangiumDocuments,this.serviceRegistry=e.ServiceRegistry,this.astReflection=e.AstReflection}findAllReferences(e,n){const r=At(e).uri,i=[];return this.referenceIndex.forEach(s=>{s.forEach(a=>{kt.equals(a.targetUri,r)&&a.targetPath===n&&i.push(a)})}),ie(i)}allElements(e,n){let r=ie(this.symbolIndex.keys());return n&&(r=r.filter(i=>!n||n.has(i))),r.map(i=>this.getFileDescriptions(i,e)).flat()}getFileDescriptions(e,n){var r;return n?this.symbolByTypeIndex.get(e,n,()=>{var s;return((s=this.symbolIndex.get(e))!==null&&s!==void 0?s:[]).filter(o=>this.astReflection.isSubtype(o.type,n))}):(r=this.symbolIndex.get(e))!==null&&r!==void 0?r:[]}remove(e){const n=e.toString();this.symbolIndex.delete(n),this.symbolByTypeIndex.clear(n),this.referenceIndex.delete(n)}async updateContent(e,n=z.CancellationToken.None){const i=await this.serviceRegistry.getServices(e.uri).references.ScopeComputation.computeExports(e,n),s=e.uri.toString();this.symbolIndex.set(s,i),this.symbolByTypeIndex.clear(s)}async updateReferences(e,n=z.CancellationToken.None){const i=await this.serviceRegistry.getServices(e.uri).workspace.ReferenceDescriptionProvider.createDescriptions(e,n);this.referenceIndex.set(e.uri.toString(),i)}isAffected(e,n){const r=this.referenceIndex.get(e.uri.toString());return r?r.some(i=>!i.local&&n.has(i.targetUri.toString())):!1}}class TC{constructor(e){this.initialBuildOptions={},this._ready=new El,this.serviceRegistry=e.ServiceRegistry,this.langiumDocuments=e.workspace.LangiumDocuments,this.documentBuilder=e.workspace.DocumentBuilder,this.fileSystemProvider=e.workspace.FileSystemProvider,this.mutex=e.workspace.WorkspaceLock}get ready(){return this._ready.promise}get workspaceFolders(){return this.folders}initialize(e){var n;this.folders=(n=e.workspaceFolders)!==null&&n!==void 0?n:void 0}initialized(e){return this.mutex.write(n=>{var r;return this.initializeWorkspace((r=this.folders)!==null&&r!==void 0?r:[],n)})}async initializeWorkspace(e,n=z.CancellationToken.None){const r=await this.performStartup(e);await Ee(n),await this.documentBuilder.build(r,this.initialBuildOptions,n)}async performStartup(e){const n=this.serviceRegistry.all.flatMap(s=>s.LanguageMetaData.fileExtensions),r=[],i=s=>{r.push(s),this.langiumDocuments.hasDocument(s.uri)||this.langiumDocuments.addDocument(s)};return await this.loadAdditionalDocuments(e,i),await Promise.all(e.map(s=>[s,this.getRootFolder(s)]).map(async s=>this.traverseFolder(...s,n,i))),this._ready.resolve(),r}loadAdditionalDocuments(e,n){return Promise.resolve()}getRootFolder(e){return Zt.parse(e.uri)}async traverseFolder(e,n,r,i){const s=await this.fileSystemProvider.readDirectory(n);await Promise.all(s.map(async a=>{if(this.includeEntry(e,a,r)){if(a.isDirectory)await this.traverseFolder(e,a.uri,r,i);else if(a.isFile){const o=await this.langiumDocuments.getOrCreateDocument(a.uri);i(o)}}}))}includeEntry(e,n,r){const i=kt.basename(n.uri);if(i.startsWith("."))return!1;if(n.isDirectory)return i!=="node_modules"&&i!=="out";if(n.isFile){const s=kt.extname(n.uri);return r.includes(s)}return!1}}class vC{buildUnexpectedCharactersMessage(e,n,r,i,s){return no.buildUnexpectedCharactersMessage(e,n,r,i,s)}buildUnableToPopLexerModeMessage(e){return no.buildUnableToPopLexerModeMessage(e)}}const $C={mode:"full"};class RC{constructor(e){this.errorMessageProvider=e.parser.LexerErrorMessageProvider,this.tokenBuilder=e.parser.TokenBuilder;const n=this.tokenBuilder.buildTokens(e.Grammar,{caseInsensitive:e.LanguageMetaData.caseInsensitive});this.tokenTypes=this.toTokenTypeDictionary(n);const r=Rf(n)?Object.values(n):n,i=e.LanguageMetaData.mode==="production";this.chevrotainLexer=new he(r,{positionTracking:"full",skipValidations:i,errorMessageProvider:this.errorMessageProvider})}get definition(){return this.tokenTypes}tokenize(e,n=$C){var r,i,s;const a=this.chevrotainLexer.tokenize(e);return{tokens:a.tokens,errors:a.errors,hidden:(r=a.groups.hidden)!==null&&r!==void 0?r:[],report:(s=(i=this.tokenBuilder).flushLexingReport)===null||s===void 0?void 0:s.call(i,e)}}toTokenTypeDictionary(e){if(Rf(e))return e;const n=ap(e)?Object.values(e.modes).flat():e,r={};return n.forEach(i=>r[i.name]=i),r}}function AC(t){return Array.isArray(t)&&(t.length===0||"name"in t[0])}function ap(t){return t&&"modes"in t&&"defaultMode"in t}function Rf(t){return!AC(t)&&!ap(t)}function EC(t,e,n){let r,i;typeof t=="string"?(i=e,r=n):(i=t.range.start,r=e),i||(i=D.create(0,0));const s=op(t),a=Sl(r),o=_C({lines:s,position:i,options:a});return NC({index:0,tokens:o,position:i})}function SC(t,e){const n=Sl(e),r=op(t);if(r.length===0)return!1;const i=r[0],s=r[r.length-1],a=n.start,o=n.end;return!!(a!=null&&a.exec(i))&&!!(o!=null&&o.exec(s))}function op(t){let e="";return typeof t=="string"?e=t:e=t.text,e.split(Tm)}const Af=/\s*(@([\p{L}][\p{L}\p{N}]*)?)/uy,xC=/\{(@[\p{L}][\p{L}\p{N}]*)(\s*)([^\r\n}]+)?\}/gu;function _C(t){var e,n,r;const i=[];let s=t.position.line,a=t.position.character;for(let o=0;o<t.lines.length;o++){const l=o===0,u=o===t.lines.length-1;let c=t.lines[o],f=0;if(l&&t.options.start){const h=(e=t.options.start)===null||e===void 0?void 0:e.exec(c);h&&(f=h.index+h[0].length)}else{const h=(n=t.options.line)===null||n===void 0?void 0:n.exec(c);h&&(f=h.index+h[0].length)}if(u){const h=(r=t.options.end)===null||r===void 0?void 0:r.exec(c);h&&(c=c.substring(0,h.index))}if(c=c.substring(0,kC(c)),Co(c,f)>=c.length){if(i.length>0){const h=D.create(s,a);i.push({type:"break",content:"",range:L.create(h,h)})}}else{Af.lastIndex=f;const h=Af.exec(c);if(h){const m=h[0],g=h[1],T=D.create(s,a+f),y=D.create(s,a+f+m.length);i.push({type:"tag",content:g,range:L.create(T,y)}),f+=m.length,f=Co(c,f)}if(f<c.length){const m=c.substring(f),g=Array.from(m.matchAll(xC));i.push(...IC(g,m,s,a+f))}}s++,a=0}return i.length>0&&i[i.length-1].type==="break"?i.slice(0,-1):i}function IC(t,e,n,r){const i=[];if(t.length===0){const s=D.create(n,r),a=D.create(n,r+e.length);i.push({type:"text",content:e,range:L.create(s,a)})}else{let s=0;for(const o of t){const l=o.index,u=e.substring(s,l);u.length>0&&i.push({type:"text",content:e.substring(s,l),range:L.create(D.create(n,s+r),D.create(n,l+r))});let c=u.length+1;const f=o[1];if(i.push({type:"inline-tag",content:f,range:L.create(D.create(n,s+c+r),D.create(n,s+c+f.length+r))}),c+=f.length,o.length===4){c+=o[2].length;const d=o[3];i.push({type:"text",content:d,range:L.create(D.create(n,s+c+r),D.create(n,s+c+d.length+r))})}else i.push({type:"text",content:"",range:L.create(D.create(n,s+c+r),D.create(n,s+c+r))});s=l+o[0].length}const a=e.substring(s);a.length>0&&i.push({type:"text",content:a,range:L.create(D.create(n,s+r),D.create(n,s+r+a.length))})}return i}const wC=/\S/,CC=/\s*$/;function Co(t,e){const n=t.substring(e).match(wC);return n?e+n.index:t.length}function kC(t){const e=t.match(CC);if(e&&typeof e.index=="number")return e.index}function NC(t){var e,n,r,i;const s=D.create(t.position.line,t.position.character);if(t.tokens.length===0)return new Ef([],L.create(s,s));const a=[];for(;t.index<t.tokens.length;){const u=bC(t,a[a.length-1]);u&&a.push(u)}const o=(n=(e=a[0])===null||e===void 0?void 0:e.range.start)!==null&&n!==void 0?n:s,l=(i=(r=a[a.length-1])===null||r===void 0?void 0:r.range.end)!==null&&i!==void 0?i:s;return new Ef(a,L.create(o,l))}function bC(t,e){const n=t.tokens[t.index];if(n.type==="tag")return up(t,!1);if(n.type==="text"||n.type==="inline-tag")return lp(t);OC(n,e),t.index++}function OC(t,e){if(e){const n=new fp("",t.range);"inlines"in e?e.inlines.push(n):e.content.inlines.push(n)}}function lp(t){let e=t.tokens[t.index];const n=e;let r=e;const i=[];for(;e&&e.type!=="break"&&e.type!=="tag";)i.push(PC(t)),r=e,e=t.tokens[t.index];return new ko(i,L.create(n.range.start,r.range.end))}function PC(t){return t.tokens[t.index].type==="inline-tag"?up(t,!0):cp(t)}function up(t,e){const n=t.tokens[t.index++],r=n.content.substring(1),i=t.tokens[t.index];if((i==null?void 0:i.type)==="text")if(e){const s=cp(t);return new Ia(r,new ko([s],s.range),e,L.create(n.range.start,s.range.end))}else{const s=lp(t);return new Ia(r,s,e,L.create(n.range.start,s.range.end))}else{const s=n.range;return new Ia(r,new ko([],s),e,s)}}function cp(t){const e=t.tokens[t.index++];return new fp(e.content,e.range)}function Sl(t){if(!t)return Sl({start:"/**",end:"*/",line:"*"});const{start:e,end:n,line:r}=t;return{start:_a(e,!0),end:_a(n,!1),line:_a(r,!0)}}function _a(t,e){if(typeof t=="string"||typeof t=="object"){const n=typeof t=="string"?Es(t):t.source;return e?new RegExp(`^\\s*${n}`):new RegExp(`\\s*${n}\\s*$`)}else return t}class Ef{constructor(e,n){this.elements=e,this.range=n}getTag(e){return this.getAllTags().find(n=>n.name===e)}getTags(e){return this.getAllTags().filter(n=>n.name===e)}getAllTags(){return this.elements.filter(e=>"name"in e)}toString(){let e="";for(const n of this.elements)if(e.length===0)e=n.toString();else{const r=n.toString();e+=Sf(e)+r}return e.trim()}toMarkdown(e){let n="";for(const r of this.elements)if(n.length===0)n=r.toMarkdown(e);else{const i=r.toMarkdown(e);n+=Sf(n)+i}return n.trim()}}class Ia{constructor(e,n,r,i){this.name=e,this.content=n,this.inline=r,this.range=i}toString(){let e=`@${this.name}`;const n=this.content.toString();return this.content.inlines.length===1?e=`${e} ${n}`:this.content.inlines.length>1&&(e=`${e}
|
|
118
|
+
${n}`),this.inline?`{${e}}`:e}toMarkdown(e){var n,r;return(r=(n=e==null?void 0:e.renderTag)===null||n===void 0?void 0:n.call(e,this))!==null&&r!==void 0?r:this.toMarkdownDefault(e)}toMarkdownDefault(e){const n=this.content.toMarkdown(e);if(this.inline){const s=LC(this.name,n,e??{});if(typeof s=="string")return s}let r="";(e==null?void 0:e.tag)==="italic"||(e==null?void 0:e.tag)===void 0?r="*":(e==null?void 0:e.tag)==="bold"?r="**":(e==null?void 0:e.tag)==="bold-italic"&&(r="***");let i=`${r}@${this.name}${r}`;return this.content.inlines.length===1?i=`${i} — ${n}`:this.content.inlines.length>1&&(i=`${i}
|
|
119
|
+
${n}`),this.inline?`{${i}}`:i}}function LC(t,e,n){var r,i;if(t==="linkplain"||t==="linkcode"||t==="link"){const s=e.indexOf(" ");let a=e;if(s>0){const l=Co(e,s);a=e.substring(l),e=e.substring(0,s)}return(t==="linkcode"||t==="link"&&n.link==="code")&&(a=`\`${a}\``),(i=(r=n.renderLink)===null||r===void 0?void 0:r.call(n,e,a))!==null&&i!==void 0?i:MC(e,a)}}function MC(t,e){try{return Zt.parse(t,!0),`[${e}](${t})`}catch{return t}}class ko{constructor(e,n){this.inlines=e,this.range=n}toString(){let e="";for(let n=0;n<this.inlines.length;n++){const r=this.inlines[n],i=this.inlines[n+1];e+=r.toString(),i&&i.range.start.line>r.range.start.line&&(e+=`
|
|
120
|
+
`)}return e}toMarkdown(e){let n="";for(let r=0;r<this.inlines.length;r++){const i=this.inlines[r],s=this.inlines[r+1];n+=i.toMarkdown(e),s&&s.range.start.line>i.range.start.line&&(n+=`
|
|
121
|
+
`)}return n}}class fp{constructor(e,n){this.text=e,this.range=n}toString(){return this.text}toMarkdown(){return this.text}}function Sf(t){return t.endsWith(`
|
|
122
|
+
`)?`
|
|
123
|
+
`:`
|
|
124
|
+
|
|
125
|
+
`}class DC{constructor(e){this.indexManager=e.shared.workspace.IndexManager,this.commentProvider=e.documentation.CommentProvider}getDocumentation(e){const n=this.commentProvider.getComment(e);if(n&&SC(n))return EC(n).toMarkdown({renderLink:(i,s)=>this.documentationLinkRenderer(e,i,s),renderTag:i=>this.documentationTagRenderer(e,i)})}documentationLinkRenderer(e,n,r){var i;const s=(i=this.findNameInPrecomputedScopes(e,n))!==null&&i!==void 0?i:this.findNameInGlobalScope(e,n);if(s&&s.nameSegment){const a=s.nameSegment.range.start.line+1,o=s.nameSegment.range.start.character+1,l=s.documentUri.with({fragment:`L${a},${o}`});return`[${r}](${l.toString()})`}else return}documentationTagRenderer(e,n){}findNameInPrecomputedScopes(e,n){const i=At(e).precomputedScopes;if(!i)return;let s=e;do{const o=i.get(s).find(l=>l.name===n);if(o)return o;s=s.$container}while(s)}findNameInGlobalScope(e,n){return this.indexManager.allElements().find(i=>i.name===n)}}class FC{constructor(e){this.grammarConfig=()=>e.parser.GrammarConfig}getComment(e){var n;return iC(e)?e.$comment:(n=qp(e.$cstNode,this.grammarConfig().multilineCommentRules))===null||n===void 0?void 0:n.text}}class GC{constructor(e){this.syncParser=e.parser.LangiumParser}parse(e,n){return Promise.resolve(this.syncParser.parse(e))}}class UC{constructor(){this.previousTokenSource=new z.CancellationTokenSource,this.writeQueue=[],this.readQueue=[],this.done=!0}write(e){this.cancelWrite();const n=Hw();return this.previousTokenSource=n,this.enqueue(this.writeQueue,e,n.token)}read(e){return this.enqueue(this.readQueue,e)}enqueue(e,n,r=z.CancellationToken.None){const i=new El,s={action:n,deferred:i,cancellationToken:r};return e.push(s),this.performNextOperation(),i.promise}async performNextOperation(){if(!this.done)return;const e=[];if(this.writeQueue.length>0)e.push(this.writeQueue.shift());else if(this.readQueue.length>0)e.push(...this.readQueue.splice(0,this.readQueue.length));else return;this.done=!1,await Promise.all(e.map(async({action:n,deferred:r,cancellationToken:i})=>{try{const s=await Promise.resolve().then(()=>n(i));r.resolve(s)}catch(s){Qs(s)?r.resolve(void 0):r.reject(s)}})),this.done=!0,this.performNextOperation()}cancelWrite(){this.previousTokenSource.cancel()}}class BC{constructor(e){this.grammarElementIdMap=new Tf,this.tokenTypeIdMap=new Tf,this.grammar=e.Grammar,this.lexer=e.parser.Lexer,this.linker=e.references.Linker}dehydrate(e){return{lexerErrors:e.lexerErrors,lexerReport:e.lexerReport?this.dehydrateLexerReport(e.lexerReport):void 0,parserErrors:e.parserErrors.map(n=>Object.assign(Object.assign({},n),{message:n.message})),value:this.dehydrateAstNode(e.value,this.createDehyrationContext(e.value))}}dehydrateLexerReport(e){return e}createDehyrationContext(e){const n=new Map,r=new Map;for(const i of pn(e))n.set(i,{});if(e.$cstNode)for(const i of Ga(e.$cstNode))r.set(i,{});return{astNodes:n,cstNodes:r}}dehydrateAstNode(e,n){const r=n.astNodes.get(e);r.$type=e.$type,r.$containerIndex=e.$containerIndex,r.$containerProperty=e.$containerProperty,e.$cstNode!==void 0&&(r.$cstNode=this.dehydrateCstNode(e.$cstNode,n));for(const[i,s]of Object.entries(e))if(!i.startsWith("$"))if(Array.isArray(s)){const a=[];r[i]=a;for(const o of s)ue(o)?a.push(this.dehydrateAstNode(o,n)):ze(o)?a.push(this.dehydrateReference(o,n)):a.push(o)}else ue(s)?r[i]=this.dehydrateAstNode(s,n):ze(s)?r[i]=this.dehydrateReference(s,n):s!==void 0&&(r[i]=s);return r}dehydrateReference(e,n){const r={};return r.$refText=e.$refText,e.$refNode&&(r.$refNode=n.cstNodes.get(e.$refNode)),r}dehydrateCstNode(e,n){const r=n.cstNodes.get(e);return Ff(e)?r.fullText=e.fullText:r.grammarSource=this.getGrammarElementId(e.grammarSource),r.hidden=e.hidden,r.astNode=n.astNodes.get(e.astNode),Mr(e)?r.content=e.content.map(i=>this.dehydrateCstNode(i,n)):Df(e)&&(r.tokenType=e.tokenType.name,r.offset=e.offset,r.length=e.length,r.startLine=e.range.start.line,r.startColumn=e.range.start.character,r.endLine=e.range.end.line,r.endColumn=e.range.end.character),r}hydrate(e){const n=e.value,r=this.createHydrationContext(n);return"$cstNode"in n&&this.hydrateCstNode(n.$cstNode,r),{lexerErrors:e.lexerErrors,lexerReport:e.lexerReport,parserErrors:e.parserErrors,value:this.hydrateAstNode(n,r)}}createHydrationContext(e){const n=new Map,r=new Map;for(const s of pn(e))n.set(s,{});let i;if(e.$cstNode)for(const s of Ga(e.$cstNode)){let a;"fullText"in s?(a=new Hh(s.fullText),i=a):"content"in s?a=new Rl:"tokenType"in s&&(a=this.hydrateCstLeafNode(s)),a&&(r.set(s,a),a.root=i)}return{astNodes:n,cstNodes:r}}hydrateAstNode(e,n){const r=n.astNodes.get(e);r.$type=e.$type,r.$containerIndex=e.$containerIndex,r.$containerProperty=e.$containerProperty,e.$cstNode&&(r.$cstNode=n.cstNodes.get(e.$cstNode));for(const[i,s]of Object.entries(e))if(!i.startsWith("$"))if(Array.isArray(s)){const a=[];r[i]=a;for(const o of s)ue(o)?a.push(this.setParent(this.hydrateAstNode(o,n),r)):ze(o)?a.push(this.hydrateReference(o,r,i,n)):a.push(o)}else ue(s)?r[i]=this.setParent(this.hydrateAstNode(s,n),r):ze(s)?r[i]=this.hydrateReference(s,r,i,n):s!==void 0&&(r[i]=s);return r}setParent(e,n){return e.$container=n,e}hydrateReference(e,n,r,i){return this.linker.buildReference(n,r,i.cstNodes.get(e.$refNode),e.$refText)}hydrateCstNode(e,n,r=0){const i=n.cstNodes.get(e);if(typeof e.grammarSource=="number"&&(i.grammarSource=this.getGrammarElement(e.grammarSource)),i.astNode=n.astNodes.get(e.astNode),Mr(i))for(const s of e.content){const a=this.hydrateCstNode(s,n,r++);i.content.push(a)}return i}hydrateCstLeafNode(e){const n=this.getTokenType(e.tokenType),r=e.offset,i=e.length,s=e.startLine,a=e.startColumn,o=e.endLine,l=e.endColumn,u=e.hidden;return new So(r,i,{start:{line:s,character:a},end:{line:o,character:l}},n,u)}getTokenType(e){return this.lexer.definition[e]}getGrammarElementId(e){if(e)return this.grammarElementIdMap.size===0&&this.createGrammarElementIdMap(),this.grammarElementIdMap.get(e)}getGrammarElement(e){return this.grammarElementIdMap.size===0&&this.createGrammarElementIdMap(),this.grammarElementIdMap.getKey(e)}createGrammarElementIdMap(){let e=0;for(const n of pn(this.grammar))Xp(n)&&this.grammarElementIdMap.set(n,e++)}}function Lt(t){return{documentation:{CommentProvider:e=>new FC(e),DocumentationProvider:e=>new DC(e)},parser:{AsyncParser:e=>new GC(e),GrammarConfig:e=>Bm(e),LangiumParser:e=>Fw(e),CompletionParser:e=>Dw(e),ValueConverter:()=>new Qh,TokenBuilder:()=>new Zh,Lexer:e=>new RC(e),ParserErrorMessageProvider:()=>new Vh,LexerErrorMessageProvider:()=>new vC},workspace:{AstNodeLocator:()=>new hC,AstNodeDescriptionProvider:e=>new fC(e),ReferenceDescriptionProvider:e=>new dC(e)},references:{Linker:e=>new qw(e),NameProvider:()=>new Xw,ScopeProvider:e=>new rC(e),ScopeComputation:e=>new Zw(e),References:e=>new Jw(e)},serializer:{Hydrator:e=>new BC(e),JsonSerializer:e=>new sC(e)},validation:{DocumentValidator:e=>new lC(e),ValidationRegistry:e=>new oC(e)},shared:()=>t.shared}}function Mt(t){return{ServiceRegistry:e=>new aC(e),workspace:{LangiumDocuments:e=>new Vw(e),LangiumDocumentFactory:e=>new zw(e),DocumentBuilder:e=>new gC(e),IndexManager:e=>new yC(e),WorkspaceManager:e=>new TC(e),FileSystemProvider:e=>t.fileSystemProvider(e),WorkspaceLock:()=>new UC,ConfigurationProvider:e=>new mC(e)}}}var xf;(function(t){t.merge=(e,n)=>vs(vs({},e),n)})(xf||(xf={}));function ce(t,e,n,r,i,s,a,o,l){const u=[t,e,n,r,i,s,a,o,l].reduce(vs,{});return dp(u)}const jC=Symbol("isProxy");function dp(t,e){const n=new Proxy({},{deleteProperty:()=>!1,set:()=>{throw new Error("Cannot set property on injected service container")},get:(r,i)=>i===jC?!0:If(r,i,t,e||n),getOwnPropertyDescriptor:(r,i)=>(If(r,i,t,e||n),Object.getOwnPropertyDescriptor(r,i)),has:(r,i)=>i in t,ownKeys:()=>[...Object.getOwnPropertyNames(t)]});return n}const _f=Symbol();function If(t,e,n,r){if(e in t){if(t[e]instanceof Error)throw new Error("Construction failure. Please make sure that your dependencies are constructable.",{cause:t[e]});if(t[e]===_f)throw new Error('Cycle detected. Please make "'+String(e)+'" lazy. Visit https://langium.org/docs/reference/configuration-services/#resolving-cyclic-dependencies');return t[e]}else if(e in n){const i=n[e];t[e]=_f;try{t[e]=typeof i=="function"?i(r):dp(i,r)}catch(s){throw t[e]=s instanceof Error?s:void 0,s}return t[e]}else return}function vs(t,e){if(e){for(const[n,r]of Object.entries(e))if(r!==void 0){const i=t[n];i!==null&&r!==null&&typeof i=="object"&&typeof r=="object"?t[n]=vs(i,r):t[n]=r}}return t}class KC{readFile(){throw new Error("No file system is available.")}async readDirectory(){return[]}}const Dt={fileSystemProvider:()=>new KC},HC={Grammar:()=>{},LanguageMetaData:()=>({caseInsensitive:!1,fileExtensions:[".langium"],languageId:"langium"})},WC={AstReflection:()=>new Wf};function zC(){const t=ce(Mt(Dt),WC),e=ce(Lt({shared:t}),HC);return t.ServiceRegistry.register(e),e}function ln(t){var e;const n=zC(),r=n.serializer.JsonSerializer.deserialize(t);return n.shared.workspace.LangiumDocumentFactory.fromModel(r,Zt.parse(`memory://${(e=r.name)!==null&&e!==void 0?e:"grammar"}.langium`)),r}var VC=Object.defineProperty,A=(t,e)=>VC(t,"name",{value:e,configurable:!0}),wf="Statement",Fi="Architecture";function qC(t){return Ke.isInstance(t,Fi)}A(qC,"isArchitecture");var Ai="Axis",Cr="Branch";function YC(t){return Ke.isInstance(t,Cr)}A(YC,"isBranch");var Ei="Checkout",Si="CherryPicking",wa="ClassDefStatement",kr="Commit";function XC(t){return Ke.isInstance(t,kr)}A(XC,"isCommit");var Ca="Curve",ka="Edge",Na="Entry",Nr="GitGraph";function JC(t){return Ke.isInstance(t,Nr)}A(JC,"isGitGraph");var ba="Group",Gi="Info";function ZC(t){return Ke.isInstance(t,Gi)}A(ZC,"isInfo");var xi="Item",Oa="Junction",br="Merge";function QC(t){return Ke.isInstance(t,br)}A(QC,"isMerge");var Pa="Option",Ui="Packet";function ek(t){return Ke.isInstance(t,Ui)}A(ek,"isPacket");var Bi="PacketBlock";function tk(t){return Ke.isInstance(t,Bi)}A(tk,"isPacketBlock");var ji="Pie";function nk(t){return Ke.isInstance(t,ji)}A(nk,"isPie");var Ki="PieSection";function rk(t){return Ke.isInstance(t,Ki)}A(rk,"isPieSection");var La="Radar",Ma="Service",Hi="Treemap";function ik(t){return Ke.isInstance(t,Hi)}A(ik,"isTreemap");var Da="TreemapRow",_i="Direction",Ii="Leaf",wi="Section",yn,hp=(yn=class extends Mf{getAllTypes(){return[Fi,Ai,Cr,Ei,Si,wa,kr,Ca,_i,ka,Na,Nr,ba,Gi,xi,Oa,Ii,br,Pa,Ui,Bi,ji,Ki,La,wi,Ma,wf,Hi,Da]}computeIsSubtype(e,n){switch(e){case Cr:case Ei:case Si:case kr:case br:return this.isSubtype(wf,n);case _i:return this.isSubtype(Nr,n);case Ii:case wi:return this.isSubtype(xi,n);default:return!1}}getReferenceType(e){const n=`${e.container.$type}:${e.property}`;switch(n){case"Entry:axis":return Ai;default:throw new Error(`${n} is not a valid reference id.`)}}getTypeMetaData(e){switch(e){case Fi:return{name:Fi,properties:[{name:"accDescr"},{name:"accTitle"},{name:"edges",defaultValue:[]},{name:"groups",defaultValue:[]},{name:"junctions",defaultValue:[]},{name:"services",defaultValue:[]},{name:"title"}]};case Ai:return{name:Ai,properties:[{name:"label"},{name:"name"}]};case Cr:return{name:Cr,properties:[{name:"name"},{name:"order"}]};case Ei:return{name:Ei,properties:[{name:"branch"}]};case Si:return{name:Si,properties:[{name:"id"},{name:"parent"},{name:"tags",defaultValue:[]}]};case wa:return{name:wa,properties:[{name:"className"},{name:"styleText"}]};case kr:return{name:kr,properties:[{name:"id"},{name:"message"},{name:"tags",defaultValue:[]},{name:"type"}]};case Ca:return{name:Ca,properties:[{name:"entries",defaultValue:[]},{name:"label"},{name:"name"}]};case ka:return{name:ka,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 Na:return{name:Na,properties:[{name:"axis"},{name:"value"}]};case Nr:return{name:Nr,properties:[{name:"accDescr"},{name:"accTitle"},{name:"statements",defaultValue:[]},{name:"title"}]};case ba:return{name:ba,properties:[{name:"icon"},{name:"id"},{name:"in"},{name:"title"}]};case Gi:return{name:Gi,properties:[{name:"accDescr"},{name:"accTitle"},{name:"title"}]};case xi:return{name:xi,properties:[{name:"classSelector"},{name:"name"}]};case Oa:return{name:Oa,properties:[{name:"id"},{name:"in"}]};case br:return{name:br,properties:[{name:"branch"},{name:"id"},{name:"tags",defaultValue:[]},{name:"type"}]};case Pa:return{name:Pa,properties:[{name:"name"},{name:"value",defaultValue:!1}]};case Ui:return{name:Ui,properties:[{name:"accDescr"},{name:"accTitle"},{name:"blocks",defaultValue:[]},{name:"title"}]};case Bi:return{name:Bi,properties:[{name:"bits"},{name:"end"},{name:"label"},{name:"start"}]};case ji:return{name:ji,properties:[{name:"accDescr"},{name:"accTitle"},{name:"sections",defaultValue:[]},{name:"showData",defaultValue:!1},{name:"title"}]};case Ki:return{name:Ki,properties:[{name:"label"},{name:"value"}]};case La:return{name:La,properties:[{name:"accDescr"},{name:"accTitle"},{name:"axes",defaultValue:[]},{name:"curves",defaultValue:[]},{name:"options",defaultValue:[]},{name:"title"}]};case Ma:return{name:Ma,properties:[{name:"icon"},{name:"iconText"},{name:"id"},{name:"in"},{name:"title"}]};case Hi:return{name:Hi,properties:[{name:"accDescr"},{name:"accTitle"},{name:"title"},{name:"TreemapRows",defaultValue:[]}]};case Da:return{name:Da,properties:[{name:"indent"},{name:"item"}]};case _i:return{name:_i,properties:[{name:"accDescr"},{name:"accTitle"},{name:"dir"},{name:"statements",defaultValue:[]},{name:"title"}]};case Ii:return{name:Ii,properties:[{name:"classSelector"},{name:"name"},{name:"value"}]};case wi:return{name:wi,properties:[{name:"classSelector"},{name:"name"}]};default:return{name:e,properties:[]}}}},A(yn,"MermaidAstReflection"),yn),Ke=new hp,Cf,sk=A(()=>Cf??(Cf=ln(`{"$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"),kf,ak=A(()=>kf??(kf=ln(`{"$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"),Nf,ok=A(()=>Nf??(Nf=ln(`{"$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"),bf,lk=A(()=>bf??(bf=ln(`{"$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"),Of,uk=A(()=>Of??(Of=ln(`{"$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"),Pf,ck=A(()=>Pf??(Pf=ln(`{"$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"),Lf,fk=A(()=>Lf??(Lf=ln(`{"$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"),dk={languageId:"info",fileExtensions:[".mmd",".mermaid"],caseInsensitive:!1,mode:"production"},hk={languageId:"packet",fileExtensions:[".mmd",".mermaid"],caseInsensitive:!1,mode:"production"},pk={languageId:"pie",fileExtensions:[".mmd",".mermaid"],caseInsensitive:!1,mode:"production"},mk={languageId:"architecture",fileExtensions:[".mmd",".mermaid"],caseInsensitive:!1,mode:"production"},gk={languageId:"gitGraph",fileExtensions:[".mmd",".mermaid"],caseInsensitive:!1,mode:"production"},yk={languageId:"radar",fileExtensions:[".mmd",".mermaid"],caseInsensitive:!1,mode:"production"},Tk={languageId:"treemap",fileExtensions:[".mmd",".mermaid"],caseInsensitive:!1,mode:"production"},un={AstReflection:A(()=>new hp,"AstReflection")},vk={Grammar:A(()=>sk(),"Grammar"),LanguageMetaData:A(()=>dk,"LanguageMetaData"),parser:{}},$k={Grammar:A(()=>ak(),"Grammar"),LanguageMetaData:A(()=>hk,"LanguageMetaData"),parser:{}},Rk={Grammar:A(()=>ok(),"Grammar"),LanguageMetaData:A(()=>pk,"LanguageMetaData"),parser:{}},Ak={Grammar:A(()=>lk(),"Grammar"),LanguageMetaData:A(()=>mk,"LanguageMetaData"),parser:{}},Ek={Grammar:A(()=>uk(),"Grammar"),LanguageMetaData:A(()=>gk,"LanguageMetaData"),parser:{}},Sk={Grammar:A(()=>ck(),"Grammar"),LanguageMetaData:A(()=>yk,"LanguageMetaData"),parser:{}},xk={Grammar:A(()=>fk(),"Grammar"),LanguageMetaData:A(()=>Tk,"LanguageMetaData"),parser:{}},_k=/accDescr(?:[\t ]*:([^\n\r]*)|\s*{([^}]*)})/,Ik=/accTitle[\t ]*:([^\n\r]*)/,wk=/title([\t ][^\n\r]*|)/,Ck={ACC_DESCR:_k,ACC_TITLE:Ik,TITLE:wk},Tn,ea=(Tn=class extends Qh{runConverter(e,n,r){let i=this.runCommonConverter(e,n,r);return i===void 0&&(i=this.runCustomConverter(e,n,r)),i===void 0?super.runConverter(e,n,r):i}runCommonConverter(e,n,r){const i=Ck[e.name];if(i===void 0)return;const s=i.exec(n);if(s!==null){if(s[1]!==void 0)return s[1].trim().replace(/[\t ]{2,}/gm," ");if(s[2]!==void 0)return s[2].replace(/^\s*/gm,"").replace(/\s+$/gm,"").replace(/[\t ]{2,}/gm," ").replace(/[\n\r]{2,}/gm,`
|
|
126
|
+
`)}}},A(Tn,"AbstractMermaidValueConverter"),Tn),vn,ta=(vn=class extends ea{runCustomConverter(e,n,r){}},A(vn,"CommonValueConverter"),vn),$n,Ft=($n=class extends Zh{constructor(e){super(),this.keywords=new Set(e)}buildKeywordTokens(e,n,r){const i=super.buildKeywordTokens(e,n,r);return i.forEach(s=>{this.keywords.has(s.name)&&s.PATTERN!==void 0&&(s.PATTERN=new RegExp(s.PATTERN.toString()+"(?:(?=%%)|(?!\\S))"))}),i}},A($n,"AbstractMermaidTokenBuilder"),$n),Rn;Rn=class extends Ft{},A(Rn,"CommonTokenBuilder");var An,kk=(An=class extends Ft{constructor(){super(["gitGraph"])}},A(An,"GitGraphTokenBuilder"),An),pp={parser:{TokenBuilder:A(()=>new kk,"TokenBuilder"),ValueConverter:A(()=>new ta,"ValueConverter")}};function mp(t=Dt){const e=ce(Mt(t),un),n=ce(Lt({shared:e}),Ek,pp);return e.ServiceRegistry.register(n),{shared:e,GitGraph:n}}A(mp,"createGitGraphServices");var En,Nk=(En=class extends Ft{constructor(){super(["info","showInfo"])}},A(En,"InfoTokenBuilder"),En),gp={parser:{TokenBuilder:A(()=>new Nk,"TokenBuilder"),ValueConverter:A(()=>new ta,"ValueConverter")}};function yp(t=Dt){const e=ce(Mt(t),un),n=ce(Lt({shared:e}),vk,gp);return e.ServiceRegistry.register(n),{shared:e,Info:n}}A(yp,"createInfoServices");var Sn,bk=(Sn=class extends Ft{constructor(){super(["packet"])}},A(Sn,"PacketTokenBuilder"),Sn),Tp={parser:{TokenBuilder:A(()=>new bk,"TokenBuilder"),ValueConverter:A(()=>new ta,"ValueConverter")}};function vp(t=Dt){const e=ce(Mt(t),un),n=ce(Lt({shared:e}),$k,Tp);return e.ServiceRegistry.register(n),{shared:e,Packet:n}}A(vp,"createPacketServices");var xn,Ok=(xn=class extends Ft{constructor(){super(["pie","showData"])}},A(xn,"PieTokenBuilder"),xn),_n,Pk=(_n=class extends ea{runCustomConverter(e,n,r){if(e.name==="PIE_SECTION_LABEL")return n.replace(/"/g,"").trim()}},A(_n,"PieValueConverter"),_n),$p={parser:{TokenBuilder:A(()=>new Ok,"TokenBuilder"),ValueConverter:A(()=>new Pk,"ValueConverter")}};function Rp(t=Dt){const e=ce(Mt(t),un),n=ce(Lt({shared:e}),Rk,$p);return e.ServiceRegistry.register(n),{shared:e,Pie:n}}A(Rp,"createPieServices");var In,Lk=(In=class extends Ft{constructor(){super(["architecture"])}},A(In,"ArchitectureTokenBuilder"),In),wn,Mk=(wn=class extends ea{runCustomConverter(e,n,r){if(e.name==="ARCH_ICON")return n.replace(/[()]/g,"").trim();if(e.name==="ARCH_TEXT_ICON")return n.replace(/["()]/g,"");if(e.name==="ARCH_TITLE")return n.replace(/[[\]]/g,"").trim()}},A(wn,"ArchitectureValueConverter"),wn),Ap={parser:{TokenBuilder:A(()=>new Lk,"TokenBuilder"),ValueConverter:A(()=>new Mk,"ValueConverter")}};function Ep(t=Dt){const e=ce(Mt(t),un),n=ce(Lt({shared:e}),Ak,Ap);return e.ServiceRegistry.register(n),{shared:e,Architecture:n}}A(Ep,"createArchitectureServices");var Cn,Dk=(Cn=class extends Ft{constructor(){super(["radar-beta"])}},A(Cn,"RadarTokenBuilder"),Cn),Sp={parser:{TokenBuilder:A(()=>new Dk,"TokenBuilder"),ValueConverter:A(()=>new ta,"ValueConverter")}};function xp(t=Dt){const e=ce(Mt(t),un),n=ce(Lt({shared:e}),Sk,Sp);return e.ServiceRegistry.register(n),{shared:e,Radar:n}}A(xp,"createRadarServices");var kn,Fk=(kn=class extends Ft{constructor(){super(["treemap"])}},A(kn,"TreemapTokenBuilder"),kn),Gk=/classDef\s+([A-Z_a-z]\w+)(?:\s+([^\n\r;]*))?;?/,Nn,Uk=(Nn=class extends ea{runCustomConverter(e,n,r){if(e.name==="NUMBER2")return parseFloat(n.replace(/,/g,""));if(e.name==="SEPARATOR")return n.substring(1,n.length-1);if(e.name==="STRING2")return n.substring(1,n.length-1);if(e.name==="INDENTATION")return n.length;if(e.name==="ClassDef"){if(typeof n!="string")return n;const i=Gk.exec(n);if(i)return{$type:"ClassDefStatement",className:i[1],styleText:i[2]||void 0}}}},A(Nn,"TreemapValueConverter"),Nn);function _p(t){const e=t.validation.TreemapValidator,n=t.validation.ValidationRegistry;if(n){const r={Treemap:e.checkSingleRoot.bind(e)};n.register(r,e)}}A(_p,"registerValidationChecks");var bn,Bk=(bn=class{checkSingleRoot(e,n){let r;for(const i of e.TreemapRows)i.item&&(r===void 0&&i.indent===void 0?r=0:i.indent===void 0?n("error","Multiple root nodes are not allowed in a treemap.",{node:i,property:"item"}):r!==void 0&&r>=parseInt(i.indent,10)&&n("error","Multiple root nodes are not allowed in a treemap.",{node:i,property:"item"}))}},A(bn,"TreemapValidator"),bn),Ip={parser:{TokenBuilder:A(()=>new Fk,"TokenBuilder"),ValueConverter:A(()=>new Uk,"ValueConverter")},validation:{TreemapValidator:A(()=>new Bk,"TreemapValidator")}};function wp(t=Dt){const e=ce(Mt(t),un),n=ce(Lt({shared:e}),xk,Ip);return e.ServiceRegistry.register(n),_p(n),{shared:e,Treemap:n}}A(wp,"createTreemapServices");var it={},jk={info:A(async()=>{const{createInfoServices:t}=await Bt(async()=>{const{createInfoServices:n}=await Promise.resolve().then(()=>Wk);return{createInfoServices:n}},void 0,import.meta.url),e=t().Info.parser.LangiumParser;it.info=e},"info"),packet:A(async()=>{const{createPacketServices:t}=await Bt(async()=>{const{createPacketServices:n}=await Promise.resolve().then(()=>zk);return{createPacketServices:n}},void 0,import.meta.url),e=t().Packet.parser.LangiumParser;it.packet=e},"packet"),pie:A(async()=>{const{createPieServices:t}=await Bt(async()=>{const{createPieServices:n}=await Promise.resolve().then(()=>Vk);return{createPieServices:n}},void 0,import.meta.url),e=t().Pie.parser.LangiumParser;it.pie=e},"pie"),architecture:A(async()=>{const{createArchitectureServices:t}=await Bt(async()=>{const{createArchitectureServices:n}=await Promise.resolve().then(()=>qk);return{createArchitectureServices:n}},void 0,import.meta.url),e=t().Architecture.parser.LangiumParser;it.architecture=e},"architecture"),gitGraph:A(async()=>{const{createGitGraphServices:t}=await Bt(async()=>{const{createGitGraphServices:n}=await Promise.resolve().then(()=>Yk);return{createGitGraphServices:n}},void 0,import.meta.url),e=t().GitGraph.parser.LangiumParser;it.gitGraph=e},"gitGraph"),radar:A(async()=>{const{createRadarServices:t}=await Bt(async()=>{const{createRadarServices:n}=await Promise.resolve().then(()=>Xk);return{createRadarServices:n}},void 0,import.meta.url),e=t().Radar.parser.LangiumParser;it.radar=e},"radar"),treemap:A(async()=>{const{createTreemapServices:t}=await Bt(async()=>{const{createTreemapServices:n}=await Promise.resolve().then(()=>Jk);return{createTreemapServices:n}},void 0,import.meta.url),e=t().Treemap.parser.LangiumParser;it.treemap=e},"treemap")};async function Kk(t,e){const n=jk[t];if(!n)throw new Error(`Unknown diagram type: ${t}`);it[t]||await n();const i=it[t].parse(e);if(i.lexerErrors.length>0||i.parserErrors.length>0)throw new Hk(i);return i.value}A(Kk,"parse");var On,Hk=(On=class extends Error{constructor(e){const n=e.lexerErrors.map(i=>i.message).join(`
|
|
127
|
+
`),r=e.parserErrors.map(i=>i.message).join(`
|
|
128
|
+
`);super(`Parsing failed: ${n} ${r}`),this.result=e}},A(On,"MermaidParseError"),On);const Wk=Object.freeze(Object.defineProperty({__proto__:null,InfoModule:gp,createInfoServices:yp},Symbol.toStringTag,{value:"Module"})),zk=Object.freeze(Object.defineProperty({__proto__:null,PacketModule:Tp,createPacketServices:vp},Symbol.toStringTag,{value:"Module"})),Vk=Object.freeze(Object.defineProperty({__proto__:null,PieModule:$p,createPieServices:Rp},Symbol.toStringTag,{value:"Module"})),qk=Object.freeze(Object.defineProperty({__proto__:null,ArchitectureModule:Ap,createArchitectureServices:Ep},Symbol.toStringTag,{value:"Module"})),Yk=Object.freeze(Object.defineProperty({__proto__:null,GitGraphModule:pp,createGitGraphServices:mp},Symbol.toStringTag,{value:"Module"})),Xk=Object.freeze(Object.defineProperty({__proto__:null,RadarModule:Sp,createRadarServices:xp},Symbol.toStringTag,{value:"Module"})),Jk=Object.freeze(Object.defineProperty({__proto__:null,TreemapModule:Ip,createTreemapServices:wp},Symbol.toStringTag,{value:"Module"}));export{Kk as p};
|