sysmledgraph 0.7.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +71 -0
- package/dist/bin/cli.d.ts +6 -0
- package/dist/bin/cli.d.ts.map +1 -0
- package/dist/bin/cli.js +61 -0
- package/dist/bin/cli.js.map +1 -0
- package/dist/mcp/index.d.ts +3 -0
- package/dist/mcp/index.d.ts.map +1 -0
- package/dist/mcp/index.js +8 -0
- package/dist/mcp/index.js.map +1 -0
- package/dist/src/cli/commands.d.ts +22 -0
- package/dist/src/cli/commands.d.ts.map +1 -0
- package/dist/src/cli/commands.js +87 -0
- package/dist/src/cli/commands.js.map +1 -0
- package/dist/src/discovery/find-sysml.d.ts +16 -0
- package/dist/src/discovery/find-sysml.d.ts.map +1 -0
- package/dist/src/discovery/find-sysml.js +30 -0
- package/dist/src/discovery/find-sysml.js.map +1 -0
- package/dist/src/discovery/load-order.d.ts +11 -0
- package/dist/src/discovery/load-order.d.ts.map +1 -0
- package/dist/src/discovery/load-order.js +85 -0
- package/dist/src/discovery/load-order.js.map +1 -0
- package/dist/src/graph/connection.d.ts +6 -0
- package/dist/src/graph/connection.d.ts.map +1 -0
- package/dist/src/graph/connection.js +7 -0
- package/dist/src/graph/connection.js.map +1 -0
- package/dist/src/graph/graph-store.d.ts +37 -0
- package/dist/src/graph/graph-store.d.ts.map +1 -0
- package/dist/src/graph/graph-store.js +108 -0
- package/dist/src/graph/graph-store.js.map +1 -0
- package/dist/src/graph/schema.d.ts +13 -0
- package/dist/src/graph/schema.d.ts.map +1 -0
- package/dist/src/graph/schema.js +21 -0
- package/dist/src/graph/schema.js.map +1 -0
- package/dist/src/index.d.ts +14 -0
- package/dist/src/index.d.ts.map +1 -0
- package/dist/src/index.js +14 -0
- package/dist/src/index.js.map +1 -0
- package/dist/src/indexer/indexer.d.ts +20 -0
- package/dist/src/indexer/indexer.d.ts.map +1 -0
- package/dist/src/indexer/indexer.js +56 -0
- package/dist/src/indexer/indexer.js.map +1 -0
- package/dist/src/indexer/pipeline-phases.d.ts +8 -0
- package/dist/src/indexer/pipeline-phases.d.ts.map +1 -0
- package/dist/src/indexer/pipeline-phases.js +14 -0
- package/dist/src/indexer/pipeline-phases.js.map +1 -0
- package/dist/src/mcp/resources/context.d.ts +6 -0
- package/dist/src/mcp/resources/context.d.ts.map +1 -0
- package/dist/src/mcp/resources/context.js +45 -0
- package/dist/src/mcp/resources/context.js.map +1 -0
- package/dist/src/mcp/resources/schema.d.ts +6 -0
- package/dist/src/mcp/resources/schema.d.ts.map +1 -0
- package/dist/src/mcp/resources/schema.js +14 -0
- package/dist/src/mcp/resources/schema.js.map +1 -0
- package/dist/src/mcp/server.d.ts +8 -0
- package/dist/src/mcp/server.d.ts.map +1 -0
- package/dist/src/mcp/server.js +175 -0
- package/dist/src/mcp/server.js.map +1 -0
- package/dist/src/mcp/tools/clean-index.d.ts +12 -0
- package/dist/src/mcp/tools/clean-index.d.ts.map +1 -0
- package/dist/src/mcp/tools/clean-index.js +22 -0
- package/dist/src/mcp/tools/clean-index.js.map +1 -0
- package/dist/src/mcp/tools/context.d.ts +14 -0
- package/dist/src/mcp/tools/context.d.ts.map +1 -0
- package/dist/src/mcp/tools/context.js +51 -0
- package/dist/src/mcp/tools/context.js.map +1 -0
- package/dist/src/mcp/tools/cypher.d.ts +13 -0
- package/dist/src/mcp/tools/cypher.d.ts.map +1 -0
- package/dist/src/mcp/tools/cypher.js +25 -0
- package/dist/src/mcp/tools/cypher.js.map +1 -0
- package/dist/src/mcp/tools/generate-map.d.ts +13 -0
- package/dist/src/mcp/tools/generate-map.d.ts.map +1 -0
- package/dist/src/mcp/tools/generate-map.js +96 -0
- package/dist/src/mcp/tools/generate-map.js.map +1 -0
- package/dist/src/mcp/tools/impact.d.ts +14 -0
- package/dist/src/mcp/tools/impact.d.ts.map +1 -0
- package/dist/src/mcp/tools/impact.js +47 -0
- package/dist/src/mcp/tools/impact.js.map +1 -0
- package/dist/src/mcp/tools/index-db-graph.d.ts +14 -0
- package/dist/src/mcp/tools/index-db-graph.d.ts.map +1 -0
- package/dist/src/mcp/tools/index-db-graph.js +32 -0
- package/dist/src/mcp/tools/index-db-graph.js.map +1 -0
- package/dist/src/mcp/tools/list-indexed.d.ts +9 -0
- package/dist/src/mcp/tools/list-indexed.d.ts.map +1 -0
- package/dist/src/mcp/tools/list-indexed.js +14 -0
- package/dist/src/mcp/tools/list-indexed.js.map +1 -0
- package/dist/src/mcp/tools/query.d.ts +14 -0
- package/dist/src/mcp/tools/query.d.ts.map +1 -0
- package/dist/src/mcp/tools/query.js +47 -0
- package/dist/src/mcp/tools/query.js.map +1 -0
- package/dist/src/mcp/tools/rename.d.ts +19 -0
- package/dist/src/mcp/tools/rename.d.ts.map +1 -0
- package/dist/src/mcp/tools/rename.js +46 -0
- package/dist/src/mcp/tools/rename.js.map +1 -0
- package/dist/src/parser/lsp-client.d.ts +52 -0
- package/dist/src/parser/lsp-client.d.ts.map +1 -0
- package/dist/src/parser/lsp-client.js +230 -0
- package/dist/src/parser/lsp-client.js.map +1 -0
- package/dist/src/parser/lsp-server-path.d.ts +10 -0
- package/dist/src/parser/lsp-server-path.d.ts.map +1 -0
- package/dist/src/parser/lsp-server-path.js +29 -0
- package/dist/src/parser/lsp-server-path.js.map +1 -0
- package/dist/src/parser/symbols.d.ts +13 -0
- package/dist/src/parser/symbols.d.ts.map +1 -0
- package/dist/src/parser/symbols.js +150 -0
- package/dist/src/parser/symbols.js.map +1 -0
- package/dist/src/parser/sysml-mcp-client.d.ts +109 -0
- package/dist/src/parser/sysml-mcp-client.d.ts.map +1 -0
- package/dist/src/parser/sysml-mcp-client.js +185 -0
- package/dist/src/parser/sysml-mcp-client.js.map +1 -0
- package/dist/src/storage/clean.d.ts +15 -0
- package/dist/src/storage/clean.d.ts.map +1 -0
- package/dist/src/storage/clean.js +44 -0
- package/dist/src/storage/clean.js.map +1 -0
- package/dist/src/storage/list.d.ts +9 -0
- package/dist/src/storage/list.d.ts.map +1 -0
- package/dist/src/storage/list.js +12 -0
- package/dist/src/storage/list.js.map +1 -0
- package/dist/src/storage/location.d.ts +22 -0
- package/dist/src/storage/location.d.ts.map +1 -0
- package/dist/src/storage/location.js +36 -0
- package/dist/src/storage/location.js.map +1 -0
- package/dist/src/storage/registry.d.ts +14 -0
- package/dist/src/storage/registry.d.ts.map +1 -0
- package/dist/src/storage/registry.js +59 -0
- package/dist/src/storage/registry.js.map +1 -0
- package/dist/src/symbol-to-graph/mapping.d.ts +17 -0
- package/dist/src/symbol-to-graph/mapping.d.ts.map +1 -0
- package/dist/src/symbol-to-graph/mapping.js +102 -0
- package/dist/src/symbol-to-graph/mapping.js.map +1 -0
- package/dist/src/types.d.ts +40 -0
- package/dist/src/types.d.ts.map +1 -0
- package/dist/src/types.js +35 -0
- package/dist/src/types.js.map +1 -0
- package/dist/src/worker/client.d.ts +21 -0
- package/dist/src/worker/client.d.ts.map +1 -0
- package/dist/src/worker/client.js +126 -0
- package/dist/src/worker/client.js.map +1 -0
- package/dist/src/worker/gateway.d.ts +79 -0
- package/dist/src/worker/gateway.d.ts.map +1 -0
- package/dist/src/worker/gateway.js +93 -0
- package/dist/src/worker/gateway.js.map +1 -0
- package/dist/src/worker/graph-worker.d.ts +7 -0
- package/dist/src/worker/graph-worker.d.ts.map +1 -0
- package/dist/src/worker/graph-worker.js +91 -0
- package/dist/src/worker/graph-worker.js.map +1 -0
- package/dist/src/worker/protocol.d.ts +21 -0
- package/dist/src/worker/protocol.d.ts.map +1 -0
- package/dist/src/worker/protocol.js +9 -0
- package/dist/src/worker/protocol.js.map +1 -0
- package/docs/INSTALL.md +16 -0
- package/docs/MCP_CLIENT_TEMPLATE_ANALYSIS.md +196 -0
- package/docs/MCP_INTERACTION_GUIDE.md +201 -0
- package/docs/MCP_SERVER_FOR_CURSOR.md +124 -0
- package/docs/PLAN.md +58 -0
- package/docs/PLAN_INDEPENDENT_LSP.md +145 -0
- package/docs/SKILL_DESIGN_PATTERNS.md +305 -0
- package/docs/TOOLS.md +317 -0
- package/lsp/README.md +41 -0
- package/lsp/node_modules/.bin/sysml-mcp +12 -0
- package/lsp/node_modules/.bin/sysml-mcp.cmd +9 -0
- package/lsp/node_modules/.bin/sysml-mcp.ps1 +16 -0
- package/lsp/node_modules/.package-lock.json +22 -0
- package/lsp/node_modules/sysml-v2-lsp/CHANGELOG.md +188 -0
- package/lsp/node_modules/sysml-v2-lsp/LICENSE +21 -0
- package/lsp/node_modules/sysml-v2-lsp/README.md +172 -0
- package/lsp/node_modules/sysml-v2-lsp/dist/server/mcpServer.js +167 -0
- package/lsp/node_modules/sysml-v2-lsp/dist/server/server.js +142 -0
- package/lsp/node_modules/sysml-v2-lsp/index.cjs +23 -0
- package/lsp/node_modules/sysml-v2-lsp/package.json +131 -0
- package/lsp/node_modules/sysml-v2-lsp/sysml.library/.project +17 -0
- package/lsp/node_modules/sysml-v2-lsp/sysml.library/.settings/org.eclipse.jdt.core.prefs +11 -0
- package/lsp/node_modules/sysml-v2-lsp/sysml.library/Domain Libraries/Analysis/.meta.json +10 -0
- package/lsp/node_modules/sysml-v2-lsp/sysml.library/Domain Libraries/Analysis/.project.json +27 -0
- package/lsp/node_modules/sysml-v2-lsp/sysml.library/Domain Libraries/Analysis/AnalysisTooling.sysml +34 -0
- package/lsp/node_modules/sysml-v2-lsp/sysml.library/Domain Libraries/Analysis/SampledFunctions.sysml +119 -0
- package/lsp/node_modules/sysml-v2-lsp/sysml.library/Domain Libraries/Analysis/StateSpaceRepresentation.sysml +143 -0
- package/lsp/node_modules/sysml-v2-lsp/sysml.library/Domain Libraries/Analysis/TradeStudies.sysml +171 -0
- package/lsp/node_modules/sysml-v2-lsp/sysml.library/Domain Libraries/Cause and Effect/.meta.json +8 -0
- package/lsp/node_modules/sysml-v2-lsp/sysml.library/Domain Libraries/Cause and Effect/.project.json +23 -0
- package/lsp/node_modules/sysml-v2-lsp/sysml.library/Domain Libraries/Cause and Effect/CausationConnections.sysml +83 -0
- package/lsp/node_modules/sysml-v2-lsp/sysml.library/Domain Libraries/Cause and Effect/CauseAndEffect.sysml +81 -0
- package/lsp/node_modules/sysml-v2-lsp/sysml.library/Domain Libraries/Geometry/.meta.json +8 -0
- package/lsp/node_modules/sysml-v2-lsp/sysml.library/Domain Libraries/Geometry/.project.json +27 -0
- package/lsp/node_modules/sysml-v2-lsp/sysml.library/Domain Libraries/Geometry/ShapeItems.sysml +899 -0
- package/lsp/node_modules/sysml-v2-lsp/sysml.library/Domain Libraries/Geometry/SpatialItems.sysml +168 -0
- package/lsp/node_modules/sysml-v2-lsp/sysml.library/Domain Libraries/Metadata/.meta.json +10 -0
- package/lsp/node_modules/sysml-v2-lsp/sysml.library/Domain Libraries/Metadata/.project.json +19 -0
- package/lsp/node_modules/sysml-v2-lsp/sysml.library/Domain Libraries/Metadata/ImageMetadata.sysml +78 -0
- package/lsp/node_modules/sysml-v2-lsp/sysml.library/Domain Libraries/Metadata/ModelingMetadata.sysml +143 -0
- package/lsp/node_modules/sysml-v2-lsp/sysml.library/Domain Libraries/Metadata/ParametersOfInterestMetadata.sysml +39 -0
- package/lsp/node_modules/sysml-v2-lsp/sysml.library/Domain Libraries/Metadata/RiskMetadata.sysml +100 -0
- package/lsp/node_modules/sysml-v2-lsp/sysml.library/Domain Libraries/Quantities and Units/.meta.json +29 -0
- package/lsp/node_modules/sysml-v2-lsp/sysml.library/Domain Libraries/Quantities and Units/.project.json +23 -0
- package/lsp/node_modules/sysml-v2-lsp/sysml.library/Domain Libraries/Quantities and Units/ISQ.sysml +42 -0
- package/lsp/node_modules/sysml-v2-lsp/sysml.library/Domain Libraries/Quantities and Units/ISQAcoustics.sysml +439 -0
- package/lsp/node_modules/sysml-v2-lsp/sysml.library/Domain Libraries/Quantities and Units/ISQAtomicNuclear.sysml +2726 -0
- package/lsp/node_modules/sysml-v2-lsp/sysml.library/Domain Libraries/Quantities and Units/ISQBase.sysml +206 -0
- package/lsp/node_modules/sysml-v2-lsp/sysml.library/Domain Libraries/Quantities and Units/ISQCharacteristicNumbers.sysml +1991 -0
- package/lsp/node_modules/sysml-v2-lsp/sysml.library/Domain Libraries/Quantities and Units/ISQChemistryMolecular.sysml +1353 -0
- package/lsp/node_modules/sysml-v2-lsp/sysml.library/Domain Libraries/Quantities and Units/ISQCondensedMatter.sysml +1223 -0
- package/lsp/node_modules/sysml-v2-lsp/sysml.library/Domain Libraries/Quantities and Units/ISQElectromagnetism.sysml +2333 -0
- package/lsp/node_modules/sysml-v2-lsp/sysml.library/Domain Libraries/Quantities and Units/ISQInformation.sysml +958 -0
- package/lsp/node_modules/sysml-v2-lsp/sysml.library/Domain Libraries/Quantities and Units/ISQLight.sysml +1537 -0
- package/lsp/node_modules/sysml-v2-lsp/sysml.library/Domain Libraries/Quantities and Units/ISQMechanics.sysml +1564 -0
- package/lsp/node_modules/sysml-v2-lsp/sysml.library/Domain Libraries/Quantities and Units/ISQSpaceTime.sysml +1169 -0
- package/lsp/node_modules/sysml-v2-lsp/sysml.library/Domain Libraries/Quantities and Units/ISQThermodynamics.sysml +1256 -0
- package/lsp/node_modules/sysml-v2-lsp/sysml.library/Domain Libraries/Quantities and Units/MeasurementRefCalculations.sysml +30 -0
- package/lsp/node_modules/sysml-v2-lsp/sysml.library/Domain Libraries/Quantities and Units/MeasurementReferences.sysml +526 -0
- package/lsp/node_modules/sysml-v2-lsp/sysml.library/Domain Libraries/Quantities and Units/Quantities.sysml +107 -0
- package/lsp/node_modules/sysml-v2-lsp/sysml.library/Domain Libraries/Quantities and Units/QuantityCalculations.sysml +70 -0
- package/lsp/node_modules/sysml-v2-lsp/sysml.library/Domain Libraries/Quantities and Units/SI.sysml +378 -0
- package/lsp/node_modules/sysml-v2-lsp/sysml.library/Domain Libraries/Quantities and Units/SIPrefixes.sysml +48 -0
- package/lsp/node_modules/sysml-v2-lsp/sysml.library/Domain Libraries/Quantities and Units/TensorCalculations.sysml +50 -0
- package/lsp/node_modules/sysml-v2-lsp/sysml.library/Domain Libraries/Quantities and Units/Time.sysml +274 -0
- package/lsp/node_modules/sysml-v2-lsp/sysml.library/Domain Libraries/Quantities and Units/USCustomaryUnits.sysml +260 -0
- package/lsp/node_modules/sysml-v2-lsp/sysml.library/Domain Libraries/Quantities and Units/VectorCalculations.sysml +62 -0
- package/lsp/node_modules/sysml-v2-lsp/sysml.library/Domain Libraries/Requirement Derivation/.meta.json +8 -0
- package/lsp/node_modules/sysml-v2-lsp/sysml.library/Domain Libraries/Requirement Derivation/.project.json +19 -0
- package/lsp/node_modules/sysml-v2-lsp/sysml.library/Domain Libraries/Requirement Derivation/DerivationConnections.sysml +63 -0
- package/lsp/node_modules/sysml-v2-lsp/sysml.library/Domain Libraries/Requirement Derivation/RequirementDerivation.sysml +39 -0
- package/lsp/node_modules/sysml-v2-lsp/sysml.library/Kernel Libraries/Kernel Data Type Library/.meta.json +9 -0
- package/lsp/node_modules/sysml-v2-lsp/sysml.library/Kernel Libraries/Kernel Data Type Library/.project.json +11 -0
- package/lsp/node_modules/sysml-v2-lsp/sysml.library/Kernel Libraries/Kernel Data Type Library/Collections.kerml +147 -0
- package/lsp/node_modules/sysml-v2-lsp/sysml.library/Kernel Libraries/Kernel Data Type Library/ScalarValues.kerml +23 -0
- package/lsp/node_modules/sysml-v2-lsp/sysml.library/Kernel Libraries/Kernel Data Type Library/VectorValues.kerml +64 -0
- package/lsp/node_modules/sysml-v2-lsp/sysml.library/Kernel Libraries/Kernel Function Library/.meta.json +23 -0
- package/lsp/node_modules/sysml-v2-lsp/sysml.library/Kernel Libraries/Kernel Function Library/.project.json +15 -0
- package/lsp/node_modules/sysml-v2-lsp/sysml.library/Kernel Libraries/Kernel Function Library/BaseFunctions.kerml +80 -0
- package/lsp/node_modules/sysml-v2-lsp/sysml.library/Kernel Libraries/Kernel Function Library/BooleanFunctions.kerml +22 -0
- package/lsp/node_modules/sysml-v2-lsp/sysml.library/Kernel Libraries/Kernel Function Library/CollectionFunctions.kerml +68 -0
- package/lsp/node_modules/sysml-v2-lsp/sysml.library/Kernel Libraries/Kernel Function Library/ComplexFunctions.kerml +47 -0
- package/lsp/node_modules/sysml-v2-lsp/sysml.library/Kernel Libraries/Kernel Function Library/ControlFunctions.kerml +117 -0
- package/lsp/node_modules/sysml-v2-lsp/sysml.library/Kernel Libraries/Kernel Function Library/DataFunctions.kerml +43 -0
- package/lsp/node_modules/sysml-v2-lsp/sysml.library/Kernel Libraries/Kernel Function Library/IntegerFunctions.kerml +43 -0
- package/lsp/node_modules/sysml-v2-lsp/sysml.library/Kernel Libraries/Kernel Function Library/NaturalFunctions.kerml +27 -0
- package/lsp/node_modules/sysml-v2-lsp/sysml.library/Kernel Libraries/Kernel Function Library/NumericalFunctions.kerml +43 -0
- package/lsp/node_modules/sysml-v2-lsp/sysml.library/Kernel Libraries/Kernel Function Library/OccurrenceFunctions.kerml +154 -0
- package/lsp/node_modules/sysml-v2-lsp/sysml.library/Kernel Libraries/Kernel Function Library/RationalFunctions.kerml +49 -0
- package/lsp/node_modules/sysml-v2-lsp/sysml.library/Kernel Libraries/Kernel Function Library/RealFunctions.kerml +56 -0
- package/lsp/node_modules/sysml-v2-lsp/sysml.library/Kernel Libraries/Kernel Function Library/ScalarFunctions.kerml +33 -0
- package/lsp/node_modules/sysml-v2-lsp/sysml.library/Kernel Libraries/Kernel Function Library/SequenceFunctions.kerml +111 -0
- package/lsp/node_modules/sysml-v2-lsp/sysml.library/Kernel Libraries/Kernel Function Library/StringFunctions.kerml +25 -0
- package/lsp/node_modules/sysml-v2-lsp/sysml.library/Kernel Libraries/Kernel Function Library/TrigFunctions.kerml +35 -0
- package/lsp/node_modules/sysml-v2-lsp/sysml.library/Kernel Libraries/Kernel Function Library/VectorFunctions.kerml +273 -0
- package/lsp/node_modules/sysml-v2-lsp/sysml.library/Kernel Libraries/Kernel Semantic Library/.meta.json +22 -0
- package/lsp/node_modules/sysml-v2-lsp/sysml.library/Kernel Libraries/Kernel Semantic Library/.project.json +15 -0
- package/lsp/node_modules/sysml-v2-lsp/sysml.library/Kernel Libraries/Kernel Semantic Library/Base.kerml +95 -0
- package/lsp/node_modules/sysml-v2-lsp/sysml.library/Kernel Libraries/Kernel Semantic Library/Clocks.kerml +156 -0
- package/lsp/node_modules/sysml-v2-lsp/sysml.library/Kernel Libraries/Kernel Semantic Library/ControlPerformances.kerml +135 -0
- package/lsp/node_modules/sysml-v2-lsp/sysml.library/Kernel Libraries/Kernel Semantic Library/FeatureReferencingPerformances.kerml +190 -0
- package/lsp/node_modules/sysml-v2-lsp/sysml.library/Kernel Libraries/Kernel Semantic Library/KerML.kerml +483 -0
- package/lsp/node_modules/sysml-v2-lsp/sysml.library/Kernel Libraries/Kernel Semantic Library/Links.kerml +67 -0
- package/lsp/node_modules/sysml-v2-lsp/sysml.library/Kernel Libraries/Kernel Semantic Library/Metaobjects.kerml +58 -0
- package/lsp/node_modules/sysml-v2-lsp/sysml.library/Kernel Libraries/Kernel Semantic Library/Objects.kerml +212 -0
- package/lsp/node_modules/sysml-v2-lsp/sysml.library/Kernel Libraries/Kernel Semantic Library/Observation.kerml +161 -0
- package/lsp/node_modules/sysml-v2-lsp/sysml.library/Kernel Libraries/Kernel Semantic Library/Occurrences.kerml +992 -0
- package/lsp/node_modules/sysml-v2-lsp/sysml.library/Kernel Libraries/Kernel Semantic Library/Performances.kerml +293 -0
- package/lsp/node_modules/sysml-v2-lsp/sysml.library/Kernel Libraries/Kernel Semantic Library/SpatialFrames.kerml +197 -0
- package/lsp/node_modules/sysml-v2-lsp/sysml.library/Kernel Libraries/Kernel Semantic Library/StatePerformances.kerml +145 -0
- package/lsp/node_modules/sysml-v2-lsp/sysml.library/Kernel Libraries/Kernel Semantic Library/Transfers.kerml +281 -0
- package/lsp/node_modules/sysml-v2-lsp/sysml.library/Kernel Libraries/Kernel Semantic Library/TransitionPerformances.kerml +66 -0
- package/lsp/node_modules/sysml-v2-lsp/sysml.library/Kernel Libraries/Kernel Semantic Library/Triggers.kerml +188 -0
- package/lsp/node_modules/sysml-v2-lsp/sysml.library/Systems Library/.meta.json +27 -0
- package/lsp/node_modules/sysml-v2-lsp/sysml.library/Systems Library/.project.json +19 -0
- package/lsp/node_modules/sysml-v2-lsp/sysml.library/Systems Library/Actions.sysml +552 -0
- package/lsp/node_modules/sysml-v2-lsp/sysml.library/Systems Library/Allocations.sysml +29 -0
- package/lsp/node_modules/sysml-v2-lsp/sysml.library/Systems Library/AnalysisCases.sysml +38 -0
- package/lsp/node_modules/sysml-v2-lsp/sysml.library/Systems Library/Attributes.sysml +25 -0
- package/lsp/node_modules/sysml-v2-lsp/sysml.library/Systems Library/Calculations.sysml +37 -0
- package/lsp/node_modules/sysml-v2-lsp/sysml.library/Systems Library/Cases.sysml +71 -0
- package/lsp/node_modules/sysml-v2-lsp/sysml.library/Systems Library/Connections.sysml +60 -0
- package/lsp/node_modules/sysml-v2-lsp/sysml.library/Systems Library/Constraints.sysml +44 -0
- package/lsp/node_modules/sysml-v2-lsp/sysml.library/Systems Library/Flows.sysml +126 -0
- package/lsp/node_modules/sysml-v2-lsp/sysml.library/Systems Library/Interfaces.sysml +89 -0
- package/lsp/node_modules/sysml-v2-lsp/sysml.library/Systems Library/Items.sysml +153 -0
- package/lsp/node_modules/sysml-v2-lsp/sysml.library/Systems Library/Metadata.sysml +32 -0
- package/lsp/node_modules/sysml-v2-lsp/sysml.library/Systems Library/Parts.sysml +81 -0
- package/lsp/node_modules/sysml-v2-lsp/sysml.library/Systems Library/Ports.sysml +54 -0
- package/lsp/node_modules/sysml-v2-lsp/sysml.library/Systems Library/Requirements.sysml +194 -0
- package/lsp/node_modules/sysml-v2-lsp/sysml.library/Systems Library/StandardViewDefinitions.sysml +123 -0
- package/lsp/node_modules/sysml-v2-lsp/sysml.library/Systems Library/States.sysml +103 -0
- package/lsp/node_modules/sysml-v2-lsp/sysml.library/Systems Library/SysML.sysml +539 -0
- package/lsp/node_modules/sysml-v2-lsp/sysml.library/Systems Library/UseCases.sysml +57 -0
- package/lsp/node_modules/sysml-v2-lsp/sysml.library/Systems Library/VerificationCases.sysml +103 -0
- package/lsp/node_modules/sysml-v2-lsp/sysml.library/Systems Library/Views.sysml +164 -0
- package/lsp/package-lock.json +30 -0
- package/lsp/package.json +15 -0
- package/lsp/test-server.mjs +120 -0
- package/package.json +61 -0
- package/scripts/access-sysml-mcp.mjs +45 -0
- package/scripts/check-sysml-v2-lsp-version.mjs +39 -0
- package/scripts/clean.mjs +14 -0
- package/scripts/compare-mcp-vs-lsp-symbols.mjs +76 -0
- package/scripts/debug-index.mjs +23 -0
- package/scripts/debug-lsp-symbols.mjs +62 -0
- package/scripts/deploy-skills.mjs +43 -0
- package/scripts/example-sysml-mcp.mjs +27 -0
- package/scripts/export-graph.mjs +80 -0
- package/scripts/generate-map.mjs +110 -0
- package/scripts/index-and-map.mjs +43 -0
- package/scripts/index-and-query.mjs +39 -0
- package/scripts/query-one.mjs +34 -0
- package/scripts/setup-lsp.mjs +36 -0
- package/scripts/test-lsp.mjs +55 -0
- package/scripts/test-mcp-debug.mjs +32 -0
- package/scripts/test-mcp-sysml.mjs +75 -0
- package/scripts/test-mcp-tools.mjs +185 -0
- package/scripts/test-sysml-mcp-from-node_modules.mjs +56 -0
- package/scripts/validate-sysml-file.mjs +69 -0
|
@@ -0,0 +1,142 @@
|
|
|
1
|
+
"use strict";var __create=Object.create;var __defProp=Object.defineProperty;var __getOwnPropDesc=Object.getOwnPropertyDescriptor;var __getOwnPropNames=Object.getOwnPropertyNames;var __getProtoOf=Object.getPrototypeOf,__hasOwnProp=Object.prototype.hasOwnProperty;var __commonJS=(cb,mod)=>function(){return mod||(0,cb[__getOwnPropNames(cb)[0]])((mod={exports:{}}).exports,mod),mod.exports};var __copyProps=(to,from,except,desc)=>{if(from&&typeof from=="object"||typeof from=="function")for(let key of __getOwnPropNames(from))!__hasOwnProp.call(to,key)&&key!==except&&__defProp(to,key,{get:()=>from[key],enumerable:!(desc=__getOwnPropDesc(from,key))||desc.enumerable});return to};var __toESM=(mod,isNodeMode,target)=>(target=mod!=null?__create(__getProtoOf(mod)):{},__copyProps(isNodeMode||!mod||!mod.__esModule?__defProp(target,"default",{value:mod,enumerable:!0}):target,mod));var require_is=__commonJS({"server/node_modules/vscode-languageserver/lib/common/utils/is.js"(exports2){"use strict";Object.defineProperty(exports2,"__esModule",{value:!0});exports2.thenable=exports2.typedArray=exports2.stringArray=exports2.array=exports2.func=exports2.error=exports2.number=exports2.string=exports2.boolean=void 0;function boolean(value){return value===!0||value===!1}exports2.boolean=boolean;function string(value){return typeof value=="string"||value instanceof String}exports2.string=string;function number(value){return typeof value=="number"||value instanceof Number}exports2.number=number;function error(value){return value instanceof Error}exports2.error=error;function func(value){return typeof value=="function"}exports2.func=func;function array(value){return Array.isArray(value)}exports2.array=array;function stringArray(value){return array(value)&&value.every(elem=>string(elem))}exports2.stringArray=stringArray;function typedArray(value,check){return Array.isArray(value)&&value.every(check)}exports2.typedArray=typedArray;function thenable(value){return value&&func(value.then)}exports2.thenable=thenable}});var require_is2=__commonJS({"server/node_modules/vscode-jsonrpc/lib/common/is.js"(exports2){"use strict";Object.defineProperty(exports2,"__esModule",{value:!0});exports2.stringArray=exports2.array=exports2.func=exports2.error=exports2.number=exports2.string=exports2.boolean=void 0;function boolean(value){return value===!0||value===!1}exports2.boolean=boolean;function string(value){return typeof value=="string"||value instanceof String}exports2.string=string;function number(value){return typeof value=="number"||value instanceof Number}exports2.number=number;function error(value){return value instanceof Error}exports2.error=error;function func(value){return typeof value=="function"}exports2.func=func;function array(value){return Array.isArray(value)}exports2.array=array;function stringArray(value){return array(value)&&value.every(elem=>string(elem))}exports2.stringArray=stringArray}});var require_messages=__commonJS({"server/node_modules/vscode-jsonrpc/lib/common/messages.js"(exports2){"use strict";Object.defineProperty(exports2,"__esModule",{value:!0});exports2.Message=exports2.NotificationType9=exports2.NotificationType8=exports2.NotificationType7=exports2.NotificationType6=exports2.NotificationType5=exports2.NotificationType4=exports2.NotificationType3=exports2.NotificationType2=exports2.NotificationType1=exports2.NotificationType0=exports2.NotificationType=exports2.RequestType9=exports2.RequestType8=exports2.RequestType7=exports2.RequestType6=exports2.RequestType5=exports2.RequestType4=exports2.RequestType3=exports2.RequestType2=exports2.RequestType1=exports2.RequestType=exports2.RequestType0=exports2.AbstractMessageSignature=exports2.ParameterStructures=exports2.ResponseError=exports2.ErrorCodes=void 0;var is=require_is2(),ErrorCodes;(function(ErrorCodes2){ErrorCodes2.ParseError=-32700,ErrorCodes2.InvalidRequest=-32600,ErrorCodes2.MethodNotFound=-32601,ErrorCodes2.InvalidParams=-32602,ErrorCodes2.InternalError=-32603,ErrorCodes2.jsonrpcReservedErrorRangeStart=-32099,ErrorCodes2.serverErrorStart=-32099,ErrorCodes2.MessageWriteError=-32099,ErrorCodes2.MessageReadError=-32098,ErrorCodes2.PendingResponseRejected=-32097,ErrorCodes2.ConnectionInactive=-32096,ErrorCodes2.ServerNotInitialized=-32002,ErrorCodes2.UnknownErrorCode=-32001,ErrorCodes2.jsonrpcReservedErrorRangeEnd=-32e3,ErrorCodes2.serverErrorEnd=-32e3})(ErrorCodes||(exports2.ErrorCodes=ErrorCodes={}));var ResponseError=class _ResponseError extends Error{constructor(code,message,data){super(message),this.code=is.number(code)?code:ErrorCodes.UnknownErrorCode,this.data=data,Object.setPrototypeOf(this,_ResponseError.prototype)}toJson(){let result={code:this.code,message:this.message};return this.data!==void 0&&(result.data=this.data),result}};exports2.ResponseError=ResponseError;var ParameterStructures=class _ParameterStructures{constructor(kind){this.kind=kind}static is(value){return value===_ParameterStructures.auto||value===_ParameterStructures.byName||value===_ParameterStructures.byPosition}toString(){return this.kind}};exports2.ParameterStructures=ParameterStructures;ParameterStructures.auto=new ParameterStructures("auto");ParameterStructures.byPosition=new ParameterStructures("byPosition");ParameterStructures.byName=new ParameterStructures("byName");var AbstractMessageSignature=class{constructor(method,numberOfParams){this.method=method,this.numberOfParams=numberOfParams}get parameterStructures(){return ParameterStructures.auto}};exports2.AbstractMessageSignature=AbstractMessageSignature;var RequestType0=class extends AbstractMessageSignature{constructor(method){super(method,0)}};exports2.RequestType0=RequestType0;var RequestType=class extends AbstractMessageSignature{constructor(method,_parameterStructures=ParameterStructures.auto){super(method,1),this._parameterStructures=_parameterStructures}get parameterStructures(){return this._parameterStructures}};exports2.RequestType=RequestType;var RequestType1=class extends AbstractMessageSignature{constructor(method,_parameterStructures=ParameterStructures.auto){super(method,1),this._parameterStructures=_parameterStructures}get parameterStructures(){return this._parameterStructures}};exports2.RequestType1=RequestType1;var RequestType2=class extends AbstractMessageSignature{constructor(method){super(method,2)}};exports2.RequestType2=RequestType2;var RequestType3=class extends AbstractMessageSignature{constructor(method){super(method,3)}};exports2.RequestType3=RequestType3;var RequestType4=class extends AbstractMessageSignature{constructor(method){super(method,4)}};exports2.RequestType4=RequestType4;var RequestType5=class extends AbstractMessageSignature{constructor(method){super(method,5)}};exports2.RequestType5=RequestType5;var RequestType6=class extends AbstractMessageSignature{constructor(method){super(method,6)}};exports2.RequestType6=RequestType6;var RequestType7=class extends AbstractMessageSignature{constructor(method){super(method,7)}};exports2.RequestType7=RequestType7;var RequestType8=class extends AbstractMessageSignature{constructor(method){super(method,8)}};exports2.RequestType8=RequestType8;var RequestType9=class extends AbstractMessageSignature{constructor(method){super(method,9)}};exports2.RequestType9=RequestType9;var NotificationType=class extends AbstractMessageSignature{constructor(method,_parameterStructures=ParameterStructures.auto){super(method,1),this._parameterStructures=_parameterStructures}get parameterStructures(){return this._parameterStructures}};exports2.NotificationType=NotificationType;var NotificationType0=class extends AbstractMessageSignature{constructor(method){super(method,0)}};exports2.NotificationType0=NotificationType0;var NotificationType1=class extends AbstractMessageSignature{constructor(method,_parameterStructures=ParameterStructures.auto){super(method,1),this._parameterStructures=_parameterStructures}get parameterStructures(){return this._parameterStructures}};exports2.NotificationType1=NotificationType1;var NotificationType2=class extends AbstractMessageSignature{constructor(method){super(method,2)}};exports2.NotificationType2=NotificationType2;var NotificationType3=class extends AbstractMessageSignature{constructor(method){super(method,3)}};exports2.NotificationType3=NotificationType3;var NotificationType4=class extends AbstractMessageSignature{constructor(method){super(method,4)}};exports2.NotificationType4=NotificationType4;var NotificationType5=class extends AbstractMessageSignature{constructor(method){super(method,5)}};exports2.NotificationType5=NotificationType5;var NotificationType6=class extends AbstractMessageSignature{constructor(method){super(method,6)}};exports2.NotificationType6=NotificationType6;var NotificationType7=class extends AbstractMessageSignature{constructor(method){super(method,7)}};exports2.NotificationType7=NotificationType7;var NotificationType8=class extends AbstractMessageSignature{constructor(method){super(method,8)}};exports2.NotificationType8=NotificationType8;var NotificationType9=class extends AbstractMessageSignature{constructor(method){super(method,9)}};exports2.NotificationType9=NotificationType9;var Message;(function(Message2){function isRequest(message){let candidate=message;return candidate&&is.string(candidate.method)&&(is.string(candidate.id)||is.number(candidate.id))}Message2.isRequest=isRequest;function isNotification(message){let candidate=message;return candidate&&is.string(candidate.method)&&message.id===void 0}Message2.isNotification=isNotification;function isResponse(message){let candidate=message;return candidate&&(candidate.result!==void 0||!!candidate.error)&&(is.string(candidate.id)||is.number(candidate.id)||candidate.id===null)}Message2.isResponse=isResponse})(Message||(exports2.Message=Message={}))}});var require_linkedMap=__commonJS({"server/node_modules/vscode-jsonrpc/lib/common/linkedMap.js"(exports2){"use strict";var _a;Object.defineProperty(exports2,"__esModule",{value:!0});exports2.LRUCache=exports2.LinkedMap=exports2.Touch=void 0;var Touch;(function(Touch2){Touch2.None=0,Touch2.First=1,Touch2.AsOld=Touch2.First,Touch2.Last=2,Touch2.AsNew=Touch2.Last})(Touch||(exports2.Touch=Touch={}));var LinkedMap=class{constructor(){this[_a]="LinkedMap",this._map=new Map,this._head=void 0,this._tail=void 0,this._size=0,this._state=0}clear(){this._map.clear(),this._head=void 0,this._tail=void 0,this._size=0,this._state++}isEmpty(){return!this._head&&!this._tail}get size(){return this._size}get first(){return this._head?.value}get last(){return this._tail?.value}has(key){return this._map.has(key)}get(key,touch=Touch.None){let item=this._map.get(key);if(item)return touch!==Touch.None&&this.touch(item,touch),item.value}set(key,value,touch=Touch.None){let item=this._map.get(key);if(item)item.value=value,touch!==Touch.None&&this.touch(item,touch);else{switch(item={key,value,next:void 0,previous:void 0},touch){case Touch.None:this.addItemLast(item);break;case Touch.First:this.addItemFirst(item);break;case Touch.Last:this.addItemLast(item);break;default:this.addItemLast(item);break}this._map.set(key,item),this._size++}return this}delete(key){return!!this.remove(key)}remove(key){let item=this._map.get(key);if(item)return this._map.delete(key),this.removeItem(item),this._size--,item.value}shift(){if(!this._head&&!this._tail)return;if(!this._head||!this._tail)throw new Error("Invalid list");let item=this._head;return this._map.delete(item.key),this.removeItem(item),this._size--,item.value}forEach(callbackfn,thisArg){let state=this._state,current=this._head;for(;current;){if(thisArg?callbackfn.bind(thisArg)(current.value,current.key,this):callbackfn(current.value,current.key,this),this._state!==state)throw new Error("LinkedMap got modified during iteration.");current=current.next}}keys(){let state=this._state,current=this._head,iterator={[Symbol.iterator]:()=>iterator,next:()=>{if(this._state!==state)throw new Error("LinkedMap got modified during iteration.");if(current){let result={value:current.key,done:!1};return current=current.next,result}else return{value:void 0,done:!0}}};return iterator}values(){let state=this._state,current=this._head,iterator={[Symbol.iterator]:()=>iterator,next:()=>{if(this._state!==state)throw new Error("LinkedMap got modified during iteration.");if(current){let result={value:current.value,done:!1};return current=current.next,result}else return{value:void 0,done:!0}}};return iterator}entries(){let state=this._state,current=this._head,iterator={[Symbol.iterator]:()=>iterator,next:()=>{if(this._state!==state)throw new Error("LinkedMap got modified during iteration.");if(current){let result={value:[current.key,current.value],done:!1};return current=current.next,result}else return{value:void 0,done:!0}}};return iterator}[(_a=Symbol.toStringTag,Symbol.iterator)](){return this.entries()}trimOld(newSize){if(newSize>=this.size)return;if(newSize===0){this.clear();return}let current=this._head,currentSize=this.size;for(;current&¤tSize>newSize;)this._map.delete(current.key),current=current.next,currentSize--;this._head=current,this._size=currentSize,current&&(current.previous=void 0),this._state++}addItemFirst(item){if(!this._head&&!this._tail)this._tail=item;else if(this._head)item.next=this._head,this._head.previous=item;else throw new Error("Invalid list");this._head=item,this._state++}addItemLast(item){if(!this._head&&!this._tail)this._head=item;else if(this._tail)item.previous=this._tail,this._tail.next=item;else throw new Error("Invalid list");this._tail=item,this._state++}removeItem(item){if(item===this._head&&item===this._tail)this._head=void 0,this._tail=void 0;else if(item===this._head){if(!item.next)throw new Error("Invalid list");item.next.previous=void 0,this._head=item.next}else if(item===this._tail){if(!item.previous)throw new Error("Invalid list");item.previous.next=void 0,this._tail=item.previous}else{let next=item.next,previous=item.previous;if(!next||!previous)throw new Error("Invalid list");next.previous=previous,previous.next=next}item.next=void 0,item.previous=void 0,this._state++}touch(item,touch){if(!this._head||!this._tail)throw new Error("Invalid list");if(!(touch!==Touch.First&&touch!==Touch.Last)){if(touch===Touch.First){if(item===this._head)return;let next=item.next,previous=item.previous;item===this._tail?(previous.next=void 0,this._tail=previous):(next.previous=previous,previous.next=next),item.previous=void 0,item.next=this._head,this._head.previous=item,this._head=item,this._state++}else if(touch===Touch.Last){if(item===this._tail)return;let next=item.next,previous=item.previous;item===this._head?(next.previous=void 0,this._head=next):(next.previous=previous,previous.next=next),item.next=void 0,item.previous=this._tail,this._tail.next=item,this._tail=item,this._state++}}}toJSON(){let data=[];return this.forEach((value,key)=>{data.push([key,value])}),data}fromJSON(data){this.clear();for(let[key,value]of data)this.set(key,value)}};exports2.LinkedMap=LinkedMap;var LRUCache=class extends LinkedMap{constructor(limit,ratio=1){super(),this._limit=limit,this._ratio=Math.min(Math.max(0,ratio),1)}get limit(){return this._limit}set limit(limit){this._limit=limit,this.checkTrim()}get ratio(){return this._ratio}set ratio(ratio){this._ratio=Math.min(Math.max(0,ratio),1),this.checkTrim()}get(key,touch=Touch.AsNew){return super.get(key,touch)}peek(key){return super.get(key,Touch.None)}set(key,value){return super.set(key,value,Touch.Last),this.checkTrim(),this}checkTrim(){this.size>this._limit&&this.trimOld(Math.round(this._limit*this._ratio))}};exports2.LRUCache=LRUCache}});var require_disposable=__commonJS({"server/node_modules/vscode-jsonrpc/lib/common/disposable.js"(exports2){"use strict";Object.defineProperty(exports2,"__esModule",{value:!0});exports2.Disposable=void 0;var Disposable;(function(Disposable2){function create(func){return{dispose:func}}Disposable2.create=create})(Disposable||(exports2.Disposable=Disposable={}))}});var require_ral=__commonJS({"server/node_modules/vscode-jsonrpc/lib/common/ral.js"(exports2){"use strict";Object.defineProperty(exports2,"__esModule",{value:!0});var _ral;function RAL(){if(_ral===void 0)throw new Error("No runtime abstraction layer installed");return _ral}(function(RAL2){function install(ral){if(ral===void 0)throw new Error("No runtime abstraction layer provided");_ral=ral}RAL2.install=install})(RAL||(RAL={}));exports2.default=RAL}});var require_events=__commonJS({"server/node_modules/vscode-jsonrpc/lib/common/events.js"(exports2){"use strict";Object.defineProperty(exports2,"__esModule",{value:!0});exports2.Emitter=exports2.Event=void 0;var ral_1=require_ral(),Event;(function(Event2){let _disposable={dispose(){}};Event2.None=function(){return _disposable}})(Event||(exports2.Event=Event={}));var CallbackList=class{add(callback,context=null,bucket){this._callbacks||(this._callbacks=[],this._contexts=[]),this._callbacks.push(callback),this._contexts.push(context),Array.isArray(bucket)&&bucket.push({dispose:()=>this.remove(callback,context)})}remove(callback,context=null){if(!this._callbacks)return;let foundCallbackWithDifferentContext=!1;for(let i=0,len=this._callbacks.length;i<len;i++)if(this._callbacks[i]===callback)if(this._contexts[i]===context){this._callbacks.splice(i,1),this._contexts.splice(i,1);return}else foundCallbackWithDifferentContext=!0;if(foundCallbackWithDifferentContext)throw new Error("When adding a listener with a context, you should remove it with the same context")}invoke(...args){if(!this._callbacks)return[];let ret=[],callbacks=this._callbacks.slice(0),contexts=this._contexts.slice(0);for(let i=0,len=callbacks.length;i<len;i++)try{ret.push(callbacks[i].apply(contexts[i],args))}catch(e){(0,ral_1.default)().console.error(e)}return ret}isEmpty(){return!this._callbacks||this._callbacks.length===0}dispose(){this._callbacks=void 0,this._contexts=void 0}},Emitter=class _Emitter{constructor(_options){this._options=_options}get event(){return this._event||(this._event=(listener,thisArgs,disposables)=>{this._callbacks||(this._callbacks=new CallbackList),this._options&&this._options.onFirstListenerAdd&&this._callbacks.isEmpty()&&this._options.onFirstListenerAdd(this),this._callbacks.add(listener,thisArgs);let result={dispose:()=>{this._callbacks&&(this._callbacks.remove(listener,thisArgs),result.dispose=_Emitter._noop,this._options&&this._options.onLastListenerRemove&&this._callbacks.isEmpty()&&this._options.onLastListenerRemove(this))}};return Array.isArray(disposables)&&disposables.push(result),result}),this._event}fire(event){this._callbacks&&this._callbacks.invoke.call(this._callbacks,event)}dispose(){this._callbacks&&(this._callbacks.dispose(),this._callbacks=void 0)}};exports2.Emitter=Emitter;Emitter._noop=function(){}}});var require_cancellation=__commonJS({"server/node_modules/vscode-jsonrpc/lib/common/cancellation.js"(exports2){"use strict";Object.defineProperty(exports2,"__esModule",{value:!0});exports2.CancellationTokenSource=exports2.CancellationToken=void 0;var ral_1=require_ral(),Is=require_is2(),events_1=require_events(),CancellationToken;(function(CancellationToken2){CancellationToken2.None=Object.freeze({isCancellationRequested:!1,onCancellationRequested:events_1.Event.None}),CancellationToken2.Cancelled=Object.freeze({isCancellationRequested:!0,onCancellationRequested:events_1.Event.None});function is(value){let candidate=value;return candidate&&(candidate===CancellationToken2.None||candidate===CancellationToken2.Cancelled||Is.boolean(candidate.isCancellationRequested)&&!!candidate.onCancellationRequested)}CancellationToken2.is=is})(CancellationToken||(exports2.CancellationToken=CancellationToken={}));var shortcutEvent=Object.freeze(function(callback,context){let handle=(0,ral_1.default)().timer.setTimeout(callback.bind(context),0);return{dispose(){handle.dispose()}}}),MutableToken=class{constructor(){this._isCancelled=!1}cancel(){this._isCancelled||(this._isCancelled=!0,this._emitter&&(this._emitter.fire(void 0),this.dispose()))}get isCancellationRequested(){return this._isCancelled}get onCancellationRequested(){return this._isCancelled?shortcutEvent:(this._emitter||(this._emitter=new events_1.Emitter),this._emitter.event)}dispose(){this._emitter&&(this._emitter.dispose(),this._emitter=void 0)}},CancellationTokenSource=class{get token(){return this._token||(this._token=new MutableToken),this._token}cancel(){this._token?this._token.cancel():this._token=CancellationToken.Cancelled}dispose(){this._token?this._token instanceof MutableToken&&this._token.dispose():this._token=CancellationToken.None}};exports2.CancellationTokenSource=CancellationTokenSource}});var require_sharedArrayCancellation=__commonJS({"server/node_modules/vscode-jsonrpc/lib/common/sharedArrayCancellation.js"(exports2){"use strict";Object.defineProperty(exports2,"__esModule",{value:!0});exports2.SharedArrayReceiverStrategy=exports2.SharedArraySenderStrategy=void 0;var cancellation_1=require_cancellation(),CancellationState;(function(CancellationState2){CancellationState2.Continue=0,CancellationState2.Cancelled=1})(CancellationState||(CancellationState={}));var SharedArraySenderStrategy=class{constructor(){this.buffers=new Map}enableCancellation(request){if(request.id===null)return;let buffer=new SharedArrayBuffer(4),data=new Int32Array(buffer,0,1);data[0]=CancellationState.Continue,this.buffers.set(request.id,buffer),request.$cancellationData=buffer}async sendCancellation(_conn,id){let buffer=this.buffers.get(id);if(buffer===void 0)return;let data=new Int32Array(buffer,0,1);Atomics.store(data,0,CancellationState.Cancelled)}cleanup(id){this.buffers.delete(id)}dispose(){this.buffers.clear()}};exports2.SharedArraySenderStrategy=SharedArraySenderStrategy;var SharedArrayBufferCancellationToken=class{constructor(buffer){this.data=new Int32Array(buffer,0,1)}get isCancellationRequested(){return Atomics.load(this.data,0)===CancellationState.Cancelled}get onCancellationRequested(){throw new Error("Cancellation over SharedArrayBuffer doesn't support cancellation events")}},SharedArrayBufferCancellationTokenSource=class{constructor(buffer){this.token=new SharedArrayBufferCancellationToken(buffer)}cancel(){}dispose(){}},SharedArrayReceiverStrategy=class{constructor(){this.kind="request"}createCancellationTokenSource(request){let buffer=request.$cancellationData;return buffer===void 0?new cancellation_1.CancellationTokenSource:new SharedArrayBufferCancellationTokenSource(buffer)}};exports2.SharedArrayReceiverStrategy=SharedArrayReceiverStrategy}});var require_semaphore=__commonJS({"server/node_modules/vscode-jsonrpc/lib/common/semaphore.js"(exports2){"use strict";Object.defineProperty(exports2,"__esModule",{value:!0});exports2.Semaphore=void 0;var ral_1=require_ral(),Semaphore=class{constructor(capacity=1){if(capacity<=0)throw new Error("Capacity must be greater than 0");this._capacity=capacity,this._active=0,this._waiting=[]}lock(thunk){return new Promise((resolve2,reject)=>{this._waiting.push({thunk,resolve:resolve2,reject}),this.runNext()})}get active(){return this._active}runNext(){this._waiting.length===0||this._active===this._capacity||(0,ral_1.default)().timer.setImmediate(()=>this.doRunNext())}doRunNext(){if(this._waiting.length===0||this._active===this._capacity)return;let next=this._waiting.shift();if(this._active++,this._active>this._capacity)throw new Error("To many thunks active");try{let result=next.thunk();result instanceof Promise?result.then(value=>{this._active--,next.resolve(value),this.runNext()},err=>{this._active--,next.reject(err),this.runNext()}):(this._active--,next.resolve(result),this.runNext())}catch(err){this._active--,next.reject(err),this.runNext()}}};exports2.Semaphore=Semaphore}});var require_messageReader=__commonJS({"server/node_modules/vscode-jsonrpc/lib/common/messageReader.js"(exports2){"use strict";Object.defineProperty(exports2,"__esModule",{value:!0});exports2.ReadableStreamMessageReader=exports2.AbstractMessageReader=exports2.MessageReader=void 0;var ral_1=require_ral(),Is=require_is2(),events_1=require_events(),semaphore_1=require_semaphore(),MessageReader;(function(MessageReader2){function is(value){let candidate=value;return candidate&&Is.func(candidate.listen)&&Is.func(candidate.dispose)&&Is.func(candidate.onError)&&Is.func(candidate.onClose)&&Is.func(candidate.onPartialMessage)}MessageReader2.is=is})(MessageReader||(exports2.MessageReader=MessageReader={}));var AbstractMessageReader=class{constructor(){this.errorEmitter=new events_1.Emitter,this.closeEmitter=new events_1.Emitter,this.partialMessageEmitter=new events_1.Emitter}dispose(){this.errorEmitter.dispose(),this.closeEmitter.dispose()}get onError(){return this.errorEmitter.event}fireError(error){this.errorEmitter.fire(this.asError(error))}get onClose(){return this.closeEmitter.event}fireClose(){this.closeEmitter.fire(void 0)}get onPartialMessage(){return this.partialMessageEmitter.event}firePartialMessage(info){this.partialMessageEmitter.fire(info)}asError(error){return error instanceof Error?error:new Error(`Reader received error. Reason: ${Is.string(error.message)?error.message:"unknown"}`)}};exports2.AbstractMessageReader=AbstractMessageReader;var ResolvedMessageReaderOptions;(function(ResolvedMessageReaderOptions2){function fromOptions(options){let charset,result,contentDecoder,contentDecoders=new Map,contentTypeDecoder,contentTypeDecoders=new Map;if(options===void 0||typeof options=="string")charset=options??"utf-8";else{if(charset=options.charset??"utf-8",options.contentDecoder!==void 0&&(contentDecoder=options.contentDecoder,contentDecoders.set(contentDecoder.name,contentDecoder)),options.contentDecoders!==void 0)for(let decoder of options.contentDecoders)contentDecoders.set(decoder.name,decoder);if(options.contentTypeDecoder!==void 0&&(contentTypeDecoder=options.contentTypeDecoder,contentTypeDecoders.set(contentTypeDecoder.name,contentTypeDecoder)),options.contentTypeDecoders!==void 0)for(let decoder of options.contentTypeDecoders)contentTypeDecoders.set(decoder.name,decoder)}return contentTypeDecoder===void 0&&(contentTypeDecoder=(0,ral_1.default)().applicationJson.decoder,contentTypeDecoders.set(contentTypeDecoder.name,contentTypeDecoder)),{charset,contentDecoder,contentDecoders,contentTypeDecoder,contentTypeDecoders}}ResolvedMessageReaderOptions2.fromOptions=fromOptions})(ResolvedMessageReaderOptions||(ResolvedMessageReaderOptions={}));var ReadableStreamMessageReader=class extends AbstractMessageReader{constructor(readable,options){super(),this.readable=readable,this.options=ResolvedMessageReaderOptions.fromOptions(options),this.buffer=(0,ral_1.default)().messageBuffer.create(this.options.charset),this._partialMessageTimeout=1e4,this.nextMessageLength=-1,this.messageToken=0,this.readSemaphore=new semaphore_1.Semaphore(1)}set partialMessageTimeout(timeout){this._partialMessageTimeout=timeout}get partialMessageTimeout(){return this._partialMessageTimeout}listen(callback){this.nextMessageLength=-1,this.messageToken=0,this.partialMessageTimer=void 0,this.callback=callback;let result=this.readable.onData(data=>{this.onData(data)});return this.readable.onError(error=>this.fireError(error)),this.readable.onClose(()=>this.fireClose()),result}onData(data){try{for(this.buffer.append(data);;){if(this.nextMessageLength===-1){let headers=this.buffer.tryReadHeaders(!0);if(!headers)return;let contentLength=headers.get("content-length");if(!contentLength){this.fireError(new Error(`Header must provide a Content-Length property.
|
|
2
|
+
${JSON.stringify(Object.fromEntries(headers))}`));return}let length=parseInt(contentLength);if(isNaN(length)){this.fireError(new Error(`Content-Length value must be a number. Got ${contentLength}`));return}this.nextMessageLength=length}let body=this.buffer.tryReadBody(this.nextMessageLength);if(body===void 0){this.setPartialMessageTimer();return}this.clearPartialMessageTimer(),this.nextMessageLength=-1,this.readSemaphore.lock(async()=>{let bytes=this.options.contentDecoder!==void 0?await this.options.contentDecoder.decode(body):body,message=await this.options.contentTypeDecoder.decode(bytes,this.options);this.callback(message)}).catch(error=>{this.fireError(error)})}}catch(error){this.fireError(error)}}clearPartialMessageTimer(){this.partialMessageTimer&&(this.partialMessageTimer.dispose(),this.partialMessageTimer=void 0)}setPartialMessageTimer(){this.clearPartialMessageTimer(),!(this._partialMessageTimeout<=0)&&(this.partialMessageTimer=(0,ral_1.default)().timer.setTimeout((token,timeout)=>{this.partialMessageTimer=void 0,token===this.messageToken&&(this.firePartialMessage({messageToken:token,waitingTime:timeout}),this.setPartialMessageTimer())},this._partialMessageTimeout,this.messageToken,this._partialMessageTimeout))}};exports2.ReadableStreamMessageReader=ReadableStreamMessageReader}});var require_messageWriter=__commonJS({"server/node_modules/vscode-jsonrpc/lib/common/messageWriter.js"(exports2){"use strict";Object.defineProperty(exports2,"__esModule",{value:!0});exports2.WriteableStreamMessageWriter=exports2.AbstractMessageWriter=exports2.MessageWriter=void 0;var ral_1=require_ral(),Is=require_is2(),semaphore_1=require_semaphore(),events_1=require_events(),ContentLength="Content-Length: ",CRLF=`\r
|
|
3
|
+
`,MessageWriter;(function(MessageWriter2){function is(value){let candidate=value;return candidate&&Is.func(candidate.dispose)&&Is.func(candidate.onClose)&&Is.func(candidate.onError)&&Is.func(candidate.write)}MessageWriter2.is=is})(MessageWriter||(exports2.MessageWriter=MessageWriter={}));var AbstractMessageWriter=class{constructor(){this.errorEmitter=new events_1.Emitter,this.closeEmitter=new events_1.Emitter}dispose(){this.errorEmitter.dispose(),this.closeEmitter.dispose()}get onError(){return this.errorEmitter.event}fireError(error,message,count){this.errorEmitter.fire([this.asError(error),message,count])}get onClose(){return this.closeEmitter.event}fireClose(){this.closeEmitter.fire(void 0)}asError(error){return error instanceof Error?error:new Error(`Writer received error. Reason: ${Is.string(error.message)?error.message:"unknown"}`)}};exports2.AbstractMessageWriter=AbstractMessageWriter;var ResolvedMessageWriterOptions;(function(ResolvedMessageWriterOptions2){function fromOptions(options){return options===void 0||typeof options=="string"?{charset:options??"utf-8",contentTypeEncoder:(0,ral_1.default)().applicationJson.encoder}:{charset:options.charset??"utf-8",contentEncoder:options.contentEncoder,contentTypeEncoder:options.contentTypeEncoder??(0,ral_1.default)().applicationJson.encoder}}ResolvedMessageWriterOptions2.fromOptions=fromOptions})(ResolvedMessageWriterOptions||(ResolvedMessageWriterOptions={}));var WriteableStreamMessageWriter=class extends AbstractMessageWriter{constructor(writable,options){super(),this.writable=writable,this.options=ResolvedMessageWriterOptions.fromOptions(options),this.errorCount=0,this.writeSemaphore=new semaphore_1.Semaphore(1),this.writable.onError(error=>this.fireError(error)),this.writable.onClose(()=>this.fireClose())}async write(msg){return this.writeSemaphore.lock(async()=>this.options.contentTypeEncoder.encode(msg,this.options).then(buffer=>this.options.contentEncoder!==void 0?this.options.contentEncoder.encode(buffer):buffer).then(buffer=>{let headers=[];return headers.push(ContentLength,buffer.byteLength.toString(),CRLF),headers.push(CRLF),this.doWrite(msg,headers,buffer)},error=>{throw this.fireError(error),error}))}async doWrite(msg,headers,data){try{return await this.writable.write(headers.join(""),"ascii"),this.writable.write(data)}catch(error){return this.handleError(error,msg),Promise.reject(error)}}handleError(error,msg){this.errorCount++,this.fireError(error,msg,this.errorCount)}end(){this.writable.end()}};exports2.WriteableStreamMessageWriter=WriteableStreamMessageWriter}});var require_messageBuffer=__commonJS({"server/node_modules/vscode-jsonrpc/lib/common/messageBuffer.js"(exports2){"use strict";Object.defineProperty(exports2,"__esModule",{value:!0});exports2.AbstractMessageBuffer=void 0;var CR=13,LF=10,CRLF=`\r
|
|
4
|
+
`,AbstractMessageBuffer=class{constructor(encoding="utf-8"){this._encoding=encoding,this._chunks=[],this._totalLength=0}get encoding(){return this._encoding}append(chunk){let toAppend=typeof chunk=="string"?this.fromString(chunk,this._encoding):chunk;this._chunks.push(toAppend),this._totalLength+=toAppend.byteLength}tryReadHeaders(lowerCaseKeys=!1){if(this._chunks.length===0)return;let state=0,chunkIndex=0,offset=0,chunkBytesRead=0;row:for(;chunkIndex<this._chunks.length;){let chunk=this._chunks[chunkIndex];for(offset=0;offset<chunk.length;){switch(chunk[offset]){case CR:switch(state){case 0:state=1;break;case 2:state=3;break;default:state=0}break;case LF:switch(state){case 1:state=2;break;case 3:state=4,offset++;break row;default:state=0}break;default:state=0}offset++}chunkBytesRead+=chunk.byteLength,chunkIndex++}if(state!==4)return;let buffer=this._read(chunkBytesRead+offset),result=new Map,headers=this.toString(buffer,"ascii").split(CRLF);if(headers.length<2)return result;for(let i=0;i<headers.length-2;i++){let header=headers[i],index2=header.indexOf(":");if(index2===-1)throw new Error(`Message header must separate key and value using ':'
|
|
5
|
+
${header}`);let key=header.substr(0,index2),value=header.substr(index2+1).trim();result.set(lowerCaseKeys?key.toLowerCase():key,value)}return result}tryReadBody(length){if(!(this._totalLength<length))return this._read(length)}get numberOfBytes(){return this._totalLength}_read(byteCount){if(byteCount===0)return this.emptyBuffer();if(byteCount>this._totalLength)throw new Error("Cannot read so many bytes!");if(this._chunks[0].byteLength===byteCount){let chunk=this._chunks[0];return this._chunks.shift(),this._totalLength-=byteCount,this.asNative(chunk)}if(this._chunks[0].byteLength>byteCount){let chunk=this._chunks[0],result2=this.asNative(chunk,byteCount);return this._chunks[0]=chunk.slice(byteCount),this._totalLength-=byteCount,result2}let result=this.allocNative(byteCount),resultOffset=0,chunkIndex=0;for(;byteCount>0;){let chunk=this._chunks[chunkIndex];if(chunk.byteLength>byteCount){let chunkPart=chunk.slice(0,byteCount);result.set(chunkPart,resultOffset),resultOffset+=byteCount,this._chunks[chunkIndex]=chunk.slice(byteCount),this._totalLength-=byteCount,byteCount-=byteCount}else result.set(chunk,resultOffset),resultOffset+=chunk.byteLength,this._chunks.shift(),this._totalLength-=chunk.byteLength,byteCount-=chunk.byteLength}return result}};exports2.AbstractMessageBuffer=AbstractMessageBuffer}});var require_connection=__commonJS({"server/node_modules/vscode-jsonrpc/lib/common/connection.js"(exports2){"use strict";Object.defineProperty(exports2,"__esModule",{value:!0});exports2.createMessageConnection=exports2.ConnectionOptions=exports2.MessageStrategy=exports2.CancellationStrategy=exports2.CancellationSenderStrategy=exports2.CancellationReceiverStrategy=exports2.RequestCancellationReceiverStrategy=exports2.IdCancellationReceiverStrategy=exports2.ConnectionStrategy=exports2.ConnectionError=exports2.ConnectionErrors=exports2.LogTraceNotification=exports2.SetTraceNotification=exports2.TraceFormat=exports2.TraceValues=exports2.Trace=exports2.NullLogger=exports2.ProgressType=exports2.ProgressToken=void 0;var ral_1=require_ral(),Is=require_is2(),messages_1=require_messages(),linkedMap_1=require_linkedMap(),events_1=require_events(),cancellation_1=require_cancellation(),CancelNotification;(function(CancelNotification2){CancelNotification2.type=new messages_1.NotificationType("$/cancelRequest")})(CancelNotification||(CancelNotification={}));var ProgressToken;(function(ProgressToken2){function is(value){return typeof value=="string"||typeof value=="number"}ProgressToken2.is=is})(ProgressToken||(exports2.ProgressToken=ProgressToken={}));var ProgressNotification;(function(ProgressNotification2){ProgressNotification2.type=new messages_1.NotificationType("$/progress")})(ProgressNotification||(ProgressNotification={}));var ProgressType=class{constructor(){}};exports2.ProgressType=ProgressType;var StarRequestHandler;(function(StarRequestHandler2){function is(value){return Is.func(value)}StarRequestHandler2.is=is})(StarRequestHandler||(StarRequestHandler={}));exports2.NullLogger=Object.freeze({error:()=>{},warn:()=>{},info:()=>{},log:()=>{}});var Trace;(function(Trace2){Trace2[Trace2.Off=0]="Off",Trace2[Trace2.Messages=1]="Messages",Trace2[Trace2.Compact=2]="Compact",Trace2[Trace2.Verbose=3]="Verbose"})(Trace||(exports2.Trace=Trace={}));var TraceValues;(function(TraceValues2){TraceValues2.Off="off",TraceValues2.Messages="messages",TraceValues2.Compact="compact",TraceValues2.Verbose="verbose"})(TraceValues||(exports2.TraceValues=TraceValues={}));(function(Trace2){function fromString(value){if(!Is.string(value))return Trace2.Off;switch(value=value.toLowerCase(),value){case"off":return Trace2.Off;case"messages":return Trace2.Messages;case"compact":return Trace2.Compact;case"verbose":return Trace2.Verbose;default:return Trace2.Off}}Trace2.fromString=fromString;function toString(value){switch(value){case Trace2.Off:return"off";case Trace2.Messages:return"messages";case Trace2.Compact:return"compact";case Trace2.Verbose:return"verbose";default:return"off"}}Trace2.toString=toString})(Trace||(exports2.Trace=Trace={}));var TraceFormat;(function(TraceFormat2){TraceFormat2.Text="text",TraceFormat2.JSON="json"})(TraceFormat||(exports2.TraceFormat=TraceFormat={}));(function(TraceFormat2){function fromString(value){return Is.string(value)?(value=value.toLowerCase(),value==="json"?TraceFormat2.JSON:TraceFormat2.Text):TraceFormat2.Text}TraceFormat2.fromString=fromString})(TraceFormat||(exports2.TraceFormat=TraceFormat={}));var SetTraceNotification;(function(SetTraceNotification2){SetTraceNotification2.type=new messages_1.NotificationType("$/setTrace")})(SetTraceNotification||(exports2.SetTraceNotification=SetTraceNotification={}));var LogTraceNotification;(function(LogTraceNotification2){LogTraceNotification2.type=new messages_1.NotificationType("$/logTrace")})(LogTraceNotification||(exports2.LogTraceNotification=LogTraceNotification={}));var ConnectionErrors;(function(ConnectionErrors2){ConnectionErrors2[ConnectionErrors2.Closed=1]="Closed",ConnectionErrors2[ConnectionErrors2.Disposed=2]="Disposed",ConnectionErrors2[ConnectionErrors2.AlreadyListening=3]="AlreadyListening"})(ConnectionErrors||(exports2.ConnectionErrors=ConnectionErrors={}));var ConnectionError=class _ConnectionError extends Error{constructor(code,message){super(message),this.code=code,Object.setPrototypeOf(this,_ConnectionError.prototype)}};exports2.ConnectionError=ConnectionError;var ConnectionStrategy;(function(ConnectionStrategy2){function is(value){let candidate=value;return candidate&&Is.func(candidate.cancelUndispatched)}ConnectionStrategy2.is=is})(ConnectionStrategy||(exports2.ConnectionStrategy=ConnectionStrategy={}));var IdCancellationReceiverStrategy;(function(IdCancellationReceiverStrategy2){function is(value){let candidate=value;return candidate&&(candidate.kind===void 0||candidate.kind==="id")&&Is.func(candidate.createCancellationTokenSource)&&(candidate.dispose===void 0||Is.func(candidate.dispose))}IdCancellationReceiverStrategy2.is=is})(IdCancellationReceiverStrategy||(exports2.IdCancellationReceiverStrategy=IdCancellationReceiverStrategy={}));var RequestCancellationReceiverStrategy;(function(RequestCancellationReceiverStrategy2){function is(value){let candidate=value;return candidate&&candidate.kind==="request"&&Is.func(candidate.createCancellationTokenSource)&&(candidate.dispose===void 0||Is.func(candidate.dispose))}RequestCancellationReceiverStrategy2.is=is})(RequestCancellationReceiverStrategy||(exports2.RequestCancellationReceiverStrategy=RequestCancellationReceiverStrategy={}));var CancellationReceiverStrategy;(function(CancellationReceiverStrategy2){CancellationReceiverStrategy2.Message=Object.freeze({createCancellationTokenSource(_){return new cancellation_1.CancellationTokenSource}});function is(value){return IdCancellationReceiverStrategy.is(value)||RequestCancellationReceiverStrategy.is(value)}CancellationReceiverStrategy2.is=is})(CancellationReceiverStrategy||(exports2.CancellationReceiverStrategy=CancellationReceiverStrategy={}));var CancellationSenderStrategy;(function(CancellationSenderStrategy2){CancellationSenderStrategy2.Message=Object.freeze({sendCancellation(conn,id){return conn.sendNotification(CancelNotification.type,{id})},cleanup(_){}});function is(value){let candidate=value;return candidate&&Is.func(candidate.sendCancellation)&&Is.func(candidate.cleanup)}CancellationSenderStrategy2.is=is})(CancellationSenderStrategy||(exports2.CancellationSenderStrategy=CancellationSenderStrategy={}));var CancellationStrategy;(function(CancellationStrategy2){CancellationStrategy2.Message=Object.freeze({receiver:CancellationReceiverStrategy.Message,sender:CancellationSenderStrategy.Message});function is(value){let candidate=value;return candidate&&CancellationReceiverStrategy.is(candidate.receiver)&&CancellationSenderStrategy.is(candidate.sender)}CancellationStrategy2.is=is})(CancellationStrategy||(exports2.CancellationStrategy=CancellationStrategy={}));var MessageStrategy;(function(MessageStrategy2){function is(value){let candidate=value;return candidate&&Is.func(candidate.handleMessage)}MessageStrategy2.is=is})(MessageStrategy||(exports2.MessageStrategy=MessageStrategy={}));var ConnectionOptions;(function(ConnectionOptions2){function is(value){let candidate=value;return candidate&&(CancellationStrategy.is(candidate.cancellationStrategy)||ConnectionStrategy.is(candidate.connectionStrategy)||MessageStrategy.is(candidate.messageStrategy))}ConnectionOptions2.is=is})(ConnectionOptions||(exports2.ConnectionOptions=ConnectionOptions={}));var ConnectionState;(function(ConnectionState2){ConnectionState2[ConnectionState2.New=1]="New",ConnectionState2[ConnectionState2.Listening=2]="Listening",ConnectionState2[ConnectionState2.Closed=3]="Closed",ConnectionState2[ConnectionState2.Disposed=4]="Disposed"})(ConnectionState||(ConnectionState={}));function createMessageConnection(messageReader,messageWriter,_logger,options){let logger=_logger!==void 0?_logger:exports2.NullLogger,sequenceNumber=0,notificationSequenceNumber=0,unknownResponseSequenceNumber=0,version="2.0",starRequestHandler,requestHandlers=new Map,starNotificationHandler,notificationHandlers=new Map,progressHandlers=new Map,timer,messageQueue=new linkedMap_1.LinkedMap,responsePromises=new Map,knownCanceledRequests=new Set,requestTokens=new Map,trace=Trace.Off,traceFormat=TraceFormat.Text,tracer,state=ConnectionState.New,errorEmitter=new events_1.Emitter,closeEmitter=new events_1.Emitter,unhandledNotificationEmitter=new events_1.Emitter,unhandledProgressEmitter=new events_1.Emitter,disposeEmitter=new events_1.Emitter,cancellationStrategy=options&&options.cancellationStrategy?options.cancellationStrategy:CancellationStrategy.Message;function createRequestQueueKey(id){if(id===null)throw new Error("Can't send requests with id null since the response can't be correlated.");return"req-"+id.toString()}function createResponseQueueKey(id){return id===null?"res-unknown-"+(++unknownResponseSequenceNumber).toString():"res-"+id.toString()}function createNotificationQueueKey(){return"not-"+(++notificationSequenceNumber).toString()}function addMessageToQueue(queue,message){messages_1.Message.isRequest(message)?queue.set(createRequestQueueKey(message.id),message):messages_1.Message.isResponse(message)?queue.set(createResponseQueueKey(message.id),message):queue.set(createNotificationQueueKey(),message)}function cancelUndispatched(_message){}function isListening(){return state===ConnectionState.Listening}function isClosed(){return state===ConnectionState.Closed}function isDisposed(){return state===ConnectionState.Disposed}function closeHandler(){(state===ConnectionState.New||state===ConnectionState.Listening)&&(state=ConnectionState.Closed,closeEmitter.fire(void 0))}function readErrorHandler(error){errorEmitter.fire([error,void 0,void 0])}function writeErrorHandler(data){errorEmitter.fire(data)}messageReader.onClose(closeHandler),messageReader.onError(readErrorHandler),messageWriter.onClose(closeHandler),messageWriter.onError(writeErrorHandler);function triggerMessageQueue(){timer||messageQueue.size===0||(timer=(0,ral_1.default)().timer.setImmediate(()=>{timer=void 0,processMessageQueue()}))}function handleMessage(message){messages_1.Message.isRequest(message)?handleRequest(message):messages_1.Message.isNotification(message)?handleNotification(message):messages_1.Message.isResponse(message)?handleResponse(message):handleInvalidMessage(message)}function processMessageQueue(){if(messageQueue.size===0)return;let message=messageQueue.shift();try{let messageStrategy=options?.messageStrategy;MessageStrategy.is(messageStrategy)?messageStrategy.handleMessage(message,handleMessage):handleMessage(message)}finally{triggerMessageQueue()}}let callback=message=>{try{if(messages_1.Message.isNotification(message)&&message.method===CancelNotification.type.method){let cancelId=message.params.id,key=createRequestQueueKey(cancelId),toCancel=messageQueue.get(key);if(messages_1.Message.isRequest(toCancel)){let strategy=options?.connectionStrategy,response=strategy&&strategy.cancelUndispatched?strategy.cancelUndispatched(toCancel,cancelUndispatched):void 0;if(response&&(response.error!==void 0||response.result!==void 0)){messageQueue.delete(key),requestTokens.delete(cancelId),response.id=toCancel.id,traceSendingResponse(response,message.method,Date.now()),messageWriter.write(response).catch(()=>logger.error("Sending response for canceled message failed."));return}}let cancellationToken=requestTokens.get(cancelId);if(cancellationToken!==void 0){cancellationToken.cancel(),traceReceivedNotification(message);return}else knownCanceledRequests.add(cancelId)}addMessageToQueue(messageQueue,message)}finally{triggerMessageQueue()}};function handleRequest(requestMessage){if(isDisposed())return;function reply(resultOrError,method,startTime2){let message={jsonrpc:version,id:requestMessage.id};resultOrError instanceof messages_1.ResponseError?message.error=resultOrError.toJson():message.result=resultOrError===void 0?null:resultOrError,traceSendingResponse(message,method,startTime2),messageWriter.write(message).catch(()=>logger.error("Sending response failed."))}function replyError(error,method,startTime2){let message={jsonrpc:version,id:requestMessage.id,error:error.toJson()};traceSendingResponse(message,method,startTime2),messageWriter.write(message).catch(()=>logger.error("Sending response failed."))}function replySuccess(result,method,startTime2){result===void 0&&(result=null);let message={jsonrpc:version,id:requestMessage.id,result};traceSendingResponse(message,method,startTime2),messageWriter.write(message).catch(()=>logger.error("Sending response failed."))}traceReceivedRequest(requestMessage);let element=requestHandlers.get(requestMessage.method),type,requestHandler;element&&(type=element.type,requestHandler=element.handler);let startTime=Date.now();if(requestHandler||starRequestHandler){let tokenKey=requestMessage.id??String(Date.now()),cancellationSource=IdCancellationReceiverStrategy.is(cancellationStrategy.receiver)?cancellationStrategy.receiver.createCancellationTokenSource(tokenKey):cancellationStrategy.receiver.createCancellationTokenSource(requestMessage);requestMessage.id!==null&&knownCanceledRequests.has(requestMessage.id)&&cancellationSource.cancel(),requestMessage.id!==null&&requestTokens.set(tokenKey,cancellationSource);try{let handlerResult;if(requestHandler)if(requestMessage.params===void 0){if(type!==void 0&&type.numberOfParams!==0){replyError(new messages_1.ResponseError(messages_1.ErrorCodes.InvalidParams,`Request ${requestMessage.method} defines ${type.numberOfParams} params but received none.`),requestMessage.method,startTime);return}handlerResult=requestHandler(cancellationSource.token)}else if(Array.isArray(requestMessage.params)){if(type!==void 0&&type.parameterStructures===messages_1.ParameterStructures.byName){replyError(new messages_1.ResponseError(messages_1.ErrorCodes.InvalidParams,`Request ${requestMessage.method} defines parameters by name but received parameters by position`),requestMessage.method,startTime);return}handlerResult=requestHandler(...requestMessage.params,cancellationSource.token)}else{if(type!==void 0&&type.parameterStructures===messages_1.ParameterStructures.byPosition){replyError(new messages_1.ResponseError(messages_1.ErrorCodes.InvalidParams,`Request ${requestMessage.method} defines parameters by position but received parameters by name`),requestMessage.method,startTime);return}handlerResult=requestHandler(requestMessage.params,cancellationSource.token)}else starRequestHandler&&(handlerResult=starRequestHandler(requestMessage.method,requestMessage.params,cancellationSource.token));let promise=handlerResult;handlerResult?promise.then?promise.then(resultOrError=>{requestTokens.delete(tokenKey),reply(resultOrError,requestMessage.method,startTime)},error=>{requestTokens.delete(tokenKey),error instanceof messages_1.ResponseError?replyError(error,requestMessage.method,startTime):error&&Is.string(error.message)?replyError(new messages_1.ResponseError(messages_1.ErrorCodes.InternalError,`Request ${requestMessage.method} failed with message: ${error.message}`),requestMessage.method,startTime):replyError(new messages_1.ResponseError(messages_1.ErrorCodes.InternalError,`Request ${requestMessage.method} failed unexpectedly without providing any details.`),requestMessage.method,startTime)}):(requestTokens.delete(tokenKey),reply(handlerResult,requestMessage.method,startTime)):(requestTokens.delete(tokenKey),replySuccess(handlerResult,requestMessage.method,startTime))}catch(error){requestTokens.delete(tokenKey),error instanceof messages_1.ResponseError?reply(error,requestMessage.method,startTime):error&&Is.string(error.message)?replyError(new messages_1.ResponseError(messages_1.ErrorCodes.InternalError,`Request ${requestMessage.method} failed with message: ${error.message}`),requestMessage.method,startTime):replyError(new messages_1.ResponseError(messages_1.ErrorCodes.InternalError,`Request ${requestMessage.method} failed unexpectedly without providing any details.`),requestMessage.method,startTime)}}else replyError(new messages_1.ResponseError(messages_1.ErrorCodes.MethodNotFound,`Unhandled method ${requestMessage.method}`),requestMessage.method,startTime)}function handleResponse(responseMessage){if(!isDisposed())if(responseMessage.id===null)responseMessage.error?logger.error(`Received response message without id: Error is:
|
|
6
|
+
${JSON.stringify(responseMessage.error,void 0,4)}`):logger.error("Received response message without id. No further error information provided.");else{let key=responseMessage.id,responsePromise=responsePromises.get(key);if(traceReceivedResponse(responseMessage,responsePromise),responsePromise!==void 0){responsePromises.delete(key);try{if(responseMessage.error){let error=responseMessage.error;responsePromise.reject(new messages_1.ResponseError(error.code,error.message,error.data))}else if(responseMessage.result!==void 0)responsePromise.resolve(responseMessage.result);else throw new Error("Should never happen.")}catch(error){error.message?logger.error(`Response handler '${responsePromise.method}' failed with message: ${error.message}`):logger.error(`Response handler '${responsePromise.method}' failed unexpectedly.`)}}}}function handleNotification(message){if(isDisposed())return;let type,notificationHandler;if(message.method===CancelNotification.type.method){let cancelId=message.params.id;knownCanceledRequests.delete(cancelId),traceReceivedNotification(message);return}else{let element=notificationHandlers.get(message.method);element&&(notificationHandler=element.handler,type=element.type)}if(notificationHandler||starNotificationHandler)try{if(traceReceivedNotification(message),notificationHandler)if(message.params===void 0)type!==void 0&&type.numberOfParams!==0&&type.parameterStructures!==messages_1.ParameterStructures.byName&&logger.error(`Notification ${message.method} defines ${type.numberOfParams} params but received none.`),notificationHandler();else if(Array.isArray(message.params)){let params=message.params;message.method===ProgressNotification.type.method&¶ms.length===2&&ProgressToken.is(params[0])?notificationHandler({token:params[0],value:params[1]}):(type!==void 0&&(type.parameterStructures===messages_1.ParameterStructures.byName&&logger.error(`Notification ${message.method} defines parameters by name but received parameters by position`),type.numberOfParams!==message.params.length&&logger.error(`Notification ${message.method} defines ${type.numberOfParams} params but received ${params.length} arguments`)),notificationHandler(...params))}else type!==void 0&&type.parameterStructures===messages_1.ParameterStructures.byPosition&&logger.error(`Notification ${message.method} defines parameters by position but received parameters by name`),notificationHandler(message.params);else starNotificationHandler&&starNotificationHandler(message.method,message.params)}catch(error){error.message?logger.error(`Notification handler '${message.method}' failed with message: ${error.message}`):logger.error(`Notification handler '${message.method}' failed unexpectedly.`)}else unhandledNotificationEmitter.fire(message)}function handleInvalidMessage(message){if(!message){logger.error("Received empty message.");return}logger.error(`Received message which is neither a response nor a notification message:
|
|
7
|
+
${JSON.stringify(message,null,4)}`);let responseMessage=message;if(Is.string(responseMessage.id)||Is.number(responseMessage.id)){let key=responseMessage.id,responseHandler=responsePromises.get(key);responseHandler&&responseHandler.reject(new Error("The received response has neither a result nor an error property."))}}function stringifyTrace(params){if(params!=null)switch(trace){case Trace.Verbose:return JSON.stringify(params,null,4);case Trace.Compact:return JSON.stringify(params);default:return}}function traceSendingRequest(message){if(!(trace===Trace.Off||!tracer))if(traceFormat===TraceFormat.Text){let data;(trace===Trace.Verbose||trace===Trace.Compact)&&message.params&&(data=`Params: ${stringifyTrace(message.params)}
|
|
8
|
+
|
|
9
|
+
`),tracer.log(`Sending request '${message.method} - (${message.id})'.`,data)}else logLSPMessage("send-request",message)}function traceSendingNotification(message){if(!(trace===Trace.Off||!tracer))if(traceFormat===TraceFormat.Text){let data;(trace===Trace.Verbose||trace===Trace.Compact)&&(message.params?data=`Params: ${stringifyTrace(message.params)}
|
|
10
|
+
|
|
11
|
+
`:data=`No parameters provided.
|
|
12
|
+
|
|
13
|
+
`),tracer.log(`Sending notification '${message.method}'.`,data)}else logLSPMessage("send-notification",message)}function traceSendingResponse(message,method,startTime){if(!(trace===Trace.Off||!tracer))if(traceFormat===TraceFormat.Text){let data;(trace===Trace.Verbose||trace===Trace.Compact)&&(message.error&&message.error.data?data=`Error data: ${stringifyTrace(message.error.data)}
|
|
14
|
+
|
|
15
|
+
`:message.result?data=`Result: ${stringifyTrace(message.result)}
|
|
16
|
+
|
|
17
|
+
`:message.error===void 0&&(data=`No result returned.
|
|
18
|
+
|
|
19
|
+
`)),tracer.log(`Sending response '${method} - (${message.id})'. Processing request took ${Date.now()-startTime}ms`,data)}else logLSPMessage("send-response",message)}function traceReceivedRequest(message){if(!(trace===Trace.Off||!tracer))if(traceFormat===TraceFormat.Text){let data;(trace===Trace.Verbose||trace===Trace.Compact)&&message.params&&(data=`Params: ${stringifyTrace(message.params)}
|
|
20
|
+
|
|
21
|
+
`),tracer.log(`Received request '${message.method} - (${message.id})'.`,data)}else logLSPMessage("receive-request",message)}function traceReceivedNotification(message){if(!(trace===Trace.Off||!tracer||message.method===LogTraceNotification.type.method))if(traceFormat===TraceFormat.Text){let data;(trace===Trace.Verbose||trace===Trace.Compact)&&(message.params?data=`Params: ${stringifyTrace(message.params)}
|
|
22
|
+
|
|
23
|
+
`:data=`No parameters provided.
|
|
24
|
+
|
|
25
|
+
`),tracer.log(`Received notification '${message.method}'.`,data)}else logLSPMessage("receive-notification",message)}function traceReceivedResponse(message,responsePromise){if(!(trace===Trace.Off||!tracer))if(traceFormat===TraceFormat.Text){let data;if((trace===Trace.Verbose||trace===Trace.Compact)&&(message.error&&message.error.data?data=`Error data: ${stringifyTrace(message.error.data)}
|
|
26
|
+
|
|
27
|
+
`:message.result?data=`Result: ${stringifyTrace(message.result)}
|
|
28
|
+
|
|
29
|
+
`:message.error===void 0&&(data=`No result returned.
|
|
30
|
+
|
|
31
|
+
`)),responsePromise){let error=message.error?` Request failed: ${message.error.message} (${message.error.code}).`:"";tracer.log(`Received response '${responsePromise.method} - (${message.id})' in ${Date.now()-responsePromise.timerStart}ms.${error}`,data)}else tracer.log(`Received response ${message.id} without active response promise.`,data)}else logLSPMessage("receive-response",message)}function logLSPMessage(type,message){if(!tracer||trace===Trace.Off)return;let lspMessage={isLSPMessage:!0,type,message,timestamp:Date.now()};tracer.log(lspMessage)}function throwIfClosedOrDisposed(){if(isClosed())throw new ConnectionError(ConnectionErrors.Closed,"Connection is closed.");if(isDisposed())throw new ConnectionError(ConnectionErrors.Disposed,"Connection is disposed.")}function throwIfListening(){if(isListening())throw new ConnectionError(ConnectionErrors.AlreadyListening,"Connection is already listening")}function throwIfNotListening(){if(!isListening())throw new Error("Call listen() first.")}function undefinedToNull(param){return param===void 0?null:param}function nullToUndefined(param){if(param!==null)return param}function isNamedParam(param){return param!=null&&!Array.isArray(param)&&typeof param=="object"}function computeSingleParam(parameterStructures,param){switch(parameterStructures){case messages_1.ParameterStructures.auto:return isNamedParam(param)?nullToUndefined(param):[undefinedToNull(param)];case messages_1.ParameterStructures.byName:if(!isNamedParam(param))throw new Error("Received parameters by name but param is not an object literal.");return nullToUndefined(param);case messages_1.ParameterStructures.byPosition:return[undefinedToNull(param)];default:throw new Error(`Unknown parameter structure ${parameterStructures.toString()}`)}}function computeMessageParams(type,params){let result,numberOfParams=type.numberOfParams;switch(numberOfParams){case 0:result=void 0;break;case 1:result=computeSingleParam(type.parameterStructures,params[0]);break;default:result=[];for(let i=0;i<params.length&&i<numberOfParams;i++)result.push(undefinedToNull(params[i]));if(params.length<numberOfParams)for(let i=params.length;i<numberOfParams;i++)result.push(null);break}return result}let connection2={sendNotification:(type,...args)=>{throwIfClosedOrDisposed();let method,messageParams;if(Is.string(type)){method=type;let first=args[0],paramStart=0,parameterStructures=messages_1.ParameterStructures.auto;messages_1.ParameterStructures.is(first)&&(paramStart=1,parameterStructures=first);let paramEnd=args.length,numberOfParams=paramEnd-paramStart;switch(numberOfParams){case 0:messageParams=void 0;break;case 1:messageParams=computeSingleParam(parameterStructures,args[paramStart]);break;default:if(parameterStructures===messages_1.ParameterStructures.byName)throw new Error(`Received ${numberOfParams} parameters for 'by Name' notification parameter structure.`);messageParams=args.slice(paramStart,paramEnd).map(value=>undefinedToNull(value));break}}else{let params=args;method=type.method,messageParams=computeMessageParams(type,params)}let notificationMessage={jsonrpc:version,method,params:messageParams};return traceSendingNotification(notificationMessage),messageWriter.write(notificationMessage).catch(error=>{throw logger.error("Sending notification failed."),error})},onNotification:(type,handler)=>{throwIfClosedOrDisposed();let method;return Is.func(type)?starNotificationHandler=type:handler&&(Is.string(type)?(method=type,notificationHandlers.set(type,{type:void 0,handler})):(method=type.method,notificationHandlers.set(type.method,{type,handler}))),{dispose:()=>{method!==void 0?notificationHandlers.delete(method):starNotificationHandler=void 0}}},onProgress:(_type,token,handler)=>{if(progressHandlers.has(token))throw new Error(`Progress handler for token ${token} already registered`);return progressHandlers.set(token,handler),{dispose:()=>{progressHandlers.delete(token)}}},sendProgress:(_type,token,value)=>connection2.sendNotification(ProgressNotification.type,{token,value}),onUnhandledProgress:unhandledProgressEmitter.event,sendRequest:(type,...args)=>{throwIfClosedOrDisposed(),throwIfNotListening();let method,messageParams,token;if(Is.string(type)){method=type;let first=args[0],last=args[args.length-1],paramStart=0,parameterStructures=messages_1.ParameterStructures.auto;messages_1.ParameterStructures.is(first)&&(paramStart=1,parameterStructures=first);let paramEnd=args.length;cancellation_1.CancellationToken.is(last)&&(paramEnd=paramEnd-1,token=last);let numberOfParams=paramEnd-paramStart;switch(numberOfParams){case 0:messageParams=void 0;break;case 1:messageParams=computeSingleParam(parameterStructures,args[paramStart]);break;default:if(parameterStructures===messages_1.ParameterStructures.byName)throw new Error(`Received ${numberOfParams} parameters for 'by Name' request parameter structure.`);messageParams=args.slice(paramStart,paramEnd).map(value=>undefinedToNull(value));break}}else{let params=args;method=type.method,messageParams=computeMessageParams(type,params);let numberOfParams=type.numberOfParams;token=cancellation_1.CancellationToken.is(params[numberOfParams])?params[numberOfParams]:void 0}let id=sequenceNumber++,disposable;token&&(disposable=token.onCancellationRequested(()=>{let p=cancellationStrategy.sender.sendCancellation(connection2,id);return p===void 0?(logger.log(`Received no promise from cancellation strategy when cancelling id ${id}`),Promise.resolve()):p.catch(()=>{logger.log(`Sending cancellation messages for id ${id} failed`)})}));let requestMessage={jsonrpc:version,id,method,params:messageParams};return traceSendingRequest(requestMessage),typeof cancellationStrategy.sender.enableCancellation=="function"&&cancellationStrategy.sender.enableCancellation(requestMessage),new Promise(async(resolve2,reject)=>{let resolveWithCleanup=r=>{resolve2(r),cancellationStrategy.sender.cleanup(id),disposable?.dispose()},rejectWithCleanup=r=>{reject(r),cancellationStrategy.sender.cleanup(id),disposable?.dispose()},responsePromise={method,timerStart:Date.now(),resolve:resolveWithCleanup,reject:rejectWithCleanup};try{await messageWriter.write(requestMessage),responsePromises.set(id,responsePromise)}catch(error){throw logger.error("Sending request failed."),responsePromise.reject(new messages_1.ResponseError(messages_1.ErrorCodes.MessageWriteError,error.message?error.message:"Unknown reason")),error}})},onRequest:(type,handler)=>{throwIfClosedOrDisposed();let method=null;return StarRequestHandler.is(type)?(method=void 0,starRequestHandler=type):Is.string(type)?(method=null,handler!==void 0&&(method=type,requestHandlers.set(type,{handler,type:void 0}))):handler!==void 0&&(method=type.method,requestHandlers.set(type.method,{type,handler})),{dispose:()=>{method!==null&&(method!==void 0?requestHandlers.delete(method):starRequestHandler=void 0)}}},hasPendingResponse:()=>responsePromises.size>0,trace:async(_value,_tracer,sendNotificationOrTraceOptions)=>{let _sendNotification=!1,_traceFormat=TraceFormat.Text;sendNotificationOrTraceOptions!==void 0&&(Is.boolean(sendNotificationOrTraceOptions)?_sendNotification=sendNotificationOrTraceOptions:(_sendNotification=sendNotificationOrTraceOptions.sendNotification||!1,_traceFormat=sendNotificationOrTraceOptions.traceFormat||TraceFormat.Text)),trace=_value,traceFormat=_traceFormat,trace===Trace.Off?tracer=void 0:tracer=_tracer,_sendNotification&&!isClosed()&&!isDisposed()&&await connection2.sendNotification(SetTraceNotification.type,{value:Trace.toString(_value)})},onError:errorEmitter.event,onClose:closeEmitter.event,onUnhandledNotification:unhandledNotificationEmitter.event,onDispose:disposeEmitter.event,end:()=>{messageWriter.end()},dispose:()=>{if(isDisposed())return;state=ConnectionState.Disposed,disposeEmitter.fire(void 0);let error=new messages_1.ResponseError(messages_1.ErrorCodes.PendingResponseRejected,"Pending response rejected since connection got disposed");for(let promise of responsePromises.values())promise.reject(error);responsePromises=new Map,requestTokens=new Map,knownCanceledRequests=new Set,messageQueue=new linkedMap_1.LinkedMap,Is.func(messageWriter.dispose)&&messageWriter.dispose(),Is.func(messageReader.dispose)&&messageReader.dispose()},listen:()=>{throwIfClosedOrDisposed(),throwIfListening(),state=ConnectionState.Listening,messageReader.listen(callback)},inspect:()=>{(0,ral_1.default)().console.log("inspect")}};return connection2.onNotification(LogTraceNotification.type,params=>{if(trace===Trace.Off||!tracer)return;let verbose=trace===Trace.Verbose||trace===Trace.Compact;tracer.log(params.message,verbose?params.verbose:void 0)}),connection2.onNotification(ProgressNotification.type,params=>{let handler=progressHandlers.get(params.token);handler?handler(params.value):unhandledProgressEmitter.fire(params)}),connection2}exports2.createMessageConnection=createMessageConnection}});var require_api=__commonJS({"server/node_modules/vscode-jsonrpc/lib/common/api.js"(exports2){"use strict";Object.defineProperty(exports2,"__esModule",{value:!0});exports2.ProgressType=exports2.ProgressToken=exports2.createMessageConnection=exports2.NullLogger=exports2.ConnectionOptions=exports2.ConnectionStrategy=exports2.AbstractMessageBuffer=exports2.WriteableStreamMessageWriter=exports2.AbstractMessageWriter=exports2.MessageWriter=exports2.ReadableStreamMessageReader=exports2.AbstractMessageReader=exports2.MessageReader=exports2.SharedArrayReceiverStrategy=exports2.SharedArraySenderStrategy=exports2.CancellationToken=exports2.CancellationTokenSource=exports2.Emitter=exports2.Event=exports2.Disposable=exports2.LRUCache=exports2.Touch=exports2.LinkedMap=exports2.ParameterStructures=exports2.NotificationType9=exports2.NotificationType8=exports2.NotificationType7=exports2.NotificationType6=exports2.NotificationType5=exports2.NotificationType4=exports2.NotificationType3=exports2.NotificationType2=exports2.NotificationType1=exports2.NotificationType0=exports2.NotificationType=exports2.ErrorCodes=exports2.ResponseError=exports2.RequestType9=exports2.RequestType8=exports2.RequestType7=exports2.RequestType6=exports2.RequestType5=exports2.RequestType4=exports2.RequestType3=exports2.RequestType2=exports2.RequestType1=exports2.RequestType0=exports2.RequestType=exports2.Message=exports2.RAL=void 0;exports2.MessageStrategy=exports2.CancellationStrategy=exports2.CancellationSenderStrategy=exports2.CancellationReceiverStrategy=exports2.ConnectionError=exports2.ConnectionErrors=exports2.LogTraceNotification=exports2.SetTraceNotification=exports2.TraceFormat=exports2.TraceValues=exports2.Trace=void 0;var messages_1=require_messages();Object.defineProperty(exports2,"Message",{enumerable:!0,get:function(){return messages_1.Message}});Object.defineProperty(exports2,"RequestType",{enumerable:!0,get:function(){return messages_1.RequestType}});Object.defineProperty(exports2,"RequestType0",{enumerable:!0,get:function(){return messages_1.RequestType0}});Object.defineProperty(exports2,"RequestType1",{enumerable:!0,get:function(){return messages_1.RequestType1}});Object.defineProperty(exports2,"RequestType2",{enumerable:!0,get:function(){return messages_1.RequestType2}});Object.defineProperty(exports2,"RequestType3",{enumerable:!0,get:function(){return messages_1.RequestType3}});Object.defineProperty(exports2,"RequestType4",{enumerable:!0,get:function(){return messages_1.RequestType4}});Object.defineProperty(exports2,"RequestType5",{enumerable:!0,get:function(){return messages_1.RequestType5}});Object.defineProperty(exports2,"RequestType6",{enumerable:!0,get:function(){return messages_1.RequestType6}});Object.defineProperty(exports2,"RequestType7",{enumerable:!0,get:function(){return messages_1.RequestType7}});Object.defineProperty(exports2,"RequestType8",{enumerable:!0,get:function(){return messages_1.RequestType8}});Object.defineProperty(exports2,"RequestType9",{enumerable:!0,get:function(){return messages_1.RequestType9}});Object.defineProperty(exports2,"ResponseError",{enumerable:!0,get:function(){return messages_1.ResponseError}});Object.defineProperty(exports2,"ErrorCodes",{enumerable:!0,get:function(){return messages_1.ErrorCodes}});Object.defineProperty(exports2,"NotificationType",{enumerable:!0,get:function(){return messages_1.NotificationType}});Object.defineProperty(exports2,"NotificationType0",{enumerable:!0,get:function(){return messages_1.NotificationType0}});Object.defineProperty(exports2,"NotificationType1",{enumerable:!0,get:function(){return messages_1.NotificationType1}});Object.defineProperty(exports2,"NotificationType2",{enumerable:!0,get:function(){return messages_1.NotificationType2}});Object.defineProperty(exports2,"NotificationType3",{enumerable:!0,get:function(){return messages_1.NotificationType3}});Object.defineProperty(exports2,"NotificationType4",{enumerable:!0,get:function(){return messages_1.NotificationType4}});Object.defineProperty(exports2,"NotificationType5",{enumerable:!0,get:function(){return messages_1.NotificationType5}});Object.defineProperty(exports2,"NotificationType6",{enumerable:!0,get:function(){return messages_1.NotificationType6}});Object.defineProperty(exports2,"NotificationType7",{enumerable:!0,get:function(){return messages_1.NotificationType7}});Object.defineProperty(exports2,"NotificationType8",{enumerable:!0,get:function(){return messages_1.NotificationType8}});Object.defineProperty(exports2,"NotificationType9",{enumerable:!0,get:function(){return messages_1.NotificationType9}});Object.defineProperty(exports2,"ParameterStructures",{enumerable:!0,get:function(){return messages_1.ParameterStructures}});var linkedMap_1=require_linkedMap();Object.defineProperty(exports2,"LinkedMap",{enumerable:!0,get:function(){return linkedMap_1.LinkedMap}});Object.defineProperty(exports2,"LRUCache",{enumerable:!0,get:function(){return linkedMap_1.LRUCache}});Object.defineProperty(exports2,"Touch",{enumerable:!0,get:function(){return linkedMap_1.Touch}});var disposable_1=require_disposable();Object.defineProperty(exports2,"Disposable",{enumerable:!0,get:function(){return disposable_1.Disposable}});var events_1=require_events();Object.defineProperty(exports2,"Event",{enumerable:!0,get:function(){return events_1.Event}});Object.defineProperty(exports2,"Emitter",{enumerable:!0,get:function(){return events_1.Emitter}});var cancellation_1=require_cancellation();Object.defineProperty(exports2,"CancellationTokenSource",{enumerable:!0,get:function(){return cancellation_1.CancellationTokenSource}});Object.defineProperty(exports2,"CancellationToken",{enumerable:!0,get:function(){return cancellation_1.CancellationToken}});var sharedArrayCancellation_1=require_sharedArrayCancellation();Object.defineProperty(exports2,"SharedArraySenderStrategy",{enumerable:!0,get:function(){return sharedArrayCancellation_1.SharedArraySenderStrategy}});Object.defineProperty(exports2,"SharedArrayReceiverStrategy",{enumerable:!0,get:function(){return sharedArrayCancellation_1.SharedArrayReceiverStrategy}});var messageReader_1=require_messageReader();Object.defineProperty(exports2,"MessageReader",{enumerable:!0,get:function(){return messageReader_1.MessageReader}});Object.defineProperty(exports2,"AbstractMessageReader",{enumerable:!0,get:function(){return messageReader_1.AbstractMessageReader}});Object.defineProperty(exports2,"ReadableStreamMessageReader",{enumerable:!0,get:function(){return messageReader_1.ReadableStreamMessageReader}});var messageWriter_1=require_messageWriter();Object.defineProperty(exports2,"MessageWriter",{enumerable:!0,get:function(){return messageWriter_1.MessageWriter}});Object.defineProperty(exports2,"AbstractMessageWriter",{enumerable:!0,get:function(){return messageWriter_1.AbstractMessageWriter}});Object.defineProperty(exports2,"WriteableStreamMessageWriter",{enumerable:!0,get:function(){return messageWriter_1.WriteableStreamMessageWriter}});var messageBuffer_1=require_messageBuffer();Object.defineProperty(exports2,"AbstractMessageBuffer",{enumerable:!0,get:function(){return messageBuffer_1.AbstractMessageBuffer}});var connection_1=require_connection();Object.defineProperty(exports2,"ConnectionStrategy",{enumerable:!0,get:function(){return connection_1.ConnectionStrategy}});Object.defineProperty(exports2,"ConnectionOptions",{enumerable:!0,get:function(){return connection_1.ConnectionOptions}});Object.defineProperty(exports2,"NullLogger",{enumerable:!0,get:function(){return connection_1.NullLogger}});Object.defineProperty(exports2,"createMessageConnection",{enumerable:!0,get:function(){return connection_1.createMessageConnection}});Object.defineProperty(exports2,"ProgressToken",{enumerable:!0,get:function(){return connection_1.ProgressToken}});Object.defineProperty(exports2,"ProgressType",{enumerable:!0,get:function(){return connection_1.ProgressType}});Object.defineProperty(exports2,"Trace",{enumerable:!0,get:function(){return connection_1.Trace}});Object.defineProperty(exports2,"TraceValues",{enumerable:!0,get:function(){return connection_1.TraceValues}});Object.defineProperty(exports2,"TraceFormat",{enumerable:!0,get:function(){return connection_1.TraceFormat}});Object.defineProperty(exports2,"SetTraceNotification",{enumerable:!0,get:function(){return connection_1.SetTraceNotification}});Object.defineProperty(exports2,"LogTraceNotification",{enumerable:!0,get:function(){return connection_1.LogTraceNotification}});Object.defineProperty(exports2,"ConnectionErrors",{enumerable:!0,get:function(){return connection_1.ConnectionErrors}});Object.defineProperty(exports2,"ConnectionError",{enumerable:!0,get:function(){return connection_1.ConnectionError}});Object.defineProperty(exports2,"CancellationReceiverStrategy",{enumerable:!0,get:function(){return connection_1.CancellationReceiverStrategy}});Object.defineProperty(exports2,"CancellationSenderStrategy",{enumerable:!0,get:function(){return connection_1.CancellationSenderStrategy}});Object.defineProperty(exports2,"CancellationStrategy",{enumerable:!0,get:function(){return connection_1.CancellationStrategy}});Object.defineProperty(exports2,"MessageStrategy",{enumerable:!0,get:function(){return connection_1.MessageStrategy}});var ral_1=require_ral();exports2.RAL=ral_1.default}});var require_ril=__commonJS({"server/node_modules/vscode-jsonrpc/lib/node/ril.js"(exports2){"use strict";Object.defineProperty(exports2,"__esModule",{value:!0});var util_1=require("util"),api_1=require_api(),MessageBuffer=class _MessageBuffer extends api_1.AbstractMessageBuffer{constructor(encoding="utf-8"){super(encoding)}emptyBuffer(){return _MessageBuffer.emptyBuffer}fromString(value,encoding){return Buffer.from(value,encoding)}toString(value,encoding){return value instanceof Buffer?value.toString(encoding):new util_1.TextDecoder(encoding).decode(value)}asNative(buffer,length){return length===void 0?buffer instanceof Buffer?buffer:Buffer.from(buffer):buffer instanceof Buffer?buffer.slice(0,length):Buffer.from(buffer,0,length)}allocNative(length){return Buffer.allocUnsafe(length)}};MessageBuffer.emptyBuffer=Buffer.allocUnsafe(0);var ReadableStreamWrapper=class{constructor(stream){this.stream=stream}onClose(listener){return this.stream.on("close",listener),api_1.Disposable.create(()=>this.stream.off("close",listener))}onError(listener){return this.stream.on("error",listener),api_1.Disposable.create(()=>this.stream.off("error",listener))}onEnd(listener){return this.stream.on("end",listener),api_1.Disposable.create(()=>this.stream.off("end",listener))}onData(listener){return this.stream.on("data",listener),api_1.Disposable.create(()=>this.stream.off("data",listener))}},WritableStreamWrapper=class{constructor(stream){this.stream=stream}onClose(listener){return this.stream.on("close",listener),api_1.Disposable.create(()=>this.stream.off("close",listener))}onError(listener){return this.stream.on("error",listener),api_1.Disposable.create(()=>this.stream.off("error",listener))}onEnd(listener){return this.stream.on("end",listener),api_1.Disposable.create(()=>this.stream.off("end",listener))}write(data,encoding){return new Promise((resolve2,reject)=>{let callback=error=>{error==null?resolve2():reject(error)};typeof data=="string"?this.stream.write(data,encoding,callback):this.stream.write(data,callback)})}end(){this.stream.end()}},_ril=Object.freeze({messageBuffer:Object.freeze({create:encoding=>new MessageBuffer(encoding)}),applicationJson:Object.freeze({encoder:Object.freeze({name:"application/json",encode:(msg,options)=>{try{return Promise.resolve(Buffer.from(JSON.stringify(msg,void 0,0),options.charset))}catch(err){return Promise.reject(err)}}}),decoder:Object.freeze({name:"application/json",decode:(buffer,options)=>{try{return buffer instanceof Buffer?Promise.resolve(JSON.parse(buffer.toString(options.charset))):Promise.resolve(JSON.parse(new util_1.TextDecoder(options.charset).decode(buffer)))}catch(err){return Promise.reject(err)}}})}),stream:Object.freeze({asReadableStream:stream=>new ReadableStreamWrapper(stream),asWritableStream:stream=>new WritableStreamWrapper(stream)}),console,timer:Object.freeze({setTimeout(callback,ms,...args){let handle=setTimeout(callback,ms,...args);return{dispose:()=>clearTimeout(handle)}},setImmediate(callback,...args){let handle=setImmediate(callback,...args);return{dispose:()=>clearImmediate(handle)}},setInterval(callback,ms,...args){let handle=setInterval(callback,ms,...args);return{dispose:()=>clearInterval(handle)}}})});function RIL(){return _ril}(function(RIL2){function install(){api_1.RAL.install(_ril)}RIL2.install=install})(RIL||(RIL={}));exports2.default=RIL}});var require_main=__commonJS({"server/node_modules/vscode-jsonrpc/lib/node/main.js"(exports2){"use strict";var __createBinding=exports2&&exports2.__createBinding||(Object.create?(function(o,m2,k,k2){k2===void 0&&(k2=k);var desc=Object.getOwnPropertyDescriptor(m2,k);(!desc||("get"in desc?!m2.__esModule:desc.writable||desc.configurable))&&(desc={enumerable:!0,get:function(){return m2[k]}}),Object.defineProperty(o,k2,desc)}):(function(o,m2,k,k2){k2===void 0&&(k2=k),o[k2]=m2[k]})),__exportStar=exports2&&exports2.__exportStar||function(m2,exports3){for(var p in m2)p!=="default"&&!Object.prototype.hasOwnProperty.call(exports3,p)&&__createBinding(exports3,m2,p)};Object.defineProperty(exports2,"__esModule",{value:!0});exports2.createMessageConnection=exports2.createServerSocketTransport=exports2.createClientSocketTransport=exports2.createServerPipeTransport=exports2.createClientPipeTransport=exports2.generateRandomPipeName=exports2.StreamMessageWriter=exports2.StreamMessageReader=exports2.SocketMessageWriter=exports2.SocketMessageReader=exports2.PortMessageWriter=exports2.PortMessageReader=exports2.IPCMessageWriter=exports2.IPCMessageReader=void 0;var ril_1=require_ril();ril_1.default.install();var path=require("path"),os=require("os"),crypto_1=require("crypto"),net_1=require("net"),api_1=require_api();__exportStar(require_api(),exports2);var IPCMessageReader=class extends api_1.AbstractMessageReader{constructor(process2){super(),this.process=process2;let eventEmitter=this.process;eventEmitter.on("error",error=>this.fireError(error)),eventEmitter.on("close",()=>this.fireClose())}listen(callback){return this.process.on("message",callback),api_1.Disposable.create(()=>this.process.off("message",callback))}};exports2.IPCMessageReader=IPCMessageReader;var IPCMessageWriter=class extends api_1.AbstractMessageWriter{constructor(process2){super(),this.process=process2,this.errorCount=0;let eventEmitter=this.process;eventEmitter.on("error",error=>this.fireError(error)),eventEmitter.on("close",()=>this.fireClose)}write(msg){try{return typeof this.process.send=="function"&&this.process.send(msg,void 0,void 0,error=>{error?(this.errorCount++,this.handleError(error,msg)):this.errorCount=0}),Promise.resolve()}catch(error){return this.handleError(error,msg),Promise.reject(error)}}handleError(error,msg){this.errorCount++,this.fireError(error,msg,this.errorCount)}end(){}};exports2.IPCMessageWriter=IPCMessageWriter;var PortMessageReader=class extends api_1.AbstractMessageReader{constructor(port){super(),this.onData=new api_1.Emitter,port.on("close",()=>this.fireClose),port.on("error",error=>this.fireError(error)),port.on("message",message=>{this.onData.fire(message)})}listen(callback){return this.onData.event(callback)}};exports2.PortMessageReader=PortMessageReader;var PortMessageWriter=class extends api_1.AbstractMessageWriter{constructor(port){super(),this.port=port,this.errorCount=0,port.on("close",()=>this.fireClose()),port.on("error",error=>this.fireError(error))}write(msg){try{return this.port.postMessage(msg),Promise.resolve()}catch(error){return this.handleError(error,msg),Promise.reject(error)}}handleError(error,msg){this.errorCount++,this.fireError(error,msg,this.errorCount)}end(){}};exports2.PortMessageWriter=PortMessageWriter;var SocketMessageReader=class extends api_1.ReadableStreamMessageReader{constructor(socket,encoding="utf-8"){super((0,ril_1.default)().stream.asReadableStream(socket),encoding)}};exports2.SocketMessageReader=SocketMessageReader;var SocketMessageWriter=class extends api_1.WriteableStreamMessageWriter{constructor(socket,options){super((0,ril_1.default)().stream.asWritableStream(socket),options),this.socket=socket}dispose(){super.dispose(),this.socket.destroy()}};exports2.SocketMessageWriter=SocketMessageWriter;var StreamMessageReader=class extends api_1.ReadableStreamMessageReader{constructor(readable,encoding){super((0,ril_1.default)().stream.asReadableStream(readable),encoding)}};exports2.StreamMessageReader=StreamMessageReader;var StreamMessageWriter=class extends api_1.WriteableStreamMessageWriter{constructor(writable,options){super((0,ril_1.default)().stream.asWritableStream(writable),options)}};exports2.StreamMessageWriter=StreamMessageWriter;var XDG_RUNTIME_DIR=process.env.XDG_RUNTIME_DIR,safeIpcPathLengths=new Map([["linux",107],["darwin",103]]);function generateRandomPipeName(){let randomSuffix=(0,crypto_1.randomBytes)(21).toString("hex");if(process.platform==="win32")return`\\\\.\\pipe\\vscode-jsonrpc-${randomSuffix}-sock`;let result;XDG_RUNTIME_DIR?result=path.join(XDG_RUNTIME_DIR,`vscode-ipc-${randomSuffix}.sock`):result=path.join(os.tmpdir(),`vscode-${randomSuffix}.sock`);let limit=safeIpcPathLengths.get(process.platform);return limit!==void 0&&result.length>limit&&(0,ril_1.default)().console.warn(`WARNING: IPC handle "${result}" is longer than ${limit} characters.`),result}exports2.generateRandomPipeName=generateRandomPipeName;function createClientPipeTransport(pipeName,encoding="utf-8"){let connectResolve,connected=new Promise((resolve2,_reject)=>{connectResolve=resolve2});return new Promise((resolve2,reject)=>{let server=(0,net_1.createServer)(socket=>{server.close(),connectResolve([new SocketMessageReader(socket,encoding),new SocketMessageWriter(socket,encoding)])});server.on("error",reject),server.listen(pipeName,()=>{server.removeListener("error",reject),resolve2({onConnected:()=>connected})})})}exports2.createClientPipeTransport=createClientPipeTransport;function createServerPipeTransport(pipeName,encoding="utf-8"){let socket=(0,net_1.createConnection)(pipeName);return[new SocketMessageReader(socket,encoding),new SocketMessageWriter(socket,encoding)]}exports2.createServerPipeTransport=createServerPipeTransport;function createClientSocketTransport(port,encoding="utf-8"){let connectResolve,connected=new Promise((resolve2,_reject)=>{connectResolve=resolve2});return new Promise((resolve2,reject)=>{let server=(0,net_1.createServer)(socket=>{server.close(),connectResolve([new SocketMessageReader(socket,encoding),new SocketMessageWriter(socket,encoding)])});server.on("error",reject),server.listen(port,"127.0.0.1",()=>{server.removeListener("error",reject),resolve2({onConnected:()=>connected})})})}exports2.createClientSocketTransport=createClientSocketTransport;function createServerSocketTransport(port,encoding="utf-8"){let socket=(0,net_1.createConnection)(port,"127.0.0.1");return[new SocketMessageReader(socket,encoding),new SocketMessageWriter(socket,encoding)]}exports2.createServerSocketTransport=createServerSocketTransport;function isReadableStream(value){let candidate=value;return candidate.read!==void 0&&candidate.addListener!==void 0}function isWritableStream(value){let candidate=value;return candidate.write!==void 0&&candidate.addListener!==void 0}function createMessageConnection(input,output,logger,options){logger||(logger=api_1.NullLogger);let reader=isReadableStream(input)?new StreamMessageReader(input):input,writer=isWritableStream(output)?new StreamMessageWriter(output):output;return api_1.ConnectionStrategy.is(options)&&(options={connectionStrategy:options}),(0,api_1.createMessageConnection)(reader,writer,logger,options)}exports2.createMessageConnection=createMessageConnection}});var require_node=__commonJS({"server/node_modules/vscode-jsonrpc/node.js"(exports2,module2){"use strict";module2.exports=require_main()}});var require_main2=__commonJS({"server/node_modules/vscode-languageserver-types/lib/umd/main.js"(exports2,module2){(function(factory){if(typeof module2=="object"&&typeof module2.exports=="object"){var v=factory(require,exports2);v!==void 0&&(module2.exports=v)}else typeof define=="function"&&define.amd&&define(["require","exports"],factory)})(function(require2,exports3){"use strict";Object.defineProperty(exports3,"__esModule",{value:!0}),exports3.TextDocument=exports3.EOL=exports3.WorkspaceFolder=exports3.InlineCompletionContext=exports3.SelectedCompletionInfo=exports3.InlineCompletionTriggerKind=exports3.InlineCompletionList=exports3.InlineCompletionItem=exports3.StringValue=exports3.InlayHint=exports3.InlayHintLabelPart=exports3.InlayHintKind=exports3.InlineValueContext=exports3.InlineValueEvaluatableExpression=exports3.InlineValueVariableLookup=exports3.InlineValueText=exports3.SemanticTokens=exports3.SemanticTokenModifiers=exports3.SemanticTokenTypes=exports3.SelectionRange=exports3.DocumentLink=exports3.FormattingOptions=exports3.CodeLens=exports3.CodeAction=exports3.CodeActionContext=exports3.CodeActionTriggerKind=exports3.CodeActionKind=exports3.DocumentSymbol=exports3.WorkspaceSymbol=exports3.SymbolInformation=exports3.SymbolTag=exports3.SymbolKind=exports3.DocumentHighlight=exports3.DocumentHighlightKind=exports3.SignatureInformation=exports3.ParameterInformation=exports3.Hover=exports3.MarkedString=exports3.CompletionList=exports3.CompletionItem=exports3.CompletionItemLabelDetails=exports3.InsertTextMode=exports3.InsertReplaceEdit=exports3.CompletionItemTag=exports3.InsertTextFormat=exports3.CompletionItemKind=exports3.MarkupContent=exports3.MarkupKind=exports3.TextDocumentItem=exports3.OptionalVersionedTextDocumentIdentifier=exports3.VersionedTextDocumentIdentifier=exports3.TextDocumentIdentifier=exports3.WorkspaceChange=exports3.WorkspaceEdit=exports3.DeleteFile=exports3.RenameFile=exports3.CreateFile=exports3.TextDocumentEdit=exports3.AnnotatedTextEdit=exports3.ChangeAnnotationIdentifier=exports3.ChangeAnnotation=exports3.TextEdit=exports3.Command=exports3.Diagnostic=exports3.CodeDescription=exports3.DiagnosticTag=exports3.DiagnosticSeverity=exports3.DiagnosticRelatedInformation=exports3.FoldingRange=exports3.FoldingRangeKind=exports3.ColorPresentation=exports3.ColorInformation=exports3.Color=exports3.LocationLink=exports3.Location=exports3.Range=exports3.Position=exports3.uinteger=exports3.integer=exports3.URI=exports3.DocumentUri=void 0;var DocumentUri;(function(DocumentUri2){function is(value){return typeof value=="string"}DocumentUri2.is=is})(DocumentUri||(exports3.DocumentUri=DocumentUri={}));var URI;(function(URI2){function is(value){return typeof value=="string"}URI2.is=is})(URI||(exports3.URI=URI={}));var integer;(function(integer2){integer2.MIN_VALUE=-2147483648,integer2.MAX_VALUE=2147483647;function is(value){return typeof value=="number"&&integer2.MIN_VALUE<=value&&value<=integer2.MAX_VALUE}integer2.is=is})(integer||(exports3.integer=integer={}));var uinteger;(function(uinteger2){uinteger2.MIN_VALUE=0,uinteger2.MAX_VALUE=2147483647;function is(value){return typeof value=="number"&&uinteger2.MIN_VALUE<=value&&value<=uinteger2.MAX_VALUE}uinteger2.is=is})(uinteger||(exports3.uinteger=uinteger={}));var Position2;(function(Position3){function create(line,character){return line===Number.MAX_VALUE&&(line=uinteger.MAX_VALUE),character===Number.MAX_VALUE&&(character=uinteger.MAX_VALUE),{line,character}}Position3.create=create;function is(value){var candidate=value;return Is.objectLiteral(candidate)&&Is.uinteger(candidate.line)&&Is.uinteger(candidate.character)}Position3.is=is})(Position2||(exports3.Position=Position2={}));var Range;(function(Range2){function create(one,two,three,four){if(Is.uinteger(one)&&Is.uinteger(two)&&Is.uinteger(three)&&Is.uinteger(four))return{start:Position2.create(one,two),end:Position2.create(three,four)};if(Position2.is(one)&&Position2.is(two))return{start:one,end:two};throw new Error("Range#create called with invalid arguments[".concat(one,", ").concat(two,", ").concat(three,", ").concat(four,"]"))}Range2.create=create;function is(value){var candidate=value;return Is.objectLiteral(candidate)&&Position2.is(candidate.start)&&Position2.is(candidate.end)}Range2.is=is})(Range||(exports3.Range=Range={}));var Location2;(function(Location3){function create(uri,range){return{uri,range}}Location3.create=create;function is(value){var candidate=value;return Is.objectLiteral(candidate)&&Range.is(candidate.range)&&(Is.string(candidate.uri)||Is.undefined(candidate.uri))}Location3.is=is})(Location2||(exports3.Location=Location2={}));var LocationLink;(function(LocationLink2){function create(targetUri,targetRange,targetSelectionRange,originSelectionRange){return{targetUri,targetRange,targetSelectionRange,originSelectionRange}}LocationLink2.create=create;function is(value){var candidate=value;return Is.objectLiteral(candidate)&&Range.is(candidate.targetRange)&&Is.string(candidate.targetUri)&&Range.is(candidate.targetSelectionRange)&&(Range.is(candidate.originSelectionRange)||Is.undefined(candidate.originSelectionRange))}LocationLink2.is=is})(LocationLink||(exports3.LocationLink=LocationLink={}));var Color;(function(Color2){function create(red,green,blue,alpha){return{red,green,blue,alpha}}Color2.create=create;function is(value){var candidate=value;return Is.objectLiteral(candidate)&&Is.numberRange(candidate.red,0,1)&&Is.numberRange(candidate.green,0,1)&&Is.numberRange(candidate.blue,0,1)&&Is.numberRange(candidate.alpha,0,1)}Color2.is=is})(Color||(exports3.Color=Color={}));var ColorInformation;(function(ColorInformation2){function create(range,color){return{range,color}}ColorInformation2.create=create;function is(value){var candidate=value;return Is.objectLiteral(candidate)&&Range.is(candidate.range)&&Color.is(candidate.color)}ColorInformation2.is=is})(ColorInformation||(exports3.ColorInformation=ColorInformation={}));var ColorPresentation;(function(ColorPresentation2){function create(label,textEdit,additionalTextEdits){return{label,textEdit,additionalTextEdits}}ColorPresentation2.create=create;function is(value){var candidate=value;return Is.objectLiteral(candidate)&&Is.string(candidate.label)&&(Is.undefined(candidate.textEdit)||TextEdit2.is(candidate))&&(Is.undefined(candidate.additionalTextEdits)||Is.typedArray(candidate.additionalTextEdits,TextEdit2.is))}ColorPresentation2.is=is})(ColorPresentation||(exports3.ColorPresentation=ColorPresentation={}));var FoldingRangeKind2;(function(FoldingRangeKind3){FoldingRangeKind3.Comment="comment",FoldingRangeKind3.Imports="imports",FoldingRangeKind3.Region="region"})(FoldingRangeKind2||(exports3.FoldingRangeKind=FoldingRangeKind2={}));var FoldingRange3;(function(FoldingRange4){function create(startLine,endLine,startCharacter,endCharacter,kind,collapsedText){var result={startLine,endLine};return Is.defined(startCharacter)&&(result.startCharacter=startCharacter),Is.defined(endCharacter)&&(result.endCharacter=endCharacter),Is.defined(kind)&&(result.kind=kind),Is.defined(collapsedText)&&(result.collapsedText=collapsedText),result}FoldingRange4.create=create;function is(value){var candidate=value;return Is.objectLiteral(candidate)&&Is.uinteger(candidate.startLine)&&Is.uinteger(candidate.startLine)&&(Is.undefined(candidate.startCharacter)||Is.uinteger(candidate.startCharacter))&&(Is.undefined(candidate.endCharacter)||Is.uinteger(candidate.endCharacter))&&(Is.undefined(candidate.kind)||Is.string(candidate.kind))}FoldingRange4.is=is})(FoldingRange3||(exports3.FoldingRange=FoldingRange3={}));var DiagnosticRelatedInformation;(function(DiagnosticRelatedInformation2){function create(location,message){return{location,message}}DiagnosticRelatedInformation2.create=create;function is(value){var candidate=value;return Is.defined(candidate)&&Location2.is(candidate.location)&&Is.string(candidate.message)}DiagnosticRelatedInformation2.is=is})(DiagnosticRelatedInformation||(exports3.DiagnosticRelatedInformation=DiagnosticRelatedInformation={}));var DiagnosticSeverity5;(function(DiagnosticSeverity6){DiagnosticSeverity6.Error=1,DiagnosticSeverity6.Warning=2,DiagnosticSeverity6.Information=3,DiagnosticSeverity6.Hint=4})(DiagnosticSeverity5||(exports3.DiagnosticSeverity=DiagnosticSeverity5={}));var DiagnosticTag;(function(DiagnosticTag2){DiagnosticTag2.Unnecessary=1,DiagnosticTag2.Deprecated=2})(DiagnosticTag||(exports3.DiagnosticTag=DiagnosticTag={}));var CodeDescription;(function(CodeDescription2){function is(value){var candidate=value;return Is.objectLiteral(candidate)&&Is.string(candidate.href)}CodeDescription2.is=is})(CodeDescription||(exports3.CodeDescription=CodeDescription={}));var Diagnostic5;(function(Diagnostic6){function create(range,message,severity,code,source,relatedInformation){var result={range,message};return Is.defined(severity)&&(result.severity=severity),Is.defined(code)&&(result.code=code),Is.defined(source)&&(result.source=source),Is.defined(relatedInformation)&&(result.relatedInformation=relatedInformation),result}Diagnostic6.create=create;function is(value){var _a,candidate=value;return Is.defined(candidate)&&Range.is(candidate.range)&&Is.string(candidate.message)&&(Is.number(candidate.severity)||Is.undefined(candidate.severity))&&(Is.integer(candidate.code)||Is.string(candidate.code)||Is.undefined(candidate.code))&&(Is.undefined(candidate.codeDescription)||Is.string((_a=candidate.codeDescription)===null||_a===void 0?void 0:_a.href))&&(Is.string(candidate.source)||Is.undefined(candidate.source))&&(Is.undefined(candidate.relatedInformation)||Is.typedArray(candidate.relatedInformation,DiagnosticRelatedInformation.is))}Diagnostic6.is=is})(Diagnostic5||(exports3.Diagnostic=Diagnostic5={}));var Command;(function(Command2){function create(title,command){for(var args=[],_i=2;_i<arguments.length;_i++)args[_i-2]=arguments[_i];var result={title,command};return Is.defined(args)&&args.length>0&&(result.arguments=args),result}Command2.create=create;function is(value){var candidate=value;return Is.defined(candidate)&&Is.string(candidate.title)&&Is.string(candidate.command)}Command2.is=is})(Command||(exports3.Command=Command={}));var TextEdit2;(function(TextEdit3){function replace(range,newText){return{range,newText}}TextEdit3.replace=replace;function insert(position,newText){return{range:{start:position,end:position},newText}}TextEdit3.insert=insert;function del(range){return{range,newText:""}}TextEdit3.del=del;function is(value){var candidate=value;return Is.objectLiteral(candidate)&&Is.string(candidate.newText)&&Range.is(candidate.range)}TextEdit3.is=is})(TextEdit2||(exports3.TextEdit=TextEdit2={}));var ChangeAnnotation;(function(ChangeAnnotation2){function create(label,needsConfirmation,description){var result={label};return needsConfirmation!==void 0&&(result.needsConfirmation=needsConfirmation),description!==void 0&&(result.description=description),result}ChangeAnnotation2.create=create;function is(value){var candidate=value;return Is.objectLiteral(candidate)&&Is.string(candidate.label)&&(Is.boolean(candidate.needsConfirmation)||candidate.needsConfirmation===void 0)&&(Is.string(candidate.description)||candidate.description===void 0)}ChangeAnnotation2.is=is})(ChangeAnnotation||(exports3.ChangeAnnotation=ChangeAnnotation={}));var ChangeAnnotationIdentifier;(function(ChangeAnnotationIdentifier2){function is(value){var candidate=value;return Is.string(candidate)}ChangeAnnotationIdentifier2.is=is})(ChangeAnnotationIdentifier||(exports3.ChangeAnnotationIdentifier=ChangeAnnotationIdentifier={}));var AnnotatedTextEdit;(function(AnnotatedTextEdit2){function replace(range,newText,annotation){return{range,newText,annotationId:annotation}}AnnotatedTextEdit2.replace=replace;function insert(position,newText,annotation){return{range:{start:position,end:position},newText,annotationId:annotation}}AnnotatedTextEdit2.insert=insert;function del(range,annotation){return{range,newText:"",annotationId:annotation}}AnnotatedTextEdit2.del=del;function is(value){var candidate=value;return TextEdit2.is(candidate)&&(ChangeAnnotation.is(candidate.annotationId)||ChangeAnnotationIdentifier.is(candidate.annotationId))}AnnotatedTextEdit2.is=is})(AnnotatedTextEdit||(exports3.AnnotatedTextEdit=AnnotatedTextEdit={}));var TextDocumentEdit;(function(TextDocumentEdit2){function create(textDocument,edits){return{textDocument,edits}}TextDocumentEdit2.create=create;function is(value){var candidate=value;return Is.defined(candidate)&&OptionalVersionedTextDocumentIdentifier.is(candidate.textDocument)&&Array.isArray(candidate.edits)}TextDocumentEdit2.is=is})(TextDocumentEdit||(exports3.TextDocumentEdit=TextDocumentEdit={}));var CreateFile;(function(CreateFile2){function create(uri,options,annotation){var result={kind:"create",uri};return options!==void 0&&(options.overwrite!==void 0||options.ignoreIfExists!==void 0)&&(result.options=options),annotation!==void 0&&(result.annotationId=annotation),result}CreateFile2.create=create;function is(value){var candidate=value;return candidate&&candidate.kind==="create"&&Is.string(candidate.uri)&&(candidate.options===void 0||(candidate.options.overwrite===void 0||Is.boolean(candidate.options.overwrite))&&(candidate.options.ignoreIfExists===void 0||Is.boolean(candidate.options.ignoreIfExists)))&&(candidate.annotationId===void 0||ChangeAnnotationIdentifier.is(candidate.annotationId))}CreateFile2.is=is})(CreateFile||(exports3.CreateFile=CreateFile={}));var RenameFile;(function(RenameFile2){function create(oldUri,newUri,options,annotation){var result={kind:"rename",oldUri,newUri};return options!==void 0&&(options.overwrite!==void 0||options.ignoreIfExists!==void 0)&&(result.options=options),annotation!==void 0&&(result.annotationId=annotation),result}RenameFile2.create=create;function is(value){var candidate=value;return candidate&&candidate.kind==="rename"&&Is.string(candidate.oldUri)&&Is.string(candidate.newUri)&&(candidate.options===void 0||(candidate.options.overwrite===void 0||Is.boolean(candidate.options.overwrite))&&(candidate.options.ignoreIfExists===void 0||Is.boolean(candidate.options.ignoreIfExists)))&&(candidate.annotationId===void 0||ChangeAnnotationIdentifier.is(candidate.annotationId))}RenameFile2.is=is})(RenameFile||(exports3.RenameFile=RenameFile={}));var DeleteFile;(function(DeleteFile2){function create(uri,options,annotation){var result={kind:"delete",uri};return options!==void 0&&(options.recursive!==void 0||options.ignoreIfNotExists!==void 0)&&(result.options=options),annotation!==void 0&&(result.annotationId=annotation),result}DeleteFile2.create=create;function is(value){var candidate=value;return candidate&&candidate.kind==="delete"&&Is.string(candidate.uri)&&(candidate.options===void 0||(candidate.options.recursive===void 0||Is.boolean(candidate.options.recursive))&&(candidate.options.ignoreIfNotExists===void 0||Is.boolean(candidate.options.ignoreIfNotExists)))&&(candidate.annotationId===void 0||ChangeAnnotationIdentifier.is(candidate.annotationId))}DeleteFile2.is=is})(DeleteFile||(exports3.DeleteFile=DeleteFile={}));var WorkspaceEdit3;(function(WorkspaceEdit4){function is(value){var candidate=value;return candidate&&(candidate.changes!==void 0||candidate.documentChanges!==void 0)&&(candidate.documentChanges===void 0||candidate.documentChanges.every(function(change){return Is.string(change.kind)?CreateFile.is(change)||RenameFile.is(change)||DeleteFile.is(change):TextDocumentEdit.is(change)}))}WorkspaceEdit4.is=is})(WorkspaceEdit3||(exports3.WorkspaceEdit=WorkspaceEdit3={}));var TextEditChangeImpl=(function(){function TextEditChangeImpl2(edits,changeAnnotations){this.edits=edits,this.changeAnnotations=changeAnnotations}return TextEditChangeImpl2.prototype.insert=function(position,newText,annotation){var edit,id;if(annotation===void 0?edit=TextEdit2.insert(position,newText):ChangeAnnotationIdentifier.is(annotation)?(id=annotation,edit=AnnotatedTextEdit.insert(position,newText,annotation)):(this.assertChangeAnnotations(this.changeAnnotations),id=this.changeAnnotations.manage(annotation),edit=AnnotatedTextEdit.insert(position,newText,id)),this.edits.push(edit),id!==void 0)return id},TextEditChangeImpl2.prototype.replace=function(range,newText,annotation){var edit,id;if(annotation===void 0?edit=TextEdit2.replace(range,newText):ChangeAnnotationIdentifier.is(annotation)?(id=annotation,edit=AnnotatedTextEdit.replace(range,newText,annotation)):(this.assertChangeAnnotations(this.changeAnnotations),id=this.changeAnnotations.manage(annotation),edit=AnnotatedTextEdit.replace(range,newText,id)),this.edits.push(edit),id!==void 0)return id},TextEditChangeImpl2.prototype.delete=function(range,annotation){var edit,id;if(annotation===void 0?edit=TextEdit2.del(range):ChangeAnnotationIdentifier.is(annotation)?(id=annotation,edit=AnnotatedTextEdit.del(range,annotation)):(this.assertChangeAnnotations(this.changeAnnotations),id=this.changeAnnotations.manage(annotation),edit=AnnotatedTextEdit.del(range,id)),this.edits.push(edit),id!==void 0)return id},TextEditChangeImpl2.prototype.add=function(edit){this.edits.push(edit)},TextEditChangeImpl2.prototype.all=function(){return this.edits},TextEditChangeImpl2.prototype.clear=function(){this.edits.splice(0,this.edits.length)},TextEditChangeImpl2.prototype.assertChangeAnnotations=function(value){if(value===void 0)throw new Error("Text edit change is not configured to manage change annotations.")},TextEditChangeImpl2})(),ChangeAnnotations=(function(){function ChangeAnnotations2(annotations){this._annotations=annotations===void 0?Object.create(null):annotations,this._counter=0,this._size=0}return ChangeAnnotations2.prototype.all=function(){return this._annotations},Object.defineProperty(ChangeAnnotations2.prototype,"size",{get:function(){return this._size},enumerable:!1,configurable:!0}),ChangeAnnotations2.prototype.manage=function(idOrAnnotation,annotation){var id;if(ChangeAnnotationIdentifier.is(idOrAnnotation)?id=idOrAnnotation:(id=this.nextId(),annotation=idOrAnnotation),this._annotations[id]!==void 0)throw new Error("Id ".concat(id," is already in use."));if(annotation===void 0)throw new Error("No annotation provided for id ".concat(id));return this._annotations[id]=annotation,this._size++,id},ChangeAnnotations2.prototype.nextId=function(){return this._counter++,this._counter.toString()},ChangeAnnotations2})(),WorkspaceChange=(function(){function WorkspaceChange2(workspaceEdit){var _this=this;this._textEditChanges=Object.create(null),workspaceEdit!==void 0?(this._workspaceEdit=workspaceEdit,workspaceEdit.documentChanges?(this._changeAnnotations=new ChangeAnnotations(workspaceEdit.changeAnnotations),workspaceEdit.changeAnnotations=this._changeAnnotations.all(),workspaceEdit.documentChanges.forEach(function(change){if(TextDocumentEdit.is(change)){var textEditChange=new TextEditChangeImpl(change.edits,_this._changeAnnotations);_this._textEditChanges[change.textDocument.uri]=textEditChange}})):workspaceEdit.changes&&Object.keys(workspaceEdit.changes).forEach(function(key){var textEditChange=new TextEditChangeImpl(workspaceEdit.changes[key]);_this._textEditChanges[key]=textEditChange})):this._workspaceEdit={}}return Object.defineProperty(WorkspaceChange2.prototype,"edit",{get:function(){return this.initDocumentChanges(),this._changeAnnotations!==void 0&&(this._changeAnnotations.size===0?this._workspaceEdit.changeAnnotations=void 0:this._workspaceEdit.changeAnnotations=this._changeAnnotations.all()),this._workspaceEdit},enumerable:!1,configurable:!0}),WorkspaceChange2.prototype.getTextEditChange=function(key){if(OptionalVersionedTextDocumentIdentifier.is(key)){if(this.initDocumentChanges(),this._workspaceEdit.documentChanges===void 0)throw new Error("Workspace edit is not configured for document changes.");var textDocument={uri:key.uri,version:key.version},result=this._textEditChanges[textDocument.uri];if(!result){var edits=[],textDocumentEdit={textDocument,edits};this._workspaceEdit.documentChanges.push(textDocumentEdit),result=new TextEditChangeImpl(edits,this._changeAnnotations),this._textEditChanges[textDocument.uri]=result}return result}else{if(this.initChanges(),this._workspaceEdit.changes===void 0)throw new Error("Workspace edit is not configured for normal text edit changes.");var result=this._textEditChanges[key];if(!result){var edits=[];this._workspaceEdit.changes[key]=edits,result=new TextEditChangeImpl(edits),this._textEditChanges[key]=result}return result}},WorkspaceChange2.prototype.initDocumentChanges=function(){this._workspaceEdit.documentChanges===void 0&&this._workspaceEdit.changes===void 0&&(this._changeAnnotations=new ChangeAnnotations,this._workspaceEdit.documentChanges=[],this._workspaceEdit.changeAnnotations=this._changeAnnotations.all())},WorkspaceChange2.prototype.initChanges=function(){this._workspaceEdit.documentChanges===void 0&&this._workspaceEdit.changes===void 0&&(this._workspaceEdit.changes=Object.create(null))},WorkspaceChange2.prototype.createFile=function(uri,optionsOrAnnotation,options){if(this.initDocumentChanges(),this._workspaceEdit.documentChanges===void 0)throw new Error("Workspace edit is not configured for document changes.");var annotation;ChangeAnnotation.is(optionsOrAnnotation)||ChangeAnnotationIdentifier.is(optionsOrAnnotation)?annotation=optionsOrAnnotation:options=optionsOrAnnotation;var operation,id;if(annotation===void 0?operation=CreateFile.create(uri,options):(id=ChangeAnnotationIdentifier.is(annotation)?annotation:this._changeAnnotations.manage(annotation),operation=CreateFile.create(uri,options,id)),this._workspaceEdit.documentChanges.push(operation),id!==void 0)return id},WorkspaceChange2.prototype.renameFile=function(oldUri,newUri,optionsOrAnnotation,options){if(this.initDocumentChanges(),this._workspaceEdit.documentChanges===void 0)throw new Error("Workspace edit is not configured for document changes.");var annotation;ChangeAnnotation.is(optionsOrAnnotation)||ChangeAnnotationIdentifier.is(optionsOrAnnotation)?annotation=optionsOrAnnotation:options=optionsOrAnnotation;var operation,id;if(annotation===void 0?operation=RenameFile.create(oldUri,newUri,options):(id=ChangeAnnotationIdentifier.is(annotation)?annotation:this._changeAnnotations.manage(annotation),operation=RenameFile.create(oldUri,newUri,options,id)),this._workspaceEdit.documentChanges.push(operation),id!==void 0)return id},WorkspaceChange2.prototype.deleteFile=function(uri,optionsOrAnnotation,options){if(this.initDocumentChanges(),this._workspaceEdit.documentChanges===void 0)throw new Error("Workspace edit is not configured for document changes.");var annotation;ChangeAnnotation.is(optionsOrAnnotation)||ChangeAnnotationIdentifier.is(optionsOrAnnotation)?annotation=optionsOrAnnotation:options=optionsOrAnnotation;var operation,id;if(annotation===void 0?operation=DeleteFile.create(uri,options):(id=ChangeAnnotationIdentifier.is(annotation)?annotation:this._changeAnnotations.manage(annotation),operation=DeleteFile.create(uri,options,id)),this._workspaceEdit.documentChanges.push(operation),id!==void 0)return id},WorkspaceChange2})();exports3.WorkspaceChange=WorkspaceChange;var TextDocumentIdentifier;(function(TextDocumentIdentifier2){function create(uri){return{uri}}TextDocumentIdentifier2.create=create;function is(value){var candidate=value;return Is.defined(candidate)&&Is.string(candidate.uri)}TextDocumentIdentifier2.is=is})(TextDocumentIdentifier||(exports3.TextDocumentIdentifier=TextDocumentIdentifier={}));var VersionedTextDocumentIdentifier;(function(VersionedTextDocumentIdentifier2){function create(uri,version){return{uri,version}}VersionedTextDocumentIdentifier2.create=create;function is(value){var candidate=value;return Is.defined(candidate)&&Is.string(candidate.uri)&&Is.integer(candidate.version)}VersionedTextDocumentIdentifier2.is=is})(VersionedTextDocumentIdentifier||(exports3.VersionedTextDocumentIdentifier=VersionedTextDocumentIdentifier={}));var OptionalVersionedTextDocumentIdentifier;(function(OptionalVersionedTextDocumentIdentifier2){function create(uri,version){return{uri,version}}OptionalVersionedTextDocumentIdentifier2.create=create;function is(value){var candidate=value;return Is.defined(candidate)&&Is.string(candidate.uri)&&(candidate.version===null||Is.integer(candidate.version))}OptionalVersionedTextDocumentIdentifier2.is=is})(OptionalVersionedTextDocumentIdentifier||(exports3.OptionalVersionedTextDocumentIdentifier=OptionalVersionedTextDocumentIdentifier={}));var TextDocumentItem;(function(TextDocumentItem2){function create(uri,languageId,version,text){return{uri,languageId,version,text}}TextDocumentItem2.create=create;function is(value){var candidate=value;return Is.defined(candidate)&&Is.string(candidate.uri)&&Is.string(candidate.languageId)&&Is.integer(candidate.version)&&Is.string(candidate.text)}TextDocumentItem2.is=is})(TextDocumentItem||(exports3.TextDocumentItem=TextDocumentItem={}));var MarkupKind2;(function(MarkupKind3){MarkupKind3.PlainText="plaintext",MarkupKind3.Markdown="markdown";function is(value){var candidate=value;return candidate===MarkupKind3.PlainText||candidate===MarkupKind3.Markdown}MarkupKind3.is=is})(MarkupKind2||(exports3.MarkupKind=MarkupKind2={}));var MarkupContent2;(function(MarkupContent3){function is(value){var candidate=value;return Is.objectLiteral(value)&&MarkupKind2.is(candidate.kind)&&Is.string(candidate.value)}MarkupContent3.is=is})(MarkupContent2||(exports3.MarkupContent=MarkupContent2={}));var CompletionItemKind2;(function(CompletionItemKind3){CompletionItemKind3.Text=1,CompletionItemKind3.Method=2,CompletionItemKind3.Function=3,CompletionItemKind3.Constructor=4,CompletionItemKind3.Field=5,CompletionItemKind3.Variable=6,CompletionItemKind3.Class=7,CompletionItemKind3.Interface=8,CompletionItemKind3.Module=9,CompletionItemKind3.Property=10,CompletionItemKind3.Unit=11,CompletionItemKind3.Value=12,CompletionItemKind3.Enum=13,CompletionItemKind3.Keyword=14,CompletionItemKind3.Snippet=15,CompletionItemKind3.Color=16,CompletionItemKind3.File=17,CompletionItemKind3.Reference=18,CompletionItemKind3.Folder=19,CompletionItemKind3.EnumMember=20,CompletionItemKind3.Constant=21,CompletionItemKind3.Struct=22,CompletionItemKind3.Event=23,CompletionItemKind3.Operator=24,CompletionItemKind3.TypeParameter=25})(CompletionItemKind2||(exports3.CompletionItemKind=CompletionItemKind2={}));var InsertTextFormat2;(function(InsertTextFormat3){InsertTextFormat3.PlainText=1,InsertTextFormat3.Snippet=2})(InsertTextFormat2||(exports3.InsertTextFormat=InsertTextFormat2={}));var CompletionItemTag;(function(CompletionItemTag2){CompletionItemTag2.Deprecated=1})(CompletionItemTag||(exports3.CompletionItemTag=CompletionItemTag={}));var InsertReplaceEdit;(function(InsertReplaceEdit2){function create(newText,insert,replace){return{newText,insert,replace}}InsertReplaceEdit2.create=create;function is(value){var candidate=value;return candidate&&Is.string(candidate.newText)&&Range.is(candidate.insert)&&Range.is(candidate.replace)}InsertReplaceEdit2.is=is})(InsertReplaceEdit||(exports3.InsertReplaceEdit=InsertReplaceEdit={}));var InsertTextMode;(function(InsertTextMode2){InsertTextMode2.asIs=1,InsertTextMode2.adjustIndentation=2})(InsertTextMode||(exports3.InsertTextMode=InsertTextMode={}));var CompletionItemLabelDetails;(function(CompletionItemLabelDetails2){function is(value){var candidate=value;return candidate&&(Is.string(candidate.detail)||candidate.detail===void 0)&&(Is.string(candidate.description)||candidate.description===void 0)}CompletionItemLabelDetails2.is=is})(CompletionItemLabelDetails||(exports3.CompletionItemLabelDetails=CompletionItemLabelDetails={}));var CompletionItem3;(function(CompletionItem4){function create(label){return{label}}CompletionItem4.create=create})(CompletionItem3||(exports3.CompletionItem=CompletionItem3={}));var CompletionList;(function(CompletionList2){function create(items,isIncomplete){return{items:items||[],isIncomplete:!!isIncomplete}}CompletionList2.create=create})(CompletionList||(exports3.CompletionList=CompletionList={}));var MarkedString;(function(MarkedString2){function fromPlainText(plainText){return plainText.replace(/[\\`*_{}[\]()#+\-.!]/g,"\\$&")}MarkedString2.fromPlainText=fromPlainText;function is(value){var candidate=value;return Is.string(candidate)||Is.objectLiteral(candidate)&&Is.string(candidate.language)&&Is.string(candidate.value)}MarkedString2.is=is})(MarkedString||(exports3.MarkedString=MarkedString={}));var Hover3;(function(Hover4){function is(value){var candidate=value;return!!candidate&&Is.objectLiteral(candidate)&&(MarkupContent2.is(candidate.contents)||MarkedString.is(candidate.contents)||Is.typedArray(candidate.contents,MarkedString.is))&&(value.range===void 0||Range.is(value.range))}Hover4.is=is})(Hover3||(exports3.Hover=Hover3={}));var ParameterInformation;(function(ParameterInformation2){function create(label,documentation){return documentation?{label,documentation}:{label}}ParameterInformation2.create=create})(ParameterInformation||(exports3.ParameterInformation=ParameterInformation={}));var SignatureInformation;(function(SignatureInformation2){function create(label,documentation){for(var parameters=[],_i=2;_i<arguments.length;_i++)parameters[_i-2]=arguments[_i];var result={label};return Is.defined(documentation)&&(result.documentation=documentation),Is.defined(parameters)?result.parameters=parameters:result.parameters=[],result}SignatureInformation2.create=create})(SignatureInformation||(exports3.SignatureInformation=SignatureInformation={}));var DocumentHighlightKind;(function(DocumentHighlightKind2){DocumentHighlightKind2.Text=1,DocumentHighlightKind2.Read=2,DocumentHighlightKind2.Write=3})(DocumentHighlightKind||(exports3.DocumentHighlightKind=DocumentHighlightKind={}));var DocumentHighlight;(function(DocumentHighlight2){function create(range,kind){var result={range};return Is.number(kind)&&(result.kind=kind),result}DocumentHighlight2.create=create})(DocumentHighlight||(exports3.DocumentHighlight=DocumentHighlight={}));var SymbolKind2;(function(SymbolKind3){SymbolKind3.File=1,SymbolKind3.Module=2,SymbolKind3.Namespace=3,SymbolKind3.Package=4,SymbolKind3.Class=5,SymbolKind3.Method=6,SymbolKind3.Property=7,SymbolKind3.Field=8,SymbolKind3.Constructor=9,SymbolKind3.Enum=10,SymbolKind3.Interface=11,SymbolKind3.Function=12,SymbolKind3.Variable=13,SymbolKind3.Constant=14,SymbolKind3.String=15,SymbolKind3.Number=16,SymbolKind3.Boolean=17,SymbolKind3.Array=18,SymbolKind3.Object=19,SymbolKind3.Key=20,SymbolKind3.Null=21,SymbolKind3.EnumMember=22,SymbolKind3.Struct=23,SymbolKind3.Event=24,SymbolKind3.Operator=25,SymbolKind3.TypeParameter=26})(SymbolKind2||(exports3.SymbolKind=SymbolKind2={}));var SymbolTag;(function(SymbolTag2){SymbolTag2.Deprecated=1})(SymbolTag||(exports3.SymbolTag=SymbolTag={}));var SymbolInformation;(function(SymbolInformation2){function create(name,kind,range,uri,containerName){var result={name,kind,location:{uri,range}};return containerName&&(result.containerName=containerName),result}SymbolInformation2.create=create})(SymbolInformation||(exports3.SymbolInformation=SymbolInformation={}));var WorkspaceSymbol;(function(WorkspaceSymbol2){function create(name,kind,uri,range){return range!==void 0?{name,kind,location:{uri,range}}:{name,kind,location:{uri}}}WorkspaceSymbol2.create=create})(WorkspaceSymbol||(exports3.WorkspaceSymbol=WorkspaceSymbol={}));var DocumentSymbol2;(function(DocumentSymbol3){function create(name,detail,kind,range,selectionRange,children){var result={name,detail,kind,range,selectionRange};return children!==void 0&&(result.children=children),result}DocumentSymbol3.create=create;function is(value){var candidate=value;return candidate&&Is.string(candidate.name)&&Is.number(candidate.kind)&&Range.is(candidate.range)&&Range.is(candidate.selectionRange)&&(candidate.detail===void 0||Is.string(candidate.detail))&&(candidate.deprecated===void 0||Is.boolean(candidate.deprecated))&&(candidate.children===void 0||Array.isArray(candidate.children))&&(candidate.tags===void 0||Array.isArray(candidate.tags))}DocumentSymbol3.is=is})(DocumentSymbol2||(exports3.DocumentSymbol=DocumentSymbol2={}));var CodeActionKind3;(function(CodeActionKind4){CodeActionKind4.Empty="",CodeActionKind4.QuickFix="quickfix",CodeActionKind4.Refactor="refactor",CodeActionKind4.RefactorExtract="refactor.extract",CodeActionKind4.RefactorInline="refactor.inline",CodeActionKind4.RefactorRewrite="refactor.rewrite",CodeActionKind4.Source="source",CodeActionKind4.SourceOrganizeImports="source.organizeImports",CodeActionKind4.SourceFixAll="source.fixAll"})(CodeActionKind3||(exports3.CodeActionKind=CodeActionKind3={}));var CodeActionTriggerKind;(function(CodeActionTriggerKind2){CodeActionTriggerKind2.Invoked=1,CodeActionTriggerKind2.Automatic=2})(CodeActionTriggerKind||(exports3.CodeActionTriggerKind=CodeActionTriggerKind={}));var CodeActionContext;(function(CodeActionContext2){function create(diagnostics,only,triggerKind){var result={diagnostics};return only!=null&&(result.only=only),triggerKind!=null&&(result.triggerKind=triggerKind),result}CodeActionContext2.create=create;function is(value){var candidate=value;return Is.defined(candidate)&&Is.typedArray(candidate.diagnostics,Diagnostic5.is)&&(candidate.only===void 0||Is.typedArray(candidate.only,Is.string))&&(candidate.triggerKind===void 0||candidate.triggerKind===CodeActionTriggerKind.Invoked||candidate.triggerKind===CodeActionTriggerKind.Automatic)}CodeActionContext2.is=is})(CodeActionContext||(exports3.CodeActionContext=CodeActionContext={}));var CodeAction2;(function(CodeAction3){function create(title,kindOrCommandOrEdit,kind){var result={title},checkKind=!0;return typeof kindOrCommandOrEdit=="string"?(checkKind=!1,result.kind=kindOrCommandOrEdit):Command.is(kindOrCommandOrEdit)?result.command=kindOrCommandOrEdit:result.edit=kindOrCommandOrEdit,checkKind&&kind!==void 0&&(result.kind=kind),result}CodeAction3.create=create;function is(value){var candidate=value;return candidate&&Is.string(candidate.title)&&(candidate.diagnostics===void 0||Is.typedArray(candidate.diagnostics,Diagnostic5.is))&&(candidate.kind===void 0||Is.string(candidate.kind))&&(candidate.edit!==void 0||candidate.command!==void 0)&&(candidate.command===void 0||Command.is(candidate.command))&&(candidate.isPreferred===void 0||Is.boolean(candidate.isPreferred))&&(candidate.edit===void 0||WorkspaceEdit3.is(candidate.edit))}CodeAction3.is=is})(CodeAction2||(exports3.CodeAction=CodeAction2={}));var CodeLens;(function(CodeLens2){function create(range,data){var result={range};return Is.defined(data)&&(result.data=data),result}CodeLens2.create=create;function is(value){var candidate=value;return Is.defined(candidate)&&Range.is(candidate.range)&&(Is.undefined(candidate.command)||Command.is(candidate.command))}CodeLens2.is=is})(CodeLens||(exports3.CodeLens=CodeLens={}));var FormattingOptions;(function(FormattingOptions2){function create(tabSize,insertSpaces){return{tabSize,insertSpaces}}FormattingOptions2.create=create;function is(value){var candidate=value;return Is.defined(candidate)&&Is.uinteger(candidate.tabSize)&&Is.boolean(candidate.insertSpaces)}FormattingOptions2.is=is})(FormattingOptions||(exports3.FormattingOptions=FormattingOptions={}));var DocumentLink;(function(DocumentLink2){function create(range,target,data){return{range,target,data}}DocumentLink2.create=create;function is(value){var candidate=value;return Is.defined(candidate)&&Range.is(candidate.range)&&(Is.undefined(candidate.target)||Is.string(candidate.target))}DocumentLink2.is=is})(DocumentLink||(exports3.DocumentLink=DocumentLink={}));var SelectionRange;(function(SelectionRange2){function create(range,parent){return{range,parent}}SelectionRange2.create=create;function is(value){var candidate=value;return Is.objectLiteral(candidate)&&Range.is(candidate.range)&&(candidate.parent===void 0||SelectionRange2.is(candidate.parent))}SelectionRange2.is=is})(SelectionRange||(exports3.SelectionRange=SelectionRange={}));var SemanticTokenTypes;(function(SemanticTokenTypes2){SemanticTokenTypes2.namespace="namespace",SemanticTokenTypes2.type="type",SemanticTokenTypes2.class="class",SemanticTokenTypes2.enum="enum",SemanticTokenTypes2.interface="interface",SemanticTokenTypes2.struct="struct",SemanticTokenTypes2.typeParameter="typeParameter",SemanticTokenTypes2.parameter="parameter",SemanticTokenTypes2.variable="variable",SemanticTokenTypes2.property="property",SemanticTokenTypes2.enumMember="enumMember",SemanticTokenTypes2.event="event",SemanticTokenTypes2.function="function",SemanticTokenTypes2.method="method",SemanticTokenTypes2.macro="macro",SemanticTokenTypes2.keyword="keyword",SemanticTokenTypes2.modifier="modifier",SemanticTokenTypes2.comment="comment",SemanticTokenTypes2.string="string",SemanticTokenTypes2.number="number",SemanticTokenTypes2.regexp="regexp",SemanticTokenTypes2.operator="operator",SemanticTokenTypes2.decorator="decorator"})(SemanticTokenTypes||(exports3.SemanticTokenTypes=SemanticTokenTypes={}));var SemanticTokenModifiers;(function(SemanticTokenModifiers2){SemanticTokenModifiers2.declaration="declaration",SemanticTokenModifiers2.definition="definition",SemanticTokenModifiers2.readonly="readonly",SemanticTokenModifiers2.static="static",SemanticTokenModifiers2.deprecated="deprecated",SemanticTokenModifiers2.abstract="abstract",SemanticTokenModifiers2.async="async",SemanticTokenModifiers2.modification="modification",SemanticTokenModifiers2.documentation="documentation",SemanticTokenModifiers2.defaultLibrary="defaultLibrary"})(SemanticTokenModifiers||(exports3.SemanticTokenModifiers=SemanticTokenModifiers={}));var SemanticTokens3;(function(SemanticTokens4){function is(value){var candidate=value;return Is.objectLiteral(candidate)&&(candidate.resultId===void 0||typeof candidate.resultId=="string")&&Array.isArray(candidate.data)&&(candidate.data.length===0||typeof candidate.data[0]=="number")}SemanticTokens4.is=is})(SemanticTokens3||(exports3.SemanticTokens=SemanticTokens3={}));var InlineValueText;(function(InlineValueText2){function create(range,text){return{range,text}}InlineValueText2.create=create;function is(value){var candidate=value;return candidate!=null&&Range.is(candidate.range)&&Is.string(candidate.text)}InlineValueText2.is=is})(InlineValueText||(exports3.InlineValueText=InlineValueText={}));var InlineValueVariableLookup;(function(InlineValueVariableLookup2){function create(range,variableName,caseSensitiveLookup){return{range,variableName,caseSensitiveLookup}}InlineValueVariableLookup2.create=create;function is(value){var candidate=value;return candidate!=null&&Range.is(candidate.range)&&Is.boolean(candidate.caseSensitiveLookup)&&(Is.string(candidate.variableName)||candidate.variableName===void 0)}InlineValueVariableLookup2.is=is})(InlineValueVariableLookup||(exports3.InlineValueVariableLookup=InlineValueVariableLookup={}));var InlineValueEvaluatableExpression;(function(InlineValueEvaluatableExpression2){function create(range,expression){return{range,expression}}InlineValueEvaluatableExpression2.create=create;function is(value){var candidate=value;return candidate!=null&&Range.is(candidate.range)&&(Is.string(candidate.expression)||candidate.expression===void 0)}InlineValueEvaluatableExpression2.is=is})(InlineValueEvaluatableExpression||(exports3.InlineValueEvaluatableExpression=InlineValueEvaluatableExpression={}));var InlineValueContext;(function(InlineValueContext2){function create(frameId,stoppedLocation){return{frameId,stoppedLocation}}InlineValueContext2.create=create;function is(value){var candidate=value;return Is.defined(candidate)&&Range.is(value.stoppedLocation)}InlineValueContext2.is=is})(InlineValueContext||(exports3.InlineValueContext=InlineValueContext={}));var InlayHintKind;(function(InlayHintKind2){InlayHintKind2.Type=1,InlayHintKind2.Parameter=2;function is(value){return value===1||value===2}InlayHintKind2.is=is})(InlayHintKind||(exports3.InlayHintKind=InlayHintKind={}));var InlayHintLabelPart;(function(InlayHintLabelPart2){function create(value){return{value}}InlayHintLabelPart2.create=create;function is(value){var candidate=value;return Is.objectLiteral(candidate)&&(candidate.tooltip===void 0||Is.string(candidate.tooltip)||MarkupContent2.is(candidate.tooltip))&&(candidate.location===void 0||Location2.is(candidate.location))&&(candidate.command===void 0||Command.is(candidate.command))}InlayHintLabelPart2.is=is})(InlayHintLabelPart||(exports3.InlayHintLabelPart=InlayHintLabelPart={}));var InlayHint;(function(InlayHint2){function create(position,label,kind){var result={position,label};return kind!==void 0&&(result.kind=kind),result}InlayHint2.create=create;function is(value){var candidate=value;return Is.objectLiteral(candidate)&&Position2.is(candidate.position)&&(Is.string(candidate.label)||Is.typedArray(candidate.label,InlayHintLabelPart.is))&&(candidate.kind===void 0||InlayHintKind.is(candidate.kind))&&candidate.textEdits===void 0||Is.typedArray(candidate.textEdits,TextEdit2.is)&&(candidate.tooltip===void 0||Is.string(candidate.tooltip)||MarkupContent2.is(candidate.tooltip))&&(candidate.paddingLeft===void 0||Is.boolean(candidate.paddingLeft))&&(candidate.paddingRight===void 0||Is.boolean(candidate.paddingRight))}InlayHint2.is=is})(InlayHint||(exports3.InlayHint=InlayHint={}));var StringValue;(function(StringValue2){function createSnippet(value){return{kind:"snippet",value}}StringValue2.createSnippet=createSnippet})(StringValue||(exports3.StringValue=StringValue={}));var InlineCompletionItem;(function(InlineCompletionItem2){function create(insertText,filterText,range,command){return{insertText,filterText,range,command}}InlineCompletionItem2.create=create})(InlineCompletionItem||(exports3.InlineCompletionItem=InlineCompletionItem={}));var InlineCompletionList;(function(InlineCompletionList2){function create(items){return{items}}InlineCompletionList2.create=create})(InlineCompletionList||(exports3.InlineCompletionList=InlineCompletionList={}));var InlineCompletionTriggerKind;(function(InlineCompletionTriggerKind2){InlineCompletionTriggerKind2.Invoked=0,InlineCompletionTriggerKind2.Automatic=1})(InlineCompletionTriggerKind||(exports3.InlineCompletionTriggerKind=InlineCompletionTriggerKind={}));var SelectedCompletionInfo;(function(SelectedCompletionInfo2){function create(range,text){return{range,text}}SelectedCompletionInfo2.create=create})(SelectedCompletionInfo||(exports3.SelectedCompletionInfo=SelectedCompletionInfo={}));var InlineCompletionContext;(function(InlineCompletionContext2){function create(triggerKind,selectedCompletionInfo){return{triggerKind,selectedCompletionInfo}}InlineCompletionContext2.create=create})(InlineCompletionContext||(exports3.InlineCompletionContext=InlineCompletionContext={}));var WorkspaceFolder;(function(WorkspaceFolder2){function is(value){var candidate=value;return Is.objectLiteral(candidate)&&URI.is(candidate.uri)&&Is.string(candidate.name)}WorkspaceFolder2.is=is})(WorkspaceFolder||(exports3.WorkspaceFolder=WorkspaceFolder={})),exports3.EOL=[`
|
|
32
|
+
`,`\r
|
|
33
|
+
`,"\r"];var TextDocument2;(function(TextDocument3){function create(uri,languageId,version,content){return new FullTextDocument2(uri,languageId,version,content)}TextDocument3.create=create;function is(value){var candidate=value;return!!(Is.defined(candidate)&&Is.string(candidate.uri)&&(Is.undefined(candidate.languageId)||Is.string(candidate.languageId))&&Is.uinteger(candidate.lineCount)&&Is.func(candidate.getText)&&Is.func(candidate.positionAt)&&Is.func(candidate.offsetAt))}TextDocument3.is=is;function applyEdits(document,edits){for(var text=document.getText(),sortedEdits=mergeSort2(edits,function(a,b){var diff=a.range.start.line-b.range.start.line;return diff===0?a.range.start.character-b.range.start.character:diff}),lastModifiedOffset=text.length,i=sortedEdits.length-1;i>=0;i--){var e=sortedEdits[i],startOffset=document.offsetAt(e.range.start),endOffset=document.offsetAt(e.range.end);if(endOffset<=lastModifiedOffset)text=text.substring(0,startOffset)+e.newText+text.substring(endOffset,text.length);else throw new Error("Overlapping edit");lastModifiedOffset=startOffset}return text}TextDocument3.applyEdits=applyEdits;function mergeSort2(data,compare){if(data.length<=1)return data;var p=data.length/2|0,left=data.slice(0,p),right=data.slice(p);mergeSort2(left,compare),mergeSort2(right,compare);for(var leftIdx=0,rightIdx=0,i=0;leftIdx<left.length&&rightIdx<right.length;){var ret=compare(left[leftIdx],right[rightIdx]);ret<=0?data[i++]=left[leftIdx++]:data[i++]=right[rightIdx++]}for(;leftIdx<left.length;)data[i++]=left[leftIdx++];for(;rightIdx<right.length;)data[i++]=right[rightIdx++];return data}})(TextDocument2||(exports3.TextDocument=TextDocument2={}));var FullTextDocument2=(function(){function FullTextDocument3(uri,languageId,version,content){this._uri=uri,this._languageId=languageId,this._version=version,this._content=content,this._lineOffsets=void 0}return Object.defineProperty(FullTextDocument3.prototype,"uri",{get:function(){return this._uri},enumerable:!1,configurable:!0}),Object.defineProperty(FullTextDocument3.prototype,"languageId",{get:function(){return this._languageId},enumerable:!1,configurable:!0}),Object.defineProperty(FullTextDocument3.prototype,"version",{get:function(){return this._version},enumerable:!1,configurable:!0}),FullTextDocument3.prototype.getText=function(range){if(range){var start=this.offsetAt(range.start),end=this.offsetAt(range.end);return this._content.substring(start,end)}return this._content},FullTextDocument3.prototype.update=function(event,version){this._content=event.text,this._version=version,this._lineOffsets=void 0},FullTextDocument3.prototype.getLineOffsets=function(){if(this._lineOffsets===void 0){for(var lineOffsets=[],text=this._content,isLineStart=!0,i=0;i<text.length;i++){isLineStart&&(lineOffsets.push(i),isLineStart=!1);var ch=text.charAt(i);isLineStart=ch==="\r"||ch===`
|
|
34
|
+
`,ch==="\r"&&i+1<text.length&&text.charAt(i+1)===`
|
|
35
|
+
`&&i++}isLineStart&&text.length>0&&lineOffsets.push(text.length),this._lineOffsets=lineOffsets}return this._lineOffsets},FullTextDocument3.prototype.positionAt=function(offset){offset=Math.max(Math.min(offset,this._content.length),0);var lineOffsets=this.getLineOffsets(),low=0,high=lineOffsets.length;if(high===0)return Position2.create(0,offset);for(;low<high;){var mid=Math.floor((low+high)/2);lineOffsets[mid]>offset?high=mid:low=mid+1}var line=low-1;return Position2.create(line,offset-lineOffsets[line])},FullTextDocument3.prototype.offsetAt=function(position){var lineOffsets=this.getLineOffsets();if(position.line>=lineOffsets.length)return this._content.length;if(position.line<0)return 0;var lineOffset=lineOffsets[position.line],nextLineOffset=position.line+1<lineOffsets.length?lineOffsets[position.line+1]:this._content.length;return Math.max(Math.min(lineOffset+position.character,nextLineOffset),lineOffset)},Object.defineProperty(FullTextDocument3.prototype,"lineCount",{get:function(){return this.getLineOffsets().length},enumerable:!1,configurable:!0}),FullTextDocument3})(),Is;(function(Is2){var toString=Object.prototype.toString;function defined(value){return typeof value<"u"}Is2.defined=defined;function undefined2(value){return typeof value>"u"}Is2.undefined=undefined2;function boolean(value){return value===!0||value===!1}Is2.boolean=boolean;function string(value){return toString.call(value)==="[object String]"}Is2.string=string;function number(value){return toString.call(value)==="[object Number]"}Is2.number=number;function numberRange(value,min,max){return toString.call(value)==="[object Number]"&&min<=value&&value<=max}Is2.numberRange=numberRange;function integer2(value){return toString.call(value)==="[object Number]"&&-2147483648<=value&&value<=2147483647}Is2.integer=integer2;function uinteger2(value){return toString.call(value)==="[object Number]"&&0<=value&&value<=2147483647}Is2.uinteger=uinteger2;function func(value){return toString.call(value)==="[object Function]"}Is2.func=func;function objectLiteral(value){return value!==null&&typeof value=="object"}Is2.objectLiteral=objectLiteral;function typedArray(value,check){return Array.isArray(value)&&value.every(check)}Is2.typedArray=typedArray})(Is||(Is={}))})}});var require_messages2=__commonJS({"server/node_modules/vscode-languageserver-protocol/lib/common/messages.js"(exports2){"use strict";Object.defineProperty(exports2,"__esModule",{value:!0});exports2.ProtocolNotificationType=exports2.ProtocolNotificationType0=exports2.ProtocolRequestType=exports2.ProtocolRequestType0=exports2.RegistrationType=exports2.MessageDirection=void 0;var vscode_jsonrpc_1=require_main(),MessageDirection;(function(MessageDirection2){MessageDirection2.clientToServer="clientToServer",MessageDirection2.serverToClient="serverToClient",MessageDirection2.both="both"})(MessageDirection||(exports2.MessageDirection=MessageDirection={}));var RegistrationType=class{constructor(method){this.method=method}};exports2.RegistrationType=RegistrationType;var ProtocolRequestType0=class extends vscode_jsonrpc_1.RequestType0{constructor(method){super(method)}};exports2.ProtocolRequestType0=ProtocolRequestType0;var ProtocolRequestType=class extends vscode_jsonrpc_1.RequestType{constructor(method){super(method,vscode_jsonrpc_1.ParameterStructures.byName)}};exports2.ProtocolRequestType=ProtocolRequestType;var ProtocolNotificationType0=class extends vscode_jsonrpc_1.NotificationType0{constructor(method){super(method)}};exports2.ProtocolNotificationType0=ProtocolNotificationType0;var ProtocolNotificationType=class extends vscode_jsonrpc_1.NotificationType{constructor(method){super(method,vscode_jsonrpc_1.ParameterStructures.byName)}};exports2.ProtocolNotificationType=ProtocolNotificationType}});var require_is3=__commonJS({"server/node_modules/vscode-languageserver-protocol/lib/common/utils/is.js"(exports2){"use strict";Object.defineProperty(exports2,"__esModule",{value:!0});exports2.objectLiteral=exports2.typedArray=exports2.stringArray=exports2.array=exports2.func=exports2.error=exports2.number=exports2.string=exports2.boolean=void 0;function boolean(value){return value===!0||value===!1}exports2.boolean=boolean;function string(value){return typeof value=="string"||value instanceof String}exports2.string=string;function number(value){return typeof value=="number"||value instanceof Number}exports2.number=number;function error(value){return value instanceof Error}exports2.error=error;function func(value){return typeof value=="function"}exports2.func=func;function array(value){return Array.isArray(value)}exports2.array=array;function stringArray(value){return array(value)&&value.every(elem=>string(elem))}exports2.stringArray=stringArray;function typedArray(value,check){return Array.isArray(value)&&value.every(check)}exports2.typedArray=typedArray;function objectLiteral(value){return value!==null&&typeof value=="object"}exports2.objectLiteral=objectLiteral}});var require_protocol_implementation=__commonJS({"server/node_modules/vscode-languageserver-protocol/lib/common/protocol.implementation.js"(exports2){"use strict";Object.defineProperty(exports2,"__esModule",{value:!0});exports2.ImplementationRequest=void 0;var messages_1=require_messages2(),ImplementationRequest;(function(ImplementationRequest2){ImplementationRequest2.method="textDocument/implementation",ImplementationRequest2.messageDirection=messages_1.MessageDirection.clientToServer,ImplementationRequest2.type=new messages_1.ProtocolRequestType(ImplementationRequest2.method)})(ImplementationRequest||(exports2.ImplementationRequest=ImplementationRequest={}))}});var require_protocol_typeDefinition=__commonJS({"server/node_modules/vscode-languageserver-protocol/lib/common/protocol.typeDefinition.js"(exports2){"use strict";Object.defineProperty(exports2,"__esModule",{value:!0});exports2.TypeDefinitionRequest=void 0;var messages_1=require_messages2(),TypeDefinitionRequest;(function(TypeDefinitionRequest2){TypeDefinitionRequest2.method="textDocument/typeDefinition",TypeDefinitionRequest2.messageDirection=messages_1.MessageDirection.clientToServer,TypeDefinitionRequest2.type=new messages_1.ProtocolRequestType(TypeDefinitionRequest2.method)})(TypeDefinitionRequest||(exports2.TypeDefinitionRequest=TypeDefinitionRequest={}))}});var require_protocol_workspaceFolder=__commonJS({"server/node_modules/vscode-languageserver-protocol/lib/common/protocol.workspaceFolder.js"(exports2){"use strict";Object.defineProperty(exports2,"__esModule",{value:!0});exports2.DidChangeWorkspaceFoldersNotification=exports2.WorkspaceFoldersRequest=void 0;var messages_1=require_messages2(),WorkspaceFoldersRequest;(function(WorkspaceFoldersRequest2){WorkspaceFoldersRequest2.method="workspace/workspaceFolders",WorkspaceFoldersRequest2.messageDirection=messages_1.MessageDirection.serverToClient,WorkspaceFoldersRequest2.type=new messages_1.ProtocolRequestType0(WorkspaceFoldersRequest2.method)})(WorkspaceFoldersRequest||(exports2.WorkspaceFoldersRequest=WorkspaceFoldersRequest={}));var DidChangeWorkspaceFoldersNotification;(function(DidChangeWorkspaceFoldersNotification2){DidChangeWorkspaceFoldersNotification2.method="workspace/didChangeWorkspaceFolders",DidChangeWorkspaceFoldersNotification2.messageDirection=messages_1.MessageDirection.clientToServer,DidChangeWorkspaceFoldersNotification2.type=new messages_1.ProtocolNotificationType(DidChangeWorkspaceFoldersNotification2.method)})(DidChangeWorkspaceFoldersNotification||(exports2.DidChangeWorkspaceFoldersNotification=DidChangeWorkspaceFoldersNotification={}))}});var require_protocol_configuration=__commonJS({"server/node_modules/vscode-languageserver-protocol/lib/common/protocol.configuration.js"(exports2){"use strict";Object.defineProperty(exports2,"__esModule",{value:!0});exports2.ConfigurationRequest=void 0;var messages_1=require_messages2(),ConfigurationRequest;(function(ConfigurationRequest2){ConfigurationRequest2.method="workspace/configuration",ConfigurationRequest2.messageDirection=messages_1.MessageDirection.serverToClient,ConfigurationRequest2.type=new messages_1.ProtocolRequestType(ConfigurationRequest2.method)})(ConfigurationRequest||(exports2.ConfigurationRequest=ConfigurationRequest={}))}});var require_protocol_colorProvider=__commonJS({"server/node_modules/vscode-languageserver-protocol/lib/common/protocol.colorProvider.js"(exports2){"use strict";Object.defineProperty(exports2,"__esModule",{value:!0});exports2.ColorPresentationRequest=exports2.DocumentColorRequest=void 0;var messages_1=require_messages2(),DocumentColorRequest;(function(DocumentColorRequest2){DocumentColorRequest2.method="textDocument/documentColor",DocumentColorRequest2.messageDirection=messages_1.MessageDirection.clientToServer,DocumentColorRequest2.type=new messages_1.ProtocolRequestType(DocumentColorRequest2.method)})(DocumentColorRequest||(exports2.DocumentColorRequest=DocumentColorRequest={}));var ColorPresentationRequest;(function(ColorPresentationRequest2){ColorPresentationRequest2.method="textDocument/colorPresentation",ColorPresentationRequest2.messageDirection=messages_1.MessageDirection.clientToServer,ColorPresentationRequest2.type=new messages_1.ProtocolRequestType(ColorPresentationRequest2.method)})(ColorPresentationRequest||(exports2.ColorPresentationRequest=ColorPresentationRequest={}))}});var require_protocol_foldingRange=__commonJS({"server/node_modules/vscode-languageserver-protocol/lib/common/protocol.foldingRange.js"(exports2){"use strict";Object.defineProperty(exports2,"__esModule",{value:!0});exports2.FoldingRangeRefreshRequest=exports2.FoldingRangeRequest=void 0;var messages_1=require_messages2(),FoldingRangeRequest;(function(FoldingRangeRequest2){FoldingRangeRequest2.method="textDocument/foldingRange",FoldingRangeRequest2.messageDirection=messages_1.MessageDirection.clientToServer,FoldingRangeRequest2.type=new messages_1.ProtocolRequestType(FoldingRangeRequest2.method)})(FoldingRangeRequest||(exports2.FoldingRangeRequest=FoldingRangeRequest={}));var FoldingRangeRefreshRequest;(function(FoldingRangeRefreshRequest2){FoldingRangeRefreshRequest2.method="workspace/foldingRange/refresh",FoldingRangeRefreshRequest2.messageDirection=messages_1.MessageDirection.serverToClient,FoldingRangeRefreshRequest2.type=new messages_1.ProtocolRequestType0(FoldingRangeRefreshRequest2.method)})(FoldingRangeRefreshRequest||(exports2.FoldingRangeRefreshRequest=FoldingRangeRefreshRequest={}))}});var require_protocol_declaration=__commonJS({"server/node_modules/vscode-languageserver-protocol/lib/common/protocol.declaration.js"(exports2){"use strict";Object.defineProperty(exports2,"__esModule",{value:!0});exports2.DeclarationRequest=void 0;var messages_1=require_messages2(),DeclarationRequest;(function(DeclarationRequest2){DeclarationRequest2.method="textDocument/declaration",DeclarationRequest2.messageDirection=messages_1.MessageDirection.clientToServer,DeclarationRequest2.type=new messages_1.ProtocolRequestType(DeclarationRequest2.method)})(DeclarationRequest||(exports2.DeclarationRequest=DeclarationRequest={}))}});var require_protocol_selectionRange=__commonJS({"server/node_modules/vscode-languageserver-protocol/lib/common/protocol.selectionRange.js"(exports2){"use strict";Object.defineProperty(exports2,"__esModule",{value:!0});exports2.SelectionRangeRequest=void 0;var messages_1=require_messages2(),SelectionRangeRequest;(function(SelectionRangeRequest2){SelectionRangeRequest2.method="textDocument/selectionRange",SelectionRangeRequest2.messageDirection=messages_1.MessageDirection.clientToServer,SelectionRangeRequest2.type=new messages_1.ProtocolRequestType(SelectionRangeRequest2.method)})(SelectionRangeRequest||(exports2.SelectionRangeRequest=SelectionRangeRequest={}))}});var require_protocol_progress=__commonJS({"server/node_modules/vscode-languageserver-protocol/lib/common/protocol.progress.js"(exports2){"use strict";Object.defineProperty(exports2,"__esModule",{value:!0});exports2.WorkDoneProgressCancelNotification=exports2.WorkDoneProgressCreateRequest=exports2.WorkDoneProgress=void 0;var vscode_jsonrpc_1=require_main(),messages_1=require_messages2(),WorkDoneProgress;(function(WorkDoneProgress2){WorkDoneProgress2.type=new vscode_jsonrpc_1.ProgressType;function is(value){return value===WorkDoneProgress2.type}WorkDoneProgress2.is=is})(WorkDoneProgress||(exports2.WorkDoneProgress=WorkDoneProgress={}));var WorkDoneProgressCreateRequest;(function(WorkDoneProgressCreateRequest2){WorkDoneProgressCreateRequest2.method="window/workDoneProgress/create",WorkDoneProgressCreateRequest2.messageDirection=messages_1.MessageDirection.serverToClient,WorkDoneProgressCreateRequest2.type=new messages_1.ProtocolRequestType(WorkDoneProgressCreateRequest2.method)})(WorkDoneProgressCreateRequest||(exports2.WorkDoneProgressCreateRequest=WorkDoneProgressCreateRequest={}));var WorkDoneProgressCancelNotification;(function(WorkDoneProgressCancelNotification2){WorkDoneProgressCancelNotification2.method="window/workDoneProgress/cancel",WorkDoneProgressCancelNotification2.messageDirection=messages_1.MessageDirection.clientToServer,WorkDoneProgressCancelNotification2.type=new messages_1.ProtocolNotificationType(WorkDoneProgressCancelNotification2.method)})(WorkDoneProgressCancelNotification||(exports2.WorkDoneProgressCancelNotification=WorkDoneProgressCancelNotification={}))}});var require_protocol_callHierarchy=__commonJS({"server/node_modules/vscode-languageserver-protocol/lib/common/protocol.callHierarchy.js"(exports2){"use strict";Object.defineProperty(exports2,"__esModule",{value:!0});exports2.CallHierarchyOutgoingCallsRequest=exports2.CallHierarchyIncomingCallsRequest=exports2.CallHierarchyPrepareRequest=void 0;var messages_1=require_messages2(),CallHierarchyPrepareRequest;(function(CallHierarchyPrepareRequest2){CallHierarchyPrepareRequest2.method="textDocument/prepareCallHierarchy",CallHierarchyPrepareRequest2.messageDirection=messages_1.MessageDirection.clientToServer,CallHierarchyPrepareRequest2.type=new messages_1.ProtocolRequestType(CallHierarchyPrepareRequest2.method)})(CallHierarchyPrepareRequest||(exports2.CallHierarchyPrepareRequest=CallHierarchyPrepareRequest={}));var CallHierarchyIncomingCallsRequest;(function(CallHierarchyIncomingCallsRequest2){CallHierarchyIncomingCallsRequest2.method="callHierarchy/incomingCalls",CallHierarchyIncomingCallsRequest2.messageDirection=messages_1.MessageDirection.clientToServer,CallHierarchyIncomingCallsRequest2.type=new messages_1.ProtocolRequestType(CallHierarchyIncomingCallsRequest2.method)})(CallHierarchyIncomingCallsRequest||(exports2.CallHierarchyIncomingCallsRequest=CallHierarchyIncomingCallsRequest={}));var CallHierarchyOutgoingCallsRequest;(function(CallHierarchyOutgoingCallsRequest2){CallHierarchyOutgoingCallsRequest2.method="callHierarchy/outgoingCalls",CallHierarchyOutgoingCallsRequest2.messageDirection=messages_1.MessageDirection.clientToServer,CallHierarchyOutgoingCallsRequest2.type=new messages_1.ProtocolRequestType(CallHierarchyOutgoingCallsRequest2.method)})(CallHierarchyOutgoingCallsRequest||(exports2.CallHierarchyOutgoingCallsRequest=CallHierarchyOutgoingCallsRequest={}))}});var require_protocol_semanticTokens=__commonJS({"server/node_modules/vscode-languageserver-protocol/lib/common/protocol.semanticTokens.js"(exports2){"use strict";Object.defineProperty(exports2,"__esModule",{value:!0});exports2.SemanticTokensRefreshRequest=exports2.SemanticTokensRangeRequest=exports2.SemanticTokensDeltaRequest=exports2.SemanticTokensRequest=exports2.SemanticTokensRegistrationType=exports2.TokenFormat=void 0;var messages_1=require_messages2(),TokenFormat;(function(TokenFormat2){TokenFormat2.Relative="relative"})(TokenFormat||(exports2.TokenFormat=TokenFormat={}));var SemanticTokensRegistrationType;(function(SemanticTokensRegistrationType2){SemanticTokensRegistrationType2.method="textDocument/semanticTokens",SemanticTokensRegistrationType2.type=new messages_1.RegistrationType(SemanticTokensRegistrationType2.method)})(SemanticTokensRegistrationType||(exports2.SemanticTokensRegistrationType=SemanticTokensRegistrationType={}));var SemanticTokensRequest;(function(SemanticTokensRequest2){SemanticTokensRequest2.method="textDocument/semanticTokens/full",SemanticTokensRequest2.messageDirection=messages_1.MessageDirection.clientToServer,SemanticTokensRequest2.type=new messages_1.ProtocolRequestType(SemanticTokensRequest2.method),SemanticTokensRequest2.registrationMethod=SemanticTokensRegistrationType.method})(SemanticTokensRequest||(exports2.SemanticTokensRequest=SemanticTokensRequest={}));var SemanticTokensDeltaRequest;(function(SemanticTokensDeltaRequest2){SemanticTokensDeltaRequest2.method="textDocument/semanticTokens/full/delta",SemanticTokensDeltaRequest2.messageDirection=messages_1.MessageDirection.clientToServer,SemanticTokensDeltaRequest2.type=new messages_1.ProtocolRequestType(SemanticTokensDeltaRequest2.method),SemanticTokensDeltaRequest2.registrationMethod=SemanticTokensRegistrationType.method})(SemanticTokensDeltaRequest||(exports2.SemanticTokensDeltaRequest=SemanticTokensDeltaRequest={}));var SemanticTokensRangeRequest;(function(SemanticTokensRangeRequest2){SemanticTokensRangeRequest2.method="textDocument/semanticTokens/range",SemanticTokensRangeRequest2.messageDirection=messages_1.MessageDirection.clientToServer,SemanticTokensRangeRequest2.type=new messages_1.ProtocolRequestType(SemanticTokensRangeRequest2.method),SemanticTokensRangeRequest2.registrationMethod=SemanticTokensRegistrationType.method})(SemanticTokensRangeRequest||(exports2.SemanticTokensRangeRequest=SemanticTokensRangeRequest={}));var SemanticTokensRefreshRequest;(function(SemanticTokensRefreshRequest2){SemanticTokensRefreshRequest2.method="workspace/semanticTokens/refresh",SemanticTokensRefreshRequest2.messageDirection=messages_1.MessageDirection.serverToClient,SemanticTokensRefreshRequest2.type=new messages_1.ProtocolRequestType0(SemanticTokensRefreshRequest2.method)})(SemanticTokensRefreshRequest||(exports2.SemanticTokensRefreshRequest=SemanticTokensRefreshRequest={}))}});var require_protocol_showDocument=__commonJS({"server/node_modules/vscode-languageserver-protocol/lib/common/protocol.showDocument.js"(exports2){"use strict";Object.defineProperty(exports2,"__esModule",{value:!0});exports2.ShowDocumentRequest=void 0;var messages_1=require_messages2(),ShowDocumentRequest;(function(ShowDocumentRequest2){ShowDocumentRequest2.method="window/showDocument",ShowDocumentRequest2.messageDirection=messages_1.MessageDirection.serverToClient,ShowDocumentRequest2.type=new messages_1.ProtocolRequestType(ShowDocumentRequest2.method)})(ShowDocumentRequest||(exports2.ShowDocumentRequest=ShowDocumentRequest={}))}});var require_protocol_linkedEditingRange=__commonJS({"server/node_modules/vscode-languageserver-protocol/lib/common/protocol.linkedEditingRange.js"(exports2){"use strict";Object.defineProperty(exports2,"__esModule",{value:!0});exports2.LinkedEditingRangeRequest=void 0;var messages_1=require_messages2(),LinkedEditingRangeRequest;(function(LinkedEditingRangeRequest2){LinkedEditingRangeRequest2.method="textDocument/linkedEditingRange",LinkedEditingRangeRequest2.messageDirection=messages_1.MessageDirection.clientToServer,LinkedEditingRangeRequest2.type=new messages_1.ProtocolRequestType(LinkedEditingRangeRequest2.method)})(LinkedEditingRangeRequest||(exports2.LinkedEditingRangeRequest=LinkedEditingRangeRequest={}))}});var require_protocol_fileOperations=__commonJS({"server/node_modules/vscode-languageserver-protocol/lib/common/protocol.fileOperations.js"(exports2){"use strict";Object.defineProperty(exports2,"__esModule",{value:!0});exports2.WillDeleteFilesRequest=exports2.DidDeleteFilesNotification=exports2.DidRenameFilesNotification=exports2.WillRenameFilesRequest=exports2.DidCreateFilesNotification=exports2.WillCreateFilesRequest=exports2.FileOperationPatternKind=void 0;var messages_1=require_messages2(),FileOperationPatternKind;(function(FileOperationPatternKind2){FileOperationPatternKind2.file="file",FileOperationPatternKind2.folder="folder"})(FileOperationPatternKind||(exports2.FileOperationPatternKind=FileOperationPatternKind={}));var WillCreateFilesRequest;(function(WillCreateFilesRequest2){WillCreateFilesRequest2.method="workspace/willCreateFiles",WillCreateFilesRequest2.messageDirection=messages_1.MessageDirection.clientToServer,WillCreateFilesRequest2.type=new messages_1.ProtocolRequestType(WillCreateFilesRequest2.method)})(WillCreateFilesRequest||(exports2.WillCreateFilesRequest=WillCreateFilesRequest={}));var DidCreateFilesNotification;(function(DidCreateFilesNotification2){DidCreateFilesNotification2.method="workspace/didCreateFiles",DidCreateFilesNotification2.messageDirection=messages_1.MessageDirection.clientToServer,DidCreateFilesNotification2.type=new messages_1.ProtocolNotificationType(DidCreateFilesNotification2.method)})(DidCreateFilesNotification||(exports2.DidCreateFilesNotification=DidCreateFilesNotification={}));var WillRenameFilesRequest;(function(WillRenameFilesRequest2){WillRenameFilesRequest2.method="workspace/willRenameFiles",WillRenameFilesRequest2.messageDirection=messages_1.MessageDirection.clientToServer,WillRenameFilesRequest2.type=new messages_1.ProtocolRequestType(WillRenameFilesRequest2.method)})(WillRenameFilesRequest||(exports2.WillRenameFilesRequest=WillRenameFilesRequest={}));var DidRenameFilesNotification;(function(DidRenameFilesNotification2){DidRenameFilesNotification2.method="workspace/didRenameFiles",DidRenameFilesNotification2.messageDirection=messages_1.MessageDirection.clientToServer,DidRenameFilesNotification2.type=new messages_1.ProtocolNotificationType(DidRenameFilesNotification2.method)})(DidRenameFilesNotification||(exports2.DidRenameFilesNotification=DidRenameFilesNotification={}));var DidDeleteFilesNotification;(function(DidDeleteFilesNotification2){DidDeleteFilesNotification2.method="workspace/didDeleteFiles",DidDeleteFilesNotification2.messageDirection=messages_1.MessageDirection.clientToServer,DidDeleteFilesNotification2.type=new messages_1.ProtocolNotificationType(DidDeleteFilesNotification2.method)})(DidDeleteFilesNotification||(exports2.DidDeleteFilesNotification=DidDeleteFilesNotification={}));var WillDeleteFilesRequest;(function(WillDeleteFilesRequest2){WillDeleteFilesRequest2.method="workspace/willDeleteFiles",WillDeleteFilesRequest2.messageDirection=messages_1.MessageDirection.clientToServer,WillDeleteFilesRequest2.type=new messages_1.ProtocolRequestType(WillDeleteFilesRequest2.method)})(WillDeleteFilesRequest||(exports2.WillDeleteFilesRequest=WillDeleteFilesRequest={}))}});var require_protocol_moniker=__commonJS({"server/node_modules/vscode-languageserver-protocol/lib/common/protocol.moniker.js"(exports2){"use strict";Object.defineProperty(exports2,"__esModule",{value:!0});exports2.MonikerRequest=exports2.MonikerKind=exports2.UniquenessLevel=void 0;var messages_1=require_messages2(),UniquenessLevel;(function(UniquenessLevel2){UniquenessLevel2.document="document",UniquenessLevel2.project="project",UniquenessLevel2.group="group",UniquenessLevel2.scheme="scheme",UniquenessLevel2.global="global"})(UniquenessLevel||(exports2.UniquenessLevel=UniquenessLevel={}));var MonikerKind;(function(MonikerKind2){MonikerKind2.$import="import",MonikerKind2.$export="export",MonikerKind2.local="local"})(MonikerKind||(exports2.MonikerKind=MonikerKind={}));var MonikerRequest;(function(MonikerRequest2){MonikerRequest2.method="textDocument/moniker",MonikerRequest2.messageDirection=messages_1.MessageDirection.clientToServer,MonikerRequest2.type=new messages_1.ProtocolRequestType(MonikerRequest2.method)})(MonikerRequest||(exports2.MonikerRequest=MonikerRequest={}))}});var require_protocol_typeHierarchy=__commonJS({"server/node_modules/vscode-languageserver-protocol/lib/common/protocol.typeHierarchy.js"(exports2){"use strict";Object.defineProperty(exports2,"__esModule",{value:!0});exports2.TypeHierarchySubtypesRequest=exports2.TypeHierarchySupertypesRequest=exports2.TypeHierarchyPrepareRequest=void 0;var messages_1=require_messages2(),TypeHierarchyPrepareRequest;(function(TypeHierarchyPrepareRequest2){TypeHierarchyPrepareRequest2.method="textDocument/prepareTypeHierarchy",TypeHierarchyPrepareRequest2.messageDirection=messages_1.MessageDirection.clientToServer,TypeHierarchyPrepareRequest2.type=new messages_1.ProtocolRequestType(TypeHierarchyPrepareRequest2.method)})(TypeHierarchyPrepareRequest||(exports2.TypeHierarchyPrepareRequest=TypeHierarchyPrepareRequest={}));var TypeHierarchySupertypesRequest;(function(TypeHierarchySupertypesRequest2){TypeHierarchySupertypesRequest2.method="typeHierarchy/supertypes",TypeHierarchySupertypesRequest2.messageDirection=messages_1.MessageDirection.clientToServer,TypeHierarchySupertypesRequest2.type=new messages_1.ProtocolRequestType(TypeHierarchySupertypesRequest2.method)})(TypeHierarchySupertypesRequest||(exports2.TypeHierarchySupertypesRequest=TypeHierarchySupertypesRequest={}));var TypeHierarchySubtypesRequest;(function(TypeHierarchySubtypesRequest2){TypeHierarchySubtypesRequest2.method="typeHierarchy/subtypes",TypeHierarchySubtypesRequest2.messageDirection=messages_1.MessageDirection.clientToServer,TypeHierarchySubtypesRequest2.type=new messages_1.ProtocolRequestType(TypeHierarchySubtypesRequest2.method)})(TypeHierarchySubtypesRequest||(exports2.TypeHierarchySubtypesRequest=TypeHierarchySubtypesRequest={}))}});var require_protocol_inlineValue=__commonJS({"server/node_modules/vscode-languageserver-protocol/lib/common/protocol.inlineValue.js"(exports2){"use strict";Object.defineProperty(exports2,"__esModule",{value:!0});exports2.InlineValueRefreshRequest=exports2.InlineValueRequest=void 0;var messages_1=require_messages2(),InlineValueRequest;(function(InlineValueRequest2){InlineValueRequest2.method="textDocument/inlineValue",InlineValueRequest2.messageDirection=messages_1.MessageDirection.clientToServer,InlineValueRequest2.type=new messages_1.ProtocolRequestType(InlineValueRequest2.method)})(InlineValueRequest||(exports2.InlineValueRequest=InlineValueRequest={}));var InlineValueRefreshRequest;(function(InlineValueRefreshRequest2){InlineValueRefreshRequest2.method="workspace/inlineValue/refresh",InlineValueRefreshRequest2.messageDirection=messages_1.MessageDirection.serverToClient,InlineValueRefreshRequest2.type=new messages_1.ProtocolRequestType0(InlineValueRefreshRequest2.method)})(InlineValueRefreshRequest||(exports2.InlineValueRefreshRequest=InlineValueRefreshRequest={}))}});var require_protocol_inlayHint=__commonJS({"server/node_modules/vscode-languageserver-protocol/lib/common/protocol.inlayHint.js"(exports2){"use strict";Object.defineProperty(exports2,"__esModule",{value:!0});exports2.InlayHintRefreshRequest=exports2.InlayHintResolveRequest=exports2.InlayHintRequest=void 0;var messages_1=require_messages2(),InlayHintRequest;(function(InlayHintRequest2){InlayHintRequest2.method="textDocument/inlayHint",InlayHintRequest2.messageDirection=messages_1.MessageDirection.clientToServer,InlayHintRequest2.type=new messages_1.ProtocolRequestType(InlayHintRequest2.method)})(InlayHintRequest||(exports2.InlayHintRequest=InlayHintRequest={}));var InlayHintResolveRequest;(function(InlayHintResolveRequest2){InlayHintResolveRequest2.method="inlayHint/resolve",InlayHintResolveRequest2.messageDirection=messages_1.MessageDirection.clientToServer,InlayHintResolveRequest2.type=new messages_1.ProtocolRequestType(InlayHintResolveRequest2.method)})(InlayHintResolveRequest||(exports2.InlayHintResolveRequest=InlayHintResolveRequest={}));var InlayHintRefreshRequest;(function(InlayHintRefreshRequest2){InlayHintRefreshRequest2.method="workspace/inlayHint/refresh",InlayHintRefreshRequest2.messageDirection=messages_1.MessageDirection.serverToClient,InlayHintRefreshRequest2.type=new messages_1.ProtocolRequestType0(InlayHintRefreshRequest2.method)})(InlayHintRefreshRequest||(exports2.InlayHintRefreshRequest=InlayHintRefreshRequest={}))}});var require_protocol_diagnostic=__commonJS({"server/node_modules/vscode-languageserver-protocol/lib/common/protocol.diagnostic.js"(exports2){"use strict";Object.defineProperty(exports2,"__esModule",{value:!0});exports2.DiagnosticRefreshRequest=exports2.WorkspaceDiagnosticRequest=exports2.DocumentDiagnosticRequest=exports2.DocumentDiagnosticReportKind=exports2.DiagnosticServerCancellationData=void 0;var vscode_jsonrpc_1=require_main(),Is=require_is3(),messages_1=require_messages2(),DiagnosticServerCancellationData;(function(DiagnosticServerCancellationData2){function is(value){let candidate=value;return candidate&&Is.boolean(candidate.retriggerRequest)}DiagnosticServerCancellationData2.is=is})(DiagnosticServerCancellationData||(exports2.DiagnosticServerCancellationData=DiagnosticServerCancellationData={}));var DocumentDiagnosticReportKind;(function(DocumentDiagnosticReportKind2){DocumentDiagnosticReportKind2.Full="full",DocumentDiagnosticReportKind2.Unchanged="unchanged"})(DocumentDiagnosticReportKind||(exports2.DocumentDiagnosticReportKind=DocumentDiagnosticReportKind={}));var DocumentDiagnosticRequest;(function(DocumentDiagnosticRequest2){DocumentDiagnosticRequest2.method="textDocument/diagnostic",DocumentDiagnosticRequest2.messageDirection=messages_1.MessageDirection.clientToServer,DocumentDiagnosticRequest2.type=new messages_1.ProtocolRequestType(DocumentDiagnosticRequest2.method),DocumentDiagnosticRequest2.partialResult=new vscode_jsonrpc_1.ProgressType})(DocumentDiagnosticRequest||(exports2.DocumentDiagnosticRequest=DocumentDiagnosticRequest={}));var WorkspaceDiagnosticRequest;(function(WorkspaceDiagnosticRequest2){WorkspaceDiagnosticRequest2.method="workspace/diagnostic",WorkspaceDiagnosticRequest2.messageDirection=messages_1.MessageDirection.clientToServer,WorkspaceDiagnosticRequest2.type=new messages_1.ProtocolRequestType(WorkspaceDiagnosticRequest2.method),WorkspaceDiagnosticRequest2.partialResult=new vscode_jsonrpc_1.ProgressType})(WorkspaceDiagnosticRequest||(exports2.WorkspaceDiagnosticRequest=WorkspaceDiagnosticRequest={}));var DiagnosticRefreshRequest;(function(DiagnosticRefreshRequest2){DiagnosticRefreshRequest2.method="workspace/diagnostic/refresh",DiagnosticRefreshRequest2.messageDirection=messages_1.MessageDirection.serverToClient,DiagnosticRefreshRequest2.type=new messages_1.ProtocolRequestType0(DiagnosticRefreshRequest2.method)})(DiagnosticRefreshRequest||(exports2.DiagnosticRefreshRequest=DiagnosticRefreshRequest={}))}});var require_protocol_notebook=__commonJS({"server/node_modules/vscode-languageserver-protocol/lib/common/protocol.notebook.js"(exports2){"use strict";Object.defineProperty(exports2,"__esModule",{value:!0});exports2.DidCloseNotebookDocumentNotification=exports2.DidSaveNotebookDocumentNotification=exports2.DidChangeNotebookDocumentNotification=exports2.NotebookCellArrayChange=exports2.DidOpenNotebookDocumentNotification=exports2.NotebookDocumentSyncRegistrationType=exports2.NotebookDocument=exports2.NotebookCell=exports2.ExecutionSummary=exports2.NotebookCellKind=void 0;var vscode_languageserver_types_1=require_main2(),Is=require_is3(),messages_1=require_messages2(),NotebookCellKind;(function(NotebookCellKind2){NotebookCellKind2.Markup=1,NotebookCellKind2.Code=2;function is(value){return value===1||value===2}NotebookCellKind2.is=is})(NotebookCellKind||(exports2.NotebookCellKind=NotebookCellKind={}));var ExecutionSummary;(function(ExecutionSummary2){function create(executionOrder,success){let result={executionOrder};return(success===!0||success===!1)&&(result.success=success),result}ExecutionSummary2.create=create;function is(value){let candidate=value;return Is.objectLiteral(candidate)&&vscode_languageserver_types_1.uinteger.is(candidate.executionOrder)&&(candidate.success===void 0||Is.boolean(candidate.success))}ExecutionSummary2.is=is;function equals(one,other){return one===other?!0:one==null||other===null||other===void 0?!1:one.executionOrder===other.executionOrder&&one.success===other.success}ExecutionSummary2.equals=equals})(ExecutionSummary||(exports2.ExecutionSummary=ExecutionSummary={}));var NotebookCell;(function(NotebookCell2){function create(kind,document){return{kind,document}}NotebookCell2.create=create;function is(value){let candidate=value;return Is.objectLiteral(candidate)&&NotebookCellKind.is(candidate.kind)&&vscode_languageserver_types_1.DocumentUri.is(candidate.document)&&(candidate.metadata===void 0||Is.objectLiteral(candidate.metadata))}NotebookCell2.is=is;function diff(one,two){let result=new Set;return one.document!==two.document&&result.add("document"),one.kind!==two.kind&&result.add("kind"),one.executionSummary!==two.executionSummary&&result.add("executionSummary"),(one.metadata!==void 0||two.metadata!==void 0)&&!equalsMetadata(one.metadata,two.metadata)&&result.add("metadata"),(one.executionSummary!==void 0||two.executionSummary!==void 0)&&!ExecutionSummary.equals(one.executionSummary,two.executionSummary)&&result.add("executionSummary"),result}NotebookCell2.diff=diff;function equalsMetadata(one,other){if(one===other)return!0;if(one==null||other===null||other===void 0||typeof one!=typeof other||typeof one!="object")return!1;let oneArray=Array.isArray(one),otherArray=Array.isArray(other);if(oneArray!==otherArray)return!1;if(oneArray&&otherArray){if(one.length!==other.length)return!1;for(let i=0;i<one.length;i++)if(!equalsMetadata(one[i],other[i]))return!1}if(Is.objectLiteral(one)&&Is.objectLiteral(other)){let oneKeys=Object.keys(one),otherKeys=Object.keys(other);if(oneKeys.length!==otherKeys.length||(oneKeys.sort(),otherKeys.sort(),!equalsMetadata(oneKeys,otherKeys)))return!1;for(let i=0;i<oneKeys.length;i++){let prop=oneKeys[i];if(!equalsMetadata(one[prop],other[prop]))return!1}}return!0}})(NotebookCell||(exports2.NotebookCell=NotebookCell={}));var NotebookDocument;(function(NotebookDocument2){function create(uri,notebookType,version,cells){return{uri,notebookType,version,cells}}NotebookDocument2.create=create;function is(value){let candidate=value;return Is.objectLiteral(candidate)&&Is.string(candidate.uri)&&vscode_languageserver_types_1.integer.is(candidate.version)&&Is.typedArray(candidate.cells,NotebookCell.is)}NotebookDocument2.is=is})(NotebookDocument||(exports2.NotebookDocument=NotebookDocument={}));var NotebookDocumentSyncRegistrationType;(function(NotebookDocumentSyncRegistrationType2){NotebookDocumentSyncRegistrationType2.method="notebookDocument/sync",NotebookDocumentSyncRegistrationType2.messageDirection=messages_1.MessageDirection.clientToServer,NotebookDocumentSyncRegistrationType2.type=new messages_1.RegistrationType(NotebookDocumentSyncRegistrationType2.method)})(NotebookDocumentSyncRegistrationType||(exports2.NotebookDocumentSyncRegistrationType=NotebookDocumentSyncRegistrationType={}));var DidOpenNotebookDocumentNotification;(function(DidOpenNotebookDocumentNotification2){DidOpenNotebookDocumentNotification2.method="notebookDocument/didOpen",DidOpenNotebookDocumentNotification2.messageDirection=messages_1.MessageDirection.clientToServer,DidOpenNotebookDocumentNotification2.type=new messages_1.ProtocolNotificationType(DidOpenNotebookDocumentNotification2.method),DidOpenNotebookDocumentNotification2.registrationMethod=NotebookDocumentSyncRegistrationType.method})(DidOpenNotebookDocumentNotification||(exports2.DidOpenNotebookDocumentNotification=DidOpenNotebookDocumentNotification={}));var NotebookCellArrayChange;(function(NotebookCellArrayChange2){function is(value){let candidate=value;return Is.objectLiteral(candidate)&&vscode_languageserver_types_1.uinteger.is(candidate.start)&&vscode_languageserver_types_1.uinteger.is(candidate.deleteCount)&&(candidate.cells===void 0||Is.typedArray(candidate.cells,NotebookCell.is))}NotebookCellArrayChange2.is=is;function create(start,deleteCount,cells){let result={start,deleteCount};return cells!==void 0&&(result.cells=cells),result}NotebookCellArrayChange2.create=create})(NotebookCellArrayChange||(exports2.NotebookCellArrayChange=NotebookCellArrayChange={}));var DidChangeNotebookDocumentNotification;(function(DidChangeNotebookDocumentNotification2){DidChangeNotebookDocumentNotification2.method="notebookDocument/didChange",DidChangeNotebookDocumentNotification2.messageDirection=messages_1.MessageDirection.clientToServer,DidChangeNotebookDocumentNotification2.type=new messages_1.ProtocolNotificationType(DidChangeNotebookDocumentNotification2.method),DidChangeNotebookDocumentNotification2.registrationMethod=NotebookDocumentSyncRegistrationType.method})(DidChangeNotebookDocumentNotification||(exports2.DidChangeNotebookDocumentNotification=DidChangeNotebookDocumentNotification={}));var DidSaveNotebookDocumentNotification;(function(DidSaveNotebookDocumentNotification2){DidSaveNotebookDocumentNotification2.method="notebookDocument/didSave",DidSaveNotebookDocumentNotification2.messageDirection=messages_1.MessageDirection.clientToServer,DidSaveNotebookDocumentNotification2.type=new messages_1.ProtocolNotificationType(DidSaveNotebookDocumentNotification2.method),DidSaveNotebookDocumentNotification2.registrationMethod=NotebookDocumentSyncRegistrationType.method})(DidSaveNotebookDocumentNotification||(exports2.DidSaveNotebookDocumentNotification=DidSaveNotebookDocumentNotification={}));var DidCloseNotebookDocumentNotification;(function(DidCloseNotebookDocumentNotification2){DidCloseNotebookDocumentNotification2.method="notebookDocument/didClose",DidCloseNotebookDocumentNotification2.messageDirection=messages_1.MessageDirection.clientToServer,DidCloseNotebookDocumentNotification2.type=new messages_1.ProtocolNotificationType(DidCloseNotebookDocumentNotification2.method),DidCloseNotebookDocumentNotification2.registrationMethod=NotebookDocumentSyncRegistrationType.method})(DidCloseNotebookDocumentNotification||(exports2.DidCloseNotebookDocumentNotification=DidCloseNotebookDocumentNotification={}))}});var require_protocol_inlineCompletion=__commonJS({"server/node_modules/vscode-languageserver-protocol/lib/common/protocol.inlineCompletion.js"(exports2){"use strict";Object.defineProperty(exports2,"__esModule",{value:!0});exports2.InlineCompletionRequest=void 0;var messages_1=require_messages2(),InlineCompletionRequest;(function(InlineCompletionRequest2){InlineCompletionRequest2.method="textDocument/inlineCompletion",InlineCompletionRequest2.messageDirection=messages_1.MessageDirection.clientToServer,InlineCompletionRequest2.type=new messages_1.ProtocolRequestType(InlineCompletionRequest2.method)})(InlineCompletionRequest||(exports2.InlineCompletionRequest=InlineCompletionRequest={}))}});var require_protocol=__commonJS({"server/node_modules/vscode-languageserver-protocol/lib/common/protocol.js"(exports2){"use strict";Object.defineProperty(exports2,"__esModule",{value:!0});exports2.WorkspaceSymbolRequest=exports2.CodeActionResolveRequest=exports2.CodeActionRequest=exports2.DocumentSymbolRequest=exports2.DocumentHighlightRequest=exports2.ReferencesRequest=exports2.DefinitionRequest=exports2.SignatureHelpRequest=exports2.SignatureHelpTriggerKind=exports2.HoverRequest=exports2.CompletionResolveRequest=exports2.CompletionRequest=exports2.CompletionTriggerKind=exports2.PublishDiagnosticsNotification=exports2.WatchKind=exports2.RelativePattern=exports2.FileChangeType=exports2.DidChangeWatchedFilesNotification=exports2.WillSaveTextDocumentWaitUntilRequest=exports2.WillSaveTextDocumentNotification=exports2.TextDocumentSaveReason=exports2.DidSaveTextDocumentNotification=exports2.DidCloseTextDocumentNotification=exports2.DidChangeTextDocumentNotification=exports2.TextDocumentContentChangeEvent=exports2.DidOpenTextDocumentNotification=exports2.TextDocumentSyncKind=exports2.TelemetryEventNotification=exports2.LogMessageNotification=exports2.ShowMessageRequest=exports2.ShowMessageNotification=exports2.MessageType=exports2.DidChangeConfigurationNotification=exports2.ExitNotification=exports2.ShutdownRequest=exports2.InitializedNotification=exports2.InitializeErrorCodes=exports2.InitializeRequest=exports2.WorkDoneProgressOptions=exports2.TextDocumentRegistrationOptions=exports2.StaticRegistrationOptions=exports2.PositionEncodingKind=exports2.FailureHandlingKind=exports2.ResourceOperationKind=exports2.UnregistrationRequest=exports2.RegistrationRequest=exports2.DocumentSelector=exports2.NotebookCellTextDocumentFilter=exports2.NotebookDocumentFilter=exports2.TextDocumentFilter=void 0;exports2.MonikerRequest=exports2.MonikerKind=exports2.UniquenessLevel=exports2.WillDeleteFilesRequest=exports2.DidDeleteFilesNotification=exports2.WillRenameFilesRequest=exports2.DidRenameFilesNotification=exports2.WillCreateFilesRequest=exports2.DidCreateFilesNotification=exports2.FileOperationPatternKind=exports2.LinkedEditingRangeRequest=exports2.ShowDocumentRequest=exports2.SemanticTokensRegistrationType=exports2.SemanticTokensRefreshRequest=exports2.SemanticTokensRangeRequest=exports2.SemanticTokensDeltaRequest=exports2.SemanticTokensRequest=exports2.TokenFormat=exports2.CallHierarchyPrepareRequest=exports2.CallHierarchyOutgoingCallsRequest=exports2.CallHierarchyIncomingCallsRequest=exports2.WorkDoneProgressCancelNotification=exports2.WorkDoneProgressCreateRequest=exports2.WorkDoneProgress=exports2.SelectionRangeRequest=exports2.DeclarationRequest=exports2.FoldingRangeRefreshRequest=exports2.FoldingRangeRequest=exports2.ColorPresentationRequest=exports2.DocumentColorRequest=exports2.ConfigurationRequest=exports2.DidChangeWorkspaceFoldersNotification=exports2.WorkspaceFoldersRequest=exports2.TypeDefinitionRequest=exports2.ImplementationRequest=exports2.ApplyWorkspaceEditRequest=exports2.ExecuteCommandRequest=exports2.PrepareRenameRequest=exports2.RenameRequest=exports2.PrepareSupportDefaultBehavior=exports2.DocumentOnTypeFormattingRequest=exports2.DocumentRangesFormattingRequest=exports2.DocumentRangeFormattingRequest=exports2.DocumentFormattingRequest=exports2.DocumentLinkResolveRequest=exports2.DocumentLinkRequest=exports2.CodeLensRefreshRequest=exports2.CodeLensResolveRequest=exports2.CodeLensRequest=exports2.WorkspaceSymbolResolveRequest=void 0;exports2.InlineCompletionRequest=exports2.DidCloseNotebookDocumentNotification=exports2.DidSaveNotebookDocumentNotification=exports2.DidChangeNotebookDocumentNotification=exports2.NotebookCellArrayChange=exports2.DidOpenNotebookDocumentNotification=exports2.NotebookDocumentSyncRegistrationType=exports2.NotebookDocument=exports2.NotebookCell=exports2.ExecutionSummary=exports2.NotebookCellKind=exports2.DiagnosticRefreshRequest=exports2.WorkspaceDiagnosticRequest=exports2.DocumentDiagnosticRequest=exports2.DocumentDiagnosticReportKind=exports2.DiagnosticServerCancellationData=exports2.InlayHintRefreshRequest=exports2.InlayHintResolveRequest=exports2.InlayHintRequest=exports2.InlineValueRefreshRequest=exports2.InlineValueRequest=exports2.TypeHierarchySupertypesRequest=exports2.TypeHierarchySubtypesRequest=exports2.TypeHierarchyPrepareRequest=void 0;var messages_1=require_messages2(),vscode_languageserver_types_1=require_main2(),Is=require_is3(),protocol_implementation_1=require_protocol_implementation();Object.defineProperty(exports2,"ImplementationRequest",{enumerable:!0,get:function(){return protocol_implementation_1.ImplementationRequest}});var protocol_typeDefinition_1=require_protocol_typeDefinition();Object.defineProperty(exports2,"TypeDefinitionRequest",{enumerable:!0,get:function(){return protocol_typeDefinition_1.TypeDefinitionRequest}});var protocol_workspaceFolder_1=require_protocol_workspaceFolder();Object.defineProperty(exports2,"WorkspaceFoldersRequest",{enumerable:!0,get:function(){return protocol_workspaceFolder_1.WorkspaceFoldersRequest}});Object.defineProperty(exports2,"DidChangeWorkspaceFoldersNotification",{enumerable:!0,get:function(){return protocol_workspaceFolder_1.DidChangeWorkspaceFoldersNotification}});var protocol_configuration_1=require_protocol_configuration();Object.defineProperty(exports2,"ConfigurationRequest",{enumerable:!0,get:function(){return protocol_configuration_1.ConfigurationRequest}});var protocol_colorProvider_1=require_protocol_colorProvider();Object.defineProperty(exports2,"DocumentColorRequest",{enumerable:!0,get:function(){return protocol_colorProvider_1.DocumentColorRequest}});Object.defineProperty(exports2,"ColorPresentationRequest",{enumerable:!0,get:function(){return protocol_colorProvider_1.ColorPresentationRequest}});var protocol_foldingRange_1=require_protocol_foldingRange();Object.defineProperty(exports2,"FoldingRangeRequest",{enumerable:!0,get:function(){return protocol_foldingRange_1.FoldingRangeRequest}});Object.defineProperty(exports2,"FoldingRangeRefreshRequest",{enumerable:!0,get:function(){return protocol_foldingRange_1.FoldingRangeRefreshRequest}});var protocol_declaration_1=require_protocol_declaration();Object.defineProperty(exports2,"DeclarationRequest",{enumerable:!0,get:function(){return protocol_declaration_1.DeclarationRequest}});var protocol_selectionRange_1=require_protocol_selectionRange();Object.defineProperty(exports2,"SelectionRangeRequest",{enumerable:!0,get:function(){return protocol_selectionRange_1.SelectionRangeRequest}});var protocol_progress_1=require_protocol_progress();Object.defineProperty(exports2,"WorkDoneProgress",{enumerable:!0,get:function(){return protocol_progress_1.WorkDoneProgress}});Object.defineProperty(exports2,"WorkDoneProgressCreateRequest",{enumerable:!0,get:function(){return protocol_progress_1.WorkDoneProgressCreateRequest}});Object.defineProperty(exports2,"WorkDoneProgressCancelNotification",{enumerable:!0,get:function(){return protocol_progress_1.WorkDoneProgressCancelNotification}});var protocol_callHierarchy_1=require_protocol_callHierarchy();Object.defineProperty(exports2,"CallHierarchyIncomingCallsRequest",{enumerable:!0,get:function(){return protocol_callHierarchy_1.CallHierarchyIncomingCallsRequest}});Object.defineProperty(exports2,"CallHierarchyOutgoingCallsRequest",{enumerable:!0,get:function(){return protocol_callHierarchy_1.CallHierarchyOutgoingCallsRequest}});Object.defineProperty(exports2,"CallHierarchyPrepareRequest",{enumerable:!0,get:function(){return protocol_callHierarchy_1.CallHierarchyPrepareRequest}});var protocol_semanticTokens_1=require_protocol_semanticTokens();Object.defineProperty(exports2,"TokenFormat",{enumerable:!0,get:function(){return protocol_semanticTokens_1.TokenFormat}});Object.defineProperty(exports2,"SemanticTokensRequest",{enumerable:!0,get:function(){return protocol_semanticTokens_1.SemanticTokensRequest}});Object.defineProperty(exports2,"SemanticTokensDeltaRequest",{enumerable:!0,get:function(){return protocol_semanticTokens_1.SemanticTokensDeltaRequest}});Object.defineProperty(exports2,"SemanticTokensRangeRequest",{enumerable:!0,get:function(){return protocol_semanticTokens_1.SemanticTokensRangeRequest}});Object.defineProperty(exports2,"SemanticTokensRefreshRequest",{enumerable:!0,get:function(){return protocol_semanticTokens_1.SemanticTokensRefreshRequest}});Object.defineProperty(exports2,"SemanticTokensRegistrationType",{enumerable:!0,get:function(){return protocol_semanticTokens_1.SemanticTokensRegistrationType}});var protocol_showDocument_1=require_protocol_showDocument();Object.defineProperty(exports2,"ShowDocumentRequest",{enumerable:!0,get:function(){return protocol_showDocument_1.ShowDocumentRequest}});var protocol_linkedEditingRange_1=require_protocol_linkedEditingRange();Object.defineProperty(exports2,"LinkedEditingRangeRequest",{enumerable:!0,get:function(){return protocol_linkedEditingRange_1.LinkedEditingRangeRequest}});var protocol_fileOperations_1=require_protocol_fileOperations();Object.defineProperty(exports2,"FileOperationPatternKind",{enumerable:!0,get:function(){return protocol_fileOperations_1.FileOperationPatternKind}});Object.defineProperty(exports2,"DidCreateFilesNotification",{enumerable:!0,get:function(){return protocol_fileOperations_1.DidCreateFilesNotification}});Object.defineProperty(exports2,"WillCreateFilesRequest",{enumerable:!0,get:function(){return protocol_fileOperations_1.WillCreateFilesRequest}});Object.defineProperty(exports2,"DidRenameFilesNotification",{enumerable:!0,get:function(){return protocol_fileOperations_1.DidRenameFilesNotification}});Object.defineProperty(exports2,"WillRenameFilesRequest",{enumerable:!0,get:function(){return protocol_fileOperations_1.WillRenameFilesRequest}});Object.defineProperty(exports2,"DidDeleteFilesNotification",{enumerable:!0,get:function(){return protocol_fileOperations_1.DidDeleteFilesNotification}});Object.defineProperty(exports2,"WillDeleteFilesRequest",{enumerable:!0,get:function(){return protocol_fileOperations_1.WillDeleteFilesRequest}});var protocol_moniker_1=require_protocol_moniker();Object.defineProperty(exports2,"UniquenessLevel",{enumerable:!0,get:function(){return protocol_moniker_1.UniquenessLevel}});Object.defineProperty(exports2,"MonikerKind",{enumerable:!0,get:function(){return protocol_moniker_1.MonikerKind}});Object.defineProperty(exports2,"MonikerRequest",{enumerable:!0,get:function(){return protocol_moniker_1.MonikerRequest}});var protocol_typeHierarchy_1=require_protocol_typeHierarchy();Object.defineProperty(exports2,"TypeHierarchyPrepareRequest",{enumerable:!0,get:function(){return protocol_typeHierarchy_1.TypeHierarchyPrepareRequest}});Object.defineProperty(exports2,"TypeHierarchySubtypesRequest",{enumerable:!0,get:function(){return protocol_typeHierarchy_1.TypeHierarchySubtypesRequest}});Object.defineProperty(exports2,"TypeHierarchySupertypesRequest",{enumerable:!0,get:function(){return protocol_typeHierarchy_1.TypeHierarchySupertypesRequest}});var protocol_inlineValue_1=require_protocol_inlineValue();Object.defineProperty(exports2,"InlineValueRequest",{enumerable:!0,get:function(){return protocol_inlineValue_1.InlineValueRequest}});Object.defineProperty(exports2,"InlineValueRefreshRequest",{enumerable:!0,get:function(){return protocol_inlineValue_1.InlineValueRefreshRequest}});var protocol_inlayHint_1=require_protocol_inlayHint();Object.defineProperty(exports2,"InlayHintRequest",{enumerable:!0,get:function(){return protocol_inlayHint_1.InlayHintRequest}});Object.defineProperty(exports2,"InlayHintResolveRequest",{enumerable:!0,get:function(){return protocol_inlayHint_1.InlayHintResolveRequest}});Object.defineProperty(exports2,"InlayHintRefreshRequest",{enumerable:!0,get:function(){return protocol_inlayHint_1.InlayHintRefreshRequest}});var protocol_diagnostic_1=require_protocol_diagnostic();Object.defineProperty(exports2,"DiagnosticServerCancellationData",{enumerable:!0,get:function(){return protocol_diagnostic_1.DiagnosticServerCancellationData}});Object.defineProperty(exports2,"DocumentDiagnosticReportKind",{enumerable:!0,get:function(){return protocol_diagnostic_1.DocumentDiagnosticReportKind}});Object.defineProperty(exports2,"DocumentDiagnosticRequest",{enumerable:!0,get:function(){return protocol_diagnostic_1.DocumentDiagnosticRequest}});Object.defineProperty(exports2,"WorkspaceDiagnosticRequest",{enumerable:!0,get:function(){return protocol_diagnostic_1.WorkspaceDiagnosticRequest}});Object.defineProperty(exports2,"DiagnosticRefreshRequest",{enumerable:!0,get:function(){return protocol_diagnostic_1.DiagnosticRefreshRequest}});var protocol_notebook_1=require_protocol_notebook();Object.defineProperty(exports2,"NotebookCellKind",{enumerable:!0,get:function(){return protocol_notebook_1.NotebookCellKind}});Object.defineProperty(exports2,"ExecutionSummary",{enumerable:!0,get:function(){return protocol_notebook_1.ExecutionSummary}});Object.defineProperty(exports2,"NotebookCell",{enumerable:!0,get:function(){return protocol_notebook_1.NotebookCell}});Object.defineProperty(exports2,"NotebookDocument",{enumerable:!0,get:function(){return protocol_notebook_1.NotebookDocument}});Object.defineProperty(exports2,"NotebookDocumentSyncRegistrationType",{enumerable:!0,get:function(){return protocol_notebook_1.NotebookDocumentSyncRegistrationType}});Object.defineProperty(exports2,"DidOpenNotebookDocumentNotification",{enumerable:!0,get:function(){return protocol_notebook_1.DidOpenNotebookDocumentNotification}});Object.defineProperty(exports2,"NotebookCellArrayChange",{enumerable:!0,get:function(){return protocol_notebook_1.NotebookCellArrayChange}});Object.defineProperty(exports2,"DidChangeNotebookDocumentNotification",{enumerable:!0,get:function(){return protocol_notebook_1.DidChangeNotebookDocumentNotification}});Object.defineProperty(exports2,"DidSaveNotebookDocumentNotification",{enumerable:!0,get:function(){return protocol_notebook_1.DidSaveNotebookDocumentNotification}});Object.defineProperty(exports2,"DidCloseNotebookDocumentNotification",{enumerable:!0,get:function(){return protocol_notebook_1.DidCloseNotebookDocumentNotification}});var protocol_inlineCompletion_1=require_protocol_inlineCompletion();Object.defineProperty(exports2,"InlineCompletionRequest",{enumerable:!0,get:function(){return protocol_inlineCompletion_1.InlineCompletionRequest}});var TextDocumentFilter;(function(TextDocumentFilter2){function is(value){let candidate=value;return Is.string(candidate)||Is.string(candidate.language)||Is.string(candidate.scheme)||Is.string(candidate.pattern)}TextDocumentFilter2.is=is})(TextDocumentFilter||(exports2.TextDocumentFilter=TextDocumentFilter={}));var NotebookDocumentFilter;(function(NotebookDocumentFilter2){function is(value){let candidate=value;return Is.objectLiteral(candidate)&&(Is.string(candidate.notebookType)||Is.string(candidate.scheme)||Is.string(candidate.pattern))}NotebookDocumentFilter2.is=is})(NotebookDocumentFilter||(exports2.NotebookDocumentFilter=NotebookDocumentFilter={}));var NotebookCellTextDocumentFilter;(function(NotebookCellTextDocumentFilter2){function is(value){let candidate=value;return Is.objectLiteral(candidate)&&(Is.string(candidate.notebook)||NotebookDocumentFilter.is(candidate.notebook))&&(candidate.language===void 0||Is.string(candidate.language))}NotebookCellTextDocumentFilter2.is=is})(NotebookCellTextDocumentFilter||(exports2.NotebookCellTextDocumentFilter=NotebookCellTextDocumentFilter={}));var DocumentSelector;(function(DocumentSelector2){function is(value){if(!Array.isArray(value))return!1;for(let elem of value)if(!Is.string(elem)&&!TextDocumentFilter.is(elem)&&!NotebookCellTextDocumentFilter.is(elem))return!1;return!0}DocumentSelector2.is=is})(DocumentSelector||(exports2.DocumentSelector=DocumentSelector={}));var RegistrationRequest;(function(RegistrationRequest2){RegistrationRequest2.method="client/registerCapability",RegistrationRequest2.messageDirection=messages_1.MessageDirection.serverToClient,RegistrationRequest2.type=new messages_1.ProtocolRequestType(RegistrationRequest2.method)})(RegistrationRequest||(exports2.RegistrationRequest=RegistrationRequest={}));var UnregistrationRequest;(function(UnregistrationRequest2){UnregistrationRequest2.method="client/unregisterCapability",UnregistrationRequest2.messageDirection=messages_1.MessageDirection.serverToClient,UnregistrationRequest2.type=new messages_1.ProtocolRequestType(UnregistrationRequest2.method)})(UnregistrationRequest||(exports2.UnregistrationRequest=UnregistrationRequest={}));var ResourceOperationKind;(function(ResourceOperationKind2){ResourceOperationKind2.Create="create",ResourceOperationKind2.Rename="rename",ResourceOperationKind2.Delete="delete"})(ResourceOperationKind||(exports2.ResourceOperationKind=ResourceOperationKind={}));var FailureHandlingKind;(function(FailureHandlingKind2){FailureHandlingKind2.Abort="abort",FailureHandlingKind2.Transactional="transactional",FailureHandlingKind2.TextOnlyTransactional="textOnlyTransactional",FailureHandlingKind2.Undo="undo"})(FailureHandlingKind||(exports2.FailureHandlingKind=FailureHandlingKind={}));var PositionEncodingKind;(function(PositionEncodingKind2){PositionEncodingKind2.UTF8="utf-8",PositionEncodingKind2.UTF16="utf-16",PositionEncodingKind2.UTF32="utf-32"})(PositionEncodingKind||(exports2.PositionEncodingKind=PositionEncodingKind={}));var StaticRegistrationOptions;(function(StaticRegistrationOptions2){function hasId(value){let candidate=value;return candidate&&Is.string(candidate.id)&&candidate.id.length>0}StaticRegistrationOptions2.hasId=hasId})(StaticRegistrationOptions||(exports2.StaticRegistrationOptions=StaticRegistrationOptions={}));var TextDocumentRegistrationOptions;(function(TextDocumentRegistrationOptions2){function is(value){let candidate=value;return candidate&&(candidate.documentSelector===null||DocumentSelector.is(candidate.documentSelector))}TextDocumentRegistrationOptions2.is=is})(TextDocumentRegistrationOptions||(exports2.TextDocumentRegistrationOptions=TextDocumentRegistrationOptions={}));var WorkDoneProgressOptions;(function(WorkDoneProgressOptions2){function is(value){let candidate=value;return Is.objectLiteral(candidate)&&(candidate.workDoneProgress===void 0||Is.boolean(candidate.workDoneProgress))}WorkDoneProgressOptions2.is=is;function hasWorkDoneProgress(value){let candidate=value;return candidate&&Is.boolean(candidate.workDoneProgress)}WorkDoneProgressOptions2.hasWorkDoneProgress=hasWorkDoneProgress})(WorkDoneProgressOptions||(exports2.WorkDoneProgressOptions=WorkDoneProgressOptions={}));var InitializeRequest;(function(InitializeRequest2){InitializeRequest2.method="initialize",InitializeRequest2.messageDirection=messages_1.MessageDirection.clientToServer,InitializeRequest2.type=new messages_1.ProtocolRequestType(InitializeRequest2.method)})(InitializeRequest||(exports2.InitializeRequest=InitializeRequest={}));var InitializeErrorCodes;(function(InitializeErrorCodes2){InitializeErrorCodes2.unknownProtocolVersion=1})(InitializeErrorCodes||(exports2.InitializeErrorCodes=InitializeErrorCodes={}));var InitializedNotification;(function(InitializedNotification2){InitializedNotification2.method="initialized",InitializedNotification2.messageDirection=messages_1.MessageDirection.clientToServer,InitializedNotification2.type=new messages_1.ProtocolNotificationType(InitializedNotification2.method)})(InitializedNotification||(exports2.InitializedNotification=InitializedNotification={}));var ShutdownRequest;(function(ShutdownRequest2){ShutdownRequest2.method="shutdown",ShutdownRequest2.messageDirection=messages_1.MessageDirection.clientToServer,ShutdownRequest2.type=new messages_1.ProtocolRequestType0(ShutdownRequest2.method)})(ShutdownRequest||(exports2.ShutdownRequest=ShutdownRequest={}));var ExitNotification;(function(ExitNotification2){ExitNotification2.method="exit",ExitNotification2.messageDirection=messages_1.MessageDirection.clientToServer,ExitNotification2.type=new messages_1.ProtocolNotificationType0(ExitNotification2.method)})(ExitNotification||(exports2.ExitNotification=ExitNotification={}));var DidChangeConfigurationNotification2;(function(DidChangeConfigurationNotification3){DidChangeConfigurationNotification3.method="workspace/didChangeConfiguration",DidChangeConfigurationNotification3.messageDirection=messages_1.MessageDirection.clientToServer,DidChangeConfigurationNotification3.type=new messages_1.ProtocolNotificationType(DidChangeConfigurationNotification3.method)})(DidChangeConfigurationNotification2||(exports2.DidChangeConfigurationNotification=DidChangeConfigurationNotification2={}));var MessageType;(function(MessageType2){MessageType2.Error=1,MessageType2.Warning=2,MessageType2.Info=3,MessageType2.Log=4,MessageType2.Debug=5})(MessageType||(exports2.MessageType=MessageType={}));var ShowMessageNotification;(function(ShowMessageNotification2){ShowMessageNotification2.method="window/showMessage",ShowMessageNotification2.messageDirection=messages_1.MessageDirection.serverToClient,ShowMessageNotification2.type=new messages_1.ProtocolNotificationType(ShowMessageNotification2.method)})(ShowMessageNotification||(exports2.ShowMessageNotification=ShowMessageNotification={}));var ShowMessageRequest;(function(ShowMessageRequest2){ShowMessageRequest2.method="window/showMessageRequest",ShowMessageRequest2.messageDirection=messages_1.MessageDirection.serverToClient,ShowMessageRequest2.type=new messages_1.ProtocolRequestType(ShowMessageRequest2.method)})(ShowMessageRequest||(exports2.ShowMessageRequest=ShowMessageRequest={}));var LogMessageNotification;(function(LogMessageNotification2){LogMessageNotification2.method="window/logMessage",LogMessageNotification2.messageDirection=messages_1.MessageDirection.serverToClient,LogMessageNotification2.type=new messages_1.ProtocolNotificationType(LogMessageNotification2.method)})(LogMessageNotification||(exports2.LogMessageNotification=LogMessageNotification={}));var TelemetryEventNotification;(function(TelemetryEventNotification2){TelemetryEventNotification2.method="telemetry/event",TelemetryEventNotification2.messageDirection=messages_1.MessageDirection.serverToClient,TelemetryEventNotification2.type=new messages_1.ProtocolNotificationType(TelemetryEventNotification2.method)})(TelemetryEventNotification||(exports2.TelemetryEventNotification=TelemetryEventNotification={}));var TextDocumentSyncKind2;(function(TextDocumentSyncKind3){TextDocumentSyncKind3.None=0,TextDocumentSyncKind3.Full=1,TextDocumentSyncKind3.Incremental=2})(TextDocumentSyncKind2||(exports2.TextDocumentSyncKind=TextDocumentSyncKind2={}));var DidOpenTextDocumentNotification;(function(DidOpenTextDocumentNotification2){DidOpenTextDocumentNotification2.method="textDocument/didOpen",DidOpenTextDocumentNotification2.messageDirection=messages_1.MessageDirection.clientToServer,DidOpenTextDocumentNotification2.type=new messages_1.ProtocolNotificationType(DidOpenTextDocumentNotification2.method)})(DidOpenTextDocumentNotification||(exports2.DidOpenTextDocumentNotification=DidOpenTextDocumentNotification={}));var TextDocumentContentChangeEvent;(function(TextDocumentContentChangeEvent2){function isIncremental(event){let candidate=event;return candidate!=null&&typeof candidate.text=="string"&&candidate.range!==void 0&&(candidate.rangeLength===void 0||typeof candidate.rangeLength=="number")}TextDocumentContentChangeEvent2.isIncremental=isIncremental;function isFull(event){let candidate=event;return candidate!=null&&typeof candidate.text=="string"&&candidate.range===void 0&&candidate.rangeLength===void 0}TextDocumentContentChangeEvent2.isFull=isFull})(TextDocumentContentChangeEvent||(exports2.TextDocumentContentChangeEvent=TextDocumentContentChangeEvent={}));var DidChangeTextDocumentNotification;(function(DidChangeTextDocumentNotification2){DidChangeTextDocumentNotification2.method="textDocument/didChange",DidChangeTextDocumentNotification2.messageDirection=messages_1.MessageDirection.clientToServer,DidChangeTextDocumentNotification2.type=new messages_1.ProtocolNotificationType(DidChangeTextDocumentNotification2.method)})(DidChangeTextDocumentNotification||(exports2.DidChangeTextDocumentNotification=DidChangeTextDocumentNotification={}));var DidCloseTextDocumentNotification;(function(DidCloseTextDocumentNotification2){DidCloseTextDocumentNotification2.method="textDocument/didClose",DidCloseTextDocumentNotification2.messageDirection=messages_1.MessageDirection.clientToServer,DidCloseTextDocumentNotification2.type=new messages_1.ProtocolNotificationType(DidCloseTextDocumentNotification2.method)})(DidCloseTextDocumentNotification||(exports2.DidCloseTextDocumentNotification=DidCloseTextDocumentNotification={}));var DidSaveTextDocumentNotification;(function(DidSaveTextDocumentNotification2){DidSaveTextDocumentNotification2.method="textDocument/didSave",DidSaveTextDocumentNotification2.messageDirection=messages_1.MessageDirection.clientToServer,DidSaveTextDocumentNotification2.type=new messages_1.ProtocolNotificationType(DidSaveTextDocumentNotification2.method)})(DidSaveTextDocumentNotification||(exports2.DidSaveTextDocumentNotification=DidSaveTextDocumentNotification={}));var TextDocumentSaveReason;(function(TextDocumentSaveReason2){TextDocumentSaveReason2.Manual=1,TextDocumentSaveReason2.AfterDelay=2,TextDocumentSaveReason2.FocusOut=3})(TextDocumentSaveReason||(exports2.TextDocumentSaveReason=TextDocumentSaveReason={}));var WillSaveTextDocumentNotification;(function(WillSaveTextDocumentNotification2){WillSaveTextDocumentNotification2.method="textDocument/willSave",WillSaveTextDocumentNotification2.messageDirection=messages_1.MessageDirection.clientToServer,WillSaveTextDocumentNotification2.type=new messages_1.ProtocolNotificationType(WillSaveTextDocumentNotification2.method)})(WillSaveTextDocumentNotification||(exports2.WillSaveTextDocumentNotification=WillSaveTextDocumentNotification={}));var WillSaveTextDocumentWaitUntilRequest;(function(WillSaveTextDocumentWaitUntilRequest2){WillSaveTextDocumentWaitUntilRequest2.method="textDocument/willSaveWaitUntil",WillSaveTextDocumentWaitUntilRequest2.messageDirection=messages_1.MessageDirection.clientToServer,WillSaveTextDocumentWaitUntilRequest2.type=new messages_1.ProtocolRequestType(WillSaveTextDocumentWaitUntilRequest2.method)})(WillSaveTextDocumentWaitUntilRequest||(exports2.WillSaveTextDocumentWaitUntilRequest=WillSaveTextDocumentWaitUntilRequest={}));var DidChangeWatchedFilesNotification;(function(DidChangeWatchedFilesNotification2){DidChangeWatchedFilesNotification2.method="workspace/didChangeWatchedFiles",DidChangeWatchedFilesNotification2.messageDirection=messages_1.MessageDirection.clientToServer,DidChangeWatchedFilesNotification2.type=new messages_1.ProtocolNotificationType(DidChangeWatchedFilesNotification2.method)})(DidChangeWatchedFilesNotification||(exports2.DidChangeWatchedFilesNotification=DidChangeWatchedFilesNotification={}));var FileChangeType;(function(FileChangeType2){FileChangeType2.Created=1,FileChangeType2.Changed=2,FileChangeType2.Deleted=3})(FileChangeType||(exports2.FileChangeType=FileChangeType={}));var RelativePattern;(function(RelativePattern2){function is(value){let candidate=value;return Is.objectLiteral(candidate)&&(vscode_languageserver_types_1.URI.is(candidate.baseUri)||vscode_languageserver_types_1.WorkspaceFolder.is(candidate.baseUri))&&Is.string(candidate.pattern)}RelativePattern2.is=is})(RelativePattern||(exports2.RelativePattern=RelativePattern={}));var WatchKind;(function(WatchKind2){WatchKind2.Create=1,WatchKind2.Change=2,WatchKind2.Delete=4})(WatchKind||(exports2.WatchKind=WatchKind={}));var PublishDiagnosticsNotification;(function(PublishDiagnosticsNotification2){PublishDiagnosticsNotification2.method="textDocument/publishDiagnostics",PublishDiagnosticsNotification2.messageDirection=messages_1.MessageDirection.serverToClient,PublishDiagnosticsNotification2.type=new messages_1.ProtocolNotificationType(PublishDiagnosticsNotification2.method)})(PublishDiagnosticsNotification||(exports2.PublishDiagnosticsNotification=PublishDiagnosticsNotification={}));var CompletionTriggerKind;(function(CompletionTriggerKind2){CompletionTriggerKind2.Invoked=1,CompletionTriggerKind2.TriggerCharacter=2,CompletionTriggerKind2.TriggerForIncompleteCompletions=3})(CompletionTriggerKind||(exports2.CompletionTriggerKind=CompletionTriggerKind={}));var CompletionRequest;(function(CompletionRequest2){CompletionRequest2.method="textDocument/completion",CompletionRequest2.messageDirection=messages_1.MessageDirection.clientToServer,CompletionRequest2.type=new messages_1.ProtocolRequestType(CompletionRequest2.method)})(CompletionRequest||(exports2.CompletionRequest=CompletionRequest={}));var CompletionResolveRequest;(function(CompletionResolveRequest2){CompletionResolveRequest2.method="completionItem/resolve",CompletionResolveRequest2.messageDirection=messages_1.MessageDirection.clientToServer,CompletionResolveRequest2.type=new messages_1.ProtocolRequestType(CompletionResolveRequest2.method)})(CompletionResolveRequest||(exports2.CompletionResolveRequest=CompletionResolveRequest={}));var HoverRequest;(function(HoverRequest2){HoverRequest2.method="textDocument/hover",HoverRequest2.messageDirection=messages_1.MessageDirection.clientToServer,HoverRequest2.type=new messages_1.ProtocolRequestType(HoverRequest2.method)})(HoverRequest||(exports2.HoverRequest=HoverRequest={}));var SignatureHelpTriggerKind;(function(SignatureHelpTriggerKind2){SignatureHelpTriggerKind2.Invoked=1,SignatureHelpTriggerKind2.TriggerCharacter=2,SignatureHelpTriggerKind2.ContentChange=3})(SignatureHelpTriggerKind||(exports2.SignatureHelpTriggerKind=SignatureHelpTriggerKind={}));var SignatureHelpRequest;(function(SignatureHelpRequest2){SignatureHelpRequest2.method="textDocument/signatureHelp",SignatureHelpRequest2.messageDirection=messages_1.MessageDirection.clientToServer,SignatureHelpRequest2.type=new messages_1.ProtocolRequestType(SignatureHelpRequest2.method)})(SignatureHelpRequest||(exports2.SignatureHelpRequest=SignatureHelpRequest={}));var DefinitionRequest;(function(DefinitionRequest2){DefinitionRequest2.method="textDocument/definition",DefinitionRequest2.messageDirection=messages_1.MessageDirection.clientToServer,DefinitionRequest2.type=new messages_1.ProtocolRequestType(DefinitionRequest2.method)})(DefinitionRequest||(exports2.DefinitionRequest=DefinitionRequest={}));var ReferencesRequest;(function(ReferencesRequest2){ReferencesRequest2.method="textDocument/references",ReferencesRequest2.messageDirection=messages_1.MessageDirection.clientToServer,ReferencesRequest2.type=new messages_1.ProtocolRequestType(ReferencesRequest2.method)})(ReferencesRequest||(exports2.ReferencesRequest=ReferencesRequest={}));var DocumentHighlightRequest;(function(DocumentHighlightRequest2){DocumentHighlightRequest2.method="textDocument/documentHighlight",DocumentHighlightRequest2.messageDirection=messages_1.MessageDirection.clientToServer,DocumentHighlightRequest2.type=new messages_1.ProtocolRequestType(DocumentHighlightRequest2.method)})(DocumentHighlightRequest||(exports2.DocumentHighlightRequest=DocumentHighlightRequest={}));var DocumentSymbolRequest;(function(DocumentSymbolRequest2){DocumentSymbolRequest2.method="textDocument/documentSymbol",DocumentSymbolRequest2.messageDirection=messages_1.MessageDirection.clientToServer,DocumentSymbolRequest2.type=new messages_1.ProtocolRequestType(DocumentSymbolRequest2.method)})(DocumentSymbolRequest||(exports2.DocumentSymbolRequest=DocumentSymbolRequest={}));var CodeActionRequest;(function(CodeActionRequest2){CodeActionRequest2.method="textDocument/codeAction",CodeActionRequest2.messageDirection=messages_1.MessageDirection.clientToServer,CodeActionRequest2.type=new messages_1.ProtocolRequestType(CodeActionRequest2.method)})(CodeActionRequest||(exports2.CodeActionRequest=CodeActionRequest={}));var CodeActionResolveRequest;(function(CodeActionResolveRequest2){CodeActionResolveRequest2.method="codeAction/resolve",CodeActionResolveRequest2.messageDirection=messages_1.MessageDirection.clientToServer,CodeActionResolveRequest2.type=new messages_1.ProtocolRequestType(CodeActionResolveRequest2.method)})(CodeActionResolveRequest||(exports2.CodeActionResolveRequest=CodeActionResolveRequest={}));var WorkspaceSymbolRequest;(function(WorkspaceSymbolRequest2){WorkspaceSymbolRequest2.method="workspace/symbol",WorkspaceSymbolRequest2.messageDirection=messages_1.MessageDirection.clientToServer,WorkspaceSymbolRequest2.type=new messages_1.ProtocolRequestType(WorkspaceSymbolRequest2.method)})(WorkspaceSymbolRequest||(exports2.WorkspaceSymbolRequest=WorkspaceSymbolRequest={}));var WorkspaceSymbolResolveRequest;(function(WorkspaceSymbolResolveRequest2){WorkspaceSymbolResolveRequest2.method="workspaceSymbol/resolve",WorkspaceSymbolResolveRequest2.messageDirection=messages_1.MessageDirection.clientToServer,WorkspaceSymbolResolveRequest2.type=new messages_1.ProtocolRequestType(WorkspaceSymbolResolveRequest2.method)})(WorkspaceSymbolResolveRequest||(exports2.WorkspaceSymbolResolveRequest=WorkspaceSymbolResolveRequest={}));var CodeLensRequest;(function(CodeLensRequest2){CodeLensRequest2.method="textDocument/codeLens",CodeLensRequest2.messageDirection=messages_1.MessageDirection.clientToServer,CodeLensRequest2.type=new messages_1.ProtocolRequestType(CodeLensRequest2.method)})(CodeLensRequest||(exports2.CodeLensRequest=CodeLensRequest={}));var CodeLensResolveRequest;(function(CodeLensResolveRequest2){CodeLensResolveRequest2.method="codeLens/resolve",CodeLensResolveRequest2.messageDirection=messages_1.MessageDirection.clientToServer,CodeLensResolveRequest2.type=new messages_1.ProtocolRequestType(CodeLensResolveRequest2.method)})(CodeLensResolveRequest||(exports2.CodeLensResolveRequest=CodeLensResolveRequest={}));var CodeLensRefreshRequest;(function(CodeLensRefreshRequest2){CodeLensRefreshRequest2.method="workspace/codeLens/refresh",CodeLensRefreshRequest2.messageDirection=messages_1.MessageDirection.serverToClient,CodeLensRefreshRequest2.type=new messages_1.ProtocolRequestType0(CodeLensRefreshRequest2.method)})(CodeLensRefreshRequest||(exports2.CodeLensRefreshRequest=CodeLensRefreshRequest={}));var DocumentLinkRequest;(function(DocumentLinkRequest2){DocumentLinkRequest2.method="textDocument/documentLink",DocumentLinkRequest2.messageDirection=messages_1.MessageDirection.clientToServer,DocumentLinkRequest2.type=new messages_1.ProtocolRequestType(DocumentLinkRequest2.method)})(DocumentLinkRequest||(exports2.DocumentLinkRequest=DocumentLinkRequest={}));var DocumentLinkResolveRequest;(function(DocumentLinkResolveRequest2){DocumentLinkResolveRequest2.method="documentLink/resolve",DocumentLinkResolveRequest2.messageDirection=messages_1.MessageDirection.clientToServer,DocumentLinkResolveRequest2.type=new messages_1.ProtocolRequestType(DocumentLinkResolveRequest2.method)})(DocumentLinkResolveRequest||(exports2.DocumentLinkResolveRequest=DocumentLinkResolveRequest={}));var DocumentFormattingRequest;(function(DocumentFormattingRequest2){DocumentFormattingRequest2.method="textDocument/formatting",DocumentFormattingRequest2.messageDirection=messages_1.MessageDirection.clientToServer,DocumentFormattingRequest2.type=new messages_1.ProtocolRequestType(DocumentFormattingRequest2.method)})(DocumentFormattingRequest||(exports2.DocumentFormattingRequest=DocumentFormattingRequest={}));var DocumentRangeFormattingRequest;(function(DocumentRangeFormattingRequest2){DocumentRangeFormattingRequest2.method="textDocument/rangeFormatting",DocumentRangeFormattingRequest2.messageDirection=messages_1.MessageDirection.clientToServer,DocumentRangeFormattingRequest2.type=new messages_1.ProtocolRequestType(DocumentRangeFormattingRequest2.method)})(DocumentRangeFormattingRequest||(exports2.DocumentRangeFormattingRequest=DocumentRangeFormattingRequest={}));var DocumentRangesFormattingRequest;(function(DocumentRangesFormattingRequest2){DocumentRangesFormattingRequest2.method="textDocument/rangesFormatting",DocumentRangesFormattingRequest2.messageDirection=messages_1.MessageDirection.clientToServer,DocumentRangesFormattingRequest2.type=new messages_1.ProtocolRequestType(DocumentRangesFormattingRequest2.method)})(DocumentRangesFormattingRequest||(exports2.DocumentRangesFormattingRequest=DocumentRangesFormattingRequest={}));var DocumentOnTypeFormattingRequest;(function(DocumentOnTypeFormattingRequest2){DocumentOnTypeFormattingRequest2.method="textDocument/onTypeFormatting",DocumentOnTypeFormattingRequest2.messageDirection=messages_1.MessageDirection.clientToServer,DocumentOnTypeFormattingRequest2.type=new messages_1.ProtocolRequestType(DocumentOnTypeFormattingRequest2.method)})(DocumentOnTypeFormattingRequest||(exports2.DocumentOnTypeFormattingRequest=DocumentOnTypeFormattingRequest={}));var PrepareSupportDefaultBehavior;(function(PrepareSupportDefaultBehavior2){PrepareSupportDefaultBehavior2.Identifier=1})(PrepareSupportDefaultBehavior||(exports2.PrepareSupportDefaultBehavior=PrepareSupportDefaultBehavior={}));var RenameRequest;(function(RenameRequest2){RenameRequest2.method="textDocument/rename",RenameRequest2.messageDirection=messages_1.MessageDirection.clientToServer,RenameRequest2.type=new messages_1.ProtocolRequestType(RenameRequest2.method)})(RenameRequest||(exports2.RenameRequest=RenameRequest={}));var PrepareRenameRequest;(function(PrepareRenameRequest2){PrepareRenameRequest2.method="textDocument/prepareRename",PrepareRenameRequest2.messageDirection=messages_1.MessageDirection.clientToServer,PrepareRenameRequest2.type=new messages_1.ProtocolRequestType(PrepareRenameRequest2.method)})(PrepareRenameRequest||(exports2.PrepareRenameRequest=PrepareRenameRequest={}));var ExecuteCommandRequest;(function(ExecuteCommandRequest2){ExecuteCommandRequest2.method="workspace/executeCommand",ExecuteCommandRequest2.messageDirection=messages_1.MessageDirection.clientToServer,ExecuteCommandRequest2.type=new messages_1.ProtocolRequestType(ExecuteCommandRequest2.method)})(ExecuteCommandRequest||(exports2.ExecuteCommandRequest=ExecuteCommandRequest={}));var ApplyWorkspaceEditRequest;(function(ApplyWorkspaceEditRequest2){ApplyWorkspaceEditRequest2.method="workspace/applyEdit",ApplyWorkspaceEditRequest2.messageDirection=messages_1.MessageDirection.serverToClient,ApplyWorkspaceEditRequest2.type=new messages_1.ProtocolRequestType("workspace/applyEdit")})(ApplyWorkspaceEditRequest||(exports2.ApplyWorkspaceEditRequest=ApplyWorkspaceEditRequest={}))}});var require_connection2=__commonJS({"server/node_modules/vscode-languageserver-protocol/lib/common/connection.js"(exports2){"use strict";Object.defineProperty(exports2,"__esModule",{value:!0});exports2.createProtocolConnection=void 0;var vscode_jsonrpc_1=require_main();function createProtocolConnection(input,output,logger,options){return vscode_jsonrpc_1.ConnectionStrategy.is(options)&&(options={connectionStrategy:options}),(0,vscode_jsonrpc_1.createMessageConnection)(input,output,logger,options)}exports2.createProtocolConnection=createProtocolConnection}});var require_api2=__commonJS({"server/node_modules/vscode-languageserver-protocol/lib/common/api.js"(exports2){"use strict";var __createBinding=exports2&&exports2.__createBinding||(Object.create?(function(o,m2,k,k2){k2===void 0&&(k2=k);var desc=Object.getOwnPropertyDescriptor(m2,k);(!desc||("get"in desc?!m2.__esModule:desc.writable||desc.configurable))&&(desc={enumerable:!0,get:function(){return m2[k]}}),Object.defineProperty(o,k2,desc)}):(function(o,m2,k,k2){k2===void 0&&(k2=k),o[k2]=m2[k]})),__exportStar=exports2&&exports2.__exportStar||function(m2,exports3){for(var p in m2)p!=="default"&&!Object.prototype.hasOwnProperty.call(exports3,p)&&__createBinding(exports3,m2,p)};Object.defineProperty(exports2,"__esModule",{value:!0});exports2.LSPErrorCodes=exports2.createProtocolConnection=void 0;__exportStar(require_main(),exports2);__exportStar(require_main2(),exports2);__exportStar(require_messages2(),exports2);__exportStar(require_protocol(),exports2);var connection_1=require_connection2();Object.defineProperty(exports2,"createProtocolConnection",{enumerable:!0,get:function(){return connection_1.createProtocolConnection}});var LSPErrorCodes;(function(LSPErrorCodes2){LSPErrorCodes2.lspReservedErrorRangeStart=-32899,LSPErrorCodes2.RequestFailed=-32803,LSPErrorCodes2.ServerCancelled=-32802,LSPErrorCodes2.ContentModified=-32801,LSPErrorCodes2.RequestCancelled=-32800,LSPErrorCodes2.lspReservedErrorRangeEnd=-32800})(LSPErrorCodes||(exports2.LSPErrorCodes=LSPErrorCodes={}))}});var require_main3=__commonJS({"server/node_modules/vscode-languageserver-protocol/lib/node/main.js"(exports2){"use strict";var __createBinding=exports2&&exports2.__createBinding||(Object.create?(function(o,m2,k,k2){k2===void 0&&(k2=k);var desc=Object.getOwnPropertyDescriptor(m2,k);(!desc||("get"in desc?!m2.__esModule:desc.writable||desc.configurable))&&(desc={enumerable:!0,get:function(){return m2[k]}}),Object.defineProperty(o,k2,desc)}):(function(o,m2,k,k2){k2===void 0&&(k2=k),o[k2]=m2[k]})),__exportStar=exports2&&exports2.__exportStar||function(m2,exports3){for(var p in m2)p!=="default"&&!Object.prototype.hasOwnProperty.call(exports3,p)&&__createBinding(exports3,m2,p)};Object.defineProperty(exports2,"__esModule",{value:!0});exports2.createProtocolConnection=void 0;var node_1=require_node();__exportStar(require_node(),exports2);__exportStar(require_api2(),exports2);function createProtocolConnection(input,output,logger,options){return(0,node_1.createMessageConnection)(input,output,logger,options)}exports2.createProtocolConnection=createProtocolConnection}});var require_uuid=__commonJS({"server/node_modules/vscode-languageserver/lib/common/utils/uuid.js"(exports2){"use strict";Object.defineProperty(exports2,"__esModule",{value:!0});exports2.generateUuid=exports2.parse=exports2.isUUID=exports2.v4=exports2.empty=void 0;var ValueUUID=class{constructor(_value){this._value=_value}asHex(){return this._value}equals(other){return this.asHex()===other.asHex()}},V4UUID=class _V4UUID extends ValueUUID{static _oneOf(array){return array[Math.floor(array.length*Math.random())]}static _randomHex(){return _V4UUID._oneOf(_V4UUID._chars)}constructor(){super([_V4UUID._randomHex(),_V4UUID._randomHex(),_V4UUID._randomHex(),_V4UUID._randomHex(),_V4UUID._randomHex(),_V4UUID._randomHex(),_V4UUID._randomHex(),_V4UUID._randomHex(),"-",_V4UUID._randomHex(),_V4UUID._randomHex(),_V4UUID._randomHex(),_V4UUID._randomHex(),"-","4",_V4UUID._randomHex(),_V4UUID._randomHex(),_V4UUID._randomHex(),"-",_V4UUID._oneOf(_V4UUID._timeHighBits),_V4UUID._randomHex(),_V4UUID._randomHex(),_V4UUID._randomHex(),"-",_V4UUID._randomHex(),_V4UUID._randomHex(),_V4UUID._randomHex(),_V4UUID._randomHex(),_V4UUID._randomHex(),_V4UUID._randomHex(),_V4UUID._randomHex(),_V4UUID._randomHex(),_V4UUID._randomHex(),_V4UUID._randomHex(),_V4UUID._randomHex(),_V4UUID._randomHex()].join(""))}};V4UUID._chars=["0","1","2","3","4","5","6","6","7","8","9","a","b","c","d","e","f"];V4UUID._timeHighBits=["8","9","a","b"];exports2.empty=new ValueUUID("00000000-0000-0000-0000-000000000000");function v4(){return new V4UUID}exports2.v4=v4;var _UUIDPattern=/^[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}$/i;function isUUID(value){return _UUIDPattern.test(value)}exports2.isUUID=isUUID;function parse(value){if(!isUUID(value))throw new Error("invalid uuid");return new ValueUUID(value)}exports2.parse=parse;function generateUuid(){return v4().asHex()}exports2.generateUuid=generateUuid}});var require_progress=__commonJS({"server/node_modules/vscode-languageserver/lib/common/progress.js"(exports2){"use strict";Object.defineProperty(exports2,"__esModule",{value:!0});exports2.attachPartialResult=exports2.ProgressFeature=exports2.attachWorkDone=void 0;var vscode_languageserver_protocol_1=require_main3(),uuid_1=require_uuid(),WorkDoneProgressReporterImpl=class _WorkDoneProgressReporterImpl{constructor(_connection,_token){this._connection=_connection,this._token=_token,_WorkDoneProgressReporterImpl.Instances.set(this._token,this)}begin(title,percentage,message,cancellable){let param={kind:"begin",title,percentage,message,cancellable};this._connection.sendProgress(vscode_languageserver_protocol_1.WorkDoneProgress.type,this._token,param)}report(arg0,arg1){let param={kind:"report"};typeof arg0=="number"?(param.percentage=arg0,arg1!==void 0&&(param.message=arg1)):param.message=arg0,this._connection.sendProgress(vscode_languageserver_protocol_1.WorkDoneProgress.type,this._token,param)}done(){_WorkDoneProgressReporterImpl.Instances.delete(this._token),this._connection.sendProgress(vscode_languageserver_protocol_1.WorkDoneProgress.type,this._token,{kind:"end"})}};WorkDoneProgressReporterImpl.Instances=new Map;var WorkDoneProgressServerReporterImpl=class extends WorkDoneProgressReporterImpl{constructor(connection2,token){super(connection2,token),this._source=new vscode_languageserver_protocol_1.CancellationTokenSource}get token(){return this._source.token}done(){this._source.dispose(),super.done()}cancel(){this._source.cancel()}},NullProgressReporter=class{constructor(){}begin(){}report(){}done(){}},NullProgressServerReporter=class extends NullProgressReporter{constructor(){super(),this._source=new vscode_languageserver_protocol_1.CancellationTokenSource}get token(){return this._source.token}done(){this._source.dispose()}cancel(){this._source.cancel()}};function attachWorkDone(connection2,params){if(params===void 0||params.workDoneToken===void 0)return new NullProgressReporter;let token=params.workDoneToken;return delete params.workDoneToken,new WorkDoneProgressReporterImpl(connection2,token)}exports2.attachWorkDone=attachWorkDone;var ProgressFeature=Base=>class extends Base{constructor(){super(),this._progressSupported=!1}initialize(capabilities){super.initialize(capabilities),capabilities?.window?.workDoneProgress===!0&&(this._progressSupported=!0,this.connection.onNotification(vscode_languageserver_protocol_1.WorkDoneProgressCancelNotification.type,params=>{let progress=WorkDoneProgressReporterImpl.Instances.get(params.token);(progress instanceof WorkDoneProgressServerReporterImpl||progress instanceof NullProgressServerReporter)&&progress.cancel()}))}attachWorkDoneProgress(token){return token===void 0?new NullProgressReporter:new WorkDoneProgressReporterImpl(this.connection,token)}createWorkDoneProgress(){if(this._progressSupported){let token=(0,uuid_1.generateUuid)();return this.connection.sendRequest(vscode_languageserver_protocol_1.WorkDoneProgressCreateRequest.type,{token}).then(()=>new WorkDoneProgressServerReporterImpl(this.connection,token))}else return Promise.resolve(new NullProgressServerReporter)}};exports2.ProgressFeature=ProgressFeature;var ResultProgress;(function(ResultProgress2){ResultProgress2.type=new vscode_languageserver_protocol_1.ProgressType})(ResultProgress||(ResultProgress={}));var ResultProgressReporterImpl=class{constructor(_connection,_token){this._connection=_connection,this._token=_token}report(data){this._connection.sendProgress(ResultProgress.type,this._token,data)}};function attachPartialResult(connection2,params){if(params===void 0||params.partialResultToken===void 0)return;let token=params.partialResultToken;return delete params.partialResultToken,new ResultProgressReporterImpl(connection2,token)}exports2.attachPartialResult=attachPartialResult}});var require_configuration=__commonJS({"server/node_modules/vscode-languageserver/lib/common/configuration.js"(exports2){"use strict";Object.defineProperty(exports2,"__esModule",{value:!0});exports2.ConfigurationFeature=void 0;var vscode_languageserver_protocol_1=require_main3(),Is=require_is(),ConfigurationFeature=Base=>class extends Base{getConfiguration(arg){return arg?Is.string(arg)?this._getConfiguration({section:arg}):this._getConfiguration(arg):this._getConfiguration({})}_getConfiguration(arg){let params={items:Array.isArray(arg)?arg:[arg]};return this.connection.sendRequest(vscode_languageserver_protocol_1.ConfigurationRequest.type,params).then(result=>Array.isArray(result)?Array.isArray(arg)?result:result[0]:Array.isArray(arg)?[]:null)}};exports2.ConfigurationFeature=ConfigurationFeature}});var require_workspaceFolder=__commonJS({"server/node_modules/vscode-languageserver/lib/common/workspaceFolder.js"(exports2){"use strict";Object.defineProperty(exports2,"__esModule",{value:!0});exports2.WorkspaceFoldersFeature=void 0;var vscode_languageserver_protocol_1=require_main3(),WorkspaceFoldersFeature=Base=>class extends Base{constructor(){super(),this._notificationIsAutoRegistered=!1}initialize(capabilities){super.initialize(capabilities);let workspaceCapabilities=capabilities.workspace;workspaceCapabilities&&workspaceCapabilities.workspaceFolders&&(this._onDidChangeWorkspaceFolders=new vscode_languageserver_protocol_1.Emitter,this.connection.onNotification(vscode_languageserver_protocol_1.DidChangeWorkspaceFoldersNotification.type,params=>{this._onDidChangeWorkspaceFolders.fire(params.event)}))}fillServerCapabilities(capabilities){super.fillServerCapabilities(capabilities);let changeNotifications=capabilities.workspace?.workspaceFolders?.changeNotifications;this._notificationIsAutoRegistered=changeNotifications===!0||typeof changeNotifications=="string"}getWorkspaceFolders(){return this.connection.sendRequest(vscode_languageserver_protocol_1.WorkspaceFoldersRequest.type)}get onDidChangeWorkspaceFolders(){if(!this._onDidChangeWorkspaceFolders)throw new Error("Client doesn't support sending workspace folder change events.");return!this._notificationIsAutoRegistered&&!this._unregistration&&(this._unregistration=this.connection.client.register(vscode_languageserver_protocol_1.DidChangeWorkspaceFoldersNotification.type)),this._onDidChangeWorkspaceFolders.event}};exports2.WorkspaceFoldersFeature=WorkspaceFoldersFeature}});var require_callHierarchy=__commonJS({"server/node_modules/vscode-languageserver/lib/common/callHierarchy.js"(exports2){"use strict";Object.defineProperty(exports2,"__esModule",{value:!0});exports2.CallHierarchyFeature=void 0;var vscode_languageserver_protocol_1=require_main3(),CallHierarchyFeature=Base=>class extends Base{get callHierarchy(){return{onPrepare:handler=>this.connection.onRequest(vscode_languageserver_protocol_1.CallHierarchyPrepareRequest.type,(params,cancel)=>handler(params,cancel,this.attachWorkDoneProgress(params),void 0)),onIncomingCalls:handler=>{let type=vscode_languageserver_protocol_1.CallHierarchyIncomingCallsRequest.type;return this.connection.onRequest(type,(params,cancel)=>handler(params,cancel,this.attachWorkDoneProgress(params),this.attachPartialResultProgress(type,params)))},onOutgoingCalls:handler=>{let type=vscode_languageserver_protocol_1.CallHierarchyOutgoingCallsRequest.type;return this.connection.onRequest(type,(params,cancel)=>handler(params,cancel,this.attachWorkDoneProgress(params),this.attachPartialResultProgress(type,params)))}}}};exports2.CallHierarchyFeature=CallHierarchyFeature}});var require_semanticTokens=__commonJS({"server/node_modules/vscode-languageserver/lib/common/semanticTokens.js"(exports2){"use strict";Object.defineProperty(exports2,"__esModule",{value:!0});exports2.SemanticTokensBuilder=exports2.SemanticTokensDiff=exports2.SemanticTokensFeature=void 0;var vscode_languageserver_protocol_1=require_main3(),SemanticTokensFeature=Base=>class extends Base{get semanticTokens(){return{refresh:()=>this.connection.sendRequest(vscode_languageserver_protocol_1.SemanticTokensRefreshRequest.type),on:handler=>{let type=vscode_languageserver_protocol_1.SemanticTokensRequest.type;return this.connection.onRequest(type,(params,cancel)=>handler(params,cancel,this.attachWorkDoneProgress(params),this.attachPartialResultProgress(type,params)))},onDelta:handler=>{let type=vscode_languageserver_protocol_1.SemanticTokensDeltaRequest.type;return this.connection.onRequest(type,(params,cancel)=>handler(params,cancel,this.attachWorkDoneProgress(params),this.attachPartialResultProgress(type,params)))},onRange:handler=>{let type=vscode_languageserver_protocol_1.SemanticTokensRangeRequest.type;return this.connection.onRequest(type,(params,cancel)=>handler(params,cancel,this.attachWorkDoneProgress(params),this.attachPartialResultProgress(type,params)))}}}};exports2.SemanticTokensFeature=SemanticTokensFeature;var SemanticTokensDiff=class{constructor(originalSequence,modifiedSequence){this.originalSequence=originalSequence,this.modifiedSequence=modifiedSequence}computeDiff(){let originalLength=this.originalSequence.length,modifiedLength=this.modifiedSequence.length,startIndex=0;for(;startIndex<modifiedLength&&startIndex<originalLength&&this.originalSequence[startIndex]===this.modifiedSequence[startIndex];)startIndex++;if(startIndex<modifiedLength&&startIndex<originalLength){let originalEndIndex=originalLength-1,modifiedEndIndex=modifiedLength-1;for(;originalEndIndex>=startIndex&&modifiedEndIndex>=startIndex&&this.originalSequence[originalEndIndex]===this.modifiedSequence[modifiedEndIndex];)originalEndIndex--,modifiedEndIndex--;(originalEndIndex<startIndex||modifiedEndIndex<startIndex)&&(originalEndIndex++,modifiedEndIndex++);let deleteCount=originalEndIndex-startIndex+1,newData=this.modifiedSequence.slice(startIndex,modifiedEndIndex+1);return newData.length===1&&newData[0]===this.originalSequence[originalEndIndex]?[{start:startIndex,deleteCount:deleteCount-1}]:[{start:startIndex,deleteCount,data:newData}]}else return startIndex<modifiedLength?[{start:startIndex,deleteCount:0,data:this.modifiedSequence.slice(startIndex)}]:startIndex<originalLength?[{start:startIndex,deleteCount:originalLength-startIndex}]:[]}};exports2.SemanticTokensDiff=SemanticTokensDiff;var SemanticTokensBuilder2=class{constructor(){this._prevData=void 0,this.initialize()}initialize(){this._id=Date.now(),this._prevLine=0,this._prevChar=0,this._data=[],this._dataLen=0}push(line,char,length,tokenType,tokenModifiers2){let pushLine=line,pushChar=char;this._dataLen>0&&(pushLine-=this._prevLine,pushLine===0&&(pushChar-=this._prevChar)),this._data[this._dataLen++]=pushLine,this._data[this._dataLen++]=pushChar,this._data[this._dataLen++]=length,this._data[this._dataLen++]=tokenType,this._data[this._dataLen++]=tokenModifiers2,this._prevLine=line,this._prevChar=char}get id(){return this._id.toString()}previousResult(id){this.id===id&&(this._prevData=this._data),this.initialize()}build(){return this._prevData=void 0,{resultId:this.id,data:this._data}}canBuildEdits(){return this._prevData!==void 0}buildEdits(){return this._prevData!==void 0?{resultId:this.id,edits:new SemanticTokensDiff(this._prevData,this._data).computeDiff()}:this.build()}};exports2.SemanticTokensBuilder=SemanticTokensBuilder2}});var require_showDocument=__commonJS({"server/node_modules/vscode-languageserver/lib/common/showDocument.js"(exports2){"use strict";Object.defineProperty(exports2,"__esModule",{value:!0});exports2.ShowDocumentFeature=void 0;var vscode_languageserver_protocol_1=require_main3(),ShowDocumentFeature=Base=>class extends Base{showDocument(params){return this.connection.sendRequest(vscode_languageserver_protocol_1.ShowDocumentRequest.type,params)}};exports2.ShowDocumentFeature=ShowDocumentFeature}});var require_fileOperations=__commonJS({"server/node_modules/vscode-languageserver/lib/common/fileOperations.js"(exports2){"use strict";Object.defineProperty(exports2,"__esModule",{value:!0});exports2.FileOperationsFeature=void 0;var vscode_languageserver_protocol_1=require_main3(),FileOperationsFeature=Base=>class extends Base{onDidCreateFiles(handler){return this.connection.onNotification(vscode_languageserver_protocol_1.DidCreateFilesNotification.type,params=>{handler(params)})}onDidRenameFiles(handler){return this.connection.onNotification(vscode_languageserver_protocol_1.DidRenameFilesNotification.type,params=>{handler(params)})}onDidDeleteFiles(handler){return this.connection.onNotification(vscode_languageserver_protocol_1.DidDeleteFilesNotification.type,params=>{handler(params)})}onWillCreateFiles(handler){return this.connection.onRequest(vscode_languageserver_protocol_1.WillCreateFilesRequest.type,(params,cancel)=>handler(params,cancel))}onWillRenameFiles(handler){return this.connection.onRequest(vscode_languageserver_protocol_1.WillRenameFilesRequest.type,(params,cancel)=>handler(params,cancel))}onWillDeleteFiles(handler){return this.connection.onRequest(vscode_languageserver_protocol_1.WillDeleteFilesRequest.type,(params,cancel)=>handler(params,cancel))}};exports2.FileOperationsFeature=FileOperationsFeature}});var require_linkedEditingRange=__commonJS({"server/node_modules/vscode-languageserver/lib/common/linkedEditingRange.js"(exports2){"use strict";Object.defineProperty(exports2,"__esModule",{value:!0});exports2.LinkedEditingRangeFeature=void 0;var vscode_languageserver_protocol_1=require_main3(),LinkedEditingRangeFeature=Base=>class extends Base{onLinkedEditingRange(handler){return this.connection.onRequest(vscode_languageserver_protocol_1.LinkedEditingRangeRequest.type,(params,cancel)=>handler(params,cancel,this.attachWorkDoneProgress(params),void 0))}};exports2.LinkedEditingRangeFeature=LinkedEditingRangeFeature}});var require_typeHierarchy=__commonJS({"server/node_modules/vscode-languageserver/lib/common/typeHierarchy.js"(exports2){"use strict";Object.defineProperty(exports2,"__esModule",{value:!0});exports2.TypeHierarchyFeature=void 0;var vscode_languageserver_protocol_1=require_main3(),TypeHierarchyFeature=Base=>class extends Base{get typeHierarchy(){return{onPrepare:handler=>this.connection.onRequest(vscode_languageserver_protocol_1.TypeHierarchyPrepareRequest.type,(params,cancel)=>handler(params,cancel,this.attachWorkDoneProgress(params),void 0)),onSupertypes:handler=>{let type=vscode_languageserver_protocol_1.TypeHierarchySupertypesRequest.type;return this.connection.onRequest(type,(params,cancel)=>handler(params,cancel,this.attachWorkDoneProgress(params),this.attachPartialResultProgress(type,params)))},onSubtypes:handler=>{let type=vscode_languageserver_protocol_1.TypeHierarchySubtypesRequest.type;return this.connection.onRequest(type,(params,cancel)=>handler(params,cancel,this.attachWorkDoneProgress(params),this.attachPartialResultProgress(type,params)))}}}};exports2.TypeHierarchyFeature=TypeHierarchyFeature}});var require_inlineValue=__commonJS({"server/node_modules/vscode-languageserver/lib/common/inlineValue.js"(exports2){"use strict";Object.defineProperty(exports2,"__esModule",{value:!0});exports2.InlineValueFeature=void 0;var vscode_languageserver_protocol_1=require_main3(),InlineValueFeature=Base=>class extends Base{get inlineValue(){return{refresh:()=>this.connection.sendRequest(vscode_languageserver_protocol_1.InlineValueRefreshRequest.type),on:handler=>this.connection.onRequest(vscode_languageserver_protocol_1.InlineValueRequest.type,(params,cancel)=>handler(params,cancel,this.attachWorkDoneProgress(params)))}}};exports2.InlineValueFeature=InlineValueFeature}});var require_foldingRange=__commonJS({"server/node_modules/vscode-languageserver/lib/common/foldingRange.js"(exports2){"use strict";Object.defineProperty(exports2,"__esModule",{value:!0});exports2.FoldingRangeFeature=void 0;var vscode_languageserver_protocol_1=require_main3(),FoldingRangeFeature=Base=>class extends Base{get foldingRange(){return{refresh:()=>this.connection.sendRequest(vscode_languageserver_protocol_1.FoldingRangeRefreshRequest.type),on:handler=>{let type=vscode_languageserver_protocol_1.FoldingRangeRequest.type;return this.connection.onRequest(type,(params,cancel)=>handler(params,cancel,this.attachWorkDoneProgress(params),this.attachPartialResultProgress(type,params)))}}}};exports2.FoldingRangeFeature=FoldingRangeFeature}});var require_inlayHint=__commonJS({"server/node_modules/vscode-languageserver/lib/common/inlayHint.js"(exports2){"use strict";Object.defineProperty(exports2,"__esModule",{value:!0});exports2.InlayHintFeature=void 0;var vscode_languageserver_protocol_1=require_main3(),InlayHintFeature=Base=>class extends Base{get inlayHint(){return{refresh:()=>this.connection.sendRequest(vscode_languageserver_protocol_1.InlayHintRefreshRequest.type),on:handler=>this.connection.onRequest(vscode_languageserver_protocol_1.InlayHintRequest.type,(params,cancel)=>handler(params,cancel,this.attachWorkDoneProgress(params))),resolve:handler=>this.connection.onRequest(vscode_languageserver_protocol_1.InlayHintResolveRequest.type,(params,cancel)=>handler(params,cancel))}}};exports2.InlayHintFeature=InlayHintFeature}});var require_diagnostic=__commonJS({"server/node_modules/vscode-languageserver/lib/common/diagnostic.js"(exports2){"use strict";Object.defineProperty(exports2,"__esModule",{value:!0});exports2.DiagnosticFeature=void 0;var vscode_languageserver_protocol_1=require_main3(),DiagnosticFeature=Base=>class extends Base{get diagnostics(){return{refresh:()=>this.connection.sendRequest(vscode_languageserver_protocol_1.DiagnosticRefreshRequest.type),on:handler=>this.connection.onRequest(vscode_languageserver_protocol_1.DocumentDiagnosticRequest.type,(params,cancel)=>handler(params,cancel,this.attachWorkDoneProgress(params),this.attachPartialResultProgress(vscode_languageserver_protocol_1.DocumentDiagnosticRequest.partialResult,params))),onWorkspace:handler=>this.connection.onRequest(vscode_languageserver_protocol_1.WorkspaceDiagnosticRequest.type,(params,cancel)=>handler(params,cancel,this.attachWorkDoneProgress(params),this.attachPartialResultProgress(vscode_languageserver_protocol_1.WorkspaceDiagnosticRequest.partialResult,params)))}}};exports2.DiagnosticFeature=DiagnosticFeature}});var require_textDocuments=__commonJS({"server/node_modules/vscode-languageserver/lib/common/textDocuments.js"(exports2){"use strict";Object.defineProperty(exports2,"__esModule",{value:!0});exports2.TextDocuments=void 0;var vscode_languageserver_protocol_1=require_main3(),TextDocuments2=class{constructor(configuration){this._configuration=configuration,this._syncedDocuments=new Map,this._onDidChangeContent=new vscode_languageserver_protocol_1.Emitter,this._onDidOpen=new vscode_languageserver_protocol_1.Emitter,this._onDidClose=new vscode_languageserver_protocol_1.Emitter,this._onDidSave=new vscode_languageserver_protocol_1.Emitter,this._onWillSave=new vscode_languageserver_protocol_1.Emitter}get onDidOpen(){return this._onDidOpen.event}get onDidChangeContent(){return this._onDidChangeContent.event}get onWillSave(){return this._onWillSave.event}onWillSaveWaitUntil(handler){this._willSaveWaitUntil=handler}get onDidSave(){return this._onDidSave.event}get onDidClose(){return this._onDidClose.event}get(uri){return this._syncedDocuments.get(uri)}all(){return Array.from(this._syncedDocuments.values())}keys(){return Array.from(this._syncedDocuments.keys())}listen(connection2){connection2.__textDocumentSync=vscode_languageserver_protocol_1.TextDocumentSyncKind.Incremental;let disposables=[];return disposables.push(connection2.onDidOpenTextDocument(event=>{let td=event.textDocument,document=this._configuration.create(td.uri,td.languageId,td.version,td.text);this._syncedDocuments.set(td.uri,document);let toFire=Object.freeze({document});this._onDidOpen.fire(toFire),this._onDidChangeContent.fire(toFire)})),disposables.push(connection2.onDidChangeTextDocument(event=>{let td=event.textDocument,changes=event.contentChanges;if(changes.length===0)return;let{version}=td;if(version==null)throw new Error(`Received document change event for ${td.uri} without valid version identifier`);let syncedDocument=this._syncedDocuments.get(td.uri);syncedDocument!==void 0&&(syncedDocument=this._configuration.update(syncedDocument,changes,version),this._syncedDocuments.set(td.uri,syncedDocument),this._onDidChangeContent.fire(Object.freeze({document:syncedDocument})))})),disposables.push(connection2.onDidCloseTextDocument(event=>{let syncedDocument=this._syncedDocuments.get(event.textDocument.uri);syncedDocument!==void 0&&(this._syncedDocuments.delete(event.textDocument.uri),this._onDidClose.fire(Object.freeze({document:syncedDocument})))})),disposables.push(connection2.onWillSaveTextDocument(event=>{let syncedDocument=this._syncedDocuments.get(event.textDocument.uri);syncedDocument!==void 0&&this._onWillSave.fire(Object.freeze({document:syncedDocument,reason:event.reason}))})),disposables.push(connection2.onWillSaveTextDocumentWaitUntil((event,token)=>{let syncedDocument=this._syncedDocuments.get(event.textDocument.uri);return syncedDocument!==void 0&&this._willSaveWaitUntil?this._willSaveWaitUntil(Object.freeze({document:syncedDocument,reason:event.reason}),token):[]})),disposables.push(connection2.onDidSaveTextDocument(event=>{let syncedDocument=this._syncedDocuments.get(event.textDocument.uri);syncedDocument!==void 0&&this._onDidSave.fire(Object.freeze({document:syncedDocument}))})),vscode_languageserver_protocol_1.Disposable.create(()=>{disposables.forEach(disposable=>disposable.dispose())})}};exports2.TextDocuments=TextDocuments2}});var require_notebook=__commonJS({"server/node_modules/vscode-languageserver/lib/common/notebook.js"(exports2){"use strict";Object.defineProperty(exports2,"__esModule",{value:!0});exports2.NotebookDocuments=exports2.NotebookSyncFeature=void 0;var vscode_languageserver_protocol_1=require_main3(),textDocuments_1=require_textDocuments(),NotebookSyncFeature=Base=>class extends Base{get synchronization(){return{onDidOpenNotebookDocument:handler=>this.connection.onNotification(vscode_languageserver_protocol_1.DidOpenNotebookDocumentNotification.type,params=>{handler(params)}),onDidChangeNotebookDocument:handler=>this.connection.onNotification(vscode_languageserver_protocol_1.DidChangeNotebookDocumentNotification.type,params=>{handler(params)}),onDidSaveNotebookDocument:handler=>this.connection.onNotification(vscode_languageserver_protocol_1.DidSaveNotebookDocumentNotification.type,params=>{handler(params)}),onDidCloseNotebookDocument:handler=>this.connection.onNotification(vscode_languageserver_protocol_1.DidCloseNotebookDocumentNotification.type,params=>{handler(params)})}}};exports2.NotebookSyncFeature=NotebookSyncFeature;var CellTextDocumentConnection=class _CellTextDocumentConnection{onDidOpenTextDocument(handler){return this.openHandler=handler,vscode_languageserver_protocol_1.Disposable.create(()=>{this.openHandler=void 0})}openTextDocument(params){this.openHandler&&this.openHandler(params)}onDidChangeTextDocument(handler){return this.changeHandler=handler,vscode_languageserver_protocol_1.Disposable.create(()=>{this.changeHandler=handler})}changeTextDocument(params){this.changeHandler&&this.changeHandler(params)}onDidCloseTextDocument(handler){return this.closeHandler=handler,vscode_languageserver_protocol_1.Disposable.create(()=>{this.closeHandler=void 0})}closeTextDocument(params){this.closeHandler&&this.closeHandler(params)}onWillSaveTextDocument(){return _CellTextDocumentConnection.NULL_DISPOSE}onWillSaveTextDocumentWaitUntil(){return _CellTextDocumentConnection.NULL_DISPOSE}onDidSaveTextDocument(){return _CellTextDocumentConnection.NULL_DISPOSE}};CellTextDocumentConnection.NULL_DISPOSE=Object.freeze({dispose:()=>{}});var NotebookDocuments=class{constructor(configurationOrTextDocuments){configurationOrTextDocuments instanceof textDocuments_1.TextDocuments?this._cellTextDocuments=configurationOrTextDocuments:this._cellTextDocuments=new textDocuments_1.TextDocuments(configurationOrTextDocuments),this.notebookDocuments=new Map,this.notebookCellMap=new Map,this._onDidOpen=new vscode_languageserver_protocol_1.Emitter,this._onDidChange=new vscode_languageserver_protocol_1.Emitter,this._onDidSave=new vscode_languageserver_protocol_1.Emitter,this._onDidClose=new vscode_languageserver_protocol_1.Emitter}get cellTextDocuments(){return this._cellTextDocuments}getCellTextDocument(cell){return this._cellTextDocuments.get(cell.document)}getNotebookDocument(uri){return this.notebookDocuments.get(uri)}getNotebookCell(uri){let value=this.notebookCellMap.get(uri);return value&&value[0]}findNotebookDocumentForCell(cell){let key=typeof cell=="string"?cell:cell.document,value=this.notebookCellMap.get(key);return value&&value[1]}get onDidOpen(){return this._onDidOpen.event}get onDidSave(){return this._onDidSave.event}get onDidChange(){return this._onDidChange.event}get onDidClose(){return this._onDidClose.event}listen(connection2){let cellTextDocumentConnection=new CellTextDocumentConnection,disposables=[];return disposables.push(this.cellTextDocuments.listen(cellTextDocumentConnection)),disposables.push(connection2.notebooks.synchronization.onDidOpenNotebookDocument(params=>{this.notebookDocuments.set(params.notebookDocument.uri,params.notebookDocument);for(let cellTextDocument of params.cellTextDocuments)cellTextDocumentConnection.openTextDocument({textDocument:cellTextDocument});this.updateCellMap(params.notebookDocument),this._onDidOpen.fire(params.notebookDocument)})),disposables.push(connection2.notebooks.synchronization.onDidChangeNotebookDocument(params=>{let notebookDocument=this.notebookDocuments.get(params.notebookDocument.uri);if(notebookDocument===void 0)return;notebookDocument.version=params.notebookDocument.version;let oldMetadata=notebookDocument.metadata,metadataChanged=!1,change=params.change;change.metadata!==void 0&&(metadataChanged=!0,notebookDocument.metadata=change.metadata);let opened=[],closed=[],data=[],text=[];if(change.cells!==void 0){let changedCells=change.cells;if(changedCells.structure!==void 0){let array=changedCells.structure.array;if(notebookDocument.cells.splice(array.start,array.deleteCount,...array.cells!==void 0?array.cells:[]),changedCells.structure.didOpen!==void 0)for(let open of changedCells.structure.didOpen)cellTextDocumentConnection.openTextDocument({textDocument:open}),opened.push(open.uri);if(changedCells.structure.didClose)for(let close of changedCells.structure.didClose)cellTextDocumentConnection.closeTextDocument({textDocument:close}),closed.push(close.uri)}if(changedCells.data!==void 0){let cellUpdates=new Map(changedCells.data.map(cell=>[cell.document,cell]));for(let i=0;i<=notebookDocument.cells.length;i++){let change2=cellUpdates.get(notebookDocument.cells[i].document);if(change2!==void 0){let old=notebookDocument.cells.splice(i,1,change2);if(data.push({old:old[0],new:change2}),cellUpdates.delete(change2.document),cellUpdates.size===0)break}}}if(changedCells.textContent!==void 0)for(let cellTextDocument of changedCells.textContent)cellTextDocumentConnection.changeTextDocument({textDocument:cellTextDocument.document,contentChanges:cellTextDocument.changes}),text.push(cellTextDocument.document.uri)}this.updateCellMap(notebookDocument);let changeEvent={notebookDocument};metadataChanged&&(changeEvent.metadata={old:oldMetadata,new:notebookDocument.metadata});let added=[];for(let open of opened)added.push(this.getNotebookCell(open));let removed=[];for(let close of closed)removed.push(this.getNotebookCell(close));let textContent=[];for(let change2 of text)textContent.push(this.getNotebookCell(change2));(added.length>0||removed.length>0||data.length>0||textContent.length>0)&&(changeEvent.cells={added,removed,changed:{data,textContent}}),(changeEvent.metadata!==void 0||changeEvent.cells!==void 0)&&this._onDidChange.fire(changeEvent)})),disposables.push(connection2.notebooks.synchronization.onDidSaveNotebookDocument(params=>{let notebookDocument=this.notebookDocuments.get(params.notebookDocument.uri);notebookDocument!==void 0&&this._onDidSave.fire(notebookDocument)})),disposables.push(connection2.notebooks.synchronization.onDidCloseNotebookDocument(params=>{let notebookDocument=this.notebookDocuments.get(params.notebookDocument.uri);if(notebookDocument!==void 0){this._onDidClose.fire(notebookDocument);for(let cellTextDocument of params.cellTextDocuments)cellTextDocumentConnection.closeTextDocument({textDocument:cellTextDocument});this.notebookDocuments.delete(params.notebookDocument.uri);for(let cell of notebookDocument.cells)this.notebookCellMap.delete(cell.document)}})),vscode_languageserver_protocol_1.Disposable.create(()=>{disposables.forEach(disposable=>disposable.dispose())})}updateCellMap(notebookDocument){for(let cell of notebookDocument.cells)this.notebookCellMap.set(cell.document,[cell,notebookDocument])}};exports2.NotebookDocuments=NotebookDocuments}});var require_moniker=__commonJS({"server/node_modules/vscode-languageserver/lib/common/moniker.js"(exports2){"use strict";Object.defineProperty(exports2,"__esModule",{value:!0});exports2.MonikerFeature=void 0;var vscode_languageserver_protocol_1=require_main3(),MonikerFeature=Base=>class extends Base{get moniker(){return{on:handler=>{let type=vscode_languageserver_protocol_1.MonikerRequest.type;return this.connection.onRequest(type,(params,cancel)=>handler(params,cancel,this.attachWorkDoneProgress(params),this.attachPartialResultProgress(type,params)))}}}};exports2.MonikerFeature=MonikerFeature}});var require_server=__commonJS({"server/node_modules/vscode-languageserver/lib/common/server.js"(exports2){"use strict";Object.defineProperty(exports2,"__esModule",{value:!0});exports2.createConnection=exports2.combineFeatures=exports2.combineNotebooksFeatures=exports2.combineLanguagesFeatures=exports2.combineWorkspaceFeatures=exports2.combineWindowFeatures=exports2.combineClientFeatures=exports2.combineTracerFeatures=exports2.combineTelemetryFeatures=exports2.combineConsoleFeatures=exports2._NotebooksImpl=exports2._LanguagesImpl=exports2.BulkUnregistration=exports2.BulkRegistration=exports2.ErrorMessageTracker=void 0;var vscode_languageserver_protocol_1=require_main3(),Is=require_is(),UUID=require_uuid(),progress_1=require_progress(),configuration_1=require_configuration(),workspaceFolder_1=require_workspaceFolder(),callHierarchy_1=require_callHierarchy(),semanticTokens_1=require_semanticTokens(),showDocument_1=require_showDocument(),fileOperations_1=require_fileOperations(),linkedEditingRange_1=require_linkedEditingRange(),typeHierarchy_1=require_typeHierarchy(),inlineValue_1=require_inlineValue(),foldingRange_1=require_foldingRange(),inlayHint_1=require_inlayHint(),diagnostic_1=require_diagnostic(),notebook_1=require_notebook(),moniker_1=require_moniker();function null2Undefined(value){if(value!==null)return value}var ErrorMessageTracker=class{constructor(){this._messages=Object.create(null)}add(message){let count=this._messages[message];count||(count=0),count++,this._messages[message]=count}sendErrors(connection2){Object.keys(this._messages).forEach(message=>{connection2.window.showErrorMessage(message)})}};exports2.ErrorMessageTracker=ErrorMessageTracker;var RemoteConsoleImpl=class{constructor(){}rawAttach(connection2){this._rawConnection=connection2}attach(connection2){this._connection=connection2}get connection(){if(!this._connection)throw new Error("Remote is not attached to a connection yet.");return this._connection}fillServerCapabilities(_capabilities){}initialize(_capabilities){}error(message){this.send(vscode_languageserver_protocol_1.MessageType.Error,message)}warn(message){this.send(vscode_languageserver_protocol_1.MessageType.Warning,message)}info(message){this.send(vscode_languageserver_protocol_1.MessageType.Info,message)}log(message){this.send(vscode_languageserver_protocol_1.MessageType.Log,message)}debug(message){this.send(vscode_languageserver_protocol_1.MessageType.Debug,message)}send(type,message){this._rawConnection&&this._rawConnection.sendNotification(vscode_languageserver_protocol_1.LogMessageNotification.type,{type,message}).catch(()=>{(0,vscode_languageserver_protocol_1.RAL)().console.error("Sending log message failed")})}},_RemoteWindowImpl=class{constructor(){}attach(connection2){this._connection=connection2}get connection(){if(!this._connection)throw new Error("Remote is not attached to a connection yet.");return this._connection}initialize(_capabilities){}fillServerCapabilities(_capabilities){}showErrorMessage(message,...actions){let params={type:vscode_languageserver_protocol_1.MessageType.Error,message,actions};return this.connection.sendRequest(vscode_languageserver_protocol_1.ShowMessageRequest.type,params).then(null2Undefined)}showWarningMessage(message,...actions){let params={type:vscode_languageserver_protocol_1.MessageType.Warning,message,actions};return this.connection.sendRequest(vscode_languageserver_protocol_1.ShowMessageRequest.type,params).then(null2Undefined)}showInformationMessage(message,...actions){let params={type:vscode_languageserver_protocol_1.MessageType.Info,message,actions};return this.connection.sendRequest(vscode_languageserver_protocol_1.ShowMessageRequest.type,params).then(null2Undefined)}},RemoteWindowImpl=(0,showDocument_1.ShowDocumentFeature)((0,progress_1.ProgressFeature)(_RemoteWindowImpl)),BulkRegistration;(function(BulkRegistration2){function create(){return new BulkRegistrationImpl}BulkRegistration2.create=create})(BulkRegistration||(exports2.BulkRegistration=BulkRegistration={}));var BulkRegistrationImpl=class{constructor(){this._registrations=[],this._registered=new Set}add(type,registerOptions){let method=Is.string(type)?type:type.method;if(this._registered.has(method))throw new Error(`${method} is already added to this registration`);let id=UUID.generateUuid();this._registrations.push({id,method,registerOptions:registerOptions||{}}),this._registered.add(method)}asRegistrationParams(){return{registrations:this._registrations}}},BulkUnregistration;(function(BulkUnregistration2){function create(){return new BulkUnregistrationImpl(void 0,[])}BulkUnregistration2.create=create})(BulkUnregistration||(exports2.BulkUnregistration=BulkUnregistration={}));var BulkUnregistrationImpl=class{constructor(_connection,unregistrations){this._connection=_connection,this._unregistrations=new Map,unregistrations.forEach(unregistration=>{this._unregistrations.set(unregistration.method,unregistration)})}get isAttached(){return!!this._connection}attach(connection2){this._connection=connection2}add(unregistration){this._unregistrations.set(unregistration.method,unregistration)}dispose(){let unregistrations=[];for(let unregistration of this._unregistrations.values())unregistrations.push(unregistration);let params={unregisterations:unregistrations};this._connection.sendRequest(vscode_languageserver_protocol_1.UnregistrationRequest.type,params).catch(()=>{this._connection.console.info("Bulk unregistration failed.")})}disposeSingle(arg){let method=Is.string(arg)?arg:arg.method,unregistration=this._unregistrations.get(method);if(!unregistration)return!1;let params={unregisterations:[unregistration]};return this._connection.sendRequest(vscode_languageserver_protocol_1.UnregistrationRequest.type,params).then(()=>{this._unregistrations.delete(method)},_error=>{this._connection.console.info(`Un-registering request handler for ${unregistration.id} failed.`)}),!0}},RemoteClientImpl=class{attach(connection2){this._connection=connection2}get connection(){if(!this._connection)throw new Error("Remote is not attached to a connection yet.");return this._connection}initialize(_capabilities){}fillServerCapabilities(_capabilities){}register(typeOrRegistrations,registerOptionsOrType,registerOptions){return typeOrRegistrations instanceof BulkRegistrationImpl?this.registerMany(typeOrRegistrations):typeOrRegistrations instanceof BulkUnregistrationImpl?this.registerSingle1(typeOrRegistrations,registerOptionsOrType,registerOptions):this.registerSingle2(typeOrRegistrations,registerOptionsOrType)}registerSingle1(unregistration,type,registerOptions){let method=Is.string(type)?type:type.method,id=UUID.generateUuid(),params={registrations:[{id,method,registerOptions:registerOptions||{}}]};return unregistration.isAttached||unregistration.attach(this.connection),this.connection.sendRequest(vscode_languageserver_protocol_1.RegistrationRequest.type,params).then(_result=>(unregistration.add({id,method}),unregistration),_error=>(this.connection.console.info(`Registering request handler for ${method} failed.`),Promise.reject(_error)))}registerSingle2(type,registerOptions){let method=Is.string(type)?type:type.method,id=UUID.generateUuid(),params={registrations:[{id,method,registerOptions:registerOptions||{}}]};return this.connection.sendRequest(vscode_languageserver_protocol_1.RegistrationRequest.type,params).then(_result=>vscode_languageserver_protocol_1.Disposable.create(()=>{this.unregisterSingle(id,method).catch(()=>{this.connection.console.info(`Un-registering capability with id ${id} failed.`)})}),_error=>(this.connection.console.info(`Registering request handler for ${method} failed.`),Promise.reject(_error)))}unregisterSingle(id,method){let params={unregisterations:[{id,method}]};return this.connection.sendRequest(vscode_languageserver_protocol_1.UnregistrationRequest.type,params).catch(()=>{this.connection.console.info(`Un-registering request handler for ${id} failed.`)})}registerMany(registrations){let params=registrations.asRegistrationParams();return this.connection.sendRequest(vscode_languageserver_protocol_1.RegistrationRequest.type,params).then(()=>new BulkUnregistrationImpl(this._connection,params.registrations.map(registration=>({id:registration.id,method:registration.method}))),_error=>(this.connection.console.info("Bulk registration failed."),Promise.reject(_error)))}},_RemoteWorkspaceImpl=class{constructor(){}attach(connection2){this._connection=connection2}get connection(){if(!this._connection)throw new Error("Remote is not attached to a connection yet.");return this._connection}initialize(_capabilities){}fillServerCapabilities(_capabilities){}applyEdit(paramOrEdit){function isApplyWorkspaceEditParams(value){return value&&!!value.edit}let params=isApplyWorkspaceEditParams(paramOrEdit)?paramOrEdit:{edit:paramOrEdit};return this.connection.sendRequest(vscode_languageserver_protocol_1.ApplyWorkspaceEditRequest.type,params)}},RemoteWorkspaceImpl=(0,fileOperations_1.FileOperationsFeature)((0,workspaceFolder_1.WorkspaceFoldersFeature)((0,configuration_1.ConfigurationFeature)(_RemoteWorkspaceImpl))),TracerImpl=class{constructor(){this._trace=vscode_languageserver_protocol_1.Trace.Off}attach(connection2){this._connection=connection2}get connection(){if(!this._connection)throw new Error("Remote is not attached to a connection yet.");return this._connection}initialize(_capabilities){}fillServerCapabilities(_capabilities){}set trace(value){this._trace=value}log(message,verbose){this._trace!==vscode_languageserver_protocol_1.Trace.Off&&this.connection.sendNotification(vscode_languageserver_protocol_1.LogTraceNotification.type,{message,verbose:this._trace===vscode_languageserver_protocol_1.Trace.Verbose?verbose:void 0}).catch(()=>{})}},TelemetryImpl=class{constructor(){}attach(connection2){this._connection=connection2}get connection(){if(!this._connection)throw new Error("Remote is not attached to a connection yet.");return this._connection}initialize(_capabilities){}fillServerCapabilities(_capabilities){}logEvent(data){this.connection.sendNotification(vscode_languageserver_protocol_1.TelemetryEventNotification.type,data).catch(()=>{this.connection.console.log("Sending TelemetryEventNotification failed")})}},_LanguagesImpl=class{constructor(){}attach(connection2){this._connection=connection2}get connection(){if(!this._connection)throw new Error("Remote is not attached to a connection yet.");return this._connection}initialize(_capabilities){}fillServerCapabilities(_capabilities){}attachWorkDoneProgress(params){return(0,progress_1.attachWorkDone)(this.connection,params)}attachPartialResultProgress(_type,params){return(0,progress_1.attachPartialResult)(this.connection,params)}};exports2._LanguagesImpl=_LanguagesImpl;var LanguagesImpl=(0,foldingRange_1.FoldingRangeFeature)((0,moniker_1.MonikerFeature)((0,diagnostic_1.DiagnosticFeature)((0,inlayHint_1.InlayHintFeature)((0,inlineValue_1.InlineValueFeature)((0,typeHierarchy_1.TypeHierarchyFeature)((0,linkedEditingRange_1.LinkedEditingRangeFeature)((0,semanticTokens_1.SemanticTokensFeature)((0,callHierarchy_1.CallHierarchyFeature)(_LanguagesImpl))))))))),_NotebooksImpl=class{constructor(){}attach(connection2){this._connection=connection2}get connection(){if(!this._connection)throw new Error("Remote is not attached to a connection yet.");return this._connection}initialize(_capabilities){}fillServerCapabilities(_capabilities){}attachWorkDoneProgress(params){return(0,progress_1.attachWorkDone)(this.connection,params)}attachPartialResultProgress(_type,params){return(0,progress_1.attachPartialResult)(this.connection,params)}};exports2._NotebooksImpl=_NotebooksImpl;var NotebooksImpl=(0,notebook_1.NotebookSyncFeature)(_NotebooksImpl);function combineConsoleFeatures(one,two){return function(Base){return two(one(Base))}}exports2.combineConsoleFeatures=combineConsoleFeatures;function combineTelemetryFeatures(one,two){return function(Base){return two(one(Base))}}exports2.combineTelemetryFeatures=combineTelemetryFeatures;function combineTracerFeatures(one,two){return function(Base){return two(one(Base))}}exports2.combineTracerFeatures=combineTracerFeatures;function combineClientFeatures(one,two){return function(Base){return two(one(Base))}}exports2.combineClientFeatures=combineClientFeatures;function combineWindowFeatures(one,two){return function(Base){return two(one(Base))}}exports2.combineWindowFeatures=combineWindowFeatures;function combineWorkspaceFeatures(one,two){return function(Base){return two(one(Base))}}exports2.combineWorkspaceFeatures=combineWorkspaceFeatures;function combineLanguagesFeatures(one,two){return function(Base){return two(one(Base))}}exports2.combineLanguagesFeatures=combineLanguagesFeatures;function combineNotebooksFeatures(one,two){return function(Base){return two(one(Base))}}exports2.combineNotebooksFeatures=combineNotebooksFeatures;function combineFeatures(one,two){function combine(one2,two2,func){return one2&&two2?func(one2,two2):one2||two2}return{__brand:"features",console:combine(one.console,two.console,combineConsoleFeatures),tracer:combine(one.tracer,two.tracer,combineTracerFeatures),telemetry:combine(one.telemetry,two.telemetry,combineTelemetryFeatures),client:combine(one.client,two.client,combineClientFeatures),window:combine(one.window,two.window,combineWindowFeatures),workspace:combine(one.workspace,two.workspace,combineWorkspaceFeatures),languages:combine(one.languages,two.languages,combineLanguagesFeatures),notebooks:combine(one.notebooks,two.notebooks,combineNotebooksFeatures)}}exports2.combineFeatures=combineFeatures;function createConnection2(connectionFactory,watchDog,factories){let logger=factories&&factories.console?new(factories.console(RemoteConsoleImpl)):new RemoteConsoleImpl,connection2=connectionFactory(logger);logger.rawAttach(connection2);let tracer=factories&&factories.tracer?new(factories.tracer(TracerImpl)):new TracerImpl,telemetry=factories&&factories.telemetry?new(factories.telemetry(TelemetryImpl)):new TelemetryImpl,client=factories&&factories.client?new(factories.client(RemoteClientImpl)):new RemoteClientImpl,remoteWindow=factories&&factories.window?new(factories.window(RemoteWindowImpl)):new RemoteWindowImpl,workspace=factories&&factories.workspace?new(factories.workspace(RemoteWorkspaceImpl)):new RemoteWorkspaceImpl,languages=factories&&factories.languages?new(factories.languages(LanguagesImpl)):new LanguagesImpl,notebooks=factories&&factories.notebooks?new(factories.notebooks(NotebooksImpl)):new NotebooksImpl,allRemotes=[logger,tracer,telemetry,client,remoteWindow,workspace,languages,notebooks];function asPromise(value){return value instanceof Promise?value:Is.thenable(value)?new Promise((resolve2,reject)=>{value.then(resolved=>resolve2(resolved),error=>reject(error))}):Promise.resolve(value)}let shutdownHandler,initializeHandler,exitHandler,protocolConnection={listen:()=>connection2.listen(),sendRequest:(type,...params)=>connection2.sendRequest(Is.string(type)?type:type.method,...params),onRequest:(type,handler)=>connection2.onRequest(type,handler),sendNotification:(type,param)=>{let method=Is.string(type)?type:type.method;return connection2.sendNotification(method,param)},onNotification:(type,handler)=>connection2.onNotification(type,handler),onProgress:connection2.onProgress,sendProgress:connection2.sendProgress,onInitialize:handler=>(initializeHandler=handler,{dispose:()=>{initializeHandler=void 0}}),onInitialized:handler=>connection2.onNotification(vscode_languageserver_protocol_1.InitializedNotification.type,handler),onShutdown:handler=>(shutdownHandler=handler,{dispose:()=>{shutdownHandler=void 0}}),onExit:handler=>(exitHandler=handler,{dispose:()=>{exitHandler=void 0}}),get console(){return logger},get telemetry(){return telemetry},get tracer(){return tracer},get client(){return client},get window(){return remoteWindow},get workspace(){return workspace},get languages(){return languages},get notebooks(){return notebooks},onDidChangeConfiguration:handler=>connection2.onNotification(vscode_languageserver_protocol_1.DidChangeConfigurationNotification.type,handler),onDidChangeWatchedFiles:handler=>connection2.onNotification(vscode_languageserver_protocol_1.DidChangeWatchedFilesNotification.type,handler),__textDocumentSync:void 0,onDidOpenTextDocument:handler=>connection2.onNotification(vscode_languageserver_protocol_1.DidOpenTextDocumentNotification.type,handler),onDidChangeTextDocument:handler=>connection2.onNotification(vscode_languageserver_protocol_1.DidChangeTextDocumentNotification.type,handler),onDidCloseTextDocument:handler=>connection2.onNotification(vscode_languageserver_protocol_1.DidCloseTextDocumentNotification.type,handler),onWillSaveTextDocument:handler=>connection2.onNotification(vscode_languageserver_protocol_1.WillSaveTextDocumentNotification.type,handler),onWillSaveTextDocumentWaitUntil:handler=>connection2.onRequest(vscode_languageserver_protocol_1.WillSaveTextDocumentWaitUntilRequest.type,handler),onDidSaveTextDocument:handler=>connection2.onNotification(vscode_languageserver_protocol_1.DidSaveTextDocumentNotification.type,handler),sendDiagnostics:params=>connection2.sendNotification(vscode_languageserver_protocol_1.PublishDiagnosticsNotification.type,params),onHover:handler=>connection2.onRequest(vscode_languageserver_protocol_1.HoverRequest.type,(params,cancel)=>handler(params,cancel,(0,progress_1.attachWorkDone)(connection2,params),void 0)),onCompletion:handler=>connection2.onRequest(vscode_languageserver_protocol_1.CompletionRequest.type,(params,cancel)=>handler(params,cancel,(0,progress_1.attachWorkDone)(connection2,params),(0,progress_1.attachPartialResult)(connection2,params))),onCompletionResolve:handler=>connection2.onRequest(vscode_languageserver_protocol_1.CompletionResolveRequest.type,handler),onSignatureHelp:handler=>connection2.onRequest(vscode_languageserver_protocol_1.SignatureHelpRequest.type,(params,cancel)=>handler(params,cancel,(0,progress_1.attachWorkDone)(connection2,params),void 0)),onDeclaration:handler=>connection2.onRequest(vscode_languageserver_protocol_1.DeclarationRequest.type,(params,cancel)=>handler(params,cancel,(0,progress_1.attachWorkDone)(connection2,params),(0,progress_1.attachPartialResult)(connection2,params))),onDefinition:handler=>connection2.onRequest(vscode_languageserver_protocol_1.DefinitionRequest.type,(params,cancel)=>handler(params,cancel,(0,progress_1.attachWorkDone)(connection2,params),(0,progress_1.attachPartialResult)(connection2,params))),onTypeDefinition:handler=>connection2.onRequest(vscode_languageserver_protocol_1.TypeDefinitionRequest.type,(params,cancel)=>handler(params,cancel,(0,progress_1.attachWorkDone)(connection2,params),(0,progress_1.attachPartialResult)(connection2,params))),onImplementation:handler=>connection2.onRequest(vscode_languageserver_protocol_1.ImplementationRequest.type,(params,cancel)=>handler(params,cancel,(0,progress_1.attachWorkDone)(connection2,params),(0,progress_1.attachPartialResult)(connection2,params))),onReferences:handler=>connection2.onRequest(vscode_languageserver_protocol_1.ReferencesRequest.type,(params,cancel)=>handler(params,cancel,(0,progress_1.attachWorkDone)(connection2,params),(0,progress_1.attachPartialResult)(connection2,params))),onDocumentHighlight:handler=>connection2.onRequest(vscode_languageserver_protocol_1.DocumentHighlightRequest.type,(params,cancel)=>handler(params,cancel,(0,progress_1.attachWorkDone)(connection2,params),(0,progress_1.attachPartialResult)(connection2,params))),onDocumentSymbol:handler=>connection2.onRequest(vscode_languageserver_protocol_1.DocumentSymbolRequest.type,(params,cancel)=>handler(params,cancel,(0,progress_1.attachWorkDone)(connection2,params),(0,progress_1.attachPartialResult)(connection2,params))),onWorkspaceSymbol:handler=>connection2.onRequest(vscode_languageserver_protocol_1.WorkspaceSymbolRequest.type,(params,cancel)=>handler(params,cancel,(0,progress_1.attachWorkDone)(connection2,params),(0,progress_1.attachPartialResult)(connection2,params))),onWorkspaceSymbolResolve:handler=>connection2.onRequest(vscode_languageserver_protocol_1.WorkspaceSymbolResolveRequest.type,handler),onCodeAction:handler=>connection2.onRequest(vscode_languageserver_protocol_1.CodeActionRequest.type,(params,cancel)=>handler(params,cancel,(0,progress_1.attachWorkDone)(connection2,params),(0,progress_1.attachPartialResult)(connection2,params))),onCodeActionResolve:handler=>connection2.onRequest(vscode_languageserver_protocol_1.CodeActionResolveRequest.type,(params,cancel)=>handler(params,cancel)),onCodeLens:handler=>connection2.onRequest(vscode_languageserver_protocol_1.CodeLensRequest.type,(params,cancel)=>handler(params,cancel,(0,progress_1.attachWorkDone)(connection2,params),(0,progress_1.attachPartialResult)(connection2,params))),onCodeLensResolve:handler=>connection2.onRequest(vscode_languageserver_protocol_1.CodeLensResolveRequest.type,(params,cancel)=>handler(params,cancel)),onDocumentFormatting:handler=>connection2.onRequest(vscode_languageserver_protocol_1.DocumentFormattingRequest.type,(params,cancel)=>handler(params,cancel,(0,progress_1.attachWorkDone)(connection2,params),void 0)),onDocumentRangeFormatting:handler=>connection2.onRequest(vscode_languageserver_protocol_1.DocumentRangeFormattingRequest.type,(params,cancel)=>handler(params,cancel,(0,progress_1.attachWorkDone)(connection2,params),void 0)),onDocumentOnTypeFormatting:handler=>connection2.onRequest(vscode_languageserver_protocol_1.DocumentOnTypeFormattingRequest.type,(params,cancel)=>handler(params,cancel)),onRenameRequest:handler=>connection2.onRequest(vscode_languageserver_protocol_1.RenameRequest.type,(params,cancel)=>handler(params,cancel,(0,progress_1.attachWorkDone)(connection2,params),void 0)),onPrepareRename:handler=>connection2.onRequest(vscode_languageserver_protocol_1.PrepareRenameRequest.type,(params,cancel)=>handler(params,cancel)),onDocumentLinks:handler=>connection2.onRequest(vscode_languageserver_protocol_1.DocumentLinkRequest.type,(params,cancel)=>handler(params,cancel,(0,progress_1.attachWorkDone)(connection2,params),(0,progress_1.attachPartialResult)(connection2,params))),onDocumentLinkResolve:handler=>connection2.onRequest(vscode_languageserver_protocol_1.DocumentLinkResolveRequest.type,(params,cancel)=>handler(params,cancel)),onDocumentColor:handler=>connection2.onRequest(vscode_languageserver_protocol_1.DocumentColorRequest.type,(params,cancel)=>handler(params,cancel,(0,progress_1.attachWorkDone)(connection2,params),(0,progress_1.attachPartialResult)(connection2,params))),onColorPresentation:handler=>connection2.onRequest(vscode_languageserver_protocol_1.ColorPresentationRequest.type,(params,cancel)=>handler(params,cancel,(0,progress_1.attachWorkDone)(connection2,params),(0,progress_1.attachPartialResult)(connection2,params))),onFoldingRanges:handler=>connection2.onRequest(vscode_languageserver_protocol_1.FoldingRangeRequest.type,(params,cancel)=>handler(params,cancel,(0,progress_1.attachWorkDone)(connection2,params),(0,progress_1.attachPartialResult)(connection2,params))),onSelectionRanges:handler=>connection2.onRequest(vscode_languageserver_protocol_1.SelectionRangeRequest.type,(params,cancel)=>handler(params,cancel,(0,progress_1.attachWorkDone)(connection2,params),(0,progress_1.attachPartialResult)(connection2,params))),onExecuteCommand:handler=>connection2.onRequest(vscode_languageserver_protocol_1.ExecuteCommandRequest.type,(params,cancel)=>handler(params,cancel,(0,progress_1.attachWorkDone)(connection2,params),void 0)),dispose:()=>connection2.dispose()};for(let remote of allRemotes)remote.attach(protocolConnection);return connection2.onRequest(vscode_languageserver_protocol_1.InitializeRequest.type,params=>{watchDog.initialize(params),Is.string(params.trace)&&(tracer.trace=vscode_languageserver_protocol_1.Trace.fromString(params.trace));for(let remote of allRemotes)remote.initialize(params.capabilities);if(initializeHandler){let result=initializeHandler(params,new vscode_languageserver_protocol_1.CancellationTokenSource().token,(0,progress_1.attachWorkDone)(connection2,params),void 0);return asPromise(result).then(value=>{if(value instanceof vscode_languageserver_protocol_1.ResponseError)return value;let result2=value;result2||(result2={capabilities:{}});let capabilities=result2.capabilities;capabilities||(capabilities={},result2.capabilities=capabilities),capabilities.textDocumentSync===void 0||capabilities.textDocumentSync===null?capabilities.textDocumentSync=Is.number(protocolConnection.__textDocumentSync)?protocolConnection.__textDocumentSync:vscode_languageserver_protocol_1.TextDocumentSyncKind.None:!Is.number(capabilities.textDocumentSync)&&!Is.number(capabilities.textDocumentSync.change)&&(capabilities.textDocumentSync.change=Is.number(protocolConnection.__textDocumentSync)?protocolConnection.__textDocumentSync:vscode_languageserver_protocol_1.TextDocumentSyncKind.None);for(let remote of allRemotes)remote.fillServerCapabilities(capabilities);return result2})}else{let result={capabilities:{textDocumentSync:vscode_languageserver_protocol_1.TextDocumentSyncKind.None}};for(let remote of allRemotes)remote.fillServerCapabilities(result.capabilities);return result}}),connection2.onRequest(vscode_languageserver_protocol_1.ShutdownRequest.type,()=>{if(watchDog.shutdownReceived=!0,shutdownHandler)return shutdownHandler(new vscode_languageserver_protocol_1.CancellationTokenSource().token)}),connection2.onNotification(vscode_languageserver_protocol_1.ExitNotification.type,()=>{try{exitHandler&&exitHandler()}finally{watchDog.shutdownReceived?watchDog.exit(0):watchDog.exit(1)}}),connection2.onNotification(vscode_languageserver_protocol_1.SetTraceNotification.type,params=>{tracer.trace=vscode_languageserver_protocol_1.Trace.fromString(params.value)}),protocolConnection}exports2.createConnection=createConnection2}});var require_files=__commonJS({"server/node_modules/vscode-languageserver/lib/node/files.js"(exports2){"use strict";Object.defineProperty(exports2,"__esModule",{value:!0});exports2.resolveModulePath=exports2.FileSystem=exports2.resolveGlobalYarnPath=exports2.resolveGlobalNodePath=exports2.resolve=exports2.uriToFilePath=void 0;var url=require("url"),path=require("path"),fs=require("fs"),child_process_1=require("child_process");function uriToFilePath(uri){let parsed=url.parse(uri);if(parsed.protocol!=="file:"||!parsed.path)return;let segments=parsed.path.split("/");for(var i=0,len=segments.length;i<len;i++)segments[i]=decodeURIComponent(segments[i]);if(process.platform==="win32"&&segments.length>1){let first=segments[0],second=segments[1];first.length===0&&second.length>1&&second[1]===":"&&segments.shift()}return path.normalize(segments.join("/"))}exports2.uriToFilePath=uriToFilePath;function isWindows(){return process.platform==="win32"}function resolve2(moduleName,nodePath,cwd,tracer){let nodePathKey="NODE_PATH",app=["var p = process;","p.on('message',function(m){","if(m.c==='e'){","p.exit(0);","}","else if(m.c==='rs'){","try{","var r=require.resolve(m.a);","p.send({c:'r',s:true,r:r});","}","catch(err){","p.send({c:'r',s:false});","}","}","});"].join("");return new Promise((resolve3,reject)=>{let env=process.env,newEnv=Object.create(null);Object.keys(env).forEach(key=>newEnv[key]=env[key]),nodePath&&fs.existsSync(nodePath)&&(newEnv[nodePathKey]?newEnv[nodePathKey]=nodePath+path.delimiter+newEnv[nodePathKey]:newEnv[nodePathKey]=nodePath,tracer&&tracer(`NODE_PATH value is: ${newEnv[nodePathKey]}`)),newEnv.ELECTRON_RUN_AS_NODE="1";try{let cp=(0,child_process_1.fork)("",[],{cwd,env:newEnv,execArgv:["-e",app]});if(cp.pid===void 0){reject(new Error(`Starting process to resolve node module ${moduleName} failed`));return}cp.on("error",error=>{reject(error)}),cp.on("message",message2=>{message2.c==="r"&&(cp.send({c:"e"}),message2.s?resolve3(message2.r):reject(new Error(`Failed to resolve module: ${moduleName}`)))});let message={c:"rs",a:moduleName};cp.send(message)}catch(error){reject(error)}})}exports2.resolve=resolve2;function resolveGlobalNodePath(tracer){let npmCommand="npm",env=Object.create(null);Object.keys(process.env).forEach(key=>env[key]=process.env[key]),env.NO_UPDATE_NOTIFIER="true";let options={encoding:"utf8",env};isWindows()&&(npmCommand="npm.cmd",options.shell=!0);let handler=()=>{};try{process.on("SIGPIPE",handler);let stdout=(0,child_process_1.spawnSync)(npmCommand,["config","get","prefix"],options).stdout;if(!stdout){tracer&&tracer("'npm config get prefix' didn't return a value.");return}let prefix=stdout.trim();return tracer&&tracer(`'npm config get prefix' value is: ${prefix}`),prefix.length>0?isWindows()?path.join(prefix,"node_modules"):path.join(prefix,"lib","node_modules"):void 0}catch{return}finally{process.removeListener("SIGPIPE",handler)}}exports2.resolveGlobalNodePath=resolveGlobalNodePath;function resolveGlobalYarnPath(tracer){let yarnCommand="yarn",options={encoding:"utf8"};isWindows()&&(yarnCommand="yarn.cmd",options.shell=!0);let handler=()=>{};try{process.on("SIGPIPE",handler);let results=(0,child_process_1.spawnSync)(yarnCommand,["global","dir","--json"],options),stdout=results.stdout;if(!stdout){tracer&&(tracer("'yarn global dir' didn't return a value."),results.stderr&&tracer(results.stderr));return}let lines=stdout.trim().split(/\r?\n/);for(let line of lines)try{let yarn=JSON.parse(line);if(yarn.type==="log")return path.join(yarn.data,"node_modules")}catch{}return}catch{return}finally{process.removeListener("SIGPIPE",handler)}}exports2.resolveGlobalYarnPath=resolveGlobalYarnPath;var FileSystem;(function(FileSystem2){let _isCaseSensitive;function isCaseSensitive(){return _isCaseSensitive!==void 0||(process.platform==="win32"?_isCaseSensitive=!1:_isCaseSensitive=!fs.existsSync(__filename.toUpperCase())||!fs.existsSync(__filename.toLowerCase())),_isCaseSensitive}FileSystem2.isCaseSensitive=isCaseSensitive;function isParent(parent,child){return isCaseSensitive()?path.normalize(child).indexOf(path.normalize(parent))===0:path.normalize(child).toLowerCase().indexOf(path.normalize(parent).toLowerCase())===0}FileSystem2.isParent=isParent})(FileSystem||(exports2.FileSystem=FileSystem={}));function resolveModulePath(workspaceRoot,moduleName,nodePath,tracer){return nodePath?(path.isAbsolute(nodePath)||(nodePath=path.join(workspaceRoot,nodePath)),resolve2(moduleName,nodePath,nodePath,tracer).then(value=>FileSystem.isParent(nodePath,value)?value:Promise.reject(new Error(`Failed to load ${moduleName} from node path location.`))).then(void 0,_error=>resolve2(moduleName,resolveGlobalNodePath(tracer),workspaceRoot,tracer))):resolve2(moduleName,resolveGlobalNodePath(tracer),workspaceRoot,tracer)}exports2.resolveModulePath=resolveModulePath}});var require_node2=__commonJS({"server/node_modules/vscode-languageserver-protocol/node.js"(exports2,module2){"use strict";module2.exports=require_main3()}});var require_inlineCompletion_proposed=__commonJS({"server/node_modules/vscode-languageserver/lib/common/inlineCompletion.proposed.js"(exports2){"use strict";Object.defineProperty(exports2,"__esModule",{value:!0});exports2.InlineCompletionFeature=void 0;var vscode_languageserver_protocol_1=require_main3(),InlineCompletionFeature=Base=>class extends Base{get inlineCompletion(){return{on:handler=>this.connection.onRequest(vscode_languageserver_protocol_1.InlineCompletionRequest.type,(params,cancel)=>handler(params,cancel,this.attachWorkDoneProgress(params)))}}};exports2.InlineCompletionFeature=InlineCompletionFeature}});var require_api3=__commonJS({"server/node_modules/vscode-languageserver/lib/common/api.js"(exports2){"use strict";var __createBinding=exports2&&exports2.__createBinding||(Object.create?(function(o,m2,k,k2){k2===void 0&&(k2=k);var desc=Object.getOwnPropertyDescriptor(m2,k);(!desc||("get"in desc?!m2.__esModule:desc.writable||desc.configurable))&&(desc={enumerable:!0,get:function(){return m2[k]}}),Object.defineProperty(o,k2,desc)}):(function(o,m2,k,k2){k2===void 0&&(k2=k),o[k2]=m2[k]})),__exportStar=exports2&&exports2.__exportStar||function(m2,exports3){for(var p in m2)p!=="default"&&!Object.prototype.hasOwnProperty.call(exports3,p)&&__createBinding(exports3,m2,p)};Object.defineProperty(exports2,"__esModule",{value:!0});exports2.ProposedFeatures=exports2.NotebookDocuments=exports2.TextDocuments=exports2.SemanticTokensBuilder=void 0;var semanticTokens_1=require_semanticTokens();Object.defineProperty(exports2,"SemanticTokensBuilder",{enumerable:!0,get:function(){return semanticTokens_1.SemanticTokensBuilder}});var ic=require_inlineCompletion_proposed();__exportStar(require_main3(),exports2);var textDocuments_1=require_textDocuments();Object.defineProperty(exports2,"TextDocuments",{enumerable:!0,get:function(){return textDocuments_1.TextDocuments}});var notebook_1=require_notebook();Object.defineProperty(exports2,"NotebookDocuments",{enumerable:!0,get:function(){return notebook_1.NotebookDocuments}});__exportStar(require_server(),exports2);var ProposedFeatures2;(function(ProposedFeatures3){ProposedFeatures3.all={__brand:"features",languages:ic.InlineCompletionFeature}})(ProposedFeatures2||(exports2.ProposedFeatures=ProposedFeatures2={}))}});var require_main4=__commonJS({"server/node_modules/vscode-languageserver/lib/node/main.js"(exports2){"use strict";var __createBinding=exports2&&exports2.__createBinding||(Object.create?(function(o,m2,k,k2){k2===void 0&&(k2=k);var desc=Object.getOwnPropertyDescriptor(m2,k);(!desc||("get"in desc?!m2.__esModule:desc.writable||desc.configurable))&&(desc={enumerable:!0,get:function(){return m2[k]}}),Object.defineProperty(o,k2,desc)}):(function(o,m2,k,k2){k2===void 0&&(k2=k),o[k2]=m2[k]})),__exportStar=exports2&&exports2.__exportStar||function(m2,exports3){for(var p in m2)p!=="default"&&!Object.prototype.hasOwnProperty.call(exports3,p)&&__createBinding(exports3,m2,p)};Object.defineProperty(exports2,"__esModule",{value:!0});exports2.createConnection=exports2.Files=void 0;var node_util_1=require("node:util"),Is=require_is(),server_1=require_server(),fm=require_files(),node_1=require_node2();__exportStar(require_node2(),exports2);__exportStar(require_api3(),exports2);var Files;(function(Files2){Files2.uriToFilePath=fm.uriToFilePath,Files2.resolveGlobalNodePath=fm.resolveGlobalNodePath,Files2.resolveGlobalYarnPath=fm.resolveGlobalYarnPath,Files2.resolve=fm.resolve,Files2.resolveModulePath=fm.resolveModulePath})(Files||(exports2.Files=Files={}));var _protocolConnection;function endProtocolConnection(){if(_protocolConnection!==void 0)try{_protocolConnection.end()}catch{}}var _shutdownReceived=!1,exitTimer;function setupExitTimer(){let argName="--clientProcessId";function runTimer(value){try{let processId=parseInt(value);isNaN(processId)||(exitTimer=setInterval(()=>{try{process.kill(processId,0)}catch{endProtocolConnection(),process.exit(_shutdownReceived?0:1)}},3e3))}catch{}}for(let i=2;i<process.argv.length;i++){let arg=process.argv[i];if(arg===argName&&i+1<process.argv.length){runTimer(process.argv[i+1]);return}else{let args=arg.split("=");args[0]===argName&&runTimer(args[1])}}}setupExitTimer();var watchDog={initialize:params=>{let processId=params.processId;Is.number(processId)&&exitTimer===void 0&&setInterval(()=>{try{process.kill(processId,0)}catch{process.exit(_shutdownReceived?0:1)}},3e3)},get shutdownReceived(){return _shutdownReceived},set shutdownReceived(value){_shutdownReceived=value},exit:code=>{endProtocolConnection(),process.exit(code)}};function createConnection2(arg1,arg2,arg3,arg4){let factories,input,output,options;return arg1!==void 0&&arg1.__brand==="features"&&(factories=arg1,arg1=arg2,arg2=arg3,arg3=arg4),node_1.ConnectionStrategy.is(arg1)||node_1.ConnectionOptions.is(arg1)?options=arg1:(input=arg1,output=arg2,options=arg3),_createConnection(input,output,options,factories)}exports2.createConnection=createConnection2;function _createConnection(input,output,options,factories){let stdio=!1;if(!input&&!output&&process.argv.length>2){let port,pipeName,argv=process.argv.slice(2);for(let i=0;i<argv.length;i++){let arg=argv[i];if(arg==="--node-ipc"){input=new node_1.IPCMessageReader(process),output=new node_1.IPCMessageWriter(process);break}else if(arg==="--stdio"){stdio=!0,input=process.stdin,output=process.stdout;break}else if(arg==="--socket"){port=parseInt(argv[i+1]);break}else if(arg==="--pipe"){pipeName=argv[i+1];break}else{var args=arg.split("=");if(args[0]==="--socket"){port=parseInt(args[1]);break}else if(args[0]==="--pipe"){pipeName=args[1];break}}}if(port){let transport=(0,node_1.createServerSocketTransport)(port);input=transport[0],output=transport[1]}else if(pipeName){let transport=(0,node_1.createServerPipeTransport)(pipeName);input=transport[0],output=transport[1]}}var commandLineMessage="Use arguments of createConnection or set command line parameters: '--node-ipc', '--stdio' or '--socket={number}'";if(!input)throw new Error("Connection input stream is not set. "+commandLineMessage);if(!output)throw new Error("Connection output stream is not set. "+commandLineMessage);if(Is.func(input.read)&&Is.func(input.on)){let inputStream=input;inputStream.on("end",()=>{endProtocolConnection(),process.exit(_shutdownReceived?0:1)}),inputStream.on("close",()=>{endProtocolConnection(),process.exit(_shutdownReceived?0:1)})}let connectionFactory=logger=>{let result=(0,node_1.createProtocolConnection)(input,output,logger,options);return stdio&&patchConsole(logger),result};return(0,server_1.createConnection)(connectionFactory,watchDog,factories)}function patchConsole(logger){function serialize(args){return args.map(arg=>typeof arg=="string"?arg:(0,node_util_1.inspect)(arg)).join(" ")}let counters=new Map;console.assert=function(assertion,...args){if(!assertion)if(args.length===0)logger.error("Assertion failed");else{let[message,...rest]=args;logger.error(`Assertion failed: ${message} ${serialize(rest)}`)}},console.count=function(label="default"){let message=String(label),counter=counters.get(message)??0;counter+=1,counters.set(message,counter),logger.log(`${message}: ${message}`)},console.countReset=function(label){label===void 0?counters.clear():counters.delete(String(label))},console.debug=function(...args){logger.log(serialize(args))},console.dir=function(arg,options){logger.log((0,node_util_1.inspect)(arg,options))},console.log=function(...args){logger.log(serialize(args))},console.error=function(...args){logger.error(serialize(args))},console.trace=function(...args){let stack=new Error().stack.replace(/(.+\n){2}/,""),message="Trace";args.length!==0&&(message+=`: ${serialize(args)}`),logger.log(`${message}
|
|
36
|
+
${stack}`)},console.warn=function(...args){logger.warn(serialize(args))}}}});var require_node3=__commonJS({"server/node_modules/vscode-languageserver/node.js"(exports2,module2){"use strict";module2.exports=require_main4()}});var import_node10=__toESM(require_node3());var FullTextDocument=class _FullTextDocument{constructor(uri,languageId,version,content){this._uri=uri,this._languageId=languageId,this._version=version,this._content=content,this._lineOffsets=void 0}get uri(){return this._uri}get languageId(){return this._languageId}get version(){return this._version}getText(range){if(range){let start=this.offsetAt(range.start),end=this.offsetAt(range.end);return this._content.substring(start,end)}return this._content}update(changes,version){for(let change of changes)if(_FullTextDocument.isIncremental(change)){let range=getWellformedRange(change.range),startOffset=this.offsetAt(range.start),endOffset=this.offsetAt(range.end);this._content=this._content.substring(0,startOffset)+change.text+this._content.substring(endOffset,this._content.length);let startLine=Math.max(range.start.line,0),endLine=Math.max(range.end.line,0),lineOffsets=this._lineOffsets,addedLineOffsets=computeLineOffsets(change.text,!1,startOffset);if(endLine-startLine===addedLineOffsets.length)for(let i=0,len=addedLineOffsets.length;i<len;i++)lineOffsets[i+startLine+1]=addedLineOffsets[i];else addedLineOffsets.length<1e4?lineOffsets.splice(startLine+1,endLine-startLine,...addedLineOffsets):this._lineOffsets=lineOffsets=lineOffsets.slice(0,startLine+1).concat(addedLineOffsets,lineOffsets.slice(endLine+1));let diff=change.text.length-(endOffset-startOffset);if(diff!==0)for(let i=startLine+1+addedLineOffsets.length,len=lineOffsets.length;i<len;i++)lineOffsets[i]=lineOffsets[i]+diff}else if(_FullTextDocument.isFull(change))this._content=change.text,this._lineOffsets=void 0;else throw new Error("Unknown change event received");this._version=version}getLineOffsets(){return this._lineOffsets===void 0&&(this._lineOffsets=computeLineOffsets(this._content,!0)),this._lineOffsets}positionAt(offset){offset=Math.max(Math.min(offset,this._content.length),0);let lineOffsets=this.getLineOffsets(),low=0,high=lineOffsets.length;if(high===0)return{line:0,character:offset};for(;low<high;){let mid=Math.floor((low+high)/2);lineOffsets[mid]>offset?high=mid:low=mid+1}let line=low-1;return offset=this.ensureBeforeEOL(offset,lineOffsets[line]),{line,character:offset-lineOffsets[line]}}offsetAt(position){let lineOffsets=this.getLineOffsets();if(position.line>=lineOffsets.length)return this._content.length;if(position.line<0)return 0;let lineOffset=lineOffsets[position.line];if(position.character<=0)return lineOffset;let nextLineOffset=position.line+1<lineOffsets.length?lineOffsets[position.line+1]:this._content.length,offset=Math.min(lineOffset+position.character,nextLineOffset);return this.ensureBeforeEOL(offset,lineOffset)}ensureBeforeEOL(offset,lineOffset){for(;offset>lineOffset&&isEOL(this._content.charCodeAt(offset-1));)offset--;return offset}get lineCount(){return this.getLineOffsets().length}static isIncremental(event){let candidate=event;return candidate!=null&&typeof candidate.text=="string"&&candidate.range!==void 0&&(candidate.rangeLength===void 0||typeof candidate.rangeLength=="number")}static isFull(event){let candidate=event;return candidate!=null&&typeof candidate.text=="string"&&candidate.range===void 0&&candidate.rangeLength===void 0}},TextDocument;(function(TextDocument2){function create(uri,languageId,version,content){return new FullTextDocument(uri,languageId,version,content)}TextDocument2.create=create;function update(document,changes,version){if(document instanceof FullTextDocument)return document.update(changes,version),document;throw new Error("TextDocument.update: document must be created by TextDocument.create")}TextDocument2.update=update;function applyEdits(document,edits){let text=document.getText(),sortedEdits=mergeSort(edits.map(getWellformedEdit),(a,b)=>{let diff=a.range.start.line-b.range.start.line;return diff===0?a.range.start.character-b.range.start.character:diff}),lastModifiedOffset=0,spans=[];for(let e of sortedEdits){let startOffset=document.offsetAt(e.range.start);if(startOffset<lastModifiedOffset)throw new Error("Overlapping edit");startOffset>lastModifiedOffset&&spans.push(text.substring(lastModifiedOffset,startOffset)),e.newText.length&&spans.push(e.newText),lastModifiedOffset=document.offsetAt(e.range.end)}return spans.push(text.substr(lastModifiedOffset)),spans.join("")}TextDocument2.applyEdits=applyEdits})(TextDocument||(TextDocument={}));function mergeSort(data,compare){if(data.length<=1)return data;let p=data.length/2|0,left=data.slice(0,p),right=data.slice(p);mergeSort(left,compare),mergeSort(right,compare);let leftIdx=0,rightIdx=0,i=0;for(;leftIdx<left.length&&rightIdx<right.length;)compare(left[leftIdx],right[rightIdx])<=0?data[i++]=left[leftIdx++]:data[i++]=right[rightIdx++];for(;leftIdx<left.length;)data[i++]=left[leftIdx++];for(;rightIdx<right.length;)data[i++]=right[rightIdx++];return data}function computeLineOffsets(text,isAtLineStart,textOffset=0){let result=isAtLineStart?[textOffset]:[];for(let i=0;i<text.length;i++){let ch=text.charCodeAt(i);isEOL(ch)&&(ch===13&&i+1<text.length&&text.charCodeAt(i+1)===10&&i++,result.push(textOffset+i+1))}return result}function isEOL(char){return char===13||char===10}function getWellformedRange(range){let start=range.start,end=range.end;return start.line>end.line||start.line===end.line&&start.character>end.character?{start:end,end:start}:range}function getWellformedEdit(textEdit){let range=getWellformedRange(textEdit.range);return range!==textEdit.range?{newText:textEdit.newText,range}:textEdit}var __defProp2=Object.defineProperty,__name=(target,value)=>__defProp2(target,"name",{value,configurable:!0}),IntStream;(IntStream2=>{IntStream2.EOF=-1,IntStream2.UNKNOWN_SOURCE_NAME="<unknown>"})(IntStream||(IntStream={}));var Token;(Token22=>{Token22.INVALID_TYPE=0,Token22.EPSILON=-2,Token22.MIN_USER_TOKEN_TYPE=1,Token22.EOF=IntStream.EOF,Token22.DEFAULT_CHANNEL=0,Token22.HIDDEN_CHANNEL=1,Token22.MIN_USER_CHANNEL_VALUE=2})(Token||(Token={}));var isToken=__name(candidate=>{let token=candidate;return token.tokenSource!==void 0&&token.channel!==void 0},"isToken"),BitSet=class{static{__name(this,"BitSet")}data;constructor(data){data?this.data=new Uint32Array(data.map(value=>value>>>0)):this.data=new Uint32Array(1)}[Symbol.iterator](){let length=this.data.length,currentIndex=0,currentWord=this.data[currentIndex],words=this.data;return{[Symbol.iterator](){return this},next:__name(()=>{for(;currentIndex<length;)if(currentWord!==0){let t=currentWord&-currentWord,value=(currentIndex<<5)+this.bitCount(t-1);return currentWord^=t,{done:!1,value}}else currentIndex++,currentIndex<length&&(currentWord=words[currentIndex]);return{done:!0,value:void 0}},"next")}}clear(index2){index2===void 0?this.data=new Uint32Array:(this.resize(index2),this.data[index2>>>5]&=~(1<<index2))}or(set){let minCount=Math.min(this.data.length,set.data.length);for(let k=0;k<minCount;++k)this.data[k]|=set.data[k];if(this.data.length<set.data.length){this.resize((set.data.length<<5)-1);let c=set.data.length;for(let k=minCount;k<c;++k)this.data[k]=set.data[k]}}get(index2){if(index2<0)throw new RangeError("index cannot be negative");let slot=index2>>>5;return slot>=this.data.length?!1:(this.data[slot]&1<<index2%32)!==0}get length(){let result=0,c=this.data.length,w=this.data;for(let i=0;i<c;i++)result+=this.bitCount(w[i]);return result}values(){let result=new Array(this.length),pos=0,length=this.data.length;for(let k=0;k<length;++k){let w=this.data[k];for(;w!==0;){let t=w&-w;result[pos++]=(k<<5)+this.bitCount(t-1),w^=t}}return result}nextSetBit(fromIndex){if(fromIndex<0)throw new RangeError("index cannot be negative");for(let index2 of this)if(index2>=fromIndex)return index2}set(index2){if(index2<0)throw new RangeError("index cannot be negative");this.resize(index2),this.data[index2>>>5]|=1<<index2%32}toString(){return"{"+this.values().join(", ")+"}"}resize(index2){let count=index2+32>>>5;if(count<=this.data.length)return;let data=new Uint32Array(count);data.set(this.data),data.fill(0,this.data.length),this.data=data}bitCount(v){return v=v-(v>>1&1431655765),v=(v&858993459)+(v>>2&858993459),v=v+(v>>4)&252645135,v=v+(v>>8),v=v+(v>>16),v&63}},c1=3432918353,c2=461845907,r1=15,r2=13,m=5,n=3864292196,MurmurHash=class _MurmurHash{static{__name(this,"MurmurHash")}static defaultSeed=701;constructor(){}static initialize(seed=_MurmurHash.defaultSeed){return seed}static updateFromComparable(hash,value){return this.update(hash,value?.hashCode()??0)}static update(hash,value){return value=Math.imul(value,c1),value=value<<r1|value>>>32-r1,value=Math.imul(value,c2),hash=hash^value,hash=hash<<r2|hash>>>32-r2,hash=Math.imul(hash,m)+n,hash}static finish(hash,entryCount){return hash^=entryCount*4,hash^=hash>>>16,hash=Math.imul(hash,2246822507),hash^=hash>>>13,hash=Math.imul(hash,3266489909),hash^=hash>>>16,hash}static hashCode(value,seed){return _MurmurHash.finish(_MurmurHash.update(seed??_MurmurHash.defaultSeed,value),1)}},ObjectEqualityComparator=class _ObjectEqualityComparator{static{__name(this,"ObjectEqualityComparator")}static instance=new _ObjectEqualityComparator;hashCode(obj){return obj==null?0:obj.hashCode()}equals(a,b){return a==null?b==null:a.equals(b)}},DefaultEqualityComparator=class _DefaultEqualityComparator{static{__name(this,"DefaultEqualityComparator")}static instance=new _DefaultEqualityComparator;hashCode(obj){return obj==null?0:ObjectEqualityComparator.instance.hashCode(obj)}equals(a,b){return a==null?b==null:typeof a=="string"||typeof a=="number"?a===b:ObjectEqualityComparator.instance.equals(a,b)}},HashSet=class _HashSet{static{__name(this,"HashSet")}static defaultLoadFactor=.75;static initialCapacity=16;comparator;buckets;threshold;itemCount=0;constructor(comparatorOrSet,initialCapacity=_HashSet.initialCapacity){if(comparatorOrSet instanceof _HashSet){this.comparator=comparatorOrSet.comparator,this.buckets=comparatorOrSet.buckets.slice(0);for(let i=0;i<this.buckets.length;i++){let bucket=this.buckets[i];bucket&&(this.buckets[i]=bucket.slice(0))}this.itemCount=comparatorOrSet.itemCount,this.threshold=comparatorOrSet.threshold}else this.comparator=comparatorOrSet??DefaultEqualityComparator.instance,this.buckets=this.createBuckets(initialCapacity),this.threshold=Math.floor(_HashSet.initialCapacity*_HashSet.defaultLoadFactor)}getOrAdd(o){this.itemCount>this.threshold&&this.expand();let b=this.getBucket(o),bucket=this.buckets[b];if(!bucket)return bucket=[o],this.buckets[b]=bucket,++this.itemCount,o;for(let existing of bucket)if(this.comparator.equals(existing,o))return existing;return bucket.push(o),++this.itemCount,o}get(o){if(o==null)return o;let b=this.getBucket(o),bucket=this.buckets[b];if(bucket){for(let e of bucket)if(this.comparator.equals(e,o))return e}}remove(o){if(o==null)return!1;let b=this.getBucket(o),bucket=this.buckets[b];if(!bucket)return!1;for(let i=0;i<bucket.length;i++){let existing=bucket[i];if(this.comparator.equals(existing,o))return bucket.splice(i,1),--this.itemCount,!0}return!1}hashCode(){let hash=MurmurHash.initialize();for(let bucket of this.buckets)if(bucket!=null)for(let o of bucket){if(o==null)break;hash=MurmurHash.update(hash,this.comparator.hashCode(o))}return hash=MurmurHash.finish(hash,this.size),hash}equals(o){return o===this?!0:!(o instanceof _HashSet)||o.size!==this.size?!1:this.containsAll(o)}add(t){return this.getOrAdd(t)===t}contains(o){return this.containsFast(o)}containsFast(obj){return obj==null?!1:this.get(obj)!==void 0}*[Symbol.iterator](){yield*this.toArray()}toArray(){let a=new Array(this.size),i=0;for(let bucket of this.buckets)if(bucket!=null)for(let o of bucket){if(o==null)break;a[i++]=o}return a}containsAll(collection){if(collection instanceof _HashSet){for(let bucket of collection.buckets)if(bucket!=null)for(let o of bucket){if(o==null)break;if(!this.containsFast(o))return!1}}else for(let o of collection)if(!this.containsFast(o))return!1;return!0}addAll(c){let changed=!1;for(let o of c)this.getOrAdd(o)!==o&&(changed=!0);return changed}clear(){this.buckets=this.createBuckets(_HashSet.initialCapacity),this.itemCount=0,this.threshold=Math.floor(_HashSet.initialCapacity*_HashSet.defaultLoadFactor)}toString(){if(this.size===0)return"{}";let buf="{",first=!0;for(let bucket of this.buckets)if(bucket!=null)for(let o of bucket){if(o==null)break;first?first=!1:buf+=", ",buf+=o.toString()}return buf+="}",buf}toTableString(){let buf="";for(let bucket of this.buckets){if(bucket==null){buf+=`null
|
|
37
|
+
`;continue}buf+="[";let first=!0;for(let o of bucket)first?first=!1:buf+=" ",o==null?buf+="_":buf+=o.toString();buf+=`]
|
|
38
|
+
`}return buf}getBucket(o){return this.comparator.hashCode(o)&this.buckets.length-1}expand(){let old=this.buckets,newCapacity=this.buckets.length*2,newTable=this.createBuckets(newCapacity);this.buckets=newTable,this.threshold=Math.floor(newCapacity*_HashSet.defaultLoadFactor);for(let bucket of old)if(bucket)for(let o of bucket){let b=this.getBucket(o),newBucket=this.buckets[b];newBucket||(newBucket=[],this.buckets[b]=newBucket),newBucket.push(o)}}get size(){return this.itemCount}get isEmpty(){return this.itemCount===0}createBuckets(capacity){return new Array(capacity)}},Interval=class _Interval{static{__name(this,"Interval")}static INVALID_INTERVAL=new _Interval(-1,-2);static INTERVAL_POOL_MAX_VALUE=1e3;static cache=[];start;stop;cachedHashCode;constructor(start,stop){this.start=start,this.stop=stop,this.cachedHashCode=Math.imul(651+start,31)+stop}static of(a,b){return a!==b||a<0||a>_Interval.INTERVAL_POOL_MAX_VALUE?new _Interval(a,b):(_Interval.cache[a]||(_Interval.cache[a]=new _Interval(a,a)),_Interval.cache[a])}equals(o){return this.start===o.start&&this.stop===o.stop}hashCode(){return this.cachedHashCode}startsBeforeDisjoint(other){return this.start<other.start&&this.stop<other.start}startsBeforeNonDisjoint(other){return this.start<=other.start&&this.stop>=other.start}startsAfter(other){return this.start>other.start}startsAfterDisjoint(other){return this.start>other.stop}startsAfterNonDisjoint(other){return this.start>other.start&&this.start<=other.stop}disjoint(other){return this.startsBeforeDisjoint(other)||this.startsAfterDisjoint(other)}adjacent(other){return this.start===other.stop+1||this.stop===other.start-1}properlyContains(other){return other.start>=this.start&&other.stop<=this.stop}union(other){return _Interval.of(Math.min(this.start,other.start),Math.max(this.stop,other.stop))}intersection(other){return _Interval.of(Math.max(this.start,other.start),Math.min(this.stop,other.stop))}differenceNotProperlyContained(other){let diff=null;return other.startsBeforeNonDisjoint(this)?diff=_Interval.of(Math.max(this.start,other.stop+1),this.stop):other.startsAfterNonDisjoint(this)&&(diff=_Interval.of(this.start,other.start-1)),diff}toString(){return`${this.start}..${this.stop}`}get length(){return this.stop<this.start?0:this.stop-this.start+1}},Vocabulary=class _Vocabulary{static{__name(this,"Vocabulary")}static EMPTY_NAMES=[];static EMPTY_VOCABULARY=new _Vocabulary(_Vocabulary.EMPTY_NAMES,_Vocabulary.EMPTY_NAMES,_Vocabulary.EMPTY_NAMES);maxTokenType;literalNames;symbolicNames;displayNames;constructor(literalNames,symbolicNames,displayNames){this.literalNames=literalNames??_Vocabulary.EMPTY_NAMES,this.symbolicNames=symbolicNames??_Vocabulary.EMPTY_NAMES,this.displayNames=displayNames??_Vocabulary.EMPTY_NAMES,this.maxTokenType=Math.max(this.displayNames.length,Math.max(this.literalNames.length,this.symbolicNames.length))-1}static fromTokenNames(tokenNames){if(tokenNames==null||tokenNames.length===0)return _Vocabulary.EMPTY_VOCABULARY;let literalNames=[...tokenNames],symbolicNames=[...tokenNames];for(let i=0;i<tokenNames.length;i++){let tokenName=tokenNames[i];if(tokenName!=null){if(tokenName.length>0){let firstChar=tokenName.codePointAt(0);if(firstChar===39){symbolicNames[i]=null;continue}else if(firstChar>=65&&firstChar<=90){literalNames[i]=null;continue}}literalNames[i]=null,symbolicNames[i]=null}}return new _Vocabulary(literalNames,symbolicNames,tokenNames)}getMaxTokenType(){return this.maxTokenType}getLiteralName(tokenType){return tokenType>=0&&tokenType<this.literalNames.length?this.literalNames[tokenType]:null}getSymbolicName(tokenType){return tokenType>=0&&tokenType<this.symbolicNames.length?this.symbolicNames[tokenType]:tokenType===Token.EOF?"EOF":null}getDisplayName(tokenType){if(tokenType>=0&&tokenType<this.displayNames.length){let displayName=this.displayNames[tokenType];if(displayName!=null)return displayName}let literalName=this.getLiteralName(tokenType);if(literalName!=null)return literalName;let symbolicName=this.getSymbolicName(tokenType);return symbolicName??`${tokenType}`}getLiteralNames(){return this.literalNames}getSymbolicNames(){return this.symbolicNames}getDisplayNames(){return this.displayNames}},IntervalSet=class _IntervalSet{static{__name(this,"IntervalSet")}intervals=[];cachedHashCode;constructor(set){if(set)if(Array.isArray(set))for(let el of set)this.addOne(el);else this.addSet(set)}static of(a,b){let s=new _IntervalSet;return s.addRange(a,b),s}static or(sets){let result=new _IntervalSet;for(let set of sets)result.addSet(set);return result}[Symbol.iterator](){return this.intervals[Symbol.iterator]()}get(index2){return this.intervals[index2]}get minElement(){return this.intervals.length===0?Token.INVALID_TYPE:this.intervals[0].start}get maxElement(){return this.intervals.length===0?Token.INVALID_TYPE:this.intervals[this.intervals.length-1].stop}clear(){this.cachedHashCode=void 0,this.intervals=[]}addOne(v){this.addInterval(new Interval(v,v))}addRange(l,h){this.addInterval(new Interval(l,h))}addInterval(addition){if(this.cachedHashCode=void 0,this.intervals.length===0)this.intervals.push(addition);else{for(let pos=0;pos<this.intervals.length;pos++){let existing=this.intervals[pos];if(addition.equals(existing))return;if(addition.adjacent(existing)||!addition.disjoint(existing)){let bigger=addition.union(existing);this.intervals[pos]=bigger;for(let sub=pos+1;sub<this.intervals.length;){let next=this.intervals[sub];if(!bigger.adjacent(next)&&bigger.disjoint(next))break;this.intervals.splice(sub,1),this.intervals[pos]=bigger.union(next)}return}if(addition.startsBeforeDisjoint(existing)){this.intervals.splice(pos,0,addition);return}}this.intervals.push(addition)}}addSet(other){return other.intervals.forEach(toAdd=>this.addInterval(toAdd),this),this}complementWithVocabulary(vocabulary){let result=new _IntervalSet;return!vocabulary||vocabulary.length===0?result:(result.addSet(vocabulary),result.subtract(this))}complement(minElement,maxElement){let result=new _IntervalSet;return result.addInterval(new Interval(minElement,maxElement)),result.subtract(this)}or(sets){let result=new _IntervalSet;return result.addSet(this),sets.forEach(set=>result.addSet(set)),result}and(other){if(other.length===0)return new _IntervalSet;let myIntervals=this.intervals,theirIntervals=other.intervals,intersection,mySize=myIntervals.length,theirSize=theirIntervals.length,i=0,j=0;for(;i<mySize&&j<theirSize;){let mine=myIntervals[i],theirs=theirIntervals[j];mine.startsBeforeDisjoint(theirs)?i++:theirs.startsBeforeDisjoint(mine)?j++:mine.properlyContains(theirs)?(intersection||(intersection=new _IntervalSet),intersection.addInterval(mine.intersection(theirs)),j++):theirs.properlyContains(mine)?(intersection||(intersection=new _IntervalSet),intersection.addInterval(mine.intersection(theirs)),i++):mine.disjoint(theirs)||(intersection||(intersection=new _IntervalSet),intersection.addInterval(mine.intersection(theirs)),mine.startsAfterNonDisjoint(theirs)?j++:theirs.startsAfterNonDisjoint(mine)&&i++)}return intersection||new _IntervalSet}subtract(other){if(this.length===0)return new _IntervalSet;let result=new _IntervalSet(this);if(other.length===0)return result;let resultI=0,rightI=0;for(;resultI<result.intervals.length&&rightI<other.intervals.length;){let resultInterval=result.intervals[resultI],rightInterval=other.intervals[rightI];if(rightInterval.stop<resultInterval.start){rightI++;continue}if(rightInterval.start>resultInterval.stop){resultI++;continue}let beforeCurrent,afterCurrent;rightInterval.start>resultInterval.start&&(beforeCurrent=new Interval(resultInterval.start,rightInterval.start-1)),rightInterval.stop<resultInterval.stop&&(afterCurrent=new Interval(rightInterval.stop+1,resultInterval.stop)),beforeCurrent?afterCurrent?(result.intervals[resultI]=beforeCurrent,result.intervals.splice(resultI+1,0,afterCurrent),resultI++,rightI++):(result.intervals[resultI]=beforeCurrent,resultI++):afterCurrent?(result.intervals[resultI]=afterCurrent,rightI++):result.intervals.splice(resultI,1)}return result}contains(el){let n2=this.intervals.length,l=0,r=n2-1;for(;l<=r;){let m2=Math.floor((l+r)/2),interval=this.intervals[m2];if(interval.stop<el)l=m2+1;else if(interval.start>el)r=m2-1;else return!0}return!1}removeRange(toRemove){if(this.cachedHashCode=void 0,toRemove.start===toRemove.stop)this.removeOne(toRemove.start);else if(this.intervals!==null){let pos=0;for(let existing of this.intervals){if(toRemove.stop<=existing.start)return;if(toRemove.start>existing.start&&toRemove.stop<existing.stop){this.intervals[pos]=new Interval(existing.start,toRemove.start);let x=new Interval(toRemove.stop,existing.stop);this.intervals.splice(pos,0,x);return}else toRemove.start<=existing.start&&toRemove.stop>=existing.stop?(this.intervals.splice(pos,1),pos=pos-1):toRemove.start<existing.stop?this.intervals[pos]=new Interval(existing.start,toRemove.start):toRemove.stop<existing.stop&&(this.intervals[pos]=new Interval(toRemove.stop,existing.stop));pos+=1}}}removeOne(value){this.cachedHashCode=void 0;for(let i=0;i<this.intervals.length;i++){let existing=this.intervals[i];if(value<existing.start)return;if(value===existing.start&&value===existing.stop){this.intervals.splice(i,1);return}else if(value===existing.start){this.intervals[i]=new Interval(existing.start+1,existing.stop);return}else if(value===existing.stop){this.intervals[i]=new Interval(existing.start,existing.stop-1);return}else if(value<existing.stop){let replace=new Interval(existing.start,value-1);this.intervals[i]=new Interval(value+1,existing.stop),this.intervals.splice(i,0,replace);return}}}hashCode(){if(this.cachedHashCode===void 0){let hash=MurmurHash.initialize();for(let interval of this.intervals)hash=MurmurHash.update(hash,interval.start),hash=MurmurHash.update(hash,interval.stop);this.cachedHashCode=MurmurHash.finish(hash,this.intervals.length*2)}return this.cachedHashCode}equals(other){if(this===other)return!0;if(this.intervals.length!==other.intervals.length)return!1;for(let i=0;i<this.intervals.length;i++)if(!this.intervals[i].equals(other.intervals[i]))return!1;return!0}toString(elementsAreChar){if(this.intervals.length===0)return"{}";let result="";this.length>1&&(result+="{");for(let i=0;i<this.intervals.length;++i){let interval=this.intervals[i],start=interval.start,stop=interval.stop;start===stop?start===Token.EOF?result+="<EOF>":elementsAreChar?result+="'"+String.fromCodePoint(start)+"'":result+=start:elementsAreChar?result+="'"+String.fromCodePoint(start)+"'..'"+String.fromCodePoint(stop)+"'":result+=start+".."+stop,i<this.intervals.length-1&&(result+=", ")}return this.length>1&&(result+="}"),result}toStringWithVocabulary(vocabulary){if(this.intervals.length===0)return"{}";let result="";this.length>1&&(result+="{");for(let i=0;i<this.intervals.length;++i){let interval=this.intervals[i],start=interval.start,stop=interval.stop;if(start===stop)start===Token.EOF?result+="<EOF>":result+=this.elementName(vocabulary,start);else for(let i2=start;i2<=stop;++i2)i2>start&&(result+=", "),result+=this.elementName(vocabulary,i2);i<this.intervals.length-1&&(result+=", ")}return this.length>1&&(result+="}"),result}toStringWithRuleNames(ruleNames){if(this.intervals.length===0)return"{}";let result="";this.length>1&&(result+="{");let vocabulary=Vocabulary.fromTokenNames(ruleNames);for(let i=0;i<this.intervals.length;++i){let interval=this.intervals[i],start=interval.start,stop=interval.stop;if(start===stop)start===Token.EOF?result+="<EOF>":result+=this.elementName(vocabulary,start);else for(let i2=start;i2<=stop;++i2)i2>start&&(result+=", "),result+=this.elementName(vocabulary,i2);i<this.intervals.length-1&&(result+=", ")}return this.length>1&&(result+="}"),result}toArray(){let data=[];for(let interval of this.intervals)for(let j=interval.start;j<=interval.stop;j++)data.push(j);return data}get length(){let result=0;for(let interval of this.intervals)result+=interval.length;return result}elementName(vocabulary,token){return token===Token.EOF?"<EOF>":token===Token.EPSILON?"<EPSILON>":vocabulary.getDisplayName(token)}};var valueToString=__name(v=>v===null?"null":v,"valueToString"),arrayToString=__name(value=>Array.isArray(value)?"["+value.map(valueToString).join(", ")+"]":"null","arrayToString"),equalArrays=__name((a,b)=>{if(a===b)return!0;if(a.length!==b.length)return!1;for(let i=0;i<a.length;i++){let left=a[i],right=b[i];if(left!==right&&(!left||!left.equals(right)))return!1}return!0},"equalArrays"),equalNumberArrays=__name((a,b)=>{if(a===b)return!0;if(a.length!==b.length)return!1;for(let i=0;i<a.length;i++)if(a[i]!==b[i])return!1;return!0},"equalNumberArrays"),escapeWhitespace=__name((s,escapeSpaces=!1)=>(s=s.replace(/\t/g,"\\t").replace(/\n/g,"\\n").replace(/\r/g,"\\r"),escapeSpaces&&(s=s.replace(/ /g,"\xB7")),s),"escapeWhitespace"),SemanticContext=class _SemanticContext{static{__name(this,"SemanticContext")}cachedHashCode;static andContext(a,b){if(a===null||a===_SemanticContext.NONE)return b;if(b===null||b===_SemanticContext.NONE)return a;let result=new AND(a,b);return result.operands.length===1?result.operands[0]:result}static orContext(a,b){if(a===null)return b;if(b===null)return a;if(a===_SemanticContext.NONE||b===_SemanticContext.NONE)return _SemanticContext.NONE;let result=new OR(a,b);return result.operands.length===1?result.operands[0]:result}static filterPrecedencePredicates(set){let result=[];for(let context of set)context instanceof _SemanticContext.PrecedencePredicate&&result.push(context);return result}evalPrecedence(_parser,_parserCallStack){return this}},AND=class _AND extends SemanticContext{static{__name(this,"AND")}operands;constructor(a,b){super();let operands=new HashSet;a instanceof _AND?a.operands.forEach(o=>{operands.add(o)}):operands.add(a),b instanceof _AND?b.operands.forEach(o=>{operands.add(o)}):operands.add(b);let precedencePredicates=SemanticContext.filterPrecedencePredicates(operands);if(precedencePredicates.length>0){let reduced=null;precedencePredicates.forEach(p=>{(reduced===null||p.precedence<reduced.precedence)&&(reduced=p)}),reduced&&operands.add(reduced)}this.operands=operands.toArray()}equals(other){return this===other?!0:other instanceof _AND?equalArrays(this.operands,other.operands):!1}hashCode(){if(this.cachedHashCode===void 0){let hash=MurmurHash.initialize();for(let operand of this.operands)hash=MurmurHash.updateFromComparable(hash,operand);hash=MurmurHash.update(hash,3813686060),this.cachedHashCode=MurmurHash.finish(hash,this.operands.length+1)}return this.cachedHashCode}evaluate(parser,parserCallStack){for(let operand of this.operands)if(!operand.evaluate(parser,parserCallStack))return!1;return!0}evalPrecedence(parser,parserCallStack){let differs=!1,operands=[];for(let context of this.operands){let evaluated=context.evalPrecedence(parser,parserCallStack);if(differs||=evaluated!==context,evaluated===null)return null;evaluated!==SemanticContext.NONE&&operands.push(evaluated)}if(!differs)return this;if(operands.length===0)return SemanticContext.NONE;let result=null;return operands.forEach(o=>{result=result===null?o:SemanticContext.andContext(result,o)}),result}toString(){let s=this.operands.map(o=>o.toString());return(s.length>3?s.slice(3):s).join("&&")}},OR=class _OR extends SemanticContext{static{__name(this,"OR")}operands;constructor(a,b){super();let operands=new HashSet;a instanceof _OR?a.operands.forEach(o=>{operands.add(o)}):operands.add(a),b instanceof _OR?b.operands.forEach(o=>{operands.add(o)}):operands.add(b);let precedencePredicates=SemanticContext.filterPrecedencePredicates(operands);if(precedencePredicates.length>0){let s=precedencePredicates.sort((a2,b2)=>a2.compareTo(b2)),reduced=s[s.length-1];operands.add(reduced)}this.operands=operands.toArray()}equals(other){return this===other?!0:other instanceof _OR?equalArrays(this.operands,other.operands):!1}hashCode(){if(this.cachedHashCode===void 0){let hash=MurmurHash.initialize();for(let operand of this.operands)hash=MurmurHash.updateFromComparable(hash,operand);hash=MurmurHash.update(hash,3383313031),this.cachedHashCode=MurmurHash.finish(hash,this.operands.length+1)}return this.cachedHashCode}evaluate(parser,parserCallStack){for(let operand of this.operands)if(operand.evaluate(parser,parserCallStack))return!0;return!1}evalPrecedence(parser,parserCallStack){let differs=!1,operands=[];for(let context of this.operands){let evaluated=context.evalPrecedence(parser,parserCallStack);if(differs||=evaluated!==context,evaluated===SemanticContext.NONE)return SemanticContext.NONE;evaluated!==null&&operands.push(evaluated)}if(!differs)return this;if(operands.length===0)return null;let result=null;return operands.forEach(o=>{result=result===null?o:SemanticContext.orContext(result,o)}),result}toString(){let s=this.operands.map(o=>o.toString());return(s.length>3?s.slice(3):s).join("||")}};(SemanticContext2=>{class Predicate extends SemanticContext2{static{__name(this,"Predicate")}ruleIndex;predIndex;isCtxDependent;constructor(ruleIndex,predIndex,isCtxDependent){super(),this.ruleIndex=ruleIndex??-1,this.predIndex=predIndex??-1,this.isCtxDependent=isCtxDependent??!1}evaluate(parser,outerContext){let localctx=this.isCtxDependent?outerContext:null;return parser.sempred(localctx,this.ruleIndex,this.predIndex)}hashCode(){if(this.cachedHashCode===void 0){let hashCode=MurmurHash.initialize();hashCode=MurmurHash.update(hashCode,this.ruleIndex),hashCode=MurmurHash.update(hashCode,this.predIndex),hashCode=MurmurHash.update(hashCode,this.isCtxDependent?1:0),hashCode=MurmurHash.finish(hashCode,3),this.cachedHashCode=hashCode}return this.cachedHashCode}equals(other){return this===other?!0:this.ruleIndex===other.ruleIndex&&this.predIndex===other.predIndex&&this.isCtxDependent===other.isCtxDependent}toString(){return"{"+this.ruleIndex+":"+this.predIndex+"}?"}}SemanticContext2.Predicate=Predicate;class PrecedencePredicate extends SemanticContext2{static{__name(this,"PrecedencePredicate")}precedence;constructor(precedence){super(),this.precedence=precedence??0}evaluate(parser,outerContext){return parser.precpred(outerContext,this.precedence)}evalPrecedence(parser,outerContext){return parser.precpred(outerContext??null,this.precedence)?SemanticContext2.NONE:null}compareTo(other){return this.precedence-other.precedence}hashCode(){return 31+this.precedence}equals(other){return this===other?!0:this.precedence===other.precedence}toString(){return"{"+this.precedence+">=prec}?"}}SemanticContext2.PrecedencePredicate=PrecedencePredicate,SemanticContext2.NONE=new Predicate})(SemanticContext||(SemanticContext={}));var ATNConfig=class _ATNConfig{static{__name(this,"ATNConfig")}state;alt;reachesIntoOuterContext=!1;precedenceFilterSuppressed=!1;get semanticContext(){return this.#semanticContext}cachedHashCode;#context=null;#semanticContext;constructor(c,state,context,semanticContext){this.state=state,this.alt=c.alt,this.context=context,this.#semanticContext=semanticContext??SemanticContext.NONE,this.reachesIntoOuterContext=c.reachesIntoOuterContext,c.precedenceFilterSuppressed!==void 0&&(this.precedenceFilterSuppressed=c.precedenceFilterSuppressed)}static duplicate(old,semanticContext){return new _ATNConfig(old,old.state,old.context,semanticContext??old.semanticContext)}static createWithContext(state,alt,context,semanticContext){return new _ATNConfig({alt},state,context,semanticContext)}static createWithConfig(state,config,context){return new _ATNConfig(config,state,context??config.context,config.semanticContext)}static createWithSemanticContext(state,c,semanticContext){return new _ATNConfig(c,state??c.state,c.context,semanticContext)}hashCode(){if(this.cachedHashCode===void 0){let hashCode=MurmurHash.initialize(7);hashCode=MurmurHash.update(hashCode,this.state.stateNumber),hashCode=MurmurHash.update(hashCode,this.alt),hashCode=MurmurHash.updateFromComparable(hashCode,this.#context),hashCode=MurmurHash.updateFromComparable(hashCode,this.semanticContext),hashCode=MurmurHash.finish(hashCode,4),this.cachedHashCode=hashCode}return this.cachedHashCode}get context(){return this.#context}set context(context){this.#context=context,this.cachedHashCode=void 0}equals(other){return this===other?!0:this.state.stateNumber===other.state.stateNumber&&this.alt===other.alt&&(this.context===null?other.context===null:this.context.equals(other.context))&&this.semanticContext.equals(other.semanticContext)&&this.precedenceFilterSuppressed===other.precedenceFilterSuppressed}toString(_recog,showAlt=!0){let alt="";return showAlt&&(alt=","+this.alt),"("+this.state+alt+(this.context!==null?",["+this.context.toString()+"]":"")+(this.semanticContext!==SemanticContext.NONE?","+this.semanticContext.toString():"")+(this.reachesIntoOuterContext?",up="+this.reachesIntoOuterContext:"")+")"}},ATNState=class _ATNState{static{__name(this,"ATNState")}static INVALID_STATE_NUMBER=-1;static INVALID_TYPE=0;static BASIC=1;static RULE_START=2;static BLOCK_START=3;static PLUS_BLOCK_START=4;static STAR_BLOCK_START=5;static TOKEN_START=6;static RULE_STOP=7;static BLOCK_END=8;static STAR_LOOP_BACK=9;static STAR_LOOP_ENTRY=10;static PLUS_LOOP_BACK=11;static LOOP_END=12;static stateType=_ATNState.INVALID_STATE_NUMBER;stateNumber=0;ruleIndex=0;epsilonOnlyTransitions=!1;nextTokenWithinRule;transitions=[];hashCode(){return this.stateNumber}equals(other){return this.stateNumber===other.stateNumber}toString(){return`${this.stateNumber}`}addTransitionAtIndex(index2,transition){this.transitions.length===0?this.epsilonOnlyTransitions=transition.isEpsilon:this.epsilonOnlyTransitions!==transition.isEpsilon&&(this.epsilonOnlyTransitions=!1),this.transitions.splice(index2,0,transition)}addTransition(transition){this.transitions.length===0?this.epsilonOnlyTransitions=transition.isEpsilon:this.epsilonOnlyTransitions!==transition.isEpsilon&&(this.epsilonOnlyTransitions=!1),this.transitions.push(transition)}setTransition(i,e){this.transitions.splice(i,1,e)}removeTransition(index2){return this.transitions.splice(index2,1)[0]}},PredictionContext=class _PredictionContext{static{__name(this,"PredictionContext")}static EMPTY_RETURN_STATE=2147483647;static traceATNSimulator=!1;cachedHashCode;constructor(cachedHashCode){this.cachedHashCode=cachedHashCode}static calculateEmptyHashCode(){let hash=MurmurHash.initialize(31);return hash=MurmurHash.finish(hash,0),hash}static calculateHashCodeSingle(parent,returnState){let hash=MurmurHash.initialize(31);return hash=MurmurHash.updateFromComparable(hash,parent),hash=MurmurHash.update(hash,returnState),hash=MurmurHash.finish(hash,2),hash}static calculateHashCodeList(parents,returnStates){let hash=MurmurHash.initialize(31);for(let parent of parents)hash=MurmurHash.updateFromComparable(hash,parent);for(let returnState of returnStates)hash=MurmurHash.update(hash,returnState);return hash=MurmurHash.finish(hash,2*parents.length),hash}isEmpty(){return!1}hasEmptyPath(){return this.getReturnState(this.length-1)===_PredictionContext.EMPTY_RETURN_STATE}hashCode(){return this.cachedHashCode}toString(_recog){return""}},SingletonPredictionContext=class _SingletonPredictionContext extends PredictionContext{static{__name(this,"SingletonPredictionContext")}parent;returnState;constructor(parent,returnState){super(parent?PredictionContext.calculateHashCodeSingle(parent,returnState):PredictionContext.calculateEmptyHashCode()),this.parent=parent??null,this.returnState=returnState}getParent(_index){return this.parent}getReturnState(_index){return this.returnState}equals(other){return this===other?!0:!(other instanceof _SingletonPredictionContext)||this.hashCode()!==other.hashCode()||this.returnState!==other.returnState?!1:this.parent==null?other.parent==null:this.parent.equals(other.parent)}toString(){let up=this.parent===null?"":this.parent.toString();return up.length===0?this.returnState===PredictionContext.EMPTY_RETURN_STATE?"$":""+this.returnState:""+this.returnState+" "+up}get length(){return 1}},EmptyPredictionContext=class _EmptyPredictionContext extends SingletonPredictionContext{static{__name(this,"EmptyPredictionContext")}static instance=new _EmptyPredictionContext;constructor(){super(void 0,PredictionContext.EMPTY_RETURN_STATE)}isEmpty(){return!0}getParent(){return null}getReturnState(){return this.returnState}equals(other){return this===other}toString(){return"$"}},Transition=class{static{__name(this,"Transition")}static INVALID=0;static EPSILON=1;static RANGE=2;static RULE=3;static PREDICATE=4;static ATOM=5;static ACTION=6;static SET=7;static NOT_SET=8;static WILDCARD=9;static PRECEDENCE=10;target;constructor(target){this.target=target}get isEpsilon(){return!1}get label(){return null}toString(){return""}},SetTransition=class extends Transition{static{__name(this,"SetTransition")}set;constructor(target,set){super(target),set?this.set=set:this.set=IntervalSet.of(Token.INVALID_TYPE,Token.INVALID_TYPE)}get transitionType(){return Transition.SET}get label(){return this.set}matches(symbol,_minVocabSymbol,_maxVocabSymbol){return this.set.contains(symbol)}toString(){return this.set.toString()}},NotSetTransition=class extends SetTransition{static{__name(this,"NotSetTransition")}get transitionType(){return Transition.NOT_SET}matches(symbol,minVocabSymbol,maxVocabSymbol){return symbol>=minVocabSymbol&&symbol<=maxVocabSymbol&&!super.matches(symbol,minVocabSymbol,maxVocabSymbol)}toString(){return"~"+super.toString()}},MapKeyEqualityComparator=class{static{__name(this,"MapKeyEqualityComparator")}keyComparator;constructor(keyComparator){this.keyComparator=keyComparator}hashCode(obj){return this.keyComparator.hashCode(obj.key)}equals(a,b){return this.keyComparator.equals(a.key,b.key)}},HashMap=class _HashMap{static{__name(this,"HashMap")}backingStore;constructor(keyComparer){keyComparer instanceof _HashMap?this.backingStore=new HashSet(keyComparer.backingStore):(keyComparer=keyComparer??DefaultEqualityComparator.instance,this.backingStore=new HashSet(new MapKeyEqualityComparator(keyComparer)))}clear(){this.backingStore.clear()}containsKey(key){return this.backingStore.contains({key})}get(key){let bucket=this.backingStore.get({key});if(bucket)return bucket.value}get isEmpty(){return this.backingStore.isEmpty}set(key,value){let element=this.backingStore.get({key,value}),result;return element?(result=element.value,element.value=value):this.backingStore.add({key,value}),result}setIfAbsent(key,value){let element=this.backingStore.get({key,value}),result;return element?result=element.value:this.backingStore.add({key,value}),result}keys(){return this.backingStore.toArray().map(bucket=>bucket.key)}values(){return this.backingStore.toArray().map(bucket=>bucket.value)}get size(){return this.backingStore.size}hashCode(){return this.backingStore.hashCode()}equals(o){return this.backingStore.equals(o.backingStore)}},TerminalNode=class{static{__name(this,"TerminalNode")}parent=null;symbol;constructor(symbol){this.symbol=symbol}getChild(_i){return null}getSymbol(){return this.symbol}getPayload(){return this.symbol}getSourceInterval(){if(this.symbol===null)return Interval.INVALID_INTERVAL;let tokenIndex=this.symbol.tokenIndex;return new Interval(tokenIndex,tokenIndex)}getChildCount(){return 0}accept(visitor){return visitor.visitTerminal(this)}getText(){return this.symbol?.text??""}toString(){return this.symbol?.type===Token.EOF?"<EOF>":this.symbol?.text??""}toStringTree(){return this.toString()}},ErrorNode=class extends TerminalNode{static{__name(this,"ErrorNode")}accept(visitor){return visitor.visitErrorNode(this)}},CommonToken=class _CommonToken{static{__name(this,"CommonToken")}static EMPTY_SOURCE=[null,null];source;tokenIndex;start;stop;type;line;column;channel;#text;constructor(details){this.type=details.type,this.source=details.source,this.tokenIndex=details.tokenIndex??-1,this.line=details.line??0,this.column=details.column??-1,this.channel=details.channel??Token.DEFAULT_CHANNEL,this.start=details.start??0,this.stop=details.stop??0,this.#text=details.text,details.line===void 0&&details.source[0]!==null&&(this.line=details.source[0].line),details.column===void 0&&details.source[0]!==null&&(this.column=details.source[0].column)}static fromToken(token){let source=[token.tokenSource,token.inputStream];return new _CommonToken({type:token.type,line:token.line,tokenIndex:token.tokenIndex,column:token.column,channel:token.channel,start:token.start,stop:token.stop,text:token.text,source})}static fromType(type,text){return new _CommonToken({type,text,source:_CommonToken.EMPTY_SOURCE})}static fromSource(source,type,channel,start,stop){return new _CommonToken({type,channel,start,stop,source})}get tokenSource(){return this.source[0]}get inputStream(){return this.source[1]}set inputStream(input){this.source[1]=input}clone(){return new _CommonToken({source:this.source,type:this.type,channel:this.channel,start:this.start,stop:this.stop,tokenIndex:this.tokenIndex,line:this.line,column:this.column,text:this.#text})}toString(recognizer){let channelStr="";this.channel>0&&(channelStr=",channel="+this.channel);let text=this.text;text?(text=text.replace(/\n/g,"\\n"),text=text.replace(/\r/g,"\\r"),text=text.replace(/\t/g,"\\t")):text="<no text>";let typeString=String(this.type);return recognizer&&(typeString=recognizer.vocabulary.getDisplayName(this.type)??"<unknown>"),"[@"+this.tokenIndex+","+this.start+":"+this.stop+"='"+text+"',<"+typeString+">"+channelStr+","+this.line+":"+this.column+"]"}get text(){if(this.#text!==void 0)return this.#text;let input=this.inputStream;if(!input)return;let n2=input.size;return this.start<n2&&this.stop<n2?input.getTextFromRange(this.start,this.stop):"<EOF>"}set text(text){this.#text=text}setText(text){this.#text=text}setType(ttype){this.type=ttype}setLine(line){this.line=line}setCharPositionInLine(pos){this.column=pos}setChannel(channel){this.channel=channel}setTokenIndex(index2){this.tokenIndex=index2}},Trees=class _Trees{static{__name(this,"Trees")}static toStringTree(tree,ruleNames,recog){ruleNames=ruleNames??null,recog&&(ruleNames=recog.ruleNames);let s=_Trees.getNodeText(tree,ruleNames);s=escapeWhitespace(s,!1);let c=tree.getChildCount();if(c===0)return s;let res="("+s+" ";c>0&&(s=_Trees.toStringTree(tree.getChild(0),ruleNames),res=res.concat(s));for(let i=1;i<c;i++)s=_Trees.toStringTree(tree.getChild(i),ruleNames),res=res.concat(" "+s);return res=res.concat(")"),res}static getNodeText(t,ruleNames,recog){if(ruleNames=ruleNames??null,recog&&(ruleNames=recog.ruleNames),ruleNames!==null)if(t instanceof ParserRuleContext){let altNumber=t.ruleContext.getAltNumber();return altNumber!==0?ruleNames[t.ruleIndex]+":"+altNumber:ruleNames[t.ruleIndex]}else{if(t instanceof ErrorNode)return t.toString();if(t instanceof TerminalNode)return t.symbol.text}let payload=t.getPayload();return isToken(payload)?payload.text:String(t.getPayload())}static getChildren(t){let list=[];for(let i=0;i<t.getChildCount();i++)list.push(t.getChild(i));return list}static getAncestors(t){if(t.parent===null)return[];let ancestors=[],p=t.parent;for(;p!==null;)ancestors=[p].concat(ancestors),p=p.parent;return ancestors}static isAncestorOf(t,u){if(t===null||u===null||t.parent===null)return!1;let p=u.parent;for(;p!==null;){if(t===p)return!0;p=p.parent}return!1}static findAllTokenNodes(t,ttype){return _Trees.findAllNodes(t,ttype,!0)}static findAllRuleNodes(t,ruleIndex){return _Trees.findAllNodes(t,ruleIndex,!1)}static findAllNodes(t,index2,findTokens){let nodes=[];return _Trees.doFindAllNodes(t,index2,findTokens,nodes),nodes}static descendants(t){let nodes=[t];for(let i=0;i<t.getChildCount();i++)nodes=nodes.concat(_Trees.descendants(t.getChild(i)));return nodes}static getRootOfSubtreeEnclosingRegion(t,startTokenIndex,stopTokenIndex){let n2=t.getChildCount();for(let i=0;i<n2;i++){let child=t.getChild(i),r=this.getRootOfSubtreeEnclosingRegion(child,startTokenIndex,stopTokenIndex);if(r!==null)return r}return t instanceof ParserRuleContext&&startTokenIndex>=t.start.tokenIndex&&(t.stop===null||stopTokenIndex<=t.stop.tokenIndex)?t:null}static stripChildrenOutOfRange(t,root,startIndex,stopIndex){if(t!==null)for(let i=0;i<t.getChildCount();i++){let child=t.getChild(i),range=child.getSourceInterval();if(t instanceof ParserRuleContext&&(range.stop<startIndex||range.start>stopIndex)&&this.isAncestorOf(child,root)){let abbrev=CommonToken.fromType(Token.INVALID_TYPE,"...");t.children[i]=new TerminalNode(abbrev)}}}static doFindAllNodes(t,index2,findTokens,nodes){findTokens&&t instanceof TerminalNode?t.symbol?.type===index2&&nodes.push(t):!findTokens&&t instanceof ParserRuleContext&&t.ruleIndex===index2&&nodes.push(t);for(let i=0;i<t.getChildCount();i++)_Trees.doFindAllNodes(t.getChild(i),index2,findTokens,nodes)}},ParserRuleContext=class _ParserRuleContext{static{__name(this,"ParserRuleContext")}static empty=new _ParserRuleContext(null);start=null;stop=null;children=[];invokingState;parent;constructor(parent,invokingStateNumber=-1){this.parent=parent,this.invokingState=invokingStateNumber}copyFrom(ctx){this.parent=ctx.parent,this.invokingState=ctx.invokingState,this.children.slice(0,this.children.length),this.start=ctx.start,this.stop=ctx.stop,ctx.children&&ctx.children.forEach(child=>{child instanceof ErrorNode&&(this.children.push(child),child.parent=this)})}enterRule(_listener){}exitRule(_listener){}addChild(child){return this.children.push(child),child}removeLastChild(){this.children.pop()}addTokenNode(token){let node=new TerminalNode(token);return this.children.push(node),node.parent=this,node}addErrorNode(errorNode){return errorNode.parent=this,this.children.push(errorNode),errorNode}getChild(i,type){if(i<0||i>=this.children.length)return null;if(!type)return this.children[i];for(let child of this.children)if(child instanceof type){if(i===0)return child;i-=1}return null}getToken(ttype,i){if(i<0||i>=this.children.length)return null;for(let child of this.children)if("symbol"in child&&child.symbol?.type===ttype){if(i===0)return child;i-=1}return null}getTokens(ttype){let tokens=[];for(let child of this.children)"symbol"in child&&child.symbol?.type===ttype&&tokens.push(child);return tokens}getRuleContext(index2,ctxType){return this.getChild(index2,ctxType)}getRuleContexts(ctxType){let contexts=[];for(let child of this.children)child instanceof ctxType&&contexts.push(child);return contexts}getChildCount(){return this.children.length}getSourceInterval(){return this.start===null?Interval.INVALID_INTERVAL:this.stop===null||this.stop.tokenIndex<this.start.tokenIndex?new Interval(this.start.tokenIndex,this.start.tokenIndex-1):new Interval(this.start.tokenIndex,this.stop.tokenIndex)}depth(){let n2=0,p=this;for(;p!==null;)p=p.parent,n2+=1;return n2}isEmpty(){return this.invokingState===-1}get ruleContext(){return this}get ruleIndex(){return-1}getPayload(){return this}getText(){return this.children.length===0?"":this.children.map(child=>child.getText()).join("")}getAltNumber(){return ATN.INVALID_ALT_NUMBER}setAltNumber(_altNumber){}accept(visitor){return visitor.visitChildren(this)}toStringTree(...args){return args.length<2?Trees.toStringTree(this,null,args[0]):Trees.toStringTree(this,args[0],args[1])}toString(ruleNames,stop){ruleNames=ruleNames??null,stop=stop??null;let p=this,s="[";for(;p!==null&&p!==stop;){if(ruleNames===null)p.isEmpty()||(s+=p.invokingState);else{let ri=p.ruleIndex,ruleName=ri>=0&&ri<ruleNames.length?ruleNames[ri]:""+ri;s+=ruleName}p.parent!==null&&(ruleNames!==null||!p.parent.isEmpty())&&(s+=" "),p=p.parent}return s+="]",s}},ArrayPredictionContext=class _ArrayPredictionContext extends PredictionContext{static{__name(this,"ArrayPredictionContext")}parents=[];returnStates=[];constructor(parents,returnStates){return super(PredictionContext.calculateHashCodeList(parents,returnStates)),this.parents=parents,this.returnStates=returnStates,this}isEmpty(){return this.returnStates[0]===PredictionContext.EMPTY_RETURN_STATE}get length(){return this.returnStates.length}getParent(index2){return this.parents[index2]}getReturnState(index2){return this.returnStates[index2]}equals(other){return this===other?!0:!(other instanceof _ArrayPredictionContext)||this.hashCode()!==other.hashCode()?!1:equalNumberArrays(this.returnStates,other.returnStates)&&equalArrays(this.parents,other.parents)}toString(){if(this.isEmpty())return"[]";let entries=[];for(let i=0;i<this.returnStates.length;i++){if(this.returnStates[i]===PredictionContext.EMPTY_RETURN_STATE){entries.push("$");continue}entries.push(this.returnStates[i].toString()),this.parents[i]?entries.push(this.parents[i].toString()):entries.push("null")}return`[${entries.join(", ")}]`}},createSingletonPredictionContext=__name((parent,returnState)=>returnState===PredictionContext.EMPTY_RETURN_STATE&&parent===null?EmptyPredictionContext.instance:new SingletonPredictionContext(parent,returnState),"createSingletonPredictionContext"),predictionContextFromRuleContext=__name((atn,outerContext)=>{if(outerContext||(outerContext=ParserRuleContext.empty),!outerContext.parent||outerContext===ParserRuleContext.empty)return EmptyPredictionContext.instance;let parent=predictionContextFromRuleContext(atn,outerContext.parent),transition=atn.states[outerContext.invokingState].transitions[0];return createSingletonPredictionContext(parent,transition.followState.stateNumber)},"predictionContextFromRuleContext"),getCachedPredictionContext=__name((context,contextCache,visited)=>{if(context.isEmpty())return context;let existing=visited.get(context);if(existing)return existing;if(existing=contextCache.get(context),existing)return visited.set(context,existing),existing;let changed=!1,parents=[];for(let i=0;i<parents.length;i++){let parent=getCachedPredictionContext(context.getParent(i),contextCache,visited);if(changed||parent!==context.getParent(i)){if(!changed){parents=[];for(let j=0;j<context.length;j++)parents[j]=context.getParent(j);changed=!0}parents[i]=parent}}if(!changed)return contextCache.add(context),visited.set(context,context),context;let updated;return parents.length===0?updated=EmptyPredictionContext.instance:parents.length===1?updated=createSingletonPredictionContext(parents[0]??void 0,context.getReturnState(0)):updated=new ArrayPredictionContext(parents,context.returnStates),contextCache.add(updated),visited.set(updated,updated),visited.set(context,updated),updated},"getCachedPredictionContext"),merge=__name((a,b,rootIsWildcard,mergeCache)=>{if(a===b||a.equals(b))return a;if(a instanceof SingletonPredictionContext&&b instanceof SingletonPredictionContext)return mergeSingletons(a,b,rootIsWildcard,mergeCache);if(rootIsWildcard){if(a instanceof EmptyPredictionContext)return a;if(b instanceof EmptyPredictionContext)return b}return a instanceof SingletonPredictionContext&&(a=new ArrayPredictionContext([a.parent],[a.returnState])),b instanceof SingletonPredictionContext&&(b=new ArrayPredictionContext([b.parent],[b.returnState])),mergeArrays(a,b,rootIsWildcard,mergeCache)},"merge"),mergeArrays=__name((a,b,rootIsWildcard,mergeCache)=>{if(mergeCache){let previous=mergeCache.get(a,b);if(previous||(previous=mergeCache.get(b,a),previous))return previous}let i=0,j=0,k=0,mergedReturnStates=new Array(a.returnStates.length+b.returnStates.length).fill(0),mergedParents=new Array(a.returnStates.length+b.returnStates.length).fill(null);for(;i<a.returnStates.length&&j<b.returnStates.length;){let aParent=a.parents[i],bParent=b.parents[j];if(a.returnStates[i]===b.returnStates[j]){let payload=a.returnStates[i];payload===PredictionContext.EMPTY_RETURN_STATE&&aParent===null&&bParent===null||aParent!==null&&bParent!==null&&aParent===bParent?(mergedParents[k]=aParent,mergedReturnStates[k]=payload):(mergedParents[k]=merge(aParent,bParent,rootIsWildcard,mergeCache),mergedReturnStates[k]=payload),i+=1,j+=1}else a.returnStates[i]<b.returnStates[j]?(mergedParents[k]=aParent,mergedReturnStates[k]=a.returnStates[i],i+=1):(mergedParents[k]=bParent,mergedReturnStates[k]=b.returnStates[j],j+=1);k+=1}if(i<a.returnStates.length)for(let p=i;p<a.returnStates.length;p++)mergedParents[k]=a.parents[p],mergedReturnStates[k]=a.returnStates[p],k+=1;else for(let p=j;p<b.returnStates.length;p++)mergedParents[k]=b.parents[p],mergedReturnStates[k]=b.returnStates[p],k+=1;if(k<mergedParents.length){if(k===1){let aNew=createSingletonPredictionContext(mergedParents[0]??void 0,mergedReturnStates[0]);return mergeCache!==null&&mergeCache.set(a,b,aNew),aNew}mergedParents=mergedParents.slice(0,k),mergedReturnStates=mergedReturnStates.slice(0,k)}let merged=new ArrayPredictionContext(mergedParents,mergedReturnStates);return merged.equals(a)?(mergeCache!==null&&mergeCache.set(a,b,a),PredictionContext.traceATNSimulator&&console.log("mergeArrays a="+a+",b="+b+" -> a"),a):merged.equals(b)?(mergeCache!==null&&mergeCache.set(a,b,b),b):(combineCommonParents(mergedParents),mergeCache!==null&&mergeCache.set(a,b,merged),PredictionContext.traceATNSimulator&&console.log("mergeArrays a="+a+",b="+b+" -> "+merged),merged)},"mergeArrays"),combineCommonParents=__name(parents=>{let uniqueParents=new HashMap(ObjectEqualityComparator.instance);for(let parent of parents)parent&&(uniqueParents.containsKey(parent)||uniqueParents.set(parent,parent));for(let q=0;q<parents.length;q++)parents[q]&&(parents[q]=uniqueParents.get(parents[q])??null)},"combineCommonParents"),mergeSingletons=__name((a,b,rootIsWildcard,mergeCache)=>{if(mergeCache!==null){let previous=mergeCache.get(a,b);if(previous!==null||(previous=mergeCache.get(b,a),previous!==null))return previous}let rootMerge=mergeRoot(a,b,rootIsWildcard);if(rootMerge!==null)return mergeCache!==null&&mergeCache.set(a,b,rootMerge),rootMerge;if(a.returnState===b.returnState){let parent=merge(a.parent,b.parent,rootIsWildcard,mergeCache);if(parent===a.parent)return a;if(parent===b.parent)return b;let spc=createSingletonPredictionContext(parent,a.returnState);return mergeCache!==null&&mergeCache.set(a,b,spc),spc}else{let singleParent=null;if((a===b||a.parent!==null&&a.parent.equals(b.parent))&&(singleParent=a.parent),singleParent!==null){let payloads2=[a.returnState,b.returnState];a.returnState>b.returnState&&(payloads2[0]=b.returnState,payloads2[1]=a.returnState);let parents2=[singleParent,singleParent],apc=new ArrayPredictionContext(parents2,payloads2);return mergeCache!==null&&mergeCache.set(a,b,apc),apc}let payloads=[a.returnState,b.returnState],parents=[a.parent,b.parent];a.returnState>b.returnState&&(payloads[0]=b.returnState,payloads[1]=a.returnState,parents=[b.parent,a.parent]);let aNew=new ArrayPredictionContext(parents,payloads);return mergeCache!==null&&mergeCache.set(a,b,aNew),aNew}},"mergeSingletons"),mergeRoot=__name((a,b,rootIsWildcard)=>{if(rootIsWildcard){if(a===EmptyPredictionContext.instance||b===EmptyPredictionContext.instance)return EmptyPredictionContext.instance}else{if(a===EmptyPredictionContext.instance&&b===EmptyPredictionContext.instance)return EmptyPredictionContext.instance;if(a===EmptyPredictionContext.instance){let payloads=[b.returnState,PredictionContext.EMPTY_RETURN_STATE],parents=[b.parent,null];return new ArrayPredictionContext(parents,payloads)}if(b===EmptyPredictionContext.instance){let payloads=[a.returnState,PredictionContext.EMPTY_RETURN_STATE],parents=[a.parent,null];return new ArrayPredictionContext(parents,payloads)}}return null},"mergeRoot"),LL1Analyzer=class _LL1Analyzer{constructor(atn){this.atn=atn}static{__name(this,"LL1Analyzer")}static hitPredicate=Token.INVALID_TYPE;getDecisionLookahead(s){let count=s.transitions.length,look=new Array(count);for(let alt=0;alt<count;alt++){let set=new IntervalSet,lookBusy=new HashSet;this.doLook(s.transitions[alt].target,void 0,EmptyPredictionContext.instance,set,lookBusy,new BitSet,!1,!1),set.length>0&&!set.contains(_LL1Analyzer.hitPredicate)&&(look[alt]=set)}return look}look(s,stopState,ctx){let r=new IntervalSet,lookContext=ctx?predictionContextFromRuleContext(this.atn,ctx):null;return this.doLook(s,stopState,lookContext,r,new HashSet,new BitSet,!0,!0),r}doLook(s,stopState,ctx,look,lookBusy,calledRuleStack,seeThruPreds,addEOF){let c=ATNConfig.createWithContext(s,0,ctx);if(!lookBusy.get(c)){if(lookBusy.add(c),s===stopState)if(ctx){if(ctx.isEmpty()&&addEOF){look.addOne(Token.EOF);return}}else{look.addOne(Token.EPSILON);return}if(s.constructor.stateType===ATNState.RULE_STOP){if(ctx){if(ctx.isEmpty()&&addEOF){look.addOne(Token.EOF);return}}else{look.addOne(Token.EPSILON);return}if(ctx!==EmptyPredictionContext.instance){let removed=calledRuleStack.get(s.ruleIndex);try{calledRuleStack.clear(s.ruleIndex);for(let i=0;i<ctx.length;i++){let returnState=this.atn.states[ctx.getReturnState(i)];this.doLook(returnState,stopState,ctx.getParent(i),look,lookBusy,calledRuleStack,seeThruPreds,addEOF)}}finally{removed&&calledRuleStack.set(s.ruleIndex)}return}}for(let t of s.transitions)switch(t.transitionType){case Transition.RULE:{if(calledRuleStack.get(t.target.ruleIndex))continue;let newContext=createSingletonPredictionContext(ctx??void 0,t.followState.stateNumber);try{calledRuleStack.set(t.target.ruleIndex),this.doLook(t.target,stopState,newContext,look,lookBusy,calledRuleStack,seeThruPreds,addEOF)}finally{calledRuleStack.clear(t.target.ruleIndex)}break}case Transition.PREDICATE:case Transition.PRECEDENCE:{seeThruPreds?this.doLook(t.target,stopState,ctx,look,lookBusy,calledRuleStack,seeThruPreds,addEOF):look.addOne(_LL1Analyzer.hitPredicate);break}case Transition.WILDCARD:{look.addRange(Token.MIN_USER_TOKEN_TYPE,this.atn.maxTokenType);break}default:{if(t.isEpsilon)this.doLook(t.target,stopState,ctx,look,lookBusy,calledRuleStack,seeThruPreds,addEOF);else{let set=t.label;set&&(t instanceof NotSetTransition&&(set=set.complement(Token.MIN_USER_TOKEN_TYPE,this.atn.maxTokenType)),look.addSet(set))}break}}}}},ATN=class{static{__name(this,"ATN")}static INVALID_ALT_NUMBER=0;static LEXER=0;static PARSER=1;grammarType;maxTokenType;states=[];decisionToState=[];ruleToStartState=[];ruleToStopState=[];modeNameToStartState=new Map;ruleToTokenType=[];lexerActions=[];modeToStartState=[];analyzer;constructor(grammarType,maxTokenType){this.grammarType=grammarType,this.maxTokenType=maxTokenType,this.analyzer=new LL1Analyzer(this)}nextTokens(atnState,ctx){if(!ctx&&atnState.nextTokenWithinRule)return atnState.nextTokenWithinRule;let next=this.analyzer.look(atnState,void 0,ctx);return ctx||(atnState.nextTokenWithinRule=next),next}addState(state){state&&(state.stateNumber=this.states.length),this.states.push(state)}removeState(state){this.states[state.stateNumber]=null}defineDecisionState(s){return this.decisionToState.push(s),s.decision=this.decisionToState.length-1,s.decision}getDecisionState(decision){return this.decisionToState.length===0?null:this.decisionToState[decision]}getNumberOfDecisions(){return this.decisionToState.length}getExpectedTokens(stateNumber,context){if(stateNumber<0||stateNumber>=this.states.length)throw new Error("Invalid state number.");let s=this.states[stateNumber],following=this.nextTokens(s);if(!following.contains(Token.EPSILON))return following;let ctx=context,expected=new IntervalSet;for(expected.addSet(following),expected.removeOne(Token.EPSILON);ctx!==null&&ctx.invokingState>=0&&following.contains(Token.EPSILON);){let rt=this.states[ctx.invokingState].transitions[0];following=this.nextTokens(rt.followState),expected.addSet(following),expected.removeOne(Token.EPSILON),ctx=ctx.parent}return following.contains(Token.EPSILON)&&expected.addOne(Token.EOF),expected}},KeyTypeEqualityComparer=class _KeyTypeEqualityComparer{static{__name(this,"KeyTypeEqualityComparer")}static instance=new _KeyTypeEqualityComparer;hashCode(config){let hashCode=7;return hashCode=31*hashCode+config.state.stateNumber,hashCode=31*hashCode+config.alt,hashCode=31*hashCode+config.semanticContext.hashCode(),hashCode}equals(a,b){return a===b?!0:a.state.stateNumber===b.state.stateNumber&&a.alt===b.alt&&a.semanticContext.equals(b.semanticContext)}},ATNConfigSet=class{static{__name(this,"ATNConfigSet")}configLookup=new HashSet(KeyTypeEqualityComparer.instance);configs=[];uniqueAlt=0;hasSemanticContext=!1;dipsIntoOuterContext=!1;fullCtx=!1;readOnly=!1;conflictingAlts=null;firstStopState;#cachedHashCode=-1;constructor(fullCtxOrOldSet){if(fullCtxOrOldSet!==void 0)if(typeof fullCtxOrOldSet=="boolean")this.fullCtx=fullCtxOrOldSet??!0;else{let old=fullCtxOrOldSet;this.addAll(old.configs),this.uniqueAlt=old.uniqueAlt,this.conflictingAlts=old.conflictingAlts,this.hasSemanticContext=old.hasSemanticContext,this.dipsIntoOuterContext=old.dipsIntoOuterContext}}[Symbol.iterator](){return this.configs[Symbol.iterator]()}add(config,mergeCache=null){if(this.readOnly)throw new Error("This set is readonly");!this.firstStopState&&config.state.constructor.stateType===ATNState.RULE_STOP&&(this.firstStopState=config),this.hasSemanticContext||=config.semanticContext!==SemanticContext.NONE,this.dipsIntoOuterContext||=config.reachesIntoOuterContext;let existing=this.configLookup.getOrAdd(config);if(existing===config){this.#cachedHashCode=-1,this.configs.push(config);return}let rootIsWildcard=!this.fullCtx,merged=merge(existing.context,config.context,rootIsWildcard,mergeCache);existing.reachesIntoOuterContext||=config.reachesIntoOuterContext,existing.precedenceFilterSuppressed||=config.precedenceFilterSuppressed,existing.context=merged}get elements(){return this.configs}getAlts(){let alts=new BitSet;for(let config of this.configs)alts.set(config.alt);return alts}getPredicates(){let preds=[];for(let config of this.configs)config.semanticContext!==SemanticContext.NONE&&preds.push(config.semanticContext);return preds}getStates(){let states=new HashSet;for(let config of this.configs)states.add(config.state);return states}optimizeConfigs(interpreter){if(this.readOnly)throw new Error("This set is readonly");if(this.configLookup.size!==0)for(let config of this.configs)config.context=interpreter.getCachedContext(config.context)}addAll(coll){for(let config of coll)this.add(config);return!1}equals(other){return!!(this===other||this.fullCtx===other.fullCtx&&this.uniqueAlt===other.uniqueAlt&&this.conflictingAlts===other.conflictingAlts&&this.hasSemanticContext===other.hasSemanticContext&&this.dipsIntoOuterContext===other.dipsIntoOuterContext&&equalArrays(this.configs,other.configs))}hashCode(){return this.#cachedHashCode===-1&&(this.#cachedHashCode=this.computeHashCode()),this.#cachedHashCode}get length(){return this.configs.length}isEmpty(){return this.configs.length===0}contains(item){if(this.configLookup===null)throw new Error("This method is not implemented for readonly sets.");return this.configLookup.contains(item)}containsFast(item){if(this.configLookup===null)throw new Error("This method is not implemented for readonly sets.");return this.configLookup.contains(item)}clear(){if(this.readOnly)throw new Error("This set is readonly");this.configs=[],this.#cachedHashCode=-1,this.configLookup=new HashSet(KeyTypeEqualityComparer.instance)}setReadonly(readOnly){this.readOnly=readOnly,readOnly&&(this.configLookup=null)}toString(){return arrayToString(this.configs)+(this.hasSemanticContext?",hasSemanticContext="+this.hasSemanticContext:"")+(this.uniqueAlt!==ATN.INVALID_ALT_NUMBER?",uniqueAlt="+this.uniqueAlt:"")+(this.conflictingAlts!==null?",conflictingAlts="+this.conflictingAlts:"")+(this.dipsIntoOuterContext?",dipsIntoOuterContext":"")}computeHashCode(){let hash=MurmurHash.initialize();return this.configs.forEach(config=>{hash=MurmurHash.update(hash,config.hashCode())}),hash=MurmurHash.finish(hash,this.configs.length),hash}},BasicState=class extends ATNState{static{__name(this,"BasicState")}static stateType=ATNState.BASIC},DecisionState=class extends ATNState{static{__name(this,"DecisionState")}decision=-1;nonGreedy=!1},BlockStartState=class extends DecisionState{static{__name(this,"BlockStartState")}endState},BlockEndState=class extends ATNState{static{__name(this,"BlockEndState")}static stateType=ATNState.BLOCK_END;startState},LoopEndState=class extends ATNState{static{__name(this,"LoopEndState")}static stateType=ATNState.LOOP_END;loopBackState},RuleStartState=class extends ATNState{static{__name(this,"RuleStartState")}static stateType=ATNState.RULE_START;stopState;isLeftRecursiveRule=!1},RuleStopState=class extends ATNState{static{__name(this,"RuleStopState")}static stateType=ATNState.RULE_STOP},TokensStartState=class extends DecisionState{static{__name(this,"TokensStartState")}static stateType=ATNState.TOKEN_START},PlusLoopbackState=class extends DecisionState{static{__name(this,"PlusLoopbackState")}static stateType=ATNState.PLUS_LOOP_BACK},StarLoopbackState=class extends ATNState{static{__name(this,"StarLoopbackState")}static stateType=ATNState.STAR_LOOP_BACK},StarLoopEntryState=class extends DecisionState{static{__name(this,"StarLoopEntryState")}static stateType=ATNState.STAR_LOOP_ENTRY;loopBackState;precedenceRuleDecision=!1},PlusBlockStartState=class extends BlockStartState{static{__name(this,"PlusBlockStartState")}static stateType=ATNState.PLUS_BLOCK_START;loopBackState},StarBlockStartState=class extends BlockStartState{static{__name(this,"StarBlockStartState")}static stateType=ATNState.STAR_BLOCK_START},BasicBlockStartState=class extends BlockStartState{static{__name(this,"BasicBlockStartState")}static stateType=ATNState.BLOCK_START},AtomTransition=class extends Transition{static{__name(this,"AtomTransition")}labelValue;#label;constructor(target,label){super(target),this.labelValue=label,this.#label=IntervalSet.of(label,label)}get label(){return this.#label}get transitionType(){return Transition.ATOM}matches(symbol){return this.labelValue===symbol}toString(){return this.labelValue.toString()}},RuleTransition=class extends Transition{static{__name(this,"RuleTransition")}ruleIndex;precedence;followState;constructor(ruleStart,ruleIndex,precedence,followState){super(ruleStart),this.ruleIndex=ruleIndex,this.precedence=precedence,this.followState=followState}get isEpsilon(){return!0}get transitionType(){return Transition.RULE}matches(_symbol,_minVocabSymbol,_maxVocabSymbol){return!1}},RangeTransition=class extends Transition{static{__name(this,"RangeTransition")}start;stop;#label=new IntervalSet;constructor(target,start,stop){super(target),this.start=start,this.stop=stop,this.#label.addRange(start,stop)}get label(){return this.#label}get transitionType(){return Transition.RANGE}matches(symbol,_minVocabSymbol,_maxVocabSymbol){return symbol>=this.start&&symbol<=this.stop}toString(){return"'"+String.fromCharCode(this.start)+"'..'"+String.fromCharCode(this.stop)+"'"}},ActionTransition=class extends Transition{static{__name(this,"ActionTransition")}ruleIndex;actionIndex;isCtxDependent;constructor(target,ruleIndex,actionIndex,isCtxDependent){super(target),this.ruleIndex=ruleIndex,this.actionIndex=actionIndex??-1,this.isCtxDependent=isCtxDependent??!1}get isEpsilon(){return!0}get transitionType(){return Transition.ACTION}matches(_symbol,_minVocabSymbol,_maxVocabSymbol){return!1}toString(){return"action_"+this.ruleIndex+":"+this.actionIndex}},EpsilonTransition=class extends Transition{static{__name(this,"EpsilonTransition")}#outermostPrecedenceReturn;constructor(target,outermostPrecedenceReturn=-1){super(target),this.#outermostPrecedenceReturn=outermostPrecedenceReturn}get outermostPrecedenceReturn(){return this.#outermostPrecedenceReturn}get isEpsilon(){return!0}get transitionType(){return Transition.EPSILON}matches(){return!1}toString(){return"epsilon"}},WildcardTransition=class extends Transition{static{__name(this,"WildcardTransition")}get transitionType(){return Transition.WILDCARD}matches(symbol,minVocabSymbol,maxVocabSymbol){return symbol>=minVocabSymbol&&symbol<=maxVocabSymbol}toString(){return"."}},AbstractPredicateTransition=class extends Transition{static{__name(this,"AbstractPredicateTransition")}constructor(target){super(target)}},PredicateTransition=class extends AbstractPredicateTransition{static{__name(this,"PredicateTransition")}ruleIndex;predIndex;isCtxDependent;constructor(target,ruleIndex,predIndex,isCtxDependent){super(target),this.ruleIndex=ruleIndex,this.predIndex=predIndex,this.isCtxDependent=isCtxDependent}get isEpsilon(){return!0}matches(_symbol,_minVocabSymbol,_maxVocabSymbol){return!1}get transitionType(){return Transition.PREDICATE}getPredicate(){return new SemanticContext.Predicate(this.ruleIndex,this.predIndex,this.isCtxDependent)}toString(){return"pred_"+this.ruleIndex+":"+this.predIndex}},PrecedencePredicateTransition=class extends AbstractPredicateTransition{static{__name(this,"PrecedencePredicateTransition")}precedence;constructor(target,precedence){super(target),this.precedence=precedence}get isEpsilon(){return!0}matches(_symbol,_minVocabSymbol,_maxVocabSymbol){return!1}getPredicate(){return new SemanticContext.PrecedencePredicate(this.precedence)}get transitionType(){return Transition.PRECEDENCE}toString(){return this.precedence+" >= _p"}},LexerActionType={CHANNEL:0,CUSTOM:1,MODE:2,MORE:3,POP_MODE:4,PUSH_MODE:5,SKIP:6,TYPE:7},LexerSkipAction=class _LexerSkipAction{static{__name(this,"LexerSkipAction")}static instance=new _LexerSkipAction;actionType;isPositionDependent=!1;constructor(){this.actionType=LexerActionType.SKIP}equals(obj){return obj===this}hashCode(){return LexerActionType.SKIP}execute(lexer){lexer.skip()}toString(){return"skip"}},LexerChannelAction=class _LexerChannelAction{static{__name(this,"LexerChannelAction")}channel;actionType;isPositionDependent=!1;cachedHashCode;constructor(channel){this.actionType=LexerActionType.CHANNEL,this.channel=channel}execute(lexer){lexer.channel=this.channel}hashCode(){if(this.cachedHashCode===void 0){let hash=MurmurHash.initialize();hash=MurmurHash.update(hash,this.actionType),hash=MurmurHash.update(hash,this.channel),this.cachedHashCode=MurmurHash.finish(hash,2)}return this.cachedHashCode}equals(other){return this===other?!0:other instanceof _LexerChannelAction?this.channel===other.channel:!1}toString(){return"channel("+this.channel+")"}},LexerCustomAction=class _LexerCustomAction{static{__name(this,"LexerCustomAction")}ruleIndex;actionIndex;actionType;isPositionDependent=!0;cachedHashCode;constructor(ruleIndex,actionIndex){this.actionType=LexerActionType.CUSTOM,this.ruleIndex=ruleIndex,this.actionIndex=actionIndex}execute(lexer){lexer.action(null,this.ruleIndex,this.actionIndex)}hashCode(){if(this.cachedHashCode===void 0){let hash=MurmurHash.initialize();hash=MurmurHash.update(hash,this.actionType),hash=MurmurHash.update(hash,this.ruleIndex),hash=MurmurHash.update(hash,this.actionIndex),this.cachedHashCode=MurmurHash.finish(hash,3)}return this.cachedHashCode}equals(other){return this===other?!0:other instanceof _LexerCustomAction?this.ruleIndex===other.ruleIndex&&this.actionIndex===other.actionIndex:!1}},LexerMoreAction=class _LexerMoreAction{static{__name(this,"LexerMoreAction")}static instance=new _LexerMoreAction;actionType;isPositionDependent=!1;constructor(){this.actionType=LexerActionType.MORE}equals(obj){return obj===this}hashCode(){return LexerActionType.MORE}execute(lexer){lexer.more()}toString(){return"more"}},LexerTypeAction=class _LexerTypeAction{static{__name(this,"LexerTypeAction")}type;actionType;isPositionDependent=!1;cachedHashCode;constructor(type){this.actionType=LexerActionType.TYPE,this.type=type}execute(lexer){lexer.type=this.type}hashCode(){if(this.cachedHashCode===void 0){let hash=MurmurHash.initialize();hash=MurmurHash.update(hash,this.actionType),hash=MurmurHash.update(hash,this.type),this.cachedHashCode=MurmurHash.finish(hash,2)}return this.cachedHashCode}equals(other){return this===other?!0:other instanceof _LexerTypeAction?this.type===other.type:!1}toString(){return"type("+this.type+")"}},LexerPushModeAction=class _LexerPushModeAction{static{__name(this,"LexerPushModeAction")}mode;actionType;isPositionDependent=!1;cachedHashCode;constructor(mode){this.actionType=LexerActionType.PUSH_MODE,this.mode=mode}execute(lexer){lexer.pushMode(this.mode)}hashCode(){if(this.cachedHashCode===void 0){let hash=MurmurHash.initialize();hash=MurmurHash.update(hash,this.actionType),hash=MurmurHash.update(hash,this.mode),this.cachedHashCode=MurmurHash.finish(hash,2)}return this.cachedHashCode}equals(other){return this===other?!0:other instanceof _LexerPushModeAction?this.mode===other.mode:!1}toString(){return"pushMode("+this.mode+")"}},LexerPopModeAction=class _LexerPopModeAction{static{__name(this,"LexerPopModeAction")}static instance=new _LexerPopModeAction;actionType;isPositionDependent=!1;constructor(){this.actionType=LexerActionType.POP_MODE}equals(obj){return obj===this}hashCode(){return LexerActionType.POP_MODE}execute(lexer){lexer.popMode()}toString(){return"popMode"}},LexerModeAction=class _LexerModeAction{static{__name(this,"LexerModeAction")}mode;actionType;isPositionDependent=!1;cachedHashCode;constructor(mode){this.actionType=LexerActionType.MODE,this.mode=mode}execute(lexer){lexer.mode=this.mode}hashCode(){if(this.cachedHashCode===void 0){let hash=MurmurHash.initialize();hash=MurmurHash.update(hash,this.actionType),hash=MurmurHash.update(hash,this.mode),this.cachedHashCode=MurmurHash.finish(hash,2)}return this.cachedHashCode}equals(other){return this===other?!0:other instanceof _LexerModeAction?this.mode===other.mode:!1}toString(){return"mode("+this.mode+")"}},ATNDeserializer=class _ATNDeserializer{static{__name(this,"ATNDeserializer")}static SERIALIZED_VERSION=4;static stateTypeMapper=new Map([[ATNState.INVALID_TYPE,void 0],[ATNState.BASIC,BasicState],[ATNState.RULE_START,RuleStartState],[ATNState.BLOCK_START,BasicBlockStartState],[ATNState.PLUS_BLOCK_START,PlusBlockStartState],[ATNState.STAR_BLOCK_START,StarBlockStartState],[ATNState.TOKEN_START,TokensStartState],[ATNState.RULE_STOP,RuleStopState],[ATNState.BLOCK_END,BlockEndState],[ATNState.STAR_LOOP_BACK,StarLoopbackState],[ATNState.STAR_LOOP_ENTRY,StarLoopEntryState],[ATNState.PLUS_LOOP_BACK,PlusLoopbackState],[ATNState.LOOP_END,LoopEndState]]);static lexerActionFactoryMapper=new Map([[LexerActionType.CHANNEL,data1=>new LexerChannelAction(data1)],[LexerActionType.CUSTOM,(data1,data2)=>new LexerCustomAction(data1,data2)],[LexerActionType.MODE,data1=>new LexerModeAction(data1)],[LexerActionType.MORE,()=>LexerMoreAction.instance],[LexerActionType.POP_MODE,()=>LexerPopModeAction.instance],[LexerActionType.PUSH_MODE,data1=>new LexerPushModeAction(data1)],[LexerActionType.SKIP,()=>LexerSkipAction.instance],[LexerActionType.TYPE,data1=>new LexerTypeAction(data1)]]);data=[];pos=0;deserializationOptions;actionFactories;constructor(options){options||(options={readOnly:!1,verifyATN:!0,generateRuleBypassTransitions:!1}),this.deserializationOptions=options}deserialize(data){this.data=data,this.checkVersion();let atn=this.readATN();this.readStates(atn),this.readRules(atn),this.readModes(atn);let sets=[];return this.readSets(atn,sets),this.readEdges(atn,sets),this.readDecisions(atn),this.readLexerActions(atn),this.markPrecedenceDecisions(atn),this.verifyATN(atn),this.deserializationOptions.generateRuleBypassTransitions&&atn.grammarType===ATN.PARSER&&(this.generateRuleBypassTransitions(atn),this.verifyATN(atn)),atn}checkVersion(){let version=this.data[this.pos++];if(version!==_ATNDeserializer.SERIALIZED_VERSION)throw new Error("Could not deserialize ATN with version "+version+" (expected "+_ATNDeserializer.SERIALIZED_VERSION+").")}readATN(){let grammarType=this.data[this.pos++],maxTokenType=this.data[this.pos++];return new ATN(grammarType,maxTokenType)}readStates(atn){let j,stateNumber,loopBackStateNumbers=[],endStateNumbers=[],stateCount=this.data[this.pos++];for(let i=0;i<stateCount;i++){let stateType=this.data[this.pos++];if(stateType===ATNState.INVALID_TYPE){atn.addState(null);continue}let ruleIndex=this.data[this.pos++],s=this.stateFactory(stateType,ruleIndex);if(stateType===ATNState.LOOP_END){let loopBackStateNumber=this.data[this.pos++];loopBackStateNumbers.push([s,loopBackStateNumber])}else if(s instanceof BlockStartState){let endStateNumber=this.data[this.pos++];endStateNumbers.push([s,endStateNumber])}atn.addState(s)}for(j=0;j<loopBackStateNumbers.length;j++){let pair=loopBackStateNumbers[j];pair[0].loopBackState=atn.states[pair[1]]??void 0}for(j=0;j<endStateNumbers.length;j++){let pair=endStateNumbers[j];pair[0].endState=atn.states[pair[1]]}let numNonGreedyStates=this.data[this.pos++];for(j=0;j<numNonGreedyStates;j++)stateNumber=this.data[this.pos++],atn.states[stateNumber].nonGreedy=!0;let numPrecedenceStates=this.data[this.pos++];for(j=0;j<numPrecedenceStates;j++)stateNumber=this.data[this.pos++],atn.states[stateNumber].isLeftRecursiveRule=!0}readRules(atn){let i,ruleCount=this.data[this.pos++];for(atn.grammarType===ATN.LEXER&&(atn.ruleToTokenType=new Array(ruleCount),atn.ruleToTokenType.fill(0)),atn.ruleToStartState=new Array(ruleCount),atn.ruleToStartState.fill(null),i=0;i<ruleCount;i++){let s=this.data[this.pos++];if(atn.ruleToStartState[i]=atn.states[s],atn.grammarType===ATN.LEXER){let tokenType=this.data[this.pos++];atn.ruleToTokenType[i]=tokenType}}for(atn.ruleToStopState=new Array(ruleCount),atn.ruleToStopState.fill(null),i=0;i<atn.states.length;i++){let state=atn.states[i];state instanceof RuleStopState&&(atn.ruleToStopState[state.ruleIndex]=state,atn.ruleToStartState[state.ruleIndex].stopState=state)}}readModes(atn){let modeCount=this.data[this.pos++];for(let i=0;i<modeCount;i++){let s=this.data[this.pos++];atn.modeToStartState.push(atn.states[s])}}readSets(atn,sets){let m2=this.data[this.pos++];for(let i=0;i<m2;i++){let intervalSet=new IntervalSet;sets.push(intervalSet);let n2=this.data[this.pos++];this.data[this.pos++]!==0&&intervalSet.addOne(-1);for(let j=0;j<n2;j++){let i1=this.data[this.pos++],i2=this.data[this.pos++];intervalSet.addRange(i1,i2)}}}readEdges(atn,sets){let i,j,state,trans,target,edgeCount=this.data[this.pos++];for(i=0;i<edgeCount;i++){let src=this.data[this.pos++],trg=this.data[this.pos++],ttype=this.data[this.pos++],arg1=this.data[this.pos++],arg2=this.data[this.pos++],arg3=this.data[this.pos++];trans=this.edgeFactory(atn,ttype,trg,arg1,arg2,arg3,sets),atn.states[src].addTransition(trans)}for(i=0;i<atn.states.length;i++)for(state=atn.states[i],j=0;j<state.transitions.length;j++){let t=state.transitions[j];if(!(t instanceof RuleTransition))continue;let outermostPrecedenceReturn=-1;atn.ruleToStartState[t.target.ruleIndex].isLeftRecursiveRule&&t.precedence===0&&(outermostPrecedenceReturn=t.target.ruleIndex),trans=new EpsilonTransition(t.followState,outermostPrecedenceReturn),atn.ruleToStopState[t.target.ruleIndex].addTransition(trans)}for(i=0;i<atn.states.length;i++){if(state=atn.states[i],state instanceof BlockStartState){if(!state.endState)throw new Error("IllegalState");if(state.endState.startState)throw new Error("IllegalState");state.endState.startState=state}if(state instanceof PlusLoopbackState)for(j=0;j<state.transitions.length;j++)target=state.transitions[j].target,target instanceof PlusBlockStartState&&(target.loopBackState=state);else if(state instanceof StarLoopbackState)for(j=0;j<state.transitions.length;j++)target=state.transitions[j].target,target instanceof StarLoopEntryState&&(target.loopBackState=state)}}readDecisions(atn){let decisionCount=this.data[this.pos++];for(let i=0;i<decisionCount;i++){let s=this.data[this.pos++],decState=atn.states[s];atn.decisionToState.push(decState),decState.decision=i}}readLexerActions(atn){if(atn.grammarType===ATN.LEXER){let count=this.data[this.pos++];atn.lexerActions=[];for(let i=0;i<count;i++){let actionType=this.data[this.pos++],data1=this.data[this.pos++],data2=this.data[this.pos++];atn.lexerActions.push(this.lexerActionFactory(actionType,data1,data2))}}}generateRuleBypassTransitions(atn){let i,count=atn.ruleToStartState.length;for(i=0;i<count;i++)atn.ruleToTokenType[i]=atn.maxTokenType+i+1;for(i=0;i<count;i++)this.generateRuleBypassTransition(atn,i)}generateRuleBypassTransition(atn,idx){let i,state,bypassStart=new BasicBlockStartState;bypassStart.ruleIndex=idx,atn.addState(bypassStart);let bypassStop=new BlockEndState;bypassStop.ruleIndex=idx,atn.addState(bypassStop),bypassStart.endState=bypassStop,atn.defineDecisionState(bypassStart),bypassStop.startState=bypassStart;let excludeTransition=null,endState=null;if(atn.ruleToStartState[idx].isLeftRecursiveRule){for(endState=null,i=0;i<atn.states.length;i++)if(state=atn.states[i],this.stateIsEndStateFor(state,idx)){endState=state,excludeTransition=state.loopBackState.transitions[0];break}if(excludeTransition===null)throw new Error("Couldn't identify final state of the precedence rule prefix section.")}else endState=atn.ruleToStopState[idx];for(i=0;i<atn.states.length;i++){state=atn.states[i];for(let transition of state.transitions)transition!==excludeTransition&&transition.target===endState&&(transition.target=bypassStop)}let ruleToStartState=atn.ruleToStartState[idx];for(;ruleToStartState.transitions.length>0;){let transition=ruleToStartState.removeTransition(ruleToStartState.transitions.length-1);bypassStart.addTransition(transition)}atn.ruleToStartState[idx].addTransition(new EpsilonTransition(bypassStart)),endState&&bypassStop.addTransition(new EpsilonTransition(endState));let matchState=new BasicState;atn.addState(matchState),matchState.addTransition(new AtomTransition(bypassStop,atn.ruleToTokenType[idx])),bypassStart.addTransition(new EpsilonTransition(matchState))}stateIsEndStateFor(state,idx){if(state.ruleIndex!==idx||!(state instanceof StarLoopEntryState))return null;let maybeLoopEndState=state.transitions[state.transitions.length-1].target;return maybeLoopEndState instanceof LoopEndState&&maybeLoopEndState.epsilonOnlyTransitions&&maybeLoopEndState.transitions[0].target instanceof RuleStopState?state:null}markPrecedenceDecisions(atn){for(let state of atn.states)if(state instanceof StarLoopEntryState&&atn.ruleToStartState[state.ruleIndex].isLeftRecursiveRule){let maybeLoopEndState=state.transitions[state.transitions.length-1].target;maybeLoopEndState instanceof LoopEndState&&maybeLoopEndState.epsilonOnlyTransitions&&maybeLoopEndState.transitions[0].target instanceof RuleStopState&&(state.precedenceRuleDecision=!0)}}verifyATN(atn){if(this.deserializationOptions.verifyATN){for(let state of atn.states)if(state!==null)if(this.checkCondition(state.epsilonOnlyTransitions||state.transitions.length<=1),state instanceof PlusBlockStartState)this.checkCondition(state.loopBackState!==null);else if(state instanceof StarLoopEntryState)if(this.checkCondition(state.loopBackState!==null),this.checkCondition(state.transitions.length===2),state.transitions[0].target instanceof StarBlockStartState)this.checkCondition(state.transitions[1].target instanceof LoopEndState),this.checkCondition(!state.nonGreedy);else if(state.transitions[0].target instanceof LoopEndState)this.checkCondition(state.transitions[1].target instanceof StarBlockStartState),this.checkCondition(state.nonGreedy);else throw new Error("IllegalState");else state instanceof StarLoopbackState?(this.checkCondition(state.transitions.length===1),this.checkCondition(state.transitions[0].target instanceof StarLoopEntryState)):state instanceof LoopEndState?this.checkCondition(state.loopBackState!==null):state instanceof RuleStartState?this.checkCondition(state.stopState!==null):state instanceof BlockStartState?this.checkCondition(state.endState!==null):state instanceof BlockEndState?this.checkCondition(state.startState!==null):state instanceof DecisionState?this.checkCondition(state.transitions.length<=1||state.decision>=0):this.checkCondition(state.transitions.length<=1||state instanceof RuleStopState)}}checkCondition(condition,message){if(!condition)throw message==null&&(message="IllegalState"),message}edgeFactory(atn,type,trg,arg1,arg2,arg3,sets){let target=atn.states[trg];switch(type){case Transition.EPSILON:return new EpsilonTransition(target);case Transition.RANGE:return arg3!==0?new RangeTransition(target,Token.EOF,arg2):new RangeTransition(target,arg1,arg2);case Transition.RULE:return new RuleTransition(atn.states[arg1],arg2,arg3,target);case Transition.PREDICATE:return new PredicateTransition(target,arg1,arg2,arg3!==0);case Transition.PRECEDENCE:return new PrecedencePredicateTransition(target,arg1);case Transition.ATOM:return arg3!==0?new AtomTransition(target,Token.EOF):new AtomTransition(target,arg1);case Transition.ACTION:return new ActionTransition(target,arg1,arg2,arg3!==0);case Transition.SET:return new SetTransition(target,sets[arg1]);case Transition.NOT_SET:return new NotSetTransition(target,sets[arg1]);case Transition.WILDCARD:return new WildcardTransition(target);default:throw new Error("The specified transition type: "+type+" is not valid.")}}stateFactory(type,ruleIndex){let ctor=_ATNDeserializer.stateTypeMapper.get(type);if(!ctor)throw new Error("The specified state type "+type+" is not valid.");let s=new ctor;return s.ruleIndex=ruleIndex,s}lexerActionFactory(type,data1,data2){let factory=_ATNDeserializer.lexerActionFactoryMapper.get(type);if(!factory)throw new Error("The specified lexer action type "+type+" is not valid.");return factory(data1,data2)}},OrderedHashMap=class _OrderedHashMap extends HashMap{static{__name(this,"OrderedHashMap")}#keys=[];clear(){super.clear(),this.#keys=[]}get(key){return super.get(key)}set(key,value){let result=super.set(key,value);return result===void 0&&this.#keys.push(key),result}setIfAbsent(key,value){let result=super.setIfAbsent(key,value);return result===void 0&&this.#keys.push(key),result}values(){return{[Symbol.iterator]:()=>{let index2=0;return{next:__name(()=>index2<this.#keys.length?{done:!1,value:super.get(this.#keys[index2++])}:{done:!0,value:void 0},"next")}}}}keys(){return this.#keys[Symbol.iterator]()}equals(o){return o instanceof _OrderedHashMap?super.equals(o):!1}},ATNSerializer=class _ATNSerializer{static{__name(this,"ATNSerializer")}atn;data=[];sets=new OrderedHashMap(ObjectEqualityComparator.instance);nonGreedyStates=[];precedenceStates=[];constructor(atn){this.atn=atn}static getSerialized(atn){return new _ATNSerializer(atn).serialize()}static serializeSets(data,sets){data.push(sets.length);for(let set of sets){let containsEof=set.contains(Token.EOF),intervals=[...set];containsEof&&intervals[0].stop===Token.EOF?data.push(intervals.length-1):data.push(intervals.length),data.push(containsEof?1:0);for(let interval of intervals){if(interval.start===Token.EOF){if(interval.stop===Token.EOF)continue;data.push(0)}else data.push(interval.start);data.push(interval.stop)}}}serialize(){this.addPreamble();let edgeCount=this.addEdges();this.addNonGreedyStates(),this.addPrecedenceStates(),this.addRuleStatesAndLexerTokenTypes(),this.addModeStartStates();let setIndices=this.addSets();return this.addEdges(edgeCount,setIndices),this.addDecisionStartStates(),this.addLexerActions(),this.data}addPreamble(){this.data.push(ATNDeserializer.SERIALIZED_VERSION),this.data.push(this.atn.grammarType),this.data.push(this.atn.maxTokenType)}addLexerActions(){if(this.atn.grammarType===ATN.LEXER){this.data.push(this.atn.lexerActions.length);for(let action of this.atn.lexerActions)switch(this.data.push(action.actionType),action.actionType){case LexerActionType.CHANNEL:{let channel=action.channel;this.data.push(channel),this.data.push(0);break}case LexerActionType.CUSTOM:{let ruleIndex=action.ruleIndex,actionIndex=action.actionIndex;this.data.push(ruleIndex),this.data.push(actionIndex);break}case LexerActionType.MODE:{let mode=action.mode;this.data.push(mode),this.data.push(0);break}case LexerActionType.MORE:{this.data.push(0),this.data.push(0);break}case LexerActionType.POP_MODE:{this.data.push(0),this.data.push(0);break}case LexerActionType.PUSH_MODE:{let mode=action.mode;this.data.push(mode),this.data.push(0);break}case LexerActionType.SKIP:{this.data.push(0),this.data.push(0);break}case LexerActionType.TYPE:{let type=action.type;this.data.push(type),this.data.push(0);break}default:throw new Error(`The specified lexer action type ${action.actionType} is not valid.`)}}}addDecisionStartStates(){this.data.push(this.atn.decisionToState.length);for(let decStartState of this.atn.decisionToState)this.data.push(decStartState.stateNumber)}addEdges(...args){switch(args.length){case 0:{let edgeCount=0;this.data.push(this.atn.states.length);for(let s of this.atn.states){if(s===null){this.data.push(ATNState.INVALID_TYPE);continue}let stateType=s.constructor.stateType;s instanceof DecisionState&&s.nonGreedy&&this.nonGreedyStates.push(s.stateNumber),s instanceof RuleStartState&&s.isLeftRecursiveRule&&this.precedenceStates.push(s.stateNumber),this.data.push(stateType),this.data.push(s.ruleIndex),s.constructor.stateType===ATNState.LOOP_END?this.data.push(s.loopBackState.stateNumber):s instanceof BlockStartState&&this.data.push(s.endState.stateNumber),s.constructor.stateType!==ATNState.RULE_STOP&&(edgeCount+=s.transitions.length);for(let t of s.transitions){let edgeType=t.transitionType;if(edgeType===Transition.SET||edgeType===Transition.NOT_SET){let st=t;this.sets.set(st.set,!0)}}}return edgeCount}case 2:{let[edgeCount,setIndices]=args;this.data.push(edgeCount);for(let s of this.atn.states)if(s!==null&&s.constructor.stateType!==ATNState.RULE_STOP)for(let t of s.transitions){if(this.atn.states[t.target.stateNumber]===null)throw new Error("Cannot serialize a transition to a removed state.");let src=s.stateNumber,trg=t.target.stateNumber,edgeType=t.transitionType,arg1=0,arg2=0,arg3=0;switch(edgeType){case Transition.RULE:{trg=t.followState.stateNumber,arg1=t.target.stateNumber,arg2=t.ruleIndex,arg3=t.precedence;break}case Transition.PRECEDENCE:{arg1=t.precedence;break}case Transition.PREDICATE:{let pt=t;arg1=pt.ruleIndex,arg2=pt.predIndex,arg3=pt.isCtxDependent?1:0;break}case Transition.RANGE:{arg1=t.start,arg2=t.stop,arg1===Token.EOF&&(arg1=0,arg3=1);break}case Transition.ATOM:{arg1=t.labelValue,arg1===Token.EOF&&(arg1=0,arg3=1);break}case Transition.ACTION:{let at=t;arg1=at.ruleIndex,arg2=at.actionIndex,arg3=at.isCtxDependent?1:0;break}case Transition.SET:{arg1=setIndices.get(t.set);break}case Transition.NOT_SET:{arg1=setIndices.get(t.set);break}case Transition.WILDCARD:break;default:}this.data.push(src),this.data.push(trg),this.data.push(edgeType),this.data.push(arg1),this.data.push(arg2),this.data.push(arg3)}break}default:throw new Error("Invalid number of arguments")}}addSets(){_ATNSerializer.serializeSets(this.data,[...this.sets.keys()]);let setIndices=new HashMap,setIndex=0;for(let s of this.sets.keys())setIndices.set(s,setIndex++);return setIndices}addModeStartStates(){let modeCount=this.atn.modeToStartState.length;if(this.data.push(modeCount),modeCount>0)for(let modeStartState of this.atn.modeToStartState)this.data.push(modeStartState.stateNumber)}addRuleStatesAndLexerTokenTypes(){let ruleCount=this.atn.ruleToStartState.length;this.data.push(ruleCount);for(let r=0;r<ruleCount;r++){let ruleStartState=this.atn.ruleToStartState[r];this.data.push(ruleStartState.stateNumber),this.atn.grammarType===ATN.LEXER&&this.data.push(this.atn.ruleToTokenType[r])}}addPrecedenceStates(){this.data.push(this.precedenceStates.length);for(let state of this.precedenceStates)this.data.push(state)}addNonGreedyStates(){this.data.push(this.nonGreedyStates.length);for(let state of this.nonGreedyStates)this.data.push(state)}},DFAState=class _DFAState{static{__name(this,"DFAState")}stateNumber=-1;configs;edges=[];isAcceptState=!1;prediction=-1;lexerActionExecutor=null;requiresFullContext=!1;predicates=null;constructor(configs){configs&&(this.configs=configs)}static fromState(stateNumber){let result=new _DFAState;return result.stateNumber=stateNumber,result}static fromConfigs(configs){return new _DFAState(configs)}static hashCode(state){return state.configs.hashCode()}static equals(a,b){return a.configs.equals(b.configs)}getAltSet(){let alts=new Set;for(let config of this.configs)alts.add(config.alt);return alts.size===0?null:alts}toString(){let buf="";return buf+=this.stateNumber,buf+=":",buf+=this.configs?this.configs.toString():"",this.isAcceptState&&(buf+="=>",this.predicates?buf+=arrayToString(this.predicates):buf+=this.prediction),buf.toString()}},ATNSimulator=class{static{__name(this,"ATNSimulator")}static ERROR=DFAState.fromState(2147483647);atn;sharedContextCache;constructor(atn,sharedContextCache){return this.atn=atn,this.sharedContextCache=sharedContextCache,this}getCachedContext(context){if(!this.sharedContextCache)return context;let visited=new HashMap(ObjectEqualityComparator.instance);return getCachedPredictionContext(context,this.sharedContextCache,visited)}},CodePointTransitions=class _CodePointTransitions{static{__name(this,"CodePointTransitions")}static createWithCodePoint(target,codePoint){return _CodePointTransitions.createWithCodePointRange(target,codePoint,codePoint)}static createWithCodePointRange(target,codePointFrom,codePointTo){return codePointFrom===codePointTo?new AtomTransition(target,codePointFrom):new RangeTransition(target,codePointFrom,codePointTo)}},DecisionInfo=class{static{__name(this,"DecisionInfo")}decision=0;invocations=0;timeInPrediction=0;sllTotalLook=0;sllMinLook=0;sllMaxLook=0;sllMaxLookEvent;llTotalLook=0;llMinLook=0;llMaxLook=0;llMaxLookEvent;contextSensitivities;errors;ambiguities;predicateEvals;sllATNTransitions=0;sllDFATransitions=0;llFallback=0;llATNTransitions=0;llDFATransitions=0;constructor(decision){this.decision=decision,this.contextSensitivities=[],this.errors=[],this.ambiguities=[],this.predicateEvals=[]}toString(){return"{decision="+this.decision+", contextSensitivities="+this.contextSensitivities.length+", errors="+this.errors.length+", ambiguities="+this.ambiguities.length+", sllLookahead="+this.sllTotalLook+", sllATNTransitions="+this.sllATNTransitions+", sllDFATransitions="+this.sllDFATransitions+", llFallback="+this.llFallback+", llLookahead="+this.llTotalLook+", llATNTransitions="+this.llATNTransitions+"}"}},LexerATNConfig=class _LexerATNConfig extends ATNConfig{static{__name(this,"LexerATNConfig")}lexerActionExecutor;passedThroughNonGreedyDecision;constructor(config,state,context,lexerActionExecutor){return super(config,state,context??config.context,context?SemanticContext.NONE:config.semanticContext),this.lexerActionExecutor=context?lexerActionExecutor:config.lexerActionExecutor??null,this.passedThroughNonGreedyDecision=_LexerATNConfig.checkNonGreedyDecision(config,this.state),this}static createWithExecutor(config,state,lexerActionExecutor){return new _LexerATNConfig(config,state,config.context,lexerActionExecutor)}static createWithConfig(state,config,context){return new _LexerATNConfig(config,state,context??null,config.lexerActionExecutor)}static createWithContext(state,alt,context){return new _LexerATNConfig({alt},state,context,null)}static checkNonGreedyDecision(source,target){return source.passedThroughNonGreedyDecision||"nonGreedy"in target&&target.nonGreedy}hashCode(){if(this.cachedHashCode===void 0){let hashCode=MurmurHash.initialize(7);hashCode=MurmurHash.update(hashCode,this.state.stateNumber),hashCode=MurmurHash.update(hashCode,this.alt),hashCode=MurmurHash.updateFromComparable(hashCode,this.context),hashCode=MurmurHash.updateFromComparable(hashCode,this.semanticContext),hashCode=MurmurHash.update(hashCode,this.passedThroughNonGreedyDecision?1:0),hashCode=MurmurHash.updateFromComparable(hashCode,this.lexerActionExecutor),hashCode=MurmurHash.finish(hashCode,6),this.cachedHashCode=hashCode}return this.cachedHashCode}equals(other){return this===other?!0:this.passedThroughNonGreedyDecision===other.passedThroughNonGreedyDecision&&(this.lexerActionExecutor&&other.lexerActionExecutor?this.lexerActionExecutor.equals(other.lexerActionExecutor):!other.lexerActionExecutor)&&super.equals(other)}},BaseErrorListener=class{static{__name(this,"BaseErrorListener")}syntaxError(recognizer,offendingSymbol,line,column,msg,e){}reportAmbiguity(recognizer,dfa,startIndex,stopIndex,exact,ambigAlts,configs){}reportAttemptingFullContext(recognizer,dfa,startIndex,stopIndex,conflictingAlts,configs){}reportContextSensitivity(recognizer,dfa,startIndex,stopIndex,prediction,configs){}},ConsoleErrorListener=class _ConsoleErrorListener extends BaseErrorListener{static{__name(this,"ConsoleErrorListener")}static instance=new _ConsoleErrorListener;syntaxError(recognizer,offendingSymbol,line,charPositionInLine,msg,_e){console.error("line "+line+":"+charPositionInLine+" "+msg)}},ProxyErrorListener=class extends BaseErrorListener{constructor(delegates){return super(),this.delegates=delegates,this}static{__name(this,"ProxyErrorListener")}syntaxError(recognizer,offendingSymbol,line,column,msg,e){this.delegates.forEach(d=>{d.syntaxError(recognizer,offendingSymbol,line,column,msg,e)})}reportAmbiguity(recognizer,dfa,startIndex,stopIndex,exact,ambigAlts,configs){this.delegates.forEach(d=>{d.reportAmbiguity(recognizer,dfa,startIndex,stopIndex,exact,ambigAlts,configs)})}reportAttemptingFullContext(recognizer,dfa,startIndex,stopIndex,conflictingAlts,configs){this.delegates.forEach(d=>{d.reportAttemptingFullContext(recognizer,dfa,startIndex,stopIndex,conflictingAlts,configs)})}reportContextSensitivity(recognizer,dfa,startIndex,stopIndex,prediction,configs){this.delegates.forEach(d=>{d.reportContextSensitivity(recognizer,dfa,startIndex,stopIndex,prediction,configs)})}},Recognizer=class _Recognizer{static{__name(this,"Recognizer")}static EOF=-1;static tokenTypeMapCache=new Map;static ruleIndexMapCache=new Map;interpreter;listeners=[ConsoleErrorListener.instance];stateNumber=-1;checkVersion(toolVersion){let runtimeVersion="4.13.1";runtimeVersion!==toolVersion&&console.error("ANTLR runtime and generated code versions disagree: "+runtimeVersion+"!="+toolVersion)}addErrorListener(listener){this.listeners.push(listener)}removeErrorListeners(){this.listeners=[]}removeErrorListener(listener){for(let i=0;i<this.listeners.length;i++)if(this.listeners[i]===listener){this.listeners.splice(i,1);return}}getErrorListeners(){return this.listeners}getTokenTypeMap(){let vocabulary=this.vocabulary,result=_Recognizer.tokenTypeMapCache.get(vocabulary);if(!result){result=new Map;for(let i=0;i<=this.atn.maxTokenType;i++){let literalName=vocabulary.getLiteralName(i);literalName&&result.set(literalName,i);let symbolicName=vocabulary.getSymbolicName(i);symbolicName&&result.set(symbolicName,i)}result.set("EOF",Token.EOF),_Recognizer.tokenTypeMapCache.set(vocabulary,result)}return result}getRuleIndexMap(){let ruleNames=this.ruleNames,result=_Recognizer.ruleIndexMapCache.get(ruleNames);return result||(result=new Map,ruleNames.forEach((ruleName,idx)=>result.set(ruleName,idx)),_Recognizer.ruleIndexMapCache.set(ruleNames,result)),result}getTokenType(tokenName){let ttype=this.getTokenTypeMap().get(tokenName);return ttype||Token.INVALID_TYPE}getErrorHeader(e){let line=e.offendingToken?.line,column=e.offendingToken?.column;return"line "+line+":"+column}get errorListenerDispatch(){return new ProxyErrorListener(this.listeners)}sempred(_localctx,_ruleIndex,_actionIndex){return!0}precpred(_localctx,_precedence){return!0}action(_localctx,_ruleIndex,_actionIndex){}get atn(){return this.interpreter.atn}get state(){return this.stateNumber}set state(state){this.stateNumber=state}getParseInfo(){}},CommonTokenFactory=class _CommonTokenFactory{static{__name(this,"CommonTokenFactory")}static DEFAULT=new _CommonTokenFactory;copyText=!1;constructor(copyText){this.copyText=copyText??!1}create(source,type,text,channel,start,stop,line,column){let t=CommonToken.fromSource(source,type,channel,start,stop);return t.line=line,t.column=column,text?t.text=text:this.copyText&&source[1]!==null&&(t.text=source[1].getTextFromRange(start,stop)),t}},RecognitionException=class _RecognitionException extends Error{static{__name(this,"RecognitionException")}ctx;offendingToken=null;offendingState=-1;recognizer;input;constructor(params){super(params.message),Error.captureStackTrace&&Error.captureStackTrace(this,_RecognitionException),this.message=params.message,this.recognizer=params.recognizer,this.input=params.input,this.ctx=params.ctx,this.recognizer!==null&&(this.offendingState=this.recognizer.state)}getExpectedTokens(){return this.recognizer!==null&&this.ctx!==null?this.recognizer.atn.getExpectedTokens(this.offendingState,this.ctx):null}toString(){return this.message}},LexerNoViableAltException=class extends RecognitionException{static{__name(this,"LexerNoViableAltException")}startIndex;deadEndConfigs;constructor(lexer,input,startIndex,deadEndConfigs){super({message:"",recognizer:lexer,input,ctx:null}),this.startIndex=startIndex,this.deadEndConfigs=deadEndConfigs}toString(){let symbol="";return this.input&&this.startIndex>=0&&this.startIndex<this.input.size&&(symbol=this.input.getTextFromRange(this.startIndex,this.startIndex)),`LexerNoViableAltException(${symbol})`}},Lexer=class _Lexer extends Recognizer{static{__name(this,"Lexer")}static DEFAULT_MODE=0;static MORE=-2;static SKIP=-3;static DEFAULT_TOKEN_CHANNEL=Token.DEFAULT_CHANNEL;static HIDDEN=Token.HIDDEN_CHANNEL;options={minDFAEdge:0,maxDFAEdge:256,minCodePoint:0,maxCodePoint:1114111};tokenStartCharIndex=-1;channel=0;type=0;mode=_Lexer.DEFAULT_MODE;currentTokenColumn=0;currentTokenStartLine=0;input;token=null;hitEOF=!1;factory;#modeStack=[];#text;constructor(input,options){super(),this.options={...this.options,...options},this.input=input,this.factory=CommonTokenFactory.DEFAULT}reset(seekBack=!0){seekBack&&this.input.seek(0),this.token=null,this.type=Token.INVALID_TYPE,this.channel=Token.DEFAULT_CHANNEL,this.tokenStartCharIndex=-1,this.currentTokenColumn=-1,this.currentTokenStartLine=-1,this.#text=void 0,this.hitEOF=!1,this.mode=_Lexer.DEFAULT_MODE,this.#modeStack=[],this.interpreter.reset()}nextToken(){if(this.input===null)throw new Error("nextToken requires a non-null input stream.");let tokenStartMarker=this.input.mark();try{for(;;){if(this.hitEOF)return this.emitEOF(),this.token;this.token=null,this.channel=Token.DEFAULT_CHANNEL,this.tokenStartCharIndex=this.input.index,this.currentTokenColumn=this.interpreter.column,this.currentTokenStartLine=this.interpreter.line,this.#text=void 0;let continueOuter=!1;for(;;){this.type=Token.INVALID_TYPE;let ttype=_Lexer.SKIP;try{ttype=this.interpreter.match(this.input,this.mode)}catch(e){if(e instanceof LexerNoViableAltException)this.notifyListeners(e),this.recover(e);else throw e}if(this.input.LA(1)===Token.EOF&&(this.hitEOF=!0),this.type===Token.INVALID_TYPE&&(this.type=ttype),this.type===_Lexer.SKIP){continueOuter=!0;break}if(this.type!==_Lexer.MORE)break}if(!continueOuter)return this.token===null&&this.emit(),this.token}}finally{this.input.release(tokenStartMarker)}}skip(){this.type=_Lexer.SKIP}more(){this.type=_Lexer.MORE}pushMode(m2){LexerATNSimulator.debug&&console.log("pushMode "+m2),this.#modeStack.push(this.mode),this.mode=m2}popMode(){if(this.#modeStack.length===0)throw new Error("Empty Stack");return LexerATNSimulator.debug&&console.log("popMode back to "+this.#modeStack.slice(0,-1)),this.mode=this.#modeStack.pop(),this.mode}get modeStack(){return this.#modeStack}emitToken(token){this.token=token}emit(){let t=this.factory.create([this,this.input],this.type,this.#text,this.channel,this.tokenStartCharIndex,this.getCharIndex()-1,this.currentTokenStartLine,this.currentTokenColumn);return this.emitToken(t),t}emitEOF(){let eof=this.factory.create([this,this.input],Token.EOF,void 0,Token.DEFAULT_CHANNEL,this.input.index,this.input.index-1,this.line,this.column);return this.emitToken(eof),eof}getCharIndex(){return this.input.index}getAllTokens(){let tokens=[],t=this.nextToken();for(;t.type!==Token.EOF;)tokens.push(t),t=this.nextToken();return tokens}notifyListeners(e){let start=this.tokenStartCharIndex,stop=this.input.index,text=this.input.getTextFromRange(start,stop),msg="token recognition error at: '"+this.getErrorDisplay(text)+"'";this.errorListenerDispatch.syntaxError(this,null,this.currentTokenStartLine,this.currentTokenColumn,msg,e)}getErrorDisplay(s){return s}getErrorDisplayForChar(c){return c.charCodeAt(0)===Token.EOF?"<EOF>":c===`
|
|
39
|
+
`?"\\n":c===" "?"\\t":c==="\r"?"\\r":c}getCharErrorDisplay(c){return"'"+this.getErrorDisplayForChar(c)+"'"}recover(re){this.input.LA(1)!==Token.EOF&&(re instanceof LexerNoViableAltException?this.interpreter.consume(this.input):this.input.consume())}get inputStream(){return this.input}set inputStream(input){this.reset(!1),this.input=input}set tokenFactory(factory){this.factory=factory}get tokenFactory(){return this.factory}get sourceName(){return this.input.getSourceName()}get line(){return this.interpreter.line}set line(line){this.interpreter.line=line}get column(){return this.interpreter.column}set column(column){this.interpreter.column=column}get text(){return this.#text?this.#text:this.interpreter.getText(this.input)}set text(text){this.#text=text}},DFASerializer=class{static{__name(this,"DFASerializer")}dfa;vocabulary;constructor(dfa,vocabulary){this.dfa=dfa,this.vocabulary=vocabulary}toString(){if(!this.dfa.s0)return"";let buf="",states=this.dfa.getStates();for(let s of states){let n2=0;n2=s.edges.length;for(let i=0;i<n2;i++){let t=s.edges[i];if(t&&t.stateNumber!==2147483647){buf+=this.getStateString(s);let label=this.getEdgeLabel(i);buf+="-",buf+=label,buf+="->",buf+=this.getStateString(t),buf+=`
|
|
40
|
+
`}}}return buf}getEdgeLabel(i){return`${this.vocabulary.getDisplayName(i-1)}`}getStateString(s){let n2=s.stateNumber,baseStateStr=(s.isAcceptState?":":"")+"s"+n2+(s.requiresFullContext?"^":"");return s.isAcceptState?s.predicates!==null?`${baseStateStr}=>${s.predicates.toString()}`:`${baseStateStr}=>${s.prediction}`:`${baseStateStr}`}},LexerDFASerializer=class extends DFASerializer{static{__name(this,"LexerDFASerializer")}constructor(dfa){super(dfa,Vocabulary.EMPTY_VOCABULARY)}getEdgeLabel=__name(i=>"'"+String.fromCharCode(i)+"'","getEdgeLabel")},DFA=class{static{__name(this,"DFA")}s0;decision;atnStartState;isPrecedenceDfa;states=new Map;constructor(atnStartState,decision){this.atnStartState=atnStartState,this.decision=decision??0;let precedenceDfa=!1;atnStartState instanceof StarLoopEntryState&&atnStartState.precedenceRuleDecision&&(precedenceDfa=!0,this.s0=DFAState.fromState(-1)),this.isPrecedenceDfa=precedenceDfa}[Symbol.iterator]=()=>this.states.values()[Symbol.iterator]();getPrecedenceStartState=__name(precedence=>{if(!this.isPrecedenceDfa)throw new Error("Only precedence DFAs may contain a precedence start state.");if(!(!this.s0||!this.s0.edges||precedence<0||precedence>=this.s0.edges.length))return this.s0.edges[precedence]},"getPrecedenceStartState");setPrecedenceStartState=__name((precedence,startState)=>{if(!this.isPrecedenceDfa)throw new Error("Only precedence DFAs may contain a precedence start state.");precedence<0||!this.s0||(this.s0.edges[precedence]=startState)},"setPrecedenceStartState");getStates(){let result=[...this.states.values()];return result.sort((o1,o2)=>o1.stateNumber-o2.stateNumber),result}getState(state){return this.states.get(state.configs.hashCode())??null}getStateForConfigs(configs){return this.states.get(configs.hashCode())??null}addState(state){let hash=state.configs.hashCode();this.states.has(hash)||(this.states.set(hash,state),state.stateNumber=this.states.size-1)}toString(vocabulary){return vocabulary?this.s0?new DFASerializer(this,vocabulary).toString()??"":"":this.toString(Vocabulary.EMPTY_VOCABULARY)}toLexerString(){return this.s0?new LexerDFASerializer(this).toString()??"":""}get length(){return this.states.size}},LexerIndexedCustomAction=class _LexerIndexedCustomAction{static{__name(this,"LexerIndexedCustomAction")}offset;action;actionType;isPositionDependent=!0;cachedHashCode;constructor(offset,action){this.actionType=action.actionType,this.offset=offset,this.action=action}execute(lexer){this.action.execute(lexer)}hashCode(){if(this.cachedHashCode===void 0){let hash=MurmurHash.initialize();hash=MurmurHash.update(hash,this.offset),hash=MurmurHash.updateFromComparable(hash,this.action),this.cachedHashCode=MurmurHash.finish(hash,2)}return this.cachedHashCode}equals(other){return this===other?!0:other instanceof _LexerIndexedCustomAction?this.offset===other.offset&&this.action===other.action:!1}},LexerActionExecutor=class _LexerActionExecutor{static{__name(this,"LexerActionExecutor")}lexerActions;actionType;isPositionDependent=!1;cachedHashCode;constructor(lexerActions){return this.actionType=-1,this.lexerActions=lexerActions??[],this}static append(lexerActionExecutor,lexerAction){if(lexerActionExecutor===null)return new _LexerActionExecutor([lexerAction]);let lexerActions=lexerActionExecutor.lexerActions.concat([lexerAction]);return new _LexerActionExecutor(lexerActions)}fixOffsetBeforeMatch(offset){let updatedLexerActions=null;for(let i=0;i<this.lexerActions.length;i++)this.lexerActions[i].isPositionDependent&&!(this.lexerActions[i]instanceof LexerIndexedCustomAction)&&(updatedLexerActions===null&&(updatedLexerActions=this.lexerActions.concat([])),updatedLexerActions[i]=new LexerIndexedCustomAction(offset,this.lexerActions[i]));return updatedLexerActions===null?this:new _LexerActionExecutor(updatedLexerActions)}execute(lexer,input,startIndex){if(input===void 0||startIndex===void 0)return;let requiresSeek=!1,stopIndex=input.index;try{for(let lexerAction of this.lexerActions){let action=lexerAction;if(lexerAction instanceof LexerIndexedCustomAction){let offset=lexerAction.offset;input.seek(startIndex+offset),action=lexerAction.action,requiresSeek=startIndex+offset!==stopIndex}else lexerAction.isPositionDependent&&(input.seek(stopIndex),requiresSeek=!1);action.execute(lexer)}}finally{requiresSeek&&input.seek(stopIndex)}}hashCode(){if(this.cachedHashCode===void 0){let hashCode=MurmurHash.initialize(7);for(let lexerAction of this.lexerActions)hashCode=MurmurHash.update(hashCode,lexerAction.hashCode());this.cachedHashCode=MurmurHash.finish(hashCode,this.lexerActions.length)}return this.cachedHashCode}equals(other){return this===other?!0:this.cachedHashCode!==other.cachedHashCode||this.lexerActions.length!==other.lexerActions.length?!1:this.lexerActions.every((action,index2)=>action.equals(other.lexerActions[index2]))}},OrderedHashSet=class _OrderedHashSet extends HashSet{static{__name(this,"OrderedHashSet")}elements=[];getOrAdd(o){let oldSize=this.size,result=super.getOrAdd(o);return this.size>oldSize&&this.elements.push(o),result}equals(o){return o instanceof _OrderedHashSet?super.equals(o):!1}clear(){super.clear(),this.elements=[]}*[Symbol.iterator](){yield*this.elements}toArray(){return this.elements.slice(0)}},OrderedATNConfigSet=class extends ATNConfigSet{static{__name(this,"OrderedATNConfigSet")}constructor(){super(),this.configLookup=new OrderedHashSet}},LexerATNSimulator=class _LexerATNSimulator extends ATNSimulator{static{__name(this,"LexerATNSimulator")}static debug=!1;decisionToDFA;recognizer=null;startIndex=-1;line=1;column=0;mode=Lexer.DEFAULT_MODE;prevAccept;options;lexerATNConfigFactory;constructor(recog,atn,decisionToDFA,sharedContextCache){super(atn,sharedContextCache),this.decisionToDFA=decisionToDFA,this.recognizer=recog,recog?this.options=recog.options:this.options={minDFAEdge:0,maxDFAEdge:256,minCodePoint:0,maxCodePoint:1114111}}match(input,mode){this.mode=mode;let mark=input.mark();try{this.startIndex=input.index,this.prevAccept=void 0;let dfa=this.decisionToDFA[mode];return dfa.s0?this.execATN(input,dfa.s0):this.matchATN(input)}finally{input.release(mark)}}reset(){this.prevAccept=void 0,this.startIndex=-1,this.line=1,this.column=0,this.mode=Lexer.DEFAULT_MODE}clearDFA(){for(let d=0;d<this.decisionToDFA.length;d++)this.decisionToDFA[d]=new DFA(this.atn.getDecisionState(d),d)}getDFA(mode){return this.decisionToDFA[mode]}getText(input){return input.getTextFromRange(this.startIndex,input.index-1)}consume(input){input.LA(1)===10?(this.line+=1,this.column=0):this.column+=1,input.consume()}getTokenName(tt){return tt===Token.EOF?"EOF":"'"+String.fromCharCode(tt)+"'"}matchATN(input){let startState=this.atn.modeToStartState[this.mode];_LexerATNSimulator.debug&&console.log("matchATN mode "+this.mode+" start: "+startState);let oldMode=this.mode,s0Closure=this.computeStartState(input,startState),suppressEdge=s0Closure.hasSemanticContext;s0Closure.hasSemanticContext=!1;let next=this.addDFAState(s0Closure);suppressEdge||(this.decisionToDFA[this.mode].s0=next);let predict=this.execATN(input,next);return _LexerATNSimulator.debug&&console.log("DFA after matchATN: "+this.decisionToDFA[oldMode].toLexerString()),predict}execATN(input,state){_LexerATNSimulator.debug&&console.log("start state closure="+state.configs),state.isAcceptState&&this.captureSimState(input,state);let t=input.LA(1);for(;;){_LexerATNSimulator.debug&&console.log("execATN loop starting closure: "+state.configs);let target=this.getExistingTargetState(state,t);if(target||(target=this.computeTargetState(input,state,t)),target===ATNSimulator.ERROR||(t!==Token.EOF&&this.consume(input),target.isAcceptState&&(this.captureSimState(input,target),t===Token.EOF)))break;t=input.LA(1),state=target}return this.failOrAccept(input,state.configs,t)}getExistingTargetState(s,t){if(t>=this.options.minDFAEdge&&t<=this.options.maxDFAEdge){let target=s.edges[t-this.options.minDFAEdge];return _LexerATNSimulator.debug&&target&&console.log("reuse state "+s.stateNumber+" edge to "+target.stateNumber),target}}computeTargetState(input,s,t){let reach=new OrderedATNConfigSet;return this.getReachableConfigSet(input,s.configs,reach,t),reach.length===0?(reach.hasSemanticContext||this.addDFAEdge(s,t,ATNSimulator.ERROR),ATNSimulator.ERROR):this.addDFAEdge(s,t,null,reach)}failOrAccept(input,reach,t){if(this.prevAccept?.dfaState){let{dfaState,index:index2,line,column}=this.prevAccept;return this.accept(input,dfaState.lexerActionExecutor,this.startIndex,index2,line,column),dfaState.prediction}if(t===Token.EOF&&input.index===this.startIndex)return Token.EOF;throw new LexerNoViableAltException(this.recognizer,input,this.startIndex,reach)}getReachableConfigSet(input,closure,reach,t){let skipAlt=ATN.INVALID_ALT_NUMBER;for(let cfg of closure){let currentAltReachedAcceptState=cfg.alt===skipAlt;if(!(currentAltReachedAcceptState&&cfg.passedThroughNonGreedyDecision)){_LexerATNSimulator.debug&&console.log(`testing %s at %s
|
|
41
|
+
`,this.getTokenName(t),cfg.toString(this.recognizer,!0));for(let trans of cfg.state.transitions){let target=this.getReachableTarget(trans,t);if(target){let lexerActionExecutor=cfg.lexerActionExecutor;lexerActionExecutor&&(lexerActionExecutor=lexerActionExecutor.fixOffsetBeforeMatch(input.index-this.startIndex));let treatEofAsEpsilon=t===Token.EOF,config=LexerATNConfig.createWithExecutor(cfg,target,lexerActionExecutor);this.closure(input,config,reach,currentAltReachedAcceptState,!0,treatEofAsEpsilon)&&(skipAlt=cfg.alt)}}}}}accept(input,lexerActionExecutor,startIndex,index2,line,charPos){_LexerATNSimulator.debug&&console.log(`ACTION %s
|
|
42
|
+
`,lexerActionExecutor),input.seek(index2),this.line=line,this.column=charPos,lexerActionExecutor&&this.recognizer&&lexerActionExecutor.execute(this.recognizer,input,startIndex)}getReachableTarget(trans,t){if(trans.matches(t,this.options.minCodePoint,this.options.maxCodePoint))return trans.target}computeStartState(input,p){let initialContext=EmptyPredictionContext.instance,configs=new OrderedATNConfigSet;for(let i=0;i<p.transitions.length;i++){let target=p.transitions[i].target,cfg=LexerATNConfig.createWithContext(target,i+1,initialContext);this.closure(input,cfg,configs,!1,!1,!1)}return configs}closure(input,config,configs,currentAltReachedAcceptState,speculative,treatEofAsEpsilon){let cfg=null;if(_LexerATNSimulator.debug&&console.log("closure("+config.toString(this.recognizer,!0)+")"),config.state.constructor.stateType===ATNState.RULE_STOP){if(_LexerATNSimulator.debug&&(this.recognizer!==null?console.log(`closure at %s rule stop %s
|
|
43
|
+
`,this.recognizer.ruleNames[config.state.ruleIndex],config):console.log(`closure at rule stop %s
|
|
44
|
+
`,config)),!config.context||config.context.hasEmptyPath()){if(!config.context||config.context.isEmpty())return configs.add(config),!0;configs.add(LexerATNConfig.createWithConfig(config.state,config,EmptyPredictionContext.instance)),currentAltReachedAcceptState=!0}if(config.context&&!config.context.isEmpty()){for(let i=0;i<config.context.length;i++)if(config.context.getReturnState(i)!==PredictionContext.EMPTY_RETURN_STATE){let newContext=config.context.getParent(i),returnState=this.atn.states[config.context.getReturnState(i)];cfg=LexerATNConfig.createWithConfig(returnState,config,newContext),currentAltReachedAcceptState=this.closure(input,cfg,configs,currentAltReachedAcceptState,speculative,treatEofAsEpsilon)}}return currentAltReachedAcceptState}config.state.epsilonOnlyTransitions||(!currentAltReachedAcceptState||!config.passedThroughNonGreedyDecision)&&configs.add(config);for(let trans of config.state.transitions)cfg=this.getEpsilonTarget(input,config,trans,configs,speculative,treatEofAsEpsilon),cfg&&(currentAltReachedAcceptState=this.closure(input,cfg,configs,currentAltReachedAcceptState,speculative,treatEofAsEpsilon));return currentAltReachedAcceptState}getEpsilonTarget(input,config,trans,configs,speculative,treatEofAsEpsilon){this.lexerATNConfigFactory||this.setupATNFactoryLookup();let factory=this.lexerATNConfigFactory[trans.transitionType];return factory?factory(input,config,trans,configs,speculative,treatEofAsEpsilon):null}setupATNFactoryLookup(){this.lexerATNConfigFactory=[],this.lexerATNConfigFactory[Transition.RULE]=(input,config,trans)=>{let newContext=createSingletonPredictionContext(config.context??void 0,trans.followState.stateNumber);return LexerATNConfig.createWithConfig(trans.target,config,newContext)},this.lexerATNConfigFactory[Transition.PRECEDENCE]=()=>{throw new Error("Precedence predicates are not supported in lexers.")},this.lexerATNConfigFactory[Transition.PREDICATE]=(input,config,trans,configs,speculative)=>{let pt=trans;return _LexerATNSimulator.debug&&console.log("EVAL rule "+pt.ruleIndex+":"+pt.predIndex),configs.hasSemanticContext=!0,this.evaluatePredicate(input,pt.ruleIndex,pt.predIndex,speculative)?LexerATNConfig.createWithConfig(trans.target,config):null},this.lexerATNConfigFactory[Transition.ACTION]=(input,config,trans)=>{if(config.context===null||config.context.hasEmptyPath()){let lexerActionExecutor=LexerActionExecutor.append(config.lexerActionExecutor,this.atn.lexerActions[trans.actionIndex]);return LexerATNConfig.createWithExecutor(config,trans.target,lexerActionExecutor)}else return LexerATNConfig.createWithConfig(trans.target,config)},this.lexerATNConfigFactory[Transition.EPSILON]=(input,config,trans)=>LexerATNConfig.createWithConfig(trans.target,config);let simple=__name((input,config,trans,configs,speculative,treatEofAsEpsilon)=>treatEofAsEpsilon&&trans.matches(Token.EOF,this.options.minCodePoint,this.options.maxCodePoint)?LexerATNConfig.createWithConfig(trans.target,config):null,"simple");this.lexerATNConfigFactory[Transition.ATOM]=simple,this.lexerATNConfigFactory[Transition.RANGE]=simple,this.lexerATNConfigFactory[Transition.SET]=simple}evaluatePredicate(input,ruleIndex,predIndex,speculative){if(!this.recognizer)return!0;if(!speculative)return this.recognizer.sempred(null,ruleIndex,predIndex);let savedColumn=this.column,savedLine=this.line,index2=input.index,marker=input.mark();try{return this.consume(input),this.recognizer.sempred(null,ruleIndex,predIndex)}finally{this.column=savedColumn,this.line=savedLine,input.seek(index2),input.release(marker)}}captureSimState(input,dfaState){this.prevAccept={index:input.index,line:this.line,column:this.column,dfaState}}addDFAEdge(from,tk,to,configs){if(!to&&configs){let suppressEdge=configs.hasSemanticContext;if(configs.hasSemanticContext=!1,to=this.addDFAState(configs),suppressEdge)return to}return tk<this.options.minDFAEdge||tk>this.options.maxDFAEdge||(_LexerATNSimulator.debug&&console.log("EDGE "+from+" -> "+to+" upon "+tk),from.edges[tk-this.options.minDFAEdge]=to),to}addDFAState(configs){let dfa=this.decisionToDFA[this.mode],existing=dfa.getStateForConfigs(configs);if(existing)return existing;let proposed=DFAState.fromConfigs(configs),firstConfigWithRuleStopState=configs.firstStopState;return firstConfigWithRuleStopState&&(proposed.isAcceptState=!0,proposed.lexerActionExecutor=firstConfigWithRuleStopState.lexerActionExecutor,proposed.prediction=this.atn.ruleToTokenType[firstConfigWithRuleStopState.state.ruleIndex]),configs.setReadonly(!0),dfa.addState(proposed),proposed}},ParseInfo=class{static{__name(this,"ParseInfo")}atnSimulator;constructor(atnSimulator){this.atnSimulator=atnSimulator}getDecisionInfo(){return this.atnSimulator.getDecisionInfo()}getLLDecisions(){let decisions=this.atnSimulator.getDecisionInfo(),result=new Array;for(let i=0;i<decisions.length;i++)decisions[i].llFallback>0&&result.push(i);return result}getTotalTimeInPrediction(){let decisions=this.atnSimulator.getDecisionInfo(),t=0;for(let decision of decisions)t+=decision.timeInPrediction;return t}getTotalSLLLookaheadOps(){let decisions=this.atnSimulator.getDecisionInfo(),k=0;for(let decision of decisions)k+=decision.sllTotalLook;return k}getTotalLLLookaheadOps(){let decisions=this.atnSimulator.getDecisionInfo(),k=0;for(let decision of decisions)k+=decision.llTotalLook;return k}getTotalSLLATNLookaheadOps(){let decisions=this.atnSimulator.getDecisionInfo(),k=0;for(let decision of decisions)k+=decision.sllATNTransitions;return k}getTotalLLATNLookaheadOps(){let decisions=this.atnSimulator.getDecisionInfo(),k=0;for(let decision of decisions)k+=decision.llATNTransitions;return k}getTotalATNLookaheadOps(){let decisions=this.atnSimulator.getDecisionInfo(),k=0;for(let decision of decisions)k+=decision.sllATNTransitions,k+=decision.llATNTransitions;return k}getDFASize(decision){if(decision===void 0){let n2=0,decisionToDFA=this.atnSimulator.decisionToDFA;for(let i=0;i<decisionToDFA.length;i++)n2+=this.getDFASize(i);return n2}else return this.atnSimulator.decisionToDFA[decision].length}},NoViableAltException=class extends RecognitionException{static{__name(this,"NoViableAltException")}deadEndConfigs=null;startToken;constructor(recognizer,input=null,startToken=null,offendingToken=null,deadEndConfigs=null,ctx=null){ctx=ctx??recognizer.context,offendingToken=offendingToken??recognizer.getCurrentToken(),startToken=startToken??recognizer.getCurrentToken(),input=input??recognizer.inputStream,super({message:"",recognizer,input,ctx}),this.deadEndConfigs=deadEndConfigs,this.startToken=startToken,this.offendingToken=offendingToken}},DoubleDict=class{static{__name(this,"DoubleDict")}cacheMap;constructor(){this.cacheMap=new HashMap}get(a,b){let d=this.cacheMap.get(a)??null;return d===null?null:d.get(b)??null}set(a,b,o){let d=this.cacheMap.get(a);d||(d=new HashMap,this.cacheMap.set(a,d)),d.set(b,o)}},SubsetEqualityComparer=class _SubsetEqualityComparer{static{__name(this,"SubsetEqualityComparer")}static instance=new _SubsetEqualityComparer;hashCode(config){let hashCode=MurmurHash.initialize(7);return hashCode=MurmurHash.update(hashCode,config.state.stateNumber),hashCode=MurmurHash.updateFromComparable(hashCode,config.context),hashCode=MurmurHash.finish(hashCode,2),hashCode}equals(a,b){return a.state.stateNumber===b.state.stateNumber&&(a.context?.equals(b.context)??!0)}},PredictionMode=class _PredictionMode{static{__name(this,"PredictionMode")}static SLL=0;static LL=1;static LL_EXACT_AMBIG_DETECTION=2;static hasSLLConflictTerminatingPrediction(mode,configs){if(_PredictionMode.allConfigsInRuleStopStates(configs))return!0;if(mode===_PredictionMode.SLL&&configs.hasSemanticContext){let dup=new ATNConfigSet;for(let c of configs)c=ATNConfig.duplicate(c,SemanticContext.NONE),dup.add(c);configs=dup}let altSets=_PredictionMode.getConflictingAltSubsets(configs);return _PredictionMode.hasConflictingAltSet(altSets)&&!_PredictionMode.hasStateAssociatedWithOneAlt(configs)}static hasConfigInRuleStopState(configs){for(let c of configs)if(c.state instanceof RuleStopState)return!0;return!1}static allConfigsInRuleStopStates(configs){for(let c of configs)if(!(c.state instanceof RuleStopState))return!1;return!0}static resolvesToJustOneViableAlt(altSets){return _PredictionMode.getSingleViableAlt(altSets)}static allSubsetsConflict(altSets){return!_PredictionMode.hasNonConflictingAltSet(altSets)}static hasNonConflictingAltSet(altSets){for(let alts of altSets)if(alts.length===1)return!0;return!1}static hasConflictingAltSet(altSets){for(let alts of altSets)if(alts.length>1)return!0;return!1}static allSubsetsEqual(altSets){let first=null;for(let alts of altSets)if(first===null)first=alts;else if(alts!==first)return!1;return!0}static getUniqueAlt(altSets){let all=_PredictionMode.getAlts(altSets);return all.length===1?all.nextSetBit(0):ATN.INVALID_ALT_NUMBER}static getAlts(altSets){let all=new BitSet;return altSets.forEach(alts=>{all.or(alts)}),all}static getConflictingAltSubsets(configs){let configToAlts=new HashMap(SubsetEqualityComparer.instance);for(let cfg of configs){let alts=configToAlts.get(cfg);alts||(alts=new BitSet,configToAlts.set(cfg,alts)),alts.set(cfg.alt)}return Array.from(configToAlts.values())}static getStateToAltMap(configs){let m2=new HashMap(ObjectEqualityComparator.instance);for(let c of configs){let alts=m2.get(c.state);alts||(alts=new BitSet,m2.set(c.state,alts)),alts.set(c.alt)}return m2}static hasStateAssociatedWithOneAlt(configs){let counts={};for(let c of configs){let stateNumber=c.state.stateNumber;counts[stateNumber]||(counts[stateNumber]=0),counts[stateNumber]++}return Object.values(counts).some(count=>count===1)}static getSingleViableAlt(altSets){let result=null;for(let alts of altSets){let minAlt=alts.nextSetBit(0);if(result===null)result=minAlt;else if(result!==minAlt)return ATN.INVALID_ALT_NUMBER}return result??0}},ParserATNSimulator=class _ParserATNSimulator extends ATNSimulator{static{__name(this,"ParserATNSimulator")}static traceATNSimulator=!1;static debug;static debugAdd=!1;static debugClosure=!1;static dfaDebug=!1;static retryDebug=!1;predictionMode;decisionToDFA;parser;mergeCache=new DoubleDict;predictionState;constructor(recog,atn,decisionToDFA,sharedContextCache){super(atn,sharedContextCache),this.parser=recog,this.decisionToDFA=decisionToDFA}static getUniqueAlt(configs){let alt=ATN.INVALID_ALT_NUMBER;for(let c of configs)if(alt===ATN.INVALID_ALT_NUMBER)alt=c.alt;else if(c.alt!==alt)return ATN.INVALID_ALT_NUMBER;return alt}reset(){}clearDFA(){for(let d=0;d<this.decisionToDFA.length;d++)this.decisionToDFA[d]=new DFA(this.atn.getDecisionState(d),d)}adaptivePredict(input,decision,outerContext){(_ParserATNSimulator.debug||_ParserATNSimulator.traceATNSimulator)&&console.log("adaptivePredict decision "+decision+" exec LA(1)=="+this.getLookaheadName(input)+" line "+input.LT(1).line+":"+input.LT(1).column);let dfa=this.decisionToDFA[decision];this.predictionState={input,startIndex:input.index,outerContext:outerContext??void 0,dfa};let m2=input.mark(),index2=input.index;try{let s0;if(dfa.isPrecedenceDfa?s0=dfa.getPrecedenceStartState(this.parser.getPrecedence()):s0=dfa.s0,!s0){outerContext||(outerContext=ParserRuleContext.empty),_ParserATNSimulator.debug&&console.log("predictATN decision "+dfa.decision+" exec LA(1)=="+this.getLookaheadName(input)+", outerContext="+outerContext.toString(this.parser.ruleNames));let s0_closure=this.computeStartState(dfa.atnStartState,ParserRuleContext.empty,!1);dfa.isPrecedenceDfa?(s0_closure=this.applyPrecedenceFilter(s0_closure),s0=this.addDFAState(dfa,DFAState.fromConfigs(s0_closure)),dfa.setPrecedenceStartState(this.parser.getPrecedence(),s0)):(s0=this.addDFAState(dfa,DFAState.fromConfigs(s0_closure)),dfa.s0=s0)}let alt=this.execATN(dfa,s0,input,index2,outerContext);return _ParserATNSimulator.debug&&console.log("DFA after predictATN: "+dfa.toString(this.parser.vocabulary)),alt}finally{this.predictionState.dfa=void 0,this.mergeCache=new DoubleDict,input.seek(index2),input.release(m2)}}execATN(dfa,s0,input,startIndex,outerContext){(_ParserATNSimulator.debug||_ParserATNSimulator.traceATNSimulator)&&console.log("execATN decision "+dfa.decision+", DFA state "+s0+", LA(1)=="+this.getLookaheadName(input)+" line "+input.LT(1).line+":"+input.LT(1).column);let alt,previousState=s0,t=input.LA(1);for(;;){let nextState=this.getExistingTargetState(previousState,t);if(nextState||(nextState=this.computeTargetState(dfa,previousState,t)),nextState===ATNSimulator.ERROR){let e=this.noViableAlt(input,outerContext,previousState.configs,startIndex);if(input.seek(startIndex),alt=this.getSynValidOrSemInvalidAltThatFinishedDecisionEntryRule(previousState.configs,outerContext),alt!==ATN.INVALID_ALT_NUMBER)return alt;throw e}if(nextState.requiresFullContext&&this.predictionMode!==PredictionMode.SLL){let conflictingAlts=null;if(nextState.predicates!==null){_ParserATNSimulator.debug&&console.log("DFA state has preds in DFA sim LL failover");let conflictIndex=input.index;if(conflictIndex!==startIndex&&input.seek(startIndex),conflictingAlts=this.evalSemanticContext(nextState.predicates,outerContext,!0),conflictingAlts.length===1)return _ParserATNSimulator.debug&&console.log("Full LL avoided"),conflictingAlts.nextSetBit(0);conflictIndex!==startIndex&&input.seek(conflictIndex)}_ParserATNSimulator.dfaDebug&&console.log("ctx sensitive state "+outerContext+" in "+nextState);let s0_closure=this.computeStartState(dfa.atnStartState,outerContext,!0);return this.reportAttemptingFullContext(dfa,conflictingAlts,nextState.configs,startIndex,input.index),alt=this.execATNWithFullContext(dfa,nextState,s0_closure,input,startIndex,outerContext),alt}if(nextState.isAcceptState){if(nextState.predicates===null)return nextState.prediction;let stopIndex=input.index;input.seek(startIndex);let alts=this.evalSemanticContext(nextState.predicates,outerContext,!0);if(alts.length===0)throw this.noViableAlt(input,outerContext,nextState.configs,startIndex);return alts.length===1||this.reportAmbiguity(dfa,nextState,startIndex,stopIndex,!1,alts,nextState.configs),alts.nextSetBit(0)}previousState=nextState,t!==Token.EOF&&(input.consume(),t=input.LA(1))}}getExistingTargetState(previousD,t){return previousD.edges[t+1]}computeTargetState(dfa,previousD,t){let reach=this.computeReachSet(previousD.configs,t,!1);if(reach===null)return this.addDFAEdge(dfa,previousD,t,ATNSimulator.ERROR),ATNSimulator.ERROR;let D=DFAState.fromConfigs(reach),predictedAlt=_ParserATNSimulator.getUniqueAlt(reach);if(_ParserATNSimulator.debug){let altSubSets=PredictionMode.getConflictingAltSubsets(reach);console.log("SLL altSubSets="+arrayToString(altSubSets)+", configs="+reach+", predict="+predictedAlt+", allSubsetsConflict="+PredictionMode.allSubsetsConflict(altSubSets)+", conflictingAlts="+this.getConflictingAlts(reach))}return predictedAlt!==ATN.INVALID_ALT_NUMBER?(D.isAcceptState=!0,D.configs.uniqueAlt=predictedAlt,D.prediction=predictedAlt):PredictionMode.hasSLLConflictTerminatingPrediction(this.predictionMode,reach)&&(D.configs.conflictingAlts=this.getConflictingAlts(reach),D.requiresFullContext=!0,D.isAcceptState=!0,D.prediction=D.configs.conflictingAlts.nextSetBit(0)),D.isAcceptState&&D.configs.hasSemanticContext&&(this.predicateDFAState(D,this.atn.getDecisionState(dfa.decision)),D.predicates!==null&&(D.prediction=ATN.INVALID_ALT_NUMBER)),D=this.addDFAEdge(dfa,previousD,t,D),D}getRuleName(index2){return this.parser!==null&&index2>=0?this.parser.ruleNames[index2]:"<rule "+index2+">"}getTokenName(t){if(t===Token.EOF)return"EOF";let displayName=(this.parser?.vocabulary??Vocabulary.EMPTY_VOCABULARY).getDisplayName(t);return displayName===t.toString()?displayName:displayName+"<"+t+">"}getLookaheadName(input){return this.getTokenName(input.LA(1))}dumpDeadEndConfigs(e){console.log("dead end configs: ");let decs=e.deadEndConfigs;for(let c of decs){let trans="no edges";if(c.state.transitions.length>0){let t=c.state.transitions[0];t instanceof AtomTransition?trans="Atom "+this.getTokenName(t.labelValue):t instanceof SetTransition&&(trans=(t instanceof NotSetTransition?"~":"")+"Set "+t.label)}console.error(c.toString(this.parser,!0)+":"+trans)}}predicateDFAState(dfaState,decisionState){let altCount=decisionState.transitions.length,altsToCollectPredsFrom=this.getConflictingAltsOrUniqueAlt(dfaState.configs),altToPred=this.getPredsForAmbigAlts(altsToCollectPredsFrom,dfaState.configs,altCount);altToPred!==null?(dfaState.predicates=this.getPredicatePredictions(altsToCollectPredsFrom,altToPred),dfaState.prediction=ATN.INVALID_ALT_NUMBER):dfaState.prediction=altsToCollectPredsFrom.nextSetBit(0)}execATNWithFullContext(dfa,D,s0,input,startIndex,outerContext){(_ParserATNSimulator.debug||_ParserATNSimulator.traceATNSimulator)&&console.log("execATNWithFullContext "+s0);let fullCtx=!0,foundExactAmbig=!1,reach,previous=s0;input.seek(startIndex);let t=input.LA(1),predictedAlt=-1;for(;;){if(reach=this.computeReachSet(previous,t,fullCtx),reach===null){let e=this.noViableAlt(input,outerContext,previous,startIndex);input.seek(startIndex);let alt=this.getSynValidOrSemInvalidAltThatFinishedDecisionEntryRule(previous,outerContext);if(alt!==ATN.INVALID_ALT_NUMBER)return alt;throw e}let altSubSets=PredictionMode.getConflictingAltSubsets(reach);if(_ParserATNSimulator.debug&&console.log("LL altSubSets="+altSubSets+", predict="+PredictionMode.getUniqueAlt(altSubSets)+", resolvesToJustOneViableAlt="+PredictionMode.resolvesToJustOneViableAlt(altSubSets)),reach.uniqueAlt=_ParserATNSimulator.getUniqueAlt(reach),reach.uniqueAlt!==ATN.INVALID_ALT_NUMBER){predictedAlt=reach.uniqueAlt;break}else if(this.predictionMode!==PredictionMode.LL_EXACT_AMBIG_DETECTION){if(predictedAlt=PredictionMode.resolvesToJustOneViableAlt(altSubSets),predictedAlt!==ATN.INVALID_ALT_NUMBER)break}else if(PredictionMode.allSubsetsConflict(altSubSets)&&PredictionMode.allSubsetsEqual(altSubSets)){foundExactAmbig=!0,predictedAlt=PredictionMode.getSingleViableAlt(altSubSets);break}previous=reach,t!==Token.EOF&&(input.consume(),t=input.LA(1))}return reach.uniqueAlt!==ATN.INVALID_ALT_NUMBER?(this.reportContextSensitivity(dfa,predictedAlt,reach,startIndex,input.index),predictedAlt):(this.reportAmbiguity(dfa,D,startIndex,input.index,foundExactAmbig,reach.getAlts(),reach),predictedAlt)}computeReachSet(closure,t,fullCtx){_ParserATNSimulator.debug&&console.log("in computeReachSet, starting closure: "+closure);let intermediate=new ATNConfigSet(fullCtx),skippedStopStates=null;for(let c of closure){if(_ParserATNSimulator.debug&&console.log("testing "+this.getTokenName(t)+" at "+c),c.state instanceof RuleStopState){(fullCtx||t===Token.EOF)&&(skippedStopStates===null&&(skippedStopStates=[]),skippedStopStates.push(c));continue}for(let trans of c.state.transitions){let target=this.getReachableTarget(trans,t);if(target!==null){let cfg=ATNConfig.createWithConfig(target,c);intermediate.add(cfg,this.mergeCache),_ParserATNSimulator.debugAdd&&console.log("added "+cfg+" to intermediate")}}}let reach=null;if(skippedStopStates===null&&t!==Token.EOF&&(intermediate.length===1||_ParserATNSimulator.getUniqueAlt(intermediate)!==ATN.INVALID_ALT_NUMBER)&&(reach=intermediate),reach===null){reach=new ATNConfigSet(fullCtx);let closureBusy=new HashSet,treatEofAsEpsilon=t===Token.EOF;for(let config of intermediate)this.closure(config,reach,closureBusy,!1,fullCtx,treatEofAsEpsilon)}if(t===Token.EOF&&(reach=this.removeAllConfigsNotInRuleStopState(reach,reach===intermediate)),skippedStopStates!==null&&(!fullCtx||!PredictionMode.hasConfigInRuleStopState(reach)))for(let config of skippedStopStates)reach.add(config,this.mergeCache);return _ParserATNSimulator.traceATNSimulator&&console.log("computeReachSet "+closure+" -> "+reach),reach.length===0?null:reach}removeAllConfigsNotInRuleStopState(configs,lookToEndOfRule){if(PredictionMode.allConfigsInRuleStopStates(configs))return configs;let result=new ATNConfigSet(configs.fullCtx);for(let config of configs){if(config.state instanceof RuleStopState){result.add(config,this.mergeCache);continue}if(lookToEndOfRule&&config.state.epsilonOnlyTransitions&&this.atn.nextTokens(config.state).contains(Token.EPSILON)){let endOfRuleState=this.atn.ruleToStopState[config.state.ruleIndex];result.add(ATNConfig.createWithConfig(endOfRuleState,config),this.mergeCache)}}return result}computeStartState(p,ctx,fullCtx){let initialContext=predictionContextFromRuleContext(this.atn,ctx),configs=new ATNConfigSet(fullCtx);_ParserATNSimulator.traceATNSimulator&&console.log("computeStartState from ATN state "+p+" initialContext="+initialContext.toString(this.parser));for(let i=0;i<p.transitions.length;i++){let target=p.transitions[i].target,c=ATNConfig.createWithContext(target,i+1,initialContext),closureBusy=new HashSet;this.closure(c,configs,closureBusy,!0,fullCtx,!1)}return configs}applyPrecedenceFilter(configs){let statesFromAlt1=[],configSet=new ATNConfigSet(configs.fullCtx);for(let config of configs){if(config.alt!==1)continue;let updatedContext=config.semanticContext.evalPrecedence(this.parser,this.predictionState.outerContext);updatedContext!==null&&(statesFromAlt1[config.state.stateNumber]=config.context,updatedContext!==config.semanticContext?configSet.add(ATNConfig.duplicate(config,updatedContext),this.mergeCache):configSet.add(config,this.mergeCache))}for(let config of configs)if(config.alt!==1){if(!config.precedenceFilterSuppressed){let context=statesFromAlt1[config.state.stateNumber]||null;if(context!==null&&context.equals(config.context))continue}configSet.add(config,this.mergeCache)}return configSet}getReachableTarget(trans,ttype){return trans.matches(ttype,0,this.atn.maxTokenType)?trans.target:null}getPredsForAmbigAlts(ambigAlts,configs,altCount){let altToPred=[];for(let c of configs)ambigAlts.get(c.alt)&&(altToPred[c.alt]=SemanticContext.orContext(altToPred[c.alt]??null,c.semanticContext));let nPredAlts=0;for(let i=1;i<altCount+1;i++){let pred=altToPred[i]??null;pred===null?altToPred[i]=SemanticContext.NONE:pred!==SemanticContext.NONE&&(nPredAlts+=1)}return nPredAlts===0&&(altToPred=null),_ParserATNSimulator.debug&&console.log("getPredsForAmbigAlts result "+arrayToString(altToPred)),altToPred}getPredicatePredictions(ambigAlts,altToPred){let pairs=[],containsPredicate=!1;for(let i=1;i<altToPred.length;i++){let pred=altToPred[i];ambigAlts.get(i)&&pairs.push({pred,alt:i}),pred!==SemanticContext.NONE&&(containsPredicate=!0)}return containsPredicate?pairs:null}getSynValidOrSemInvalidAltThatFinishedDecisionEntryRule(configs,outerContext){let splitConfigs=this.splitAccordingToSemanticValidity(configs,outerContext),semValidConfigs=splitConfigs[0],semInvalidConfigs=splitConfigs[1],alt=this.getAltThatFinishedDecisionEntryRule(semValidConfigs);return alt!==ATN.INVALID_ALT_NUMBER||semInvalidConfigs.length>0&&(alt=this.getAltThatFinishedDecisionEntryRule(semInvalidConfigs),alt!==ATN.INVALID_ALT_NUMBER)?alt:ATN.INVALID_ALT_NUMBER}getAltThatFinishedDecisionEntryRule(configs){let alts=[];for(let c of configs)(c.reachesIntoOuterContext||c.state instanceof RuleStopState&&c.context.hasEmptyPath())&&alts.indexOf(c.alt)<0&&alts.push(c.alt);return alts.length===0?ATN.INVALID_ALT_NUMBER:Math.min(...alts)}splitAccordingToSemanticValidity(configs,outerContext){let succeeded=new ATNConfigSet(configs.fullCtx),failed=new ATNConfigSet(configs.fullCtx);for(let c of configs)c.semanticContext!==SemanticContext.NONE?c.semanticContext.evaluate(this.parser,outerContext)?succeeded.add(c):failed.add(c):succeeded.add(c);return[succeeded,failed]}evalSemanticContext(predPredictions,outerContext,complete){let predictions=new BitSet;for(let pair of predPredictions){if(pair.pred===SemanticContext.NONE){if(predictions.set(pair.alt),!complete)break;continue}let predicateEvaluationResult=pair.pred.evaluate(this.parser,outerContext);if((_ParserATNSimulator.debug||_ParserATNSimulator.dfaDebug)&&console.log("eval pred "+pair+"="+predicateEvaluationResult),predicateEvaluationResult&&(predictions.set(pair.alt),!complete))break}return predictions}closure(config,configs,closureBusy,collectPredicates,fullCtx,treatEofAsEpsilon){this.closureCheckingStopState(config,configs,closureBusy,collectPredicates,fullCtx,0,treatEofAsEpsilon)}closureCheckingStopState(config,configs,closureBusy,collectPredicates,fullCtx,depth,treatEofAsEpsilon){if((_ParserATNSimulator.traceATNSimulator||_ParserATNSimulator.debugClosure)&&console.log("closure("+config.toString(this.parser,!0)+")"),config.state instanceof RuleStopState)if(config.context&&!config.context.isEmpty()){for(let i=0;i<config.context.length;i++){if(config.context.getReturnState(i)===PredictionContext.EMPTY_RETURN_STATE){if(fullCtx){configs.add(ATNConfig.createWithConfig(config.state,config,EmptyPredictionContext.instance),this.mergeCache);continue}else _ParserATNSimulator.debug&&console.log("FALLING off rule "+this.getRuleName(config.state.ruleIndex)),this.closure_(config,configs,closureBusy,collectPredicates,fullCtx,depth,treatEofAsEpsilon);continue}let returnState=this.atn.states[config.context.getReturnState(i)],newContext=config.context.getParent(i),c=ATNConfig.createWithContext(returnState,config.alt,newContext,config.semanticContext);c.reachesIntoOuterContext=config.reachesIntoOuterContext,this.closureCheckingStopState(c,configs,closureBusy,collectPredicates,fullCtx,depth-1,treatEofAsEpsilon)}return}else if(fullCtx){configs.add(config,this.mergeCache);return}else _ParserATNSimulator.debug&&console.log("FALLING off rule "+this.getRuleName(config.state.ruleIndex));this.closure_(config,configs,closureBusy,collectPredicates,fullCtx,depth,treatEofAsEpsilon)}closure_(config,configs,closureBusy,collectPredicates,fullCtx,depth,treatEofAsEpsilon){let p=config.state;p.epsilonOnlyTransitions||configs.add(config,this.mergeCache);for(let i=0;i<p.transitions.length;i++){if(i===0&&this.canDropLoopEntryEdgeInLeftRecursiveRule(config))continue;let t=p.transitions[i],continueCollecting=collectPredicates&&!(t instanceof ActionTransition),c=this.getEpsilonTarget(config,t,continueCollecting,depth===0,fullCtx,treatEofAsEpsilon);if(c){let newDepth=depth;if(config.state.constructor.stateType===ATNState.RULE_STOP){if(this.predictionState.dfa&&this.predictionState?.dfa.isPrecedenceDfa&&t.outermostPrecedenceReturn===this.predictionState?.dfa.atnStartState?.ruleIndex&&(c.precedenceFilterSuppressed=!0),c.reachesIntoOuterContext=!0,closureBusy.getOrAdd(c)!==c)continue;configs.dipsIntoOuterContext=!0,newDepth-=1,_ParserATNSimulator.debug&&console.log("dips into outer ctx: "+c)}else{if(!t.isEpsilon&&closureBusy.getOrAdd(c)!==c)continue;t instanceof RuleTransition&&newDepth>=0&&(newDepth+=1)}this.closureCheckingStopState(c,configs,closureBusy,continueCollecting,fullCtx,newDepth,treatEofAsEpsilon)}}}canDropLoopEntryEdgeInLeftRecursiveRule(config){let p=config.state;if(p.constructor.stateType!==ATNState.STAR_LOOP_ENTRY||!config.context||!p.precedenceRuleDecision||config.context.isEmpty()||config.context.hasEmptyPath())return!1;let numCtxs=config.context.length;for(let i=0;i<numCtxs;i++)if(this.atn.states[config.context.getReturnState(i)].ruleIndex!==p.ruleIndex)return!1;let blockEndStateNum=p.transitions[0].target.endState.stateNumber,blockEndState=this.atn.states[blockEndStateNum];for(let i=0;i<numCtxs;i++){let returnStateNumber=config.context.getReturnState(i),returnState=this.atn.states[returnStateNumber];if(returnState.transitions.length!==1||!returnState.transitions[0].isEpsilon)return!1;let returnStateTarget=returnState.transitions[0].target;if(!(returnState.constructor.stateType===ATNState.BLOCK_END&&returnStateTarget===p)&&returnState!==blockEndState&&returnStateTarget!==blockEndState&&!(returnStateTarget.constructor.stateType===ATNState.BLOCK_END&&returnStateTarget.transitions.length===1&&returnStateTarget.transitions[0].isEpsilon&&returnStateTarget.transitions[0].target===p))return!1}return!0}getEpsilonTarget(config,t,collectPredicates,inContext,fullCtx,treatEofAsEpsilon){switch(t.transitionType){case Transition.RULE:return this.ruleTransition(config,t);case Transition.PRECEDENCE:return this.precedenceTransition(config,t,collectPredicates,inContext,fullCtx);case Transition.PREDICATE:return this.predTransition(config,t,collectPredicates,inContext,fullCtx);case Transition.ACTION:{if(_ParserATNSimulator.debug){let at=t,index2=at.actionIndex===-1?65535:at.actionIndex;console.log("ACTION edge "+at.ruleIndex+":"+index2)}return ATNConfig.createWithConfig(t.target,config)}case Transition.EPSILON:return ATNConfig.createWithConfig(t.target,config);case Transition.ATOM:case Transition.RANGE:case Transition.SET:return treatEofAsEpsilon&&t.matches(Token.EOF,0,1)?ATNConfig.createWithConfig(t.target,config):null;default:return null}}precedenceTransition(config,pt,collectPredicates,inContext,fullCtx){_ParserATNSimulator.debug&&(console.log("PRED (collectPredicates="+collectPredicates+") "+pt.precedence+">=_p, ctx dependent=true"),this.parser!==null&&console.log("context surrounding pred is "+arrayToString(this.parser.getRuleInvocationStack())));let c=null;if(collectPredicates&&inContext)if(fullCtx&&this.predictionState?.input){let currentPosition=this.predictionState.input.index;this.predictionState.input.seek(this.predictionState.startIndex);let predSucceeds=pt.getPredicate().evaluate(this.parser,this.predictionState.outerContext);this.predictionState.input.seek(currentPosition),predSucceeds&&(c=ATNConfig.createWithConfig(pt.target,config))}else{let newSemCtx=SemanticContext.andContext(config.semanticContext,pt.getPredicate());c=ATNConfig.createWithSemanticContext(pt.target,config,newSemCtx)}else c=ATNConfig.createWithConfig(pt.target,config);return _ParserATNSimulator.debug&&console.log("config from pred transition="+c),c}predTransition(config,pt,collectPredicates,inContext,fullCtx){_ParserATNSimulator.debug&&(console.log("PRED (collectPredicates="+collectPredicates+") "+pt.ruleIndex+":"+pt.predIndex+", ctx dependent="+pt.isCtxDependent),this.parser!==null&&console.log("context surrounding pred is "+arrayToString(this.parser.getRuleInvocationStack())));let c=null;if(collectPredicates&&(pt.isCtxDependent&&inContext||!pt.isCtxDependent))if(fullCtx&&this.predictionState?.input){let currentPosition=this.predictionState.input.index;this.predictionState.input.seek(this.predictionState.startIndex);let predSucceeds=pt.getPredicate().evaluate(this.parser,this.predictionState.outerContext);this.predictionState.input.seek(currentPosition),predSucceeds&&(c=ATNConfig.createWithConfig(pt.target,config))}else{let newSemCtx=SemanticContext.andContext(config.semanticContext,pt.getPredicate());c=ATNConfig.createWithSemanticContext(pt.target,config,newSemCtx)}else c=ATNConfig.createWithConfig(pt.target,config);return _ParserATNSimulator.debug&&console.log("config from pred transition="+c),c}ruleTransition(config,t){_ParserATNSimulator.debug&&console.log("CALL rule "+this.getRuleName(t.target.ruleIndex)+", ctx="+config.context);let returnState=t.followState,newContext=createSingletonPredictionContext(config.context??void 0,returnState.stateNumber);return ATNConfig.createWithConfig(t.target,config,newContext)}getConflictingAlts(configs){let altSets=PredictionMode.getConflictingAltSubsets(configs);return PredictionMode.getAlts(altSets)}getConflictingAltsOrUniqueAlt(configs){let conflictingAlts;return configs.uniqueAlt!==ATN.INVALID_ALT_NUMBER?(conflictingAlts=new BitSet,conflictingAlts.set(configs.uniqueAlt)):conflictingAlts=configs.conflictingAlts,conflictingAlts}noViableAlt(input,outerContext,configs,startIndex){return new NoViableAltException(this.parser,input,input.get(startIndex),input.LT(1),configs,outerContext)}addDFAEdge(dfa,from,t,to){return _ParserATNSimulator.debug&&console.log("EDGE "+from+" -> "+to+" upon "+this.getTokenName(t)),to=this.addDFAState(dfa,to),t<-1||t>this.atn.maxTokenType||(_ParserATNSimulator.debug&&console.log(`DFA=
|
|
45
|
+
`+dfa.toString(this.parser!=null?this.parser.vocabulary:Vocabulary.EMPTY_VOCABULARY)),from.edges[t+1]=to),to}addDFAState(dfa,newState){if(newState===ATNSimulator.ERROR)return newState;let existing=dfa.getState(newState);return existing!==null?existing:(newState.configs.readOnly||(newState.configs.optimizeConfigs(this),newState.configs.setReadonly(!0)),_ParserATNSimulator.traceATNSimulator&&console.log("addDFAState new "+newState),dfa.addState(newState),newState)}reportAttemptingFullContext(dfa,conflictingAlts,configs,startIndex,stopIndex){if(_ParserATNSimulator.debug||_ParserATNSimulator.retryDebug){let interval=new Interval(startIndex,stopIndex+1);console.log("reportAttemptingFullContext decision="+dfa.decision+":"+configs+", input="+this.parser.tokenStream.getTextFromInterval(interval))}this.parser.errorListenerDispatch.reportAttemptingFullContext(this.parser,dfa,startIndex,stopIndex,conflictingAlts,configs)}reportContextSensitivity(dfa,prediction,configs,startIndex,stopIndex){if(_ParserATNSimulator.debug||_ParserATNSimulator.retryDebug){let interval=new Interval(startIndex,stopIndex+1);console.log("reportContextSensitivity decision="+dfa.decision+":"+configs+", input="+this.parser.tokenStream.getTextFromInterval(interval))}this.parser.errorListenerDispatch.reportContextSensitivity(this.parser,dfa,startIndex,stopIndex,prediction,configs)}reportAmbiguity(dfa,D,startIndex,stopIndex,exact,ambigAlts,configs){if(_ParserATNSimulator.debug||_ParserATNSimulator.retryDebug){let interval=new Interval(startIndex,stopIndex+1);console.log("reportAmbiguity "+ambigAlts+":"+configs+", input="+this.parser.tokenStream.getTextFromInterval(interval))}this.parser.errorListenerDispatch.reportAmbiguity(this.parser,dfa,startIndex,stopIndex,exact,ambigAlts,configs)}},PredictionContextCache=class{static{__name(this,"PredictionContextCache")}cache=new HashMap(ObjectEqualityComparator.instance);add(ctx){if(ctx===EmptyPredictionContext.instance)return ctx;let existing=this.cache.get(ctx);return existing||(this.cache.set(ctx,ctx),ctx)}get(ctx){return this.cache.get(ctx)}get length(){return this.cache.size}},ProfilingATNSimulator=class extends ParserATNSimulator{static{__name(this,"ProfilingATNSimulator")}decisions;numDecisions=0;currentDecision=0;currentState;conflictingAltResolvedBySLL;sllStopIndex=0;llStopIndex=0;constructor(parser){let sharedContextCache=parser.interpreter.sharedContextCache;if(super(parser,parser.interpreter.atn,parser.interpreter.decisionToDFA,sharedContextCache),sharedContextCache){this.numDecisions=this.atn.decisionToState.length,this.decisions=new Array(this.numDecisions);for(let i=0;i<this.numDecisions;i++)this.decisions[i]=new DecisionInfo(i)}}adaptivePredict(input,decision,outerContext){try{this.sllStopIndex=-1,this.llStopIndex=-1,this.currentDecision=decision;let start=performance.now(),alt=super.adaptivePredict(input,decision,outerContext),stop=performance.now();this.decisions[decision].timeInPrediction+=stop-start,this.decisions[decision].invocations++;let sllLook=this.sllStopIndex-this.predictionState.startIndex+1;if(this.decisions[decision].sllTotalLook+=sllLook,this.decisions[decision].sllMinLook=this.decisions[decision].sllMinLook===0?sllLook:Math.min(this.decisions[decision].sllMinLook,sllLook),sllLook>this.decisions[decision].sllMaxLook&&(this.decisions[decision].sllMaxLook=sllLook,this.decisions[decision].sllMaxLookEvent={decision,configs:null,predictedAlt:alt,input,startIndex:this.predictionState.startIndex,stopIndex:this.sllStopIndex,fullCtx:!1}),this.llStopIndex>=0){let llLook=this.llStopIndex-this.predictionState.startIndex+1;this.decisions[decision].llTotalLook+=llLook,this.decisions[decision].llMinLook=this.decisions[decision].llMinLook===0?llLook:Math.min(this.decisions[decision].llMinLook,llLook),llLook>this.decisions[decision].llMaxLook&&(this.decisions[decision].llMaxLook=llLook,this.decisions[decision].llMaxLookEvent={decision,configs:null,predictedAlt:alt,input,startIndex:this.predictionState.startIndex,stopIndex:this.llStopIndex,fullCtx:!0})}return alt}finally{this.currentDecision=-1}}getExistingTargetState(previousD,t){this.sllStopIndex=this.predictionState.input.index;let existingTargetState=super.getExistingTargetState(previousD,t);return existingTargetState!==void 0&&(this.decisions[this.currentDecision].sllDFATransitions++,existingTargetState===ATNSimulator.ERROR&&this.decisions[this.currentDecision].errors.push({decision:this.currentDecision,configs:previousD.configs,input:this.predictionState.input,startIndex:this.predictionState.startIndex,stopIndex:this.sllStopIndex,fullCtx:!1})),this.currentState=existingTargetState,existingTargetState}computeTargetState(dfa,previousD,t){let state=super.computeTargetState(dfa,previousD,t);return this.currentState=state,state}computeReachSet(closure,t,fullCtx){fullCtx&&this.predictionState?.input&&(this.llStopIndex=this.predictionState.input.index);let reachConfigs=super.computeReachSet(closure,t,fullCtx);return this.predictionState?.input&&(fullCtx?(this.decisions[this.currentDecision].llATNTransitions++,reachConfigs===null&&this.decisions[this.currentDecision].errors.push({decision:this.currentDecision,configs:closure,input:this.predictionState.input,startIndex:this.predictionState.startIndex,stopIndex:this.sllStopIndex,fullCtx:!0})):(this.decisions[this.currentDecision].sllATNTransitions++,reachConfigs===null&&this.decisions[this.currentDecision].errors.push({decision:this.currentDecision,configs:closure,input:this.predictionState.input,startIndex:this.predictionState.startIndex,stopIndex:this.sllStopIndex,fullCtx:!1}))),reachConfigs}reportAttemptingFullContext(dfa,conflictingAlts,configs,startIndex,stopIndex){conflictingAlts!==null?this.conflictingAltResolvedBySLL=conflictingAlts.nextSetBit(0):this.conflictingAltResolvedBySLL=configs.getAlts().nextSetBit(0),this.decisions[this.currentDecision].llFallback++,conflictingAlts&&super.reportAttemptingFullContext(dfa,conflictingAlts,configs,startIndex,stopIndex)}reportContextSensitivity(dfa,prediction,configs,startIndex,stopIndex){prediction!==this.conflictingAltResolvedBySLL&&this.predictionState.input&&this.decisions[this.currentDecision].contextSensitivities.push({decision:this.currentDecision,configs,input:this.predictionState.input,startIndex,stopIndex,fullCtx:!0}),super.reportContextSensitivity(dfa,prediction,configs,startIndex,stopIndex)}reportAmbiguity(dfa,state,startIndex,stopIndex,exact,ambigAlts,configs){let prediction;ambigAlts?prediction=ambigAlts.nextSetBit(0):prediction=configs.getAlts().nextSetBit(0),this.predictionState?.input&&(configs.fullCtx&&prediction!==this.conflictingAltResolvedBySLL&&this.decisions[this.currentDecision].contextSensitivities.push({decision:this.currentDecision,configs,input:this.predictionState.input,startIndex,stopIndex,fullCtx:!0}),this.decisions[this.currentDecision].ambiguities.push({ambigAlts,decision:this.currentDecision,configs,input:this.predictionState.input,startIndex,stopIndex,fullCtx:configs.fullCtx})),super.reportAmbiguity(dfa,state,startIndex,stopIndex,exact,ambigAlts,configs)}getDecisionInfo(){return this.decisions}getCurrentState(){return this.currentState}},PredPrediction;(PredPrediction2=>{PredPrediction2.toString=__name(prediction=>`(${prediction.pred}, ${prediction.alt})`,"toString")})(PredPrediction||(PredPrediction={}));var ParseCancellationException=class extends Error{static{__name(this,"ParseCancellationException")}constructor(e){super(),this.cause=e}},InterpreterDataReader=class{static{__name(this,"InterpreterDataReader")}static parseInterpreterData(source){let ruleNames=[],channels=[],modes=[],literalNames=[],symbolicNames=[],lines=source.split(`
|
|
46
|
+
`),index2=0,line=lines[index2++];if(line!=="token literal names:")throw new Error("Unexpected data entry");do{if(line=lines[index2++],line.length===0)break;literalNames.push(line==="null"?null:line)}while(!0);if(line=lines[index2++],line!=="token symbolic names:")throw new Error("Unexpected data entry");do{if(line=lines[index2++],line.length===0)break;symbolicNames.push(line==="null"?null:line)}while(!0);if(line=lines[index2++],line!=="rule names:")throw new Error("Unexpected data entry");do{if(line=lines[index2++],line.length===0)break;ruleNames.push(line)}while(!0);if(line=lines[index2++],line==="channel names:"){do{if(line=lines[index2++],line.length===0)break;channels.push(line)}while(!0);if(line=lines[index2++],line!=="mode names:")throw new Error("Unexpected data entry");do{if(line=lines[index2++],line.length===0)break;modes.push(line)}while(!0)}if(line=lines[index2++],line!=="atn:")throw new Error("Unexpected data entry");line=lines[index2++];let elements=line.split(","),value,serializedATN=[];for(let i=0;i<elements.length;++i){let element=elements[i];element.startsWith("[")?value=Number(element.substring(1).trim()):element.endsWith("]")?value=Number(element.substring(0,element.length-1).trim()):value=Number(element.trim()),serializedATN[i]=value}return{atn:new ATNDeserializer().deserialize(serializedATN),vocabulary:new Vocabulary(literalNames,symbolicNames,[]),ruleNames,channels:channels.length>0?channels:void 0,modes:modes.length>0?modes:void 0}}},AbstractParseTreeVisitor=class{static{__name(this,"AbstractParseTreeVisitor")}visit(tree){return tree.accept(this)}visitChildren(node){let result=this.defaultResult(),n2=node.getChildCount();for(let i=0;i<n2&&this.shouldVisitNextChild(node,result);i++){let c=node.getChild(i);if(c){let childResult=c.accept(this);result=this.aggregateResult(result,childResult)}}return result}visitTerminal(_node){return this.defaultResult()}visitErrorNode(_node){return this.defaultResult()}defaultResult(){return null}shouldVisitNextChild(_node,_currentResult){return!0}aggregateResult(aggregate,nextResult){return nextResult}},ParseTreeWalker=class _ParseTreeWalker{static{__name(this,"ParseTreeWalker")}static DEFAULT=new _ParseTreeWalker;walk(listener,t){if(t instanceof ErrorNode)listener.visitErrorNode(t);else if(t instanceof TerminalNode)listener.visitTerminal(t);else{let r=t;this.enterRule(listener,r);for(let i=0;i<t.getChildCount();i++)this.walk(listener,t.getChild(i));this.exitRule(listener,r)}}enterRule(listener,r){let ctx=r.ruleContext;listener.enterEveryRule(ctx),ctx.enterRule(listener)}exitRule(listener,r){let ctx=r.ruleContext;ctx.exitRule(listener),listener.exitEveryRule(ctx)}},CharStream;(CharStream2=>{CharStream2.fromString=__name(str=>new CharStreamImpl(str),"fromString")})(CharStream||(CharStream={}));var CharStreamImpl=class{static{__name(this,"CharStreamImpl")}name="";index=0;data;constructor(input){let codePoints=[];for(let char of input)codePoints.push(char.codePointAt(0));this.data=new Uint32Array(codePoints)}reset(){this.index=0}consume(){if(this.index>=this.data.length)throw new Error("cannot consume EOF");this.index+=1}LA(offset){if(offset===0)return 0;offset<0&&(offset+=1);let pos=this.index+offset-1;return pos<0||pos>=this.data.length?Token.EOF:this.data[pos]}mark(){return-1}release(_marker){}seek(index2){if(index2<=this.index){this.index=index2;return}this.index=Math.min(index2,this.data.length)}getTextFromRange(start,stop){return stop=stop??this.data.length-1,stop>=this.data.length&&(stop=this.data.length-1),start>=this.data.length?"":this.stringFromRange(start,stop+1)}getTextFromInterval(interval){let start=interval.start,stop=interval.stop;return stop>=this.data.length&&(stop=this.data.length-1),start>=this.data.length?"":this.stringFromRange(start,stop+1)}toString(){return this.stringFromRange(0)}get size(){return this.data.length}getSourceName(){return this.name?this.name:IntStream.UNKNOWN_SOURCE_NAME}stringFromRange(start,stop){let data=this.data.slice(start,stop),result="";return data.forEach(value=>{result+=String.fromCodePoint(value)}),result}},isWritableToken=__name(candidate=>candidate.setText!==void 0,"isWritableToken"),BufferedTokenStream=class{static{__name(this,"BufferedTokenStream")}tokenSource;tokens=[];p=-1;fetchedEOF=!1;constructor(tokenSource){this.tokenSource=tokenSource}mark(){return 0}release(_marker){}reset(){this.seek(0)}seek(index2){this.lazyInit(),this.p=this.adjustSeekIndex(index2)}get size(){return this.tokens.length}get index(){return this.p}get(index2){return this.lazyInit(),this.tokens[index2]}consume(){let skipEofCheck=!1;if(this.p>=0?this.fetchedEOF?skipEofCheck=this.p<this.tokens.length-1:skipEofCheck=this.p<this.tokens.length:skipEofCheck=!1,!skipEofCheck&&this.LA(1)===Token.EOF)throw new Error("cannot consume EOF");this.sync(this.p+1)&&(this.p=this.adjustSeekIndex(this.p+1))}sync(i){let n2=i-this.tokens.length+1;return n2>0?this.fetch(n2)>=n2:!0}fetch(n2){if(this.fetchedEOF)return 0;for(let i=0;i<n2;i++){let t=this.tokenSource.nextToken();if(isWritableToken(t)&&(t.tokenIndex=this.tokens.length),this.tokens.push(t),t.type===Token.EOF)return this.fetchedEOF=!0,i+1}return n2}getTokens(start,stop,types){if(this.lazyInit(),start===void 0&&stop===void 0)return this.tokens;if(start??=0,stop===void 0&&(stop=this.tokens.length-1),start<0||stop>=this.tokens.length||stop<0||start>=this.tokens.length)throw new RangeError("start "+start+" or stop "+stop+" not in 0.."+(this.tokens.length-1));if(start>stop)return[];if(types===void 0)return this.tokens.slice(start,stop+1);let subset=[];stop>=this.tokens.length&&(stop=this.tokens.length-1);for(let i=start;i<stop;i++){let t=this.tokens[i];if(t.type===Token.EOF){subset.push(t);break}types.has(t.type)&&subset.push(t)}return subset}LA(k){return this.LT(k)?.type??Token.INVALID_TYPE}LB(k){return this.p-k<0?null:this.tokens[this.p-k]}LT(k){if(this.lazyInit(),k===0)return null;if(k<0)return this.LB(-k);let i=this.p+k-1;return this.sync(i),i>=this.tokens.length?this.tokens[this.tokens.length-1]:this.tokens[i]}adjustSeekIndex(i){return i}lazyInit(){this.p===-1&&this.setup()}setup(){this.sync(0),this.p=this.adjustSeekIndex(0)}setTokenSource(tokenSource){this.tokenSource=tokenSource,this.tokens=[],this.p=-1,this.fetchedEOF=!1}nextTokenOnChannel(i,channel){if(this.sync(i),i>=this.tokens.length)return-1;let token=this.tokens[i];for(;token.channel!==channel;){if(token.type===Token.EOF)return-1;i+=1,this.sync(i),token=this.tokens[i]}return i}previousTokenOnChannel(i,channel){if(i>=this.tokens.length)return this.tokens.length-1;for(;i>=0;){let token=this.tokens[i];if(token.type===Token.EOF||token.channel===channel)return i;--i}return i}getHiddenTokensToRight(tokenIndex,channel){if(channel===void 0&&(channel=-1),this.lazyInit(),tokenIndex<0||tokenIndex>=this.tokens.length)throw new Error(`${tokenIndex} not in 0..${this.tokens.length-1}`);let nextOnChannel=this.nextTokenOnChannel(tokenIndex+1,Lexer.DEFAULT_TOKEN_CHANNEL),from=tokenIndex+1,to=nextOnChannel===-1?this.tokens.length-1:nextOnChannel;return this.filterForChannel(from,to,channel)}getHiddenTokensToLeft(tokenIndex,channel){if(channel===void 0&&(channel=-1),this.lazyInit(),tokenIndex<0||tokenIndex>=this.tokens.length)throw new Error(`${tokenIndex} not in 0..${this.tokens.length-1}`);let prevOnChannel=this.previousTokenOnChannel(tokenIndex-1,Lexer.DEFAULT_TOKEN_CHANNEL);if(prevOnChannel===tokenIndex-1)return;let from=prevOnChannel+1,to=tokenIndex-1;return this.filterForChannel(from,to,channel)}filterForChannel(left,right,channel){let hidden=[];for(let i=left;i<right+1;i++){let t=this.tokens[i];channel===-1?t.channel!==Lexer.DEFAULT_TOKEN_CHANNEL&&hidden.push(t):t.channel===channel&&hidden.push(t)}if(hidden.length!==0)return hidden}getSourceName(){return this.tokenSource.sourceName}getText(){return this.getTextFromInterval(Interval.of(0,this.size-1))}getTextFromInterval(interval){let start=interval.start,stop=interval.stop;if(start<0||stop<0)return"";this.sync(stop),stop>=this.tokens.length&&(stop=this.tokens.length-1);let result="";for(let i=start;i<=stop;++i){let t=this.tokens[i];if(t.type===Token.EOF)break;result+=t.text}return result}getTextFromContext(ctx){return this.getTextFromInterval(ctx.getSourceInterval())}getTextFromRange(start,stop){return start!==null&&stop!==null?this.getTextFromInterval(Interval.of(start.tokenIndex,stop.tokenIndex)):""}fill(){for(this.lazyInit();this.fetch(1e3)===1e3;);}setLine(line){this.tokenSource.line=line}setColumn(column){this.tokenSource.column=column}},CommonTokenStream=class extends BufferedTokenStream{static{__name(this,"CommonTokenStream")}channel=Token.DEFAULT_CHANNEL;constructor(lexer,channel){super(lexer),this.channel=channel??Token.DEFAULT_CHANNEL}adjustSeekIndex(i){return this.nextTokenOnChannel(i,this.channel)}LB(k){if(k===0||this.index-k<0)return null;let i=this.index,n2=1;for(;n2<=k;)i=this.previousTokenOnChannel(i-1,this.channel),n2+=1;return i<0?null:this.tokens[i]}LT(k){if(this.lazyInit(),k===0)return null;if(k<0)return this.LB(-k);let i=this.index,n2=1;for(;n2<k;)this.sync(i+1)&&(i=this.nextTokenOnChannel(i+1,this.channel)),n2+=1;return this.tokens[i]}getNumberOfOnChannelTokens(){let n2=0;this.fill();for(let t of this.tokens)if(t.channel===this.channel&&(n2+=1),t.type===Token.EOF)break;return n2}},XPathLexer=class _XPathLexer extends Lexer{static{__name(this,"XPathLexer")}static TOKEN_REF=1;static RULE_REF=2;static ANYWHERE=3;static ROOT=4;static WILDCARD=5;static BANG=6;static ID=7;static STRING=8;static channelNames=["DEFAULT_TOKEN_CHANNEL","HIDDEN"];static literalNames=[null,null,null,"'//'","'/'","'*'","'!'"];static symbolicNames=[null,"TOKEN_REF","RULE_REF","ANYWHERE","ROOT","WILDCARD","BANG","ID","STRING"];static modeNames=["DEFAULT_MODE"];static ruleNames=["ANYWHERE","ROOT","WILDCARD","BANG","ID","NameChar","NameStartChar","STRING"];constructor(input){super(input),this.interpreter=new LexerATNSimulator(this,_XPathLexer._ATN,_XPathLexer.decisionsToDFA,new PredictionContextCache)}get grammarFileName(){return"XPathLexer.g4"}get literalNames(){return _XPathLexer.literalNames}get symbolicNames(){return _XPathLexer.symbolicNames}get ruleNames(){return _XPathLexer.ruleNames}get serializedATN(){return _XPathLexer._serializedATN}get channelNames(){return _XPathLexer.channelNames}get modeNames(){return _XPathLexer.modeNames}action(localContext,ruleIndex,actionIndex){ruleIndex===4&&this.ID_action(localContext,actionIndex)}ID_action(localContext,actionIndex){if(actionIndex===0){let text=this.text;text.charAt(0)===text.charAt(0).toUpperCase()?this.type=_XPathLexer.TOKEN_REF:this.type=_XPathLexer.RULE_REF}}static _serializedATN=[4,0,8,48,6,-1,2,0,7,0,2,1,7,1,2,2,7,2,2,3,7,3,2,4,7,4,2,5,7,5,2,6,7,6,2,7,7,7,1,0,1,0,1,0,1,1,1,1,1,2,1,2,1,3,1,3,1,4,1,4,5,4,29,8,4,10,4,12,4,32,9,4,1,4,1,4,1,5,1,5,1,6,1,6,1,7,1,7,5,7,42,8,7,10,7,12,7,45,9,7,1,7,1,7,1,43,0,8,1,3,3,4,5,5,7,6,9,7,11,0,13,0,15,8,1,0,2,784,0,0,8,14,27,48,57,65,90,95,95,97,122,127,159,170,170,173,173,181,181,186,186,192,214,216,246,248,705,710,721,736,740,748,748,750,750,768,884,886,887,890,893,895,895,902,902,904,906,908,908,910,929,931,1013,1015,1153,1155,1159,1162,1327,1329,1366,1369,1369,1376,1416,1425,1469,1471,1471,1473,1474,1476,1477,1479,1479,1488,1514,1519,1522,1536,1541,1552,1562,1564,1564,1568,1641,1646,1747,1749,1757,1759,1768,1770,1788,1791,1791,1807,1866,1869,1969,1984,2037,2042,2042,2045,2045,2048,2093,2112,2139,2144,2154,2160,2183,2185,2190,2192,2193,2200,2403,2406,2415,2417,2435,2437,2444,2447,2448,2451,2472,2474,2480,2482,2482,2486,2489,2492,2500,2503,2504,2507,2510,2519,2519,2524,2525,2527,2531,2534,2545,2556,2556,2558,2558,2561,2563,2565,2570,2575,2576,2579,2600,2602,2608,2610,2611,2613,2614,2616,2617,2620,2620,2622,2626,2631,2632,2635,2637,2641,2641,2649,2652,2654,2654,2662,2677,2689,2691,2693,2701,2703,2705,2707,2728,2730,2736,2738,2739,2741,2745,2748,2757,2759,2761,2763,2765,2768,2768,2784,2787,2790,2799,2809,2815,2817,2819,2821,2828,2831,2832,2835,2856,2858,2864,2866,2867,2869,2873,2876,2884,2887,2888,2891,2893,2901,2903,2908,2909,2911,2915,2918,2927,2929,2929,2946,2947,2949,2954,2958,2960,2962,2965,2969,2970,2972,2972,2974,2975,2979,2980,2984,2986,2990,3001,3006,3010,3014,3016,3018,3021,3024,3024,3031,3031,3046,3055,3072,3084,3086,3088,3090,3112,3114,3129,3132,3140,3142,3144,3146,3149,3157,3158,3160,3162,3165,3165,3168,3171,3174,3183,3200,3203,3205,3212,3214,3216,3218,3240,3242,3251,3253,3257,3260,3268,3270,3272,3274,3277,3285,3286,3293,3294,3296,3299,3302,3311,3313,3315,3328,3340,3342,3344,3346,3396,3398,3400,3402,3406,3412,3415,3423,3427,3430,3439,3450,3455,3457,3459,3461,3478,3482,3505,3507,3515,3517,3517,3520,3526,3530,3530,3535,3540,3542,3542,3544,3551,3558,3567,3570,3571,3585,3642,3648,3662,3664,3673,3713,3714,3716,3716,3718,3722,3724,3747,3749,3749,3751,3773,3776,3780,3782,3782,3784,3790,3792,3801,3804,3807,3840,3840,3864,3865,3872,3881,3893,3893,3895,3895,3897,3897,3902,3911,3913,3948,3953,3972,3974,3991,3993,4028,4038,4038,4096,4169,4176,4253,4256,4293,4295,4295,4301,4301,4304,4346,4348,4680,4682,4685,4688,4694,4696,4696,4698,4701,4704,4744,4746,4749,4752,4784,4786,4789,4792,4798,4800,4800,4802,4805,4808,4822,4824,4880,4882,4885,4888,4954,4957,4959,4992,5007,5024,5109,5112,5117,5121,5740,5743,5759,5761,5786,5792,5866,5870,5880,5888,5909,5919,5940,5952,5971,5984,5996,5998,6e3,6002,6003,6016,6099,6103,6103,6108,6109,6112,6121,6155,6169,6176,6264,6272,6314,6320,6389,6400,6430,6432,6443,6448,6459,6470,6509,6512,6516,6528,6571,6576,6601,6608,6617,6656,6683,6688,6750,6752,6780,6783,6793,6800,6809,6823,6823,6832,6845,6847,6862,6912,6988,6992,7001,7019,7027,7040,7155,7168,7223,7232,7241,7245,7293,7296,7304,7312,7354,7357,7359,7376,7378,7380,7418,7424,7957,7960,7965,7968,8005,8008,8013,8016,8023,8025,8025,8027,8027,8029,8029,8031,8061,8064,8116,8118,8124,8126,8126,8130,8132,8134,8140,8144,8147,8150,8155,8160,8172,8178,8180,8182,8188,8203,8207,8234,8238,8255,8256,8276,8276,8288,8292,8294,8303,8305,8305,8319,8319,8336,8348,8400,8412,8417,8417,8421,8432,8450,8450,8455,8455,8458,8467,8469,8469,8473,8477,8484,8484,8486,8486,8488,8488,8490,8493,8495,8505,8508,8511,8517,8521,8526,8526,8544,8584,11264,11492,11499,11507,11520,11557,11559,11559,11565,11565,11568,11623,11631,11631,11647,11670,11680,11686,11688,11694,11696,11702,11704,11710,11712,11718,11720,11726,11728,11734,11736,11742,11744,11775,11823,11823,12293,12295,12321,12335,12337,12341,12344,12348,12353,12438,12441,12442,12445,12447,12449,12538,12540,12543,12549,12591,12593,12686,12704,12735,12784,12799,13312,19903,19968,42124,42192,42237,42240,42508,42512,42539,42560,42607,42612,42621,42623,42737,42775,42783,42786,42888,42891,42954,42960,42961,42963,42963,42965,42969,42994,43047,43052,43052,43072,43123,43136,43205,43216,43225,43232,43255,43259,43259,43261,43309,43312,43347,43360,43388,43392,43456,43471,43481,43488,43518,43520,43574,43584,43597,43600,43609,43616,43638,43642,43714,43739,43741,43744,43759,43762,43766,43777,43782,43785,43790,43793,43798,43808,43814,43816,43822,43824,43866,43868,43881,43888,44010,44012,44013,44016,44025,44032,55203,55216,55238,55243,55291,63744,64109,64112,64217,64256,64262,64275,64279,64285,64296,64298,64310,64312,64316,64318,64318,64320,64321,64323,64324,64326,64433,64467,64829,64848,64911,64914,64967,65008,65019,65024,65039,65056,65071,65075,65076,65101,65103,65136,65140,65142,65276,65279,65279,65296,65305,65313,65338,65343,65343,65345,65370,65382,65470,65474,65479,65482,65487,65490,65495,65498,65500,65529,65531,65536,65547,65549,65574,65576,65594,65596,65597,65599,65613,65616,65629,65664,65786,65856,65908,66045,66045,66176,66204,66208,66256,66272,66272,66304,66335,66349,66378,66384,66426,66432,66461,66464,66499,66504,66511,66513,66517,66560,66717,66720,66729,66736,66771,66776,66811,66816,66855,66864,66915,66928,66938,66940,66954,66956,66962,66964,66965,66967,66977,66979,66993,66995,67001,67003,67004,67072,67382,67392,67413,67424,67431,67456,67461,67463,67504,67506,67514,67584,67589,67592,67592,67594,67637,67639,67640,67644,67644,67647,67669,67680,67702,67712,67742,67808,67826,67828,67829,67840,67861,67872,67897,67968,68023,68030,68031,68096,68099,68101,68102,68108,68115,68117,68119,68121,68149,68152,68154,68159,68159,68192,68220,68224,68252,68288,68295,68297,68326,68352,68405,68416,68437,68448,68466,68480,68497,68608,68680,68736,68786,68800,68850,68864,68903,68912,68921,69248,69289,69291,69292,69296,69297,69373,69404,69415,69415,69424,69456,69488,69509,69552,69572,69600,69622,69632,69702,69734,69749,69759,69818,69821,69821,69826,69826,69837,69837,69840,69864,69872,69881,69888,69940,69942,69951,69956,69959,69968,70003,70006,70006,70016,70084,70089,70092,70094,70106,70108,70108,70144,70161,70163,70199,70206,70209,70272,70278,70280,70280,70282,70285,70287,70301,70303,70312,70320,70378,70384,70393,70400,70403,70405,70412,70415,70416,70419,70440,70442,70448,70450,70451,70453,70457,70459,70468,70471,70472,70475,70477,70480,70480,70487,70487,70493,70499,70502,70508,70512,70516,70656,70730,70736,70745,70750,70753,70784,70853,70855,70855,70864,70873,71040,71093,71096,71104,71128,71133,71168,71232,71236,71236,71248,71257,71296,71352,71360,71369,71424,71450,71453,71467,71472,71481,71488,71494,71680,71738,71840,71913,71935,71942,71945,71945,71948,71955,71957,71958,71960,71989,71991,71992,71995,72003,72016,72025,72096,72103,72106,72151,72154,72161,72163,72164,72192,72254,72263,72263,72272,72345,72349,72349,72368,72440,72704,72712,72714,72758,72760,72768,72784,72793,72818,72847,72850,72871,72873,72886,72960,72966,72968,72969,72971,73014,73018,73018,73020,73021,73023,73031,73040,73049,73056,73061,73063,73064,73066,73102,73104,73105,73107,73112,73120,73129,73440,73462,73472,73488,73490,73530,73534,73538,73552,73561,73648,73648,73728,74649,74752,74862,74880,75075,77712,77808,77824,78933,82944,83526,92160,92728,92736,92766,92768,92777,92784,92862,92864,92873,92880,92909,92912,92916,92928,92982,92992,92995,93008,93017,93027,93047,93053,93071,93760,93823,93952,94026,94031,94087,94095,94111,94176,94177,94179,94180,94192,94193,94208,100343,100352,101589,101632,101640,110576,110579,110581,110587,110589,110590,110592,110882,110898,110898,110928,110930,110933,110933,110948,110951,110960,111355,113664,113770,113776,113788,113792,113800,113808,113817,113821,113822,113824,113827,118528,118573,118576,118598,119141,119145,119149,119170,119173,119179,119210,119213,119362,119364,119808,119892,119894,119964,119966,119967,119970,119970,119973,119974,119977,119980,119982,119993,119995,119995,119997,120003,120005,120069,120071,120074,120077,120084,120086,120092,120094,120121,120123,120126,120128,120132,120134,120134,120138,120144,120146,120485,120488,120512,120514,120538,120540,120570,120572,120596,120598,120628,120630,120654,120656,120686,120688,120712,120714,120744,120746,120770,120772,120779,120782,120831,121344,121398,121403,121452,121461,121461,121476,121476,121499,121503,121505,121519,122624,122654,122661,122666,122880,122886,122888,122904,122907,122913,122915,122916,122918,122922,122928,122989,123023,123023,123136,123180,123184,123197,123200,123209,123214,123214,123536,123566,123584,123641,124112,124153,124896,124902,124904,124907,124909,124910,124912,124926,124928,125124,125136,125142,125184,125259,125264,125273,126464,126467,126469,126495,126497,126498,126500,126500,126503,126503,126505,126514,126516,126519,126521,126521,126523,126523,126530,126530,126535,126535,126537,126537,126539,126539,126541,126543,126545,126546,126548,126548,126551,126551,126553,126553,126555,126555,126557,126557,126559,126559,126561,126562,126564,126564,126567,126570,126572,126578,126580,126583,126585,126588,126590,126590,126592,126601,126603,126619,126625,126627,126629,126633,126635,126651,130032,130041,131072,173791,173824,177977,177984,178205,178208,183969,183984,191456,194560,195101,196608,201546,201552,205743,917505,917505,917536,917631,917760,917999,662,0,65,90,97,122,170,170,181,181,186,186,192,214,216,246,248,705,710,721,736,740,748,748,750,750,880,884,886,887,890,893,895,895,902,902,904,906,908,908,910,929,931,1013,1015,1153,1162,1327,1329,1366,1369,1369,1376,1416,1488,1514,1519,1522,1568,1610,1646,1647,1649,1747,1749,1749,1765,1766,1774,1775,1786,1788,1791,1791,1808,1808,1810,1839,1869,1957,1969,1969,1994,2026,2036,2037,2042,2042,2048,2069,2074,2074,2084,2084,2088,2088,2112,2136,2144,2154,2160,2183,2185,2190,2208,2249,2308,2361,2365,2365,2384,2384,2392,2401,2417,2432,2437,2444,2447,2448,2451,2472,2474,2480,2482,2482,2486,2489,2493,2493,2510,2510,2524,2525,2527,2529,2544,2545,2556,2556,2565,2570,2575,2576,2579,2600,2602,2608,2610,2611,2613,2614,2616,2617,2649,2652,2654,2654,2674,2676,2693,2701,2703,2705,2707,2728,2730,2736,2738,2739,2741,2745,2749,2749,2768,2768,2784,2785,2809,2809,2821,2828,2831,2832,2835,2856,2858,2864,2866,2867,2869,2873,2877,2877,2908,2909,2911,2913,2929,2929,2947,2947,2949,2954,2958,2960,2962,2965,2969,2970,2972,2972,2974,2975,2979,2980,2984,2986,2990,3001,3024,3024,3077,3084,3086,3088,3090,3112,3114,3129,3133,3133,3160,3162,3165,3165,3168,3169,3200,3200,3205,3212,3214,3216,3218,3240,3242,3251,3253,3257,3261,3261,3293,3294,3296,3297,3313,3314,3332,3340,3342,3344,3346,3386,3389,3389,3406,3406,3412,3414,3423,3425,3450,3455,3461,3478,3482,3505,3507,3515,3517,3517,3520,3526,3585,3632,3634,3635,3648,3654,3713,3714,3716,3716,3718,3722,3724,3747,3749,3749,3751,3760,3762,3763,3773,3773,3776,3780,3782,3782,3804,3807,3840,3840,3904,3911,3913,3948,3976,3980,4096,4138,4159,4159,4176,4181,4186,4189,4193,4193,4197,4198,4206,4208,4213,4225,4238,4238,4256,4293,4295,4295,4301,4301,4304,4346,4348,4680,4682,4685,4688,4694,4696,4696,4698,4701,4704,4744,4746,4749,4752,4784,4786,4789,4792,4798,4800,4800,4802,4805,4808,4822,4824,4880,4882,4885,4888,4954,4992,5007,5024,5109,5112,5117,5121,5740,5743,5759,5761,5786,5792,5866,5870,5880,5888,5905,5919,5937,5952,5969,5984,5996,5998,6e3,6016,6067,6103,6103,6108,6108,6176,6264,6272,6276,6279,6312,6314,6314,6320,6389,6400,6430,6480,6509,6512,6516,6528,6571,6576,6601,6656,6678,6688,6740,6823,6823,6917,6963,6981,6988,7043,7072,7086,7087,7098,7141,7168,7203,7245,7247,7258,7293,7296,7304,7312,7354,7357,7359,7401,7404,7406,7411,7413,7414,7418,7418,7424,7615,7680,7957,7960,7965,7968,8005,8008,8013,8016,8023,8025,8025,8027,8027,8029,8029,8031,8061,8064,8116,8118,8124,8126,8126,8130,8132,8134,8140,8144,8147,8150,8155,8160,8172,8178,8180,8182,8188,8305,8305,8319,8319,8336,8348,8450,8450,8455,8455,8458,8467,8469,8469,8473,8477,8484,8484,8486,8486,8488,8488,8490,8493,8495,8505,8508,8511,8517,8521,8526,8526,8544,8584,11264,11492,11499,11502,11506,11507,11520,11557,11559,11559,11565,11565,11568,11623,11631,11631,11648,11670,11680,11686,11688,11694,11696,11702,11704,11710,11712,11718,11720,11726,11728,11734,11736,11742,11823,11823,12293,12295,12321,12329,12337,12341,12344,12348,12353,12438,12445,12447,12449,12538,12540,12543,12549,12591,12593,12686,12704,12735,12784,12799,13312,19903,19968,42124,42192,42237,42240,42508,42512,42527,42538,42539,42560,42606,42623,42653,42656,42735,42775,42783,42786,42888,42891,42954,42960,42961,42963,42963,42965,42969,42994,43009,43011,43013,43015,43018,43020,43042,43072,43123,43138,43187,43250,43255,43259,43259,43261,43262,43274,43301,43312,43334,43360,43388,43396,43442,43471,43471,43488,43492,43494,43503,43514,43518,43520,43560,43584,43586,43588,43595,43616,43638,43642,43642,43646,43695,43697,43697,43701,43702,43705,43709,43712,43712,43714,43714,43739,43741,43744,43754,43762,43764,43777,43782,43785,43790,43793,43798,43808,43814,43816,43822,43824,43866,43868,43881,43888,44002,44032,55203,55216,55238,55243,55291,63744,64109,64112,64217,64256,64262,64275,64279,64285,64285,64287,64296,64298,64310,64312,64316,64318,64318,64320,64321,64323,64324,64326,64433,64467,64829,64848,64911,64914,64967,65008,65019,65136,65140,65142,65276,65313,65338,65345,65370,65382,65470,65474,65479,65482,65487,65490,65495,65498,65500,65536,65547,65549,65574,65576,65594,65596,65597,65599,65613,65616,65629,65664,65786,65856,65908,66176,66204,66208,66256,66304,66335,66349,66378,66384,66421,66432,66461,66464,66499,66504,66511,66513,66517,66560,66717,66736,66771,66776,66811,66816,66855,66864,66915,66928,66938,66940,66954,66956,66962,66964,66965,66967,66977,66979,66993,66995,67001,67003,67004,67072,67382,67392,67413,67424,67431,67456,67461,67463,67504,67506,67514,67584,67589,67592,67592,67594,67637,67639,67640,67644,67644,67647,67669,67680,67702,67712,67742,67808,67826,67828,67829,67840,67861,67872,67897,67968,68023,68030,68031,68096,68096,68112,68115,68117,68119,68121,68149,68192,68220,68224,68252,68288,68295,68297,68324,68352,68405,68416,68437,68448,68466,68480,68497,68608,68680,68736,68786,68800,68850,68864,68899,69248,69289,69296,69297,69376,69404,69415,69415,69424,69445,69488,69505,69552,69572,69600,69622,69635,69687,69745,69746,69749,69749,69763,69807,69840,69864,69891,69926,69956,69956,69959,69959,69968,70002,70006,70006,70019,70066,70081,70084,70106,70106,70108,70108,70144,70161,70163,70187,70207,70208,70272,70278,70280,70280,70282,70285,70287,70301,70303,70312,70320,70366,70405,70412,70415,70416,70419,70440,70442,70448,70450,70451,70453,70457,70461,70461,70480,70480,70493,70497,70656,70708,70727,70730,70751,70753,70784,70831,70852,70853,70855,70855,71040,71086,71128,71131,71168,71215,71236,71236,71296,71338,71352,71352,71424,71450,71488,71494,71680,71723,71840,71903,71935,71942,71945,71945,71948,71955,71957,71958,71960,71983,71999,71999,72001,72001,72096,72103,72106,72144,72161,72161,72163,72163,72192,72192,72203,72242,72250,72250,72272,72272,72284,72329,72349,72349,72368,72440,72704,72712,72714,72750,72768,72768,72818,72847,72960,72966,72968,72969,72971,73008,73030,73030,73056,73061,73063,73064,73066,73097,73112,73112,73440,73458,73474,73474,73476,73488,73490,73523,73648,73648,73728,74649,74752,74862,74880,75075,77712,77808,77824,78895,78913,78918,82944,83526,92160,92728,92736,92766,92784,92862,92880,92909,92928,92975,92992,92995,93027,93047,93053,93071,93760,93823,93952,94026,94032,94032,94099,94111,94176,94177,94179,94179,94208,100343,100352,101589,101632,101640,110576,110579,110581,110587,110589,110590,110592,110882,110898,110898,110928,110930,110933,110933,110948,110951,110960,111355,113664,113770,113776,113788,113792,113800,113808,113817,119808,119892,119894,119964,119966,119967,119970,119970,119973,119974,119977,119980,119982,119993,119995,119995,119997,120003,120005,120069,120071,120074,120077,120084,120086,120092,120094,120121,120123,120126,120128,120132,120134,120134,120138,120144,120146,120485,120488,120512,120514,120538,120540,120570,120572,120596,120598,120628,120630,120654,120656,120686,120688,120712,120714,120744,120746,120770,120772,120779,122624,122654,122661,122666,122928,122989,123136,123180,123191,123197,123214,123214,123536,123565,123584,123627,124112,124139,124896,124902,124904,124907,124909,124910,124912,124926,124928,125124,125184,125251,125259,125259,126464,126467,126469,126495,126497,126498,126500,126500,126503,126503,126505,126514,126516,126519,126521,126521,126523,126523,126530,126530,126535,126535,126537,126537,126539,126539,126541,126543,126545,126546,126548,126548,126551,126551,126553,126553,126555,126555,126557,126557,126559,126559,126561,126562,126564,126564,126567,126570,126572,126578,126580,126583,126585,126588,126590,126590,126592,126601,126603,126619,126625,126627,126629,126633,126635,126651,131072,173791,173824,177977,177984,178205,178208,183969,183984,191456,194560,195101,196608,201546,201552,205743,47,0,1,1,0,0,0,0,3,1,0,0,0,0,5,1,0,0,0,0,7,1,0,0,0,0,9,1,0,0,0,0,15,1,0,0,0,1,17,1,0,0,0,3,20,1,0,0,0,5,22,1,0,0,0,7,24,1,0,0,0,9,26,1,0,0,0,11,35,1,0,0,0,13,37,1,0,0,0,15,39,1,0,0,0,17,18,5,47,0,0,18,19,5,47,0,0,19,2,1,0,0,0,20,21,5,47,0,0,21,4,1,0,0,0,22,23,5,42,0,0,23,6,1,0,0,0,24,25,5,33,0,0,25,8,1,0,0,0,26,30,3,13,6,0,27,29,3,11,5,0,28,27,1,0,0,0,29,32,1,0,0,0,30,28,1,0,0,0,30,31,1,0,0,0,31,33,1,0,0,0,32,30,1,0,0,0,33,34,6,4,0,0,34,10,1,0,0,0,35,36,7,0,0,0,36,12,1,0,0,0,37,38,7,1,0,0,38,14,1,0,0,0,39,43,5,39,0,0,40,42,9,0,0,0,41,40,1,0,0,0,42,45,1,0,0,0,43,44,1,0,0,0,43,41,1,0,0,0,44,46,1,0,0,0,45,43,1,0,0,0,46,47,5,39,0,0,47,16,1,0,0,0,3,0,30,43,1,1,4,0];static __ATN;static get _ATN(){return _XPathLexer.__ATN||(_XPathLexer.__ATN=new ATNDeserializer().deserialize(_XPathLexer._serializedATN)),_XPathLexer.__ATN}static vocabulary=new Vocabulary(_XPathLexer.literalNames,_XPathLexer.symbolicNames,[]);get vocabulary(){return _XPathLexer.vocabulary}static decisionsToDFA=_XPathLexer._ATN.decisionToState.map((ds,index2)=>new DFA(ds,index2))},XPathLexerErrorListener=class extends BaseErrorListener{static{__name(this,"XPathLexerErrorListener")}syntaxError(_recognizer,_offendingSymbol,_line,_charPositionInLine,_msg,_e){}},XPathElement=class{static{__name(this,"XPathElement")}invert;nodeName;constructor(nodeName){this.nodeName=nodeName,this.invert=!1}toString(){return"XPathElement["+(this.invert?"!":"")+this.nodeName+"]"}},XPathRuleAnywhereElement=class extends XPathElement{static{__name(this,"XPathRuleAnywhereElement")}ruleIndex;constructor(ruleName,ruleIndex){super(ruleName),this.ruleIndex=ruleIndex}evaluate(t){return Trees.findAllRuleNodes(t,this.ruleIndex)}toString(){return"XPathRuleAnywhereElement["+(this.invert?"!":"")+this.nodeName+"]"}},XPathRuleElement=class extends XPathElement{static{__name(this,"XPathRuleElement")}ruleIndex;constructor(ruleName,ruleIndex){super(ruleName),this.ruleIndex=ruleIndex}evaluate(t){let nodes=[];for(let c of Trees.getChildren(t))c instanceof ParserRuleContext&&(c.ruleIndex===this.ruleIndex&&!this.invert||c.ruleIndex!==this.ruleIndex&&this.invert)&&nodes.push(c);return nodes}toString(){return"XPathRuleElement["+(this.invert?"!":"")+this.nodeName+"]"}},XPathTokenAnywhereElement=class extends XPathElement{static{__name(this,"XPathTokenAnywhereElement")}tokenType;constructor(tokenName,tokenType){super(tokenName),this.tokenType=tokenType}evaluate(t){return Trees.findAllTokenNodes(t,this.tokenType)}toString(){return"XPathTokenAnywhereElement["+(this.invert?"!":"")+this.nodeName+"]"}},XPathTokenElement=class extends XPathElement{static{__name(this,"XPathTokenElement")}tokenType;constructor(tokenName,tokenType){super(tokenName),this.tokenType=tokenType}evaluate(t){let nodes=[];for(let c of Trees.getChildren(t))c instanceof TerminalNode&&c.symbol&&(c.symbol.type===this.tokenType&&!this.invert||c.symbol.type!==this.tokenType&&this.invert)&&nodes.push(c);return nodes}toString(){return"XPathTokenElement["+(this.invert?"!":"")+this.nodeName+"]"}},XPathWildcardAnywhereElement=class extends XPathElement{static{__name(this,"XPathWildcardAnywhereElement")}constructor(){super(XPath.WILDCARD)}evaluate(t){return this.invert?[]:Trees.descendants(t)}toString(){return"XPathWildcardAnywhereElement["+(this.invert?"!":"")+this.nodeName+"]"}},XPathWildcardElement=class extends XPathElement{static{__name(this,"XPathWildcardElement")}constructor(){super(XPath.WILDCARD)}evaluate(t){let kids=[];if(this.invert)return kids;for(let c of Trees.getChildren(t))kids.push(c);return kids}toString(){return"XPathWildcardElement["+(this.invert?"!":"")+this.nodeName+"]"}},XPath=class _XPath{static{__name(this,"XPath")}static WILDCARD="*";static NOT="!";path;elements;parser;constructor(parser,path){this.parser=parser,this.path=path,this.elements=this.split(path)}static findAll(tree,xpath,parser){return new _XPath(parser,xpath).evaluate(tree)}split(path){let lexer=new XPathLexer(CharStream.fromString(path));lexer.recover=e=>{throw e},lexer.removeErrorListeners(),lexer.addErrorListener(new XPathLexerErrorListener);let tokenStream=new CommonTokenStream(lexer);try{tokenStream.fill()}catch(e){if(e instanceof LexerNoViableAltException){let msg="Invalid tokens or characters at index "+lexer.column+" in path '"+path+"' -- "+e.message;throw new RangeError(msg)}throw e}let tokens=tokenStream.getTokens(),elements=[],n2=tokens.length,i=0;loop:for(;i<n2;){let el=tokens[i],next;switch(el.type){case XPathLexer.ROOT:case XPathLexer.ANYWHERE:let anywhere=el.type===XPathLexer.ANYWHERE;i++,next=tokens[i];let invert=next.type===XPathLexer.BANG;invert&&(i++,next=tokens[i]);let pathElement=this.getXPathElement(next,anywhere);pathElement.invert=invert,elements.push(pathElement),i++;break;case XPathLexer.TOKEN_REF:case XPathLexer.RULE_REF:case XPathLexer.WILDCARD:elements.push(this.getXPathElement(el,!1)),++i;break;case Token.EOF:break loop;default:throw new Error("Unknown path element "+el)}}return elements}evaluate(t){let dummyRoot=new ParserRuleContext(null);dummyRoot.addChild(t);let work=new Set([dummyRoot]),i=0;for(;i<this.elements.length;){let next=new Set;for(let node of work)node.getChildCount()>0&&this.elements[i].evaluate(node).forEach(tree=>{next.add(tree)},next);i++,work=next}return work}getXPathElement(wordToken,anywhere){if(wordToken.type===Token.EOF)throw new Error("Missing path element at end of path");let word=wordToken.text;if(word==null)throw new Error("Expected wordToken to have text content.");let ttype=this.parser.getTokenType(word),ruleIndex=this.parser.getRuleIndex(word);switch(wordToken.type){case XPathLexer.WILDCARD:return anywhere?new XPathWildcardAnywhereElement:new XPathWildcardElement;case XPathLexer.TOKEN_REF:case XPathLexer.STRING:if(ttype===Token.INVALID_TYPE)throw new Error(word+" at index "+wordToken.start+" isn't a valid token name");return anywhere?new XPathTokenAnywhereElement(word,ttype):new XPathTokenElement(word,ttype);default:if(ruleIndex===-1)throw new Error(word+" at index "+wordToken.start+" isn't a valid rule name");return anywhere?new XPathRuleAnywhereElement(word,ruleIndex):new XPathRuleElement(word,ruleIndex)}}},Chunk=class{static{__name(this,"Chunk")}},ParseTreeMatch=class{static{__name(this,"ParseTreeMatch")}tree;pattern;labels;mismatchedNode;constructor(tree,pattern,labels,mismatchedNode){this.tree=tree,this.pattern=pattern,this.labels=labels,this.mismatchedNode=mismatchedNode}get(label){let parseTrees=this.labels.get(label);return!parseTrees||parseTrees.length===0?null:parseTrees[parseTrees.length-1]}getAll(label){return this.labels.get(label)??[]}getLabels(){return this.labels}getMismatchedNode(){return this.mismatchedNode}succeeded(){return!this.mismatchedNode}getPattern(){return this.pattern}getTree(){return this.tree}toString(){return`Match ${this.succeeded()?"succeeded":"failed"}; found ${this.getLabels().size} labels`}},ParseTreePattern=class{static{__name(this,"ParseTreePattern")}patternRuleIndex;pattern;patternTree;matcher;constructor(matcher,pattern,patternRuleIndex,patternTree){this.matcher=matcher,this.patternRuleIndex=patternRuleIndex,this.pattern=pattern,this.patternTree=patternTree}match(tree){return this.matcher.match(tree,this)}matches(tree){return this.matcher.match(tree,this).succeeded()}findAll(tree,xpath){let subtrees=XPath.findAll(tree,xpath,this.matcher.getParser()),matches=new Array;for(let t of subtrees){let match=this.match(t);match.succeeded()&&matches.push(match)}return matches}getMatcher(){return this.matcher}getPattern(){return this.pattern}getPatternRuleIndex(){return this.patternRuleIndex}getPatternTree(){return this.patternTree}},InputMismatchException=class extends RecognitionException{static{__name(this,"InputMismatchException")}constructor(recognizer){super({message:"",recognizer,input:recognizer.inputStream,ctx:recognizer.context}),this.offendingToken=recognizer.getCurrentToken()}},FailedPredicateException=class extends RecognitionException{static{__name(this,"FailedPredicateException")}ruleIndex=0;predicateIndex=0;predicate;constructor(recognizer,predicate,message=null){super({message:formatMessage(predicate??"no predicate",message??null),recognizer,input:recognizer.inputStream,ctx:recognizer.context});let trans=recognizer.atn.states[recognizer.state].transitions[0];trans instanceof PredicateTransition?(this.ruleIndex=trans.ruleIndex,this.predicateIndex=trans.predIndex):(this.ruleIndex=0,this.predicateIndex=0),this.predicate=predicate,this.offendingToken=recognizer.getCurrentToken()}},formatMessage=__name((predicate,message)=>message!==null?message:"failed predicate: {"+predicate+"}?","formatMessage"),DefaultErrorStrategy=class{static{__name(this,"DefaultErrorStrategy")}errorRecoveryMode=!1;lastErrorIndex=-1;lastErrorStates=new IntervalSet;nextTokensContext=null;nextTokenState=0;reset(recognizer){this.endErrorCondition(recognizer)}beginErrorCondition(_recognizer){this.errorRecoveryMode=!0}inErrorRecoveryMode(_recognizer){return this.errorRecoveryMode}endErrorCondition(_recognizer){this.errorRecoveryMode=!1,this.lastErrorStates=new IntervalSet,this.lastErrorIndex=-1}reportMatch(recognizer){this.endErrorCondition(recognizer)}reportError(recognizer,e){this.inErrorRecoveryMode(recognizer)||(this.beginErrorCondition(recognizer),e instanceof NoViableAltException?this.reportNoViableAlternative(recognizer,e):e instanceof InputMismatchException?this.reportInputMismatch(recognizer,e):e instanceof FailedPredicateException?this.reportFailedPredicate(recognizer,e):recognizer.notifyErrorListeners(e.message,e.offendingToken,e))}recover(recognizer,_e){this.lastErrorIndex===recognizer.inputStream?.index&&this.lastErrorStates.contains(recognizer.state)&&recognizer.consume(),this.lastErrorIndex=recognizer.inputStream?.index??0,this.lastErrorStates.addOne(recognizer.state);let followSet=this.getErrorRecoverySet(recognizer);this.consumeUntil(recognizer,followSet)}sync(recognizer){if(this.inErrorRecoveryMode(recognizer))return;let s=recognizer.atn.states[recognizer.state],la=recognizer.tokenStream.LA(1),nextTokens=recognizer.atn.nextTokens(s);if(nextTokens.contains(la)){this.nextTokensContext=null,this.nextTokenState=ATNState.INVALID_STATE_NUMBER;return}if(nextTokens.contains(Token.EPSILON)){this.nextTokensContext===null&&(this.nextTokensContext=recognizer.context,this.nextTokenState=recognizer.state);return}switch(s.constructor.stateType){case ATNState.BLOCK_START:case ATNState.STAR_BLOCK_START:case ATNState.PLUS_BLOCK_START:case ATNState.STAR_LOOP_ENTRY:{if(this.singleTokenDeletion(recognizer)!==null)return;throw new InputMismatchException(recognizer)}case ATNState.PLUS_LOOP_BACK:case ATNState.STAR_LOOP_BACK:{this.reportUnwantedToken(recognizer);let expecting=new IntervalSet;expecting.addSet(recognizer.getExpectedTokens());let whatFollowsLoopIterationOrRule=expecting.addSet(this.getErrorRecoverySet(recognizer));this.consumeUntil(recognizer,whatFollowsLoopIterationOrRule);break}default:}}reportNoViableAlternative(recognizer,e){if(e.message.length>0){recognizer.notifyErrorListeners(e.message,e.offendingToken,e);return}let tokens=recognizer.tokenStream,input;tokens!==null&&e.startToken?e.startToken.type===Token.EOF?input="<EOF>":input=tokens.getTextFromRange(e.startToken,e.offendingToken):input="<unknown input>";let msg="no viable alternative at input "+this.escapeWSAndQuote(input);recognizer.notifyErrorListeners(msg,e.offendingToken,e)}reportInputMismatch(recognizer,e){if(e.message.length>0){recognizer.notifyErrorListeners(e.message,e.offendingToken,e);return}let msg="mismatched input "+this.getTokenErrorDisplay(e.offendingToken)+" expecting "+e.getExpectedTokens().toStringWithVocabulary(recognizer.vocabulary);recognizer.notifyErrorListeners(msg,e.offendingToken,e)}reportFailedPredicate(recognizer,e){let msg="rule "+recognizer.ruleNames[recognizer.context.ruleIndex]+" "+e.message;recognizer.notifyErrorListeners(msg,e.offendingToken,e)}reportUnwantedToken(recognizer){if(this.inErrorRecoveryMode(recognizer))return;this.beginErrorCondition(recognizer);let t=recognizer.getCurrentToken(),tokenName=this.getTokenErrorDisplay(t),expecting=this.getExpectedTokens(recognizer),msg="extraneous input "+tokenName+" expecting "+expecting.toStringWithVocabulary(recognizer.vocabulary);recognizer.notifyErrorListeners(msg,t,null)}reportMissingToken(recognizer){if(this.inErrorRecoveryMode(recognizer))return;this.beginErrorCondition(recognizer);let t=recognizer.getCurrentToken(),msg="missing "+this.getExpectedTokens(recognizer).toStringWithVocabulary(recognizer.vocabulary)+" at "+this.getTokenErrorDisplay(t);recognizer.notifyErrorListeners(msg,t,null)}recoverInline(recognizer){let matchedSymbol=this.singleTokenDeletion(recognizer);if(matchedSymbol)return recognizer.consume(),matchedSymbol;if(this.singleTokenInsertion(recognizer))return this.getMissingSymbol(recognizer);throw new InputMismatchException(recognizer)}singleTokenInsertion(recognizer){let currentSymbolType=recognizer.tokenStream?.LA(1)??-1,atn=recognizer.atn,next=atn.states[recognizer.state].transitions[0].target;return atn.nextTokens(next,recognizer.context??void 0).contains(currentSymbolType)?(this.reportMissingToken(recognizer),!0):!1}singleTokenDeletion(recognizer){let nextTokenType=recognizer.tokenStream?.LA(2)??-1;if(this.getExpectedTokens(recognizer).contains(nextTokenType)){this.reportUnwantedToken(recognizer),recognizer.consume();let matchedSymbol=recognizer.getCurrentToken();return this.reportMatch(recognizer),matchedSymbol}return null}getMissingSymbol(recognizer){let currentSymbol=recognizer.getCurrentToken(),expecting=this.getExpectedTokens(recognizer),expectedTokenType=Token.INVALID_TYPE;expecting.length!==0&&(expectedTokenType=expecting.minElement);let tokenText;expectedTokenType===Token.EOF?tokenText="<missing EOF>":tokenText="<missing "+recognizer.vocabulary.getDisplayName(expectedTokenType)+">";let current=currentSymbol,lookBack=recognizer.tokenStream?.LT(-1);return current.type===Token.EOF&&lookBack!==null&&(current=lookBack),recognizer.getTokenFactory().create(current.source,expectedTokenType,tokenText,Token.DEFAULT_CHANNEL,-1,-1,current.line,current.column)}getExpectedTokens(recognizer){return recognizer.getExpectedTokens()}getTokenErrorDisplay(t){if(t===null)return"<no token>";let s=t.text;return s||(t.type===Token.EOF?s="<EOF>":s="<"+t.type+">"),this.escapeWSAndQuote(s)}escapeWSAndQuote(s){return s=s.replace(/\n/g,"\\n"),s=s.replace(/\r/g,"\\r"),s=s.replace(/\t/g,"\\t"),"'"+s+"'"}getErrorRecoverySet(recognizer){let atn=recognizer.atn,ctx=recognizer.context,recoverSet=new IntervalSet;for(;ctx!==null&&ctx.invokingState>=0;){let rt=atn.states[ctx.invokingState].transitions[0],follow=atn.nextTokens(rt.followState);recoverSet.addSet(follow),ctx=ctx.parent}return recoverSet.removeOne(Token.EPSILON),recoverSet}consumeUntil(recognizer,set){let ttype=recognizer.tokenStream?.LA(1)??-1;for(;ttype!==Token.EOF&&!set.contains(ttype);)recognizer.consume(),ttype=recognizer.tokenStream?.LA(1)??-1}},BailErrorStrategy=class extends DefaultErrorStrategy{static{__name(this,"BailErrorStrategy")}recover(recognizer,e){throw new ParseCancellationException(e)}recoverInline(recognizer){let exception=new InputMismatchException(recognizer);throw new ParseCancellationException(exception)}sync(_recognizer){}},ListTokenSource=class{static{__name(this,"ListTokenSource")}sourceName;tokenFactory=CommonTokenFactory.DEFAULT;tokens=[];i=0;eofToken=null;constructor(tokens,sourceName){this.tokens=tokens,this.sourceName=sourceName??""}get column(){if(this.i<this.tokens.length)return this.tokens[this.i].column;if(this.eofToken!==null)return this.eofToken.column;if(this.tokens.length>0){let lastToken=this.tokens[this.tokens.length-1],tokenText=lastToken.text;if(tokenText){let lastNewLine=tokenText.lastIndexOf(`
|
|
47
|
+
`);if(lastNewLine>=0)return tokenText.length-lastNewLine-1}return lastToken.column+lastToken.stop-lastToken.start+1}return 0}nextToken(){if(this.i>=this.tokens.length){if(this.eofToken===null){let start=-1;if(this.tokens.length>0){let previousStop=this.tokens[this.tokens.length-1].stop;previousStop!==-1&&(start=previousStop+1)}let stop=Math.max(-1,start-1);this.eofToken=this.tokenFactory.create([this,this.inputStream],Token.EOF,"EOF",Token.DEFAULT_CHANNEL,start,stop,this.line,this.column)}return this.eofToken}let t=this.tokens[this.i];return this.i===this.tokens.length-1&&t.type===Token.EOF&&(this.eofToken=t),this.i++,t}get line(){if(this.i<this.tokens.length)return this.tokens[this.i].line;if(this.eofToken!==null)return this.eofToken.line;if(this.tokens.length>0){let lastToken=this.tokens[this.tokens.length-1],line=lastToken.line,tokenText=lastToken.text;if(tokenText)for(let char of tokenText)char===`
|
|
48
|
+
`&&line++;return line}return 1}get inputStream(){return this.i<this.tokens.length?this.tokens[this.i].inputStream:this.eofToken!==null?this.eofToken.inputStream:this.tokens.length>0?this.tokens[this.tokens.length-1].inputStream:null}getSourceName(){if(this.sourceName!==null)return this.sourceName;let inputStream=this.inputStream;return inputStream!==null?inputStream.getSourceName():"List"}},InterpreterRuleContext=class extends ParserRuleContext{static{__name(this,"InterpreterRuleContext")}#ruleIndex;constructor(ruleIndex,parent,invokingStateNumber){super(parent,invokingStateNumber),this.#ruleIndex=ruleIndex}get ruleIndex(){return this.#ruleIndex}},TraceListener=class{static{__name(this,"TraceListener")}parser;constructor(parser){this.parser=parser}enterEveryRule(ctx){console.log("enter "+this.parser.ruleNames[ctx.ruleIndex]+", LT(1)="+this.parser.inputStream?.LT(1)?.text)}visitTerminal(node){console.log("consume "+node.getSymbol()+" rule "+this.parser.ruleNames[this.parser.context.ruleIndex])}exitEveryRule(ctx){console.log("exit "+this.parser.ruleNames[ctx.ruleIndex]+", LT(1)="+this.parser.inputStream?.LT(1)?.text)}visitErrorNode(_node){}},Parser=class extends Recognizer{static{__name(this,"Parser")}printer=null;buildParseTrees=!0;errorHandler=new DefaultErrorStrategy;context=null;precedenceStack=[];parseListeners=null;syntaxErrors=0;matchedEOF=!1;tracer=null;bypassAltsAtnCache=null;#inputStream;constructor(input){super(),this.precedenceStack.push(0),this.syntaxErrors=0,this.#inputStream=input}reset(rewindInputStream=!0){rewindInputStream&&this.inputStream.seek(0),this.errorHandler.reset(this),this.context=null,this.syntaxErrors=0,this.matchedEOF=!1,this.setTrace(!1),this.precedenceStack=[],this.precedenceStack.push(0),this.interpreter&&this.interpreter.reset()}match(ttype){let t=this.getCurrentToken();return t.type===ttype?(ttype===Token.EOF&&(this.matchedEOF=!0),this.errorHandler.reportMatch(this),this.consume()):(t=this.errorHandler.recoverInline(this),this.buildParseTrees&&t.tokenIndex===-1&&this.context.addErrorNode(this.createErrorNode(this.context,t))),t}matchWildcard(){let t=this.getCurrentToken();return t.type>0?(this.errorHandler.reportMatch(this),this.consume()):(t=this.errorHandler.recoverInline(this),this.buildParseTrees&&t.tokenIndex===-1&&this.context.addErrorNode(this.createErrorNode(this.context,t))),t}getParseListeners(){return this.parseListeners??[]}addParseListener(listener){if(listener===null)throw new Error("listener");this.parseListeners===null&&(this.parseListeners=[]),this.parseListeners.push(listener)}removeParseListener(listener){if(this.parseListeners!==null&&listener!==null){let idx=this.parseListeners.indexOf(listener);idx>=0&&this.parseListeners.splice(idx,1),this.parseListeners.length===0&&(this.parseListeners=null)}}removeParseListeners(){this.parseListeners=null}triggerEnterRuleEvent(){if(this.parseListeners!==null){let ctx=this.context;this.parseListeners.forEach(listener=>{listener.enterEveryRule(ctx),ctx.enterRule(listener)})}}triggerExitRuleEvent(){if(this.parseListeners!==null){let ctx=this.context;this.parseListeners.slice(0).reverse().forEach(listener=>{ctx.exitRule(listener),listener.exitEveryRule(ctx)})}}getTokenFactory(){return this.inputStream.tokenSource.tokenFactory}setTokenFactory(factory){this.inputStream.tokenSource.tokenFactory=factory}compileParseTreePattern(pattern,patternRuleIndex,lexer){if(!lexer&&this.tokenStream!==null){let tokenSource=this.tokenStream.tokenSource;tokenSource instanceof Lexer&&(lexer=tokenSource)}if(!lexer)throw new Error("Parser can't discover a lexer to use");return new ParseTreePatternMatcher(lexer,this).compile(pattern,patternRuleIndex)}getATNWithBypassAlts(){let serializedAtn=this.serializedATN;if(serializedAtn===null)throw new Error("The current parser does not support an ATN with bypass alternatives.");if(this.bypassAltsAtnCache!==null)return this.bypassAltsAtnCache;let deserializationOptions={readOnly:!1,verifyATN:!0,generateRuleBypassTransitions:!0};return this.bypassAltsAtnCache=new ATNDeserializer(deserializationOptions).deserialize(serializedAtn),this.bypassAltsAtnCache}get numberOfSyntaxErrors(){return this.syntaxErrors}get inputStream(){return this.#inputStream}set inputStream(input){this.tokenStream=input}get tokenStream(){return this.#inputStream}set tokenStream(input){this.reset(!1),this.#inputStream=input}getCurrentToken(){return this.inputStream.LT(1)}notifyErrorListeners(msg,offendingToken,err){offendingToken=offendingToken??null,err=err??null,offendingToken===null&&(offendingToken=this.getCurrentToken()),this.syntaxErrors+=1;let line=offendingToken.line,column=offendingToken.column;this.errorListenerDispatch.syntaxError(this,offendingToken,line,column,msg,err)}consume(){let o=this.getCurrentToken();o.type!==Token.EOF&&this.tokenStream.consume();let hasListener=this.parseListeners!==null&&this.parseListeners.length>0;if(this.buildParseTrees||hasListener){let node;this.errorHandler.inErrorRecoveryMode(this)?node=this.context.addErrorNode(this.createErrorNode(this.context,o)):node=this.context.addTokenNode(o),hasListener&&this.parseListeners.forEach(listener=>{node instanceof ErrorNode?listener.visitErrorNode(node):listener.visitTerminal(node)})}return o}addContextToParseTree(){this.context?.parent&&this.context.parent.addChild(this.context)}enterRule(localctx,state,_ruleIndex){this.state=state,this.context=localctx,this.context.start=this.inputStream.LT(1),this.buildParseTrees&&this.addContextToParseTree(),this.triggerEnterRuleEvent()}exitRule(){this.matchedEOF?this.context.stop=this.inputStream.LT(1):this.context.stop=this.inputStream.LT(-1),this.triggerExitRuleEvent(),this.state=this.context.invokingState,this.context=this.context.parent}enterOuterAlt(localctx,altNum){localctx.setAltNumber(altNum),this.buildParseTrees&&this.context!==localctx&&this.context?.parent&&(this.context.parent.removeLastChild(),this.context.parent.addChild(localctx)),this.context=localctx}getPrecedence(){return this.precedenceStack.length===0?-1:this.precedenceStack[this.precedenceStack.length-1]}enterRecursionRule(localctx,state,ruleIndex,precedence){this.state=state,this.precedenceStack.push(precedence),this.context=localctx,this.context.start=this.inputStream.LT(1),this.triggerEnterRuleEvent()}pushNewRecursionContext(localctx,state,_ruleIndex){let previous=this.context;previous.parent=localctx,previous.invokingState=state,previous.stop=this.inputStream.LT(-1),this.context=localctx,this.context.start=previous.start,this.buildParseTrees&&this.context.addChild(previous),this.triggerEnterRuleEvent()}unrollRecursionContexts(parent){this.precedenceStack.pop(),this.context.stop=this.inputStream.LT(-1);let retCtx=this.context,parseListeners=this.getParseListeners();if(parseListeners!==null&&parseListeners.length>0)for(;this.context!==parent;)this.triggerExitRuleEvent(),this.context=this.context.parent;else this.context=parent;retCtx.parent=parent,this.buildParseTrees&&parent!==null&&parent.addChild(retCtx)}getInvokingContext(ruleIndex){let ctx=this.context;for(;ctx!==null;){if(ctx.ruleIndex===ruleIndex)return ctx;ctx=ctx.parent}return null}precpred(_localctx,precedence){return precedence>=this.precedenceStack[this.precedenceStack.length-1]}isExpectedToken(symbol){let atn=this.interpreter.atn,ctx=this.context,s=atn.states[this.state],following=atn.nextTokens(s);if(following.contains(symbol))return!0;if(!following.contains(Token.EPSILON))return!1;for(;ctx!==null&&ctx.invokingState>=0&&following.contains(Token.EPSILON);){let rt=atn.states[ctx.invokingState].transitions[0];if(following=atn.nextTokens(rt.followState),following.contains(symbol))return!0;ctx=ctx.parent}return!!(following.contains(Token.EPSILON)&&symbol===Token.EOF)}getExpectedTokens(){return this.interpreter.atn.getExpectedTokens(this.state,this.context)}getExpectedTokensWithinCurrentRule(){let atn=this.interpreter.atn,s=atn.states[this.state];return atn.nextTokens(s)}getRuleIndex(ruleName){return this.getRuleIndexMap().get(ruleName)??-1}getRuleInvocationStack(p){p=p??null,p===null&&(p=this.context);let stack=[];for(;p!==null;){let ruleIndex=p.ruleIndex;ruleIndex<0?stack.push("n/a"):stack.push(this.ruleNames[ruleIndex]),p=p.parent}return stack}getDFAStrings(){return this.interpreter.decisionToDFA.toString()}dumpDFA(){let seenOne=!1;for(let dfa of this.interpreter.decisionToDFA)dfa.length>0&&(seenOne&&console.log(),this.printer&&(this.printer.println("Decision "+dfa.decision+":"),this.printer.print(dfa.toString(this.vocabulary))),seenOne=!0)}getSourceName(){return this.inputStream.getSourceName()}getParseInfo(){let interp=this.interpreter;if(interp instanceof ProfilingATNSimulator)return new ParseInfo(interp)}setProfile(profile){let interp=this.interpreter,saveMode=interp.predictionMode;if(profile)interp instanceof ProfilingATNSimulator||(this.interpreter=new ProfilingATNSimulator(this));else if(interp instanceof ProfilingATNSimulator){let sharedContextCache=interp.sharedContextCache;if(sharedContextCache){let sim=new ParserATNSimulator(this,this.atn,interp.decisionToDFA,sharedContextCache);this.interpreter=sim}}this.interpreter.predictionMode=saveMode}setTrace(trace){trace?(this.tracer!==null&&this.removeParseListener(this.tracer),this.tracer=new TraceListener(this),this.addParseListener(this.tracer)):(this.removeParseListener(this.tracer),this.tracer=null)}createTerminalNode(parent,t){return new TerminalNode(t)}createErrorNode(parent,t){return new ErrorNode(t)}},ParserInterpreter=class extends Parser{static{__name(this,"ParserInterpreter")}rootContext;overrideDecisionRoot=null;parentContextStack=[];overrideDecisionAlt=-1;overrideDecisionReached=!1;decisionToDFA;sharedContextCache=new PredictionContextCache;pushRecursionContextStates;#overrideDecision=-1;#overrideDecisionInputIndex=-1;#grammarFileName;#atn;#ruleNames;#vocabulary;constructor(grammarFileName,vocabulary,ruleNames,atn,input){super(input),this.#grammarFileName=grammarFileName,this.#atn=atn,this.#ruleNames=ruleNames.slice(0),this.#vocabulary=vocabulary,this.pushRecursionContextStates=new BitSet;for(let state of atn.states)state instanceof StarLoopEntryState&&state.precedenceRuleDecision&&this.pushRecursionContextStates.set(state.stateNumber);this.decisionToDFA=atn.decisionToState.map((ds,i)=>new DFA(ds,i)),this.interpreter=new ParserATNSimulator(this,atn,this.decisionToDFA,this.sharedContextCache)}reset(){super.reset(),this.overrideDecisionReached=!1,this.overrideDecisionRoot=null}get atn(){return this.#atn}get vocabulary(){return this.#vocabulary}get ruleNames(){return this.#ruleNames}get grammarFileName(){return this.#grammarFileName}get atnState(){return this.#atn.states[this.state]}parse(startRuleIndex){let startRuleStartState=this.#atn.ruleToStartState[startRuleIndex];for(this.rootContext=this.createInterpreterRuleContext(null,ATNState.INVALID_STATE_NUMBER,startRuleIndex),startRuleStartState.isLeftRecursiveRule?this.enterRecursionRule(this.rootContext,startRuleStartState.stateNumber,startRuleIndex,0):this.enterRule(this.rootContext,startRuleStartState.stateNumber,startRuleIndex);;){let p=this.atnState;switch(p.constructor.stateType){case ATNState.RULE_STOP:{if(this.context?.isEmpty())if(startRuleStartState.isLeftRecursiveRule){let result=this.context,parentContext=this.parentContextStack.pop();return this.unrollRecursionContexts(parentContext[0]),result}else return this.exitRule(),this.rootContext;this.visitRuleStopState(p);break}default:{try{this.visitState(p)}catch(e){if(e instanceof RecognitionException)this.state=this.#atn.ruleToStopState[p.ruleIndex].stateNumber,this.errorHandler.reportError(this,e),this.recover(e);else throw e}break}}}}addDecisionOverride(decision,tokenIndex,forcedAlt){this.#overrideDecision=decision,this.#overrideDecisionInputIndex=tokenIndex,this.overrideDecisionAlt=forcedAlt}get overrideDecision(){return this.#overrideDecision}get overrideDecisionInputIndex(){return this.#overrideDecisionInputIndex}enterRecursionRule(localctx,state,ruleIndex,precedence){this.parentContextStack.push([this.context,localctx.invokingState]),super.enterRecursionRule(localctx,state,ruleIndex,precedence)}get serializedATN(){throw new Error("The ParserInterpreter does not support the serializedATN property.")}visitState(p){let predictedAlt=1;p instanceof DecisionState&&(predictedAlt=this.visitDecisionState(p));let transition=p.transitions[predictedAlt-1];switch(transition.transitionType){case Transition.EPSILON:if(this.pushRecursionContextStates.get(p.stateNumber)&&transition.target.constructor.stateType!==ATNState.LOOP_END){let parentContext=this.parentContextStack[this.parentContextStack.length-1],localctx=this.createInterpreterRuleContext(parentContext[0],parentContext[1],this.context.ruleIndex);this.pushNewRecursionContext(localctx,this.#atn.ruleToStartState[p.ruleIndex].stateNumber,this.context.ruleIndex)}break;case Transition.ATOM:this.match(transition.label.minElement);break;case Transition.RANGE:case Transition.SET:case Transition.NOT_SET:transition.matches(this.inputStream.LA(1),Token.MIN_USER_TOKEN_TYPE,65535)||this.recoverInline(),this.matchWildcard();break;case Transition.WILDCARD:this.matchWildcard();break;case Transition.RULE:let ruleStartState=transition.target,ruleIndex=ruleStartState.ruleIndex,newContext=this.createInterpreterRuleContext(this.context,p.stateNumber,ruleIndex);ruleStartState.isLeftRecursiveRule?this.enterRecursionRule(newContext,ruleStartState.stateNumber,ruleIndex,transition.precedence):this.enterRule(newContext,transition.target.stateNumber,ruleIndex);break;case Transition.PREDICATE:let predicateTransition=transition;if(!this.sempred(this.context,predicateTransition.ruleIndex,predicateTransition.predIndex))throw new FailedPredicateException(this);break;case Transition.ACTION:let actionTransition=transition;this.action(this.context,actionTransition.ruleIndex,actionTransition.actionIndex);break;case Transition.PRECEDENCE:if(!this.precpred(this.context,transition.precedence)){let precedence=transition.precedence;throw new FailedPredicateException(this,`precpred(_ctx, ${precedence})`)}break;default:throw new Error("UnsupportedOperationException: Unrecognized ATN transition type.")}this.state=transition.target.stateNumber}visitDecisionState(p){let predictedAlt=1;if(p.transitions.length>1){this.errorHandler.sync(this);let decision=p.decision;decision===this.#overrideDecision&&this.inputStream.index===this.#overrideDecisionInputIndex&&!this.overrideDecisionReached?(predictedAlt=this.overrideDecisionAlt,this.overrideDecisionReached=!0):predictedAlt=this.interpreter.adaptivePredict(this.inputStream,decision,this.context)}return predictedAlt}createInterpreterRuleContext(parent,invokingStateNumber,ruleIndex){return new InterpreterRuleContext(ruleIndex,parent,invokingStateNumber)}visitRuleStopState(p){if(this.#atn.ruleToStartState[p.ruleIndex].isLeftRecursiveRule){let[parentContext,state]=this.parentContextStack.pop();this.unrollRecursionContexts(parentContext),this.state=state}else this.exitRule();let ruleTransition=this.#atn.states[this.state].transitions[0];this.state=ruleTransition.followState.stateNumber}recover(e){let i=this.inputStream.index;if(this.errorHandler.recover(this,e),this.inputStream.index===i){let tok=e.offendingToken;if(!tok)throw new Error("Expected exception to have an offending token");let source=tok.tokenSource,stream=source?.inputStream??null,sourcePair=[source,stream];if(e instanceof InputMismatchException){let expectedTokens=e.getExpectedTokens();if(!expectedTokens)throw new Error("Expected the exception to provide expected tokens");let expectedTokenType=Token.INVALID_TYPE;expectedTokens.length!==0&&(expectedTokenType=expectedTokens.minElement);let errToken=this.getTokenFactory().create(sourcePair,expectedTokenType,tok.text,Token.DEFAULT_CHANNEL,-1,-1,tok.line,tok.column);this.context.addErrorNode(this.createErrorNode(this.context,errToken))}else{let errToken=this.getTokenFactory().create(sourcePair,Token.INVALID_TYPE,tok.text,Token.DEFAULT_CHANNEL,-1,-1,tok.line,tok.column);this.context.addErrorNode(this.createErrorNode(this.context,errToken))}}}recoverInline(){return this.errorHandler.recoverInline(this)}},MultiMap=class extends Map{static{__name(this,"MultiMap")}map(key,value){let elementsForKey=this.get(key);elementsForKey||(elementsForKey=new Array,this.set(key,elementsForKey)),elementsForKey.push(value)}getPairs(){let pairs=new Array;for(let key of this.keys()){let keys=this.get(key)??[];for(let value of keys)pairs.push([key,value])}return pairs}toString(){let entries=[];return this.forEach((value,key)=>{entries.push(`${key}=[${value.join(", ")}]`)}),`{${entries.join(", ")}}`}},CannotInvokeStartRuleError=class extends Error{static{__name(this,"CannotInvokeStartRuleError")}constructor(e){super(),this.cause=e}},RuleTagToken=class{static{__name(this,"RuleTagToken")}label;ruleName;bypassTokenType;constructor(ruleName,bypassTokenType,label){this.ruleName=ruleName,this.bypassTokenType=bypassTokenType,this.label=label}get channel(){return Token.DEFAULT_CHANNEL}get text(){return this.label!==void 0?"<"+this.label+":"+this.ruleName+">":"<"+this.ruleName+">"}get type(){return this.bypassTokenType}get line(){return 0}get column(){return-1}get tokenIndex(){return-1}get start(){return-1}get stop(){return-1}get tokenSource(){return null}get inputStream(){return null}toString(){return this.ruleName+":"+this.bypassTokenType}},StartRuleDoesNotConsumeFullPatternError=class extends Error{static{__name(this,"StartRuleDoesNotConsumeFullPatternError")}},TagChunk=class extends Chunk{static{__name(this,"TagChunk")}tag;label;constructor(...args){let label,tag;if(args.length===1?tag=args[0]:(label=args[0],tag=args[1]),super(),!tag)throw new Error("tag cannot be null or empty");this.label=label,this.tag=tag}toString(){return this.label!==void 0?this.label+":"+this.tag:this.tag}},TextChunk=class extends Chunk{static{__name(this,"TextChunk")}text;constructor(text){super(),this.text=text}toString(){return"'"+this.text+"'"}},TokenTagToken=class extends CommonToken{static{__name(this,"TokenTagToken")}tokenName;label;constructor(tokenName,type,label){super({type,source:CommonToken.EMPTY_SOURCE}),this.tokenName=tokenName,this.label=label}get text(){return this.label!==void 0?"<"+this.label+":"+this.tokenName+">":"<"+this.tokenName+">"}toString(){return this.tokenName+":"+this.type}},ParseTreePatternMatcher=class{static{__name(this,"ParseTreePatternMatcher")}start="<";stop=">";escape="\\";lexer;parser;constructor(lexer,parser){this.lexer=lexer,this.parser=parser}setDelimiters(start,stop,escapeLeft){if(start===null||start.length===0)throw new Error("start cannot be null or empty");if(stop===null||stop.length===0)throw new Error("stop cannot be null or empty");this.start=start,this.stop=stop,this.escape=escapeLeft}matches(...args){switch(args.length){case 2:{let[tree,pattern]=args,labels=new MultiMap;return this.matchImpl(tree,pattern.getPatternTree(),labels)===null}case 3:{let[tree,pattern,patternRuleIndex]=args,p=this.compile(pattern,patternRuleIndex);return this.matches(tree,p)}default:throw new Error("Invalid number of arguments")}}match(...args){switch(args.length){case 2:{let[tree,pattern]=args,labels=new MultiMap,mismatchedNode=this.matchImpl(tree,pattern.getPatternTree(),labels);return new ParseTreeMatch(tree,pattern,labels,mismatchedNode)}case 3:{let[tree,pattern,patternRuleIndex]=args,p=this.compile(pattern,patternRuleIndex);return this.match(tree,p)}default:throw new Error("Invalid number of arguments")}}compile(pattern,patternRuleIndex){let tokenList=this.tokenize(pattern),tokenSrc=new ListTokenSource(tokenList),tokens=new CommonTokenStream(tokenSrc),parserInterp=new ParserInterpreter(this.parser.grammarFileName,this.parser.vocabulary,this.parser.ruleNames,this.parser.getATNWithBypassAlts(),tokens);parserInterp.removeErrorListeners();let tree=null;try{parserInterp.errorHandler=new BailErrorStrategy,tree=parserInterp.parse(patternRuleIndex)}catch(error){throw error instanceof ParseCancellationException?error.cause:error instanceof RecognitionException?error:error instanceof Error?new CannotInvokeStartRuleError(error):error}if(tokens.LA(1)!==Token.EOF)throw new StartRuleDoesNotConsumeFullPatternError;return new ParseTreePattern(this,pattern,patternRuleIndex,tree)}getLexer(){return this.lexer}getParser(){return this.parser}tokenize(pattern){let chunks=this.split(pattern),tokens=new Array;for(let chunk of chunks)if(chunk instanceof TagChunk){let tagChunk=chunk,char=tagChunk.tag[0];if(char===char.toUpperCase()){let ttype=this.parser.getTokenType(tagChunk.tag);if(ttype===Token.INVALID_TYPE)throw new Error("Unknown token "+tagChunk.tag+" in pattern: "+pattern);let t=new TokenTagToken(tagChunk.tag,ttype,tagChunk.label);tokens.push(t)}else if(char===char.toLowerCase()){let ruleIndex=this.parser.getRuleIndex(tagChunk.tag);if(ruleIndex===-1)throw new Error("Unknown rule "+tagChunk.tag+" in pattern: "+pattern);let ruleImaginaryTokenType=this.parser.getATNWithBypassAlts().ruleToTokenType[ruleIndex];tokens.push(new RuleTagToken(tagChunk.tag,ruleImaginaryTokenType,tagChunk.label))}else throw new Error("invalid tag: "+tagChunk.tag+" in pattern: "+pattern)}else{let textChunk=chunk,input=CharStream.fromString(textChunk.text);this.lexer.inputStream=input;let t=this.lexer.nextToken();for(;t.type!==Token.EOF;)tokens.push(t),t=this.lexer.nextToken()}return tokens}split(pattern){let p=0,n2=pattern.length,chunks=new Array,starts=new Array,stops=new Array;for(;p<n2;)p===pattern.indexOf(this.escape+this.start,p)?p+=this.escape.length+this.start.length:p===pattern.indexOf(this.escape+this.stop,p)?p+=this.escape.length+this.stop.length:p===pattern.indexOf(this.start,p)?(starts.push(p),p+=this.start.length):p===pattern.indexOf(this.stop,p)?(stops.push(p),p+=this.stop.length):p++;if(starts.length>stops.length)throw new Error("unterminated tag in pattern: "+pattern);if(starts.length<stops.length)throw new Error("missing start tag in pattern: "+pattern);let tagCount=starts.length;for(let i=0;i<tagCount;i++)if(starts[i]>=stops[i])throw new Error("tag delimiters out of order in pattern: "+pattern);if(tagCount===0){let text=pattern.substring(0,n2);chunks.push(new TextChunk(text))}if(tagCount>0&&starts[0]>0){let text=pattern.substring(0,starts[0]);chunks.push(new TextChunk(text))}for(let i=0;i<tagCount;i++){let tag=pattern.substring(starts[i]+this.start.length,stops[i]),ruleOrToken=tag,label,colon=tag.indexOf(":");if(colon>=0&&(label=tag.substring(0,colon),ruleOrToken=tag.substring(colon+1,tag.length)),chunks.push(new TagChunk(label,ruleOrToken)),i+1<tagCount){let text=pattern.substring(stops[i]+this.stop.length,starts[i+1]);chunks.push(new TextChunk(text))}}if(tagCount>0){let afterLastTag=stops[tagCount-1]+this.stop.length;if(afterLastTag<n2){let text=pattern.substring(afterLastTag,n2);chunks.push(new TextChunk(text))}}for(let i=0;i<chunks.length;i++){let c=chunks[i];if(c instanceof TextChunk){let tc=c,unescaped=tc.text.replaceAll(this.escape,"");unescaped.length<tc.text.length&&(chunks[i]=new TextChunk(unescaped))}}return chunks}matchImpl(tree,patternTree,labels){if(tree instanceof TerminalNode&&patternTree instanceof TerminalNode){let t1=tree,t2=patternTree,mismatchedNode;if(t1.getSymbol().type===t2.getSymbol().type)if(t2.getSymbol()instanceof TokenTagToken){let tokenTagToken=t2.getSymbol();labels.map(tokenTagToken.tokenName,tree),tokenTagToken.label!==void 0&&labels.map(tokenTagToken.label,tree)}else t1.getText()===t2.getText()||mismatchedNode||(mismatchedNode=t1);else mismatchedNode||(mismatchedNode=t1);return mismatchedNode}if(tree instanceof ParserRuleContext&&patternTree instanceof ParserRuleContext){let mismatchedNode,ruleTagToken=this.getRuleTagToken(patternTree);if(ruleTagToken)return tree.ruleIndex===patternTree.ruleIndex?(labels.map(ruleTagToken.ruleName,tree),ruleTagToken.label&&labels.map(ruleTagToken.label,tree)):mismatchedNode||(mismatchedNode=tree),mismatchedNode;if(tree.getChildCount()!==patternTree.getChildCount())return mismatchedNode||(mismatchedNode=tree),mismatchedNode;let n2=tree.getChildCount();for(let i=0;i<n2;i++){let childMatch=this.matchImpl(tree.getChild(i),patternTree.getChild(i),labels);if(childMatch)return childMatch}return mismatchedNode}return tree}getRuleTagToken(t){if(t instanceof ParserRuleContext&&t.getChildCount()===1&&t.getChild(0)instanceof TerminalNode){let c=t.getChild(0);if(c.getSymbol()instanceof RuleTagToken)return c.getSymbol()}}},DiagnosticErrorListener=class extends BaseErrorListener{static{__name(this,"DiagnosticErrorListener")}exactOnly;constructor(exactOnly){super(),this.exactOnly=exactOnly??!0}reportAmbiguity=__name((recognizer,dfa,startIndex,stopIndex,exact,ambigAlts,configs)=>{if(this.exactOnly&&!exact)return;let decision=this.getDecisionDescription(recognizer,dfa),conflictingAlts=this.getConflictingAlts(ambigAlts,configs),text=recognizer.tokenStream?.getTextFromInterval(Interval.of(startIndex,stopIndex)),message=`reportAmbiguity d=${decision}: ambigAlts=${conflictingAlts}, input='${text}'`;recognizer.notifyErrorListeners(message,null,null)},"reportAmbiguity");reportAttemptingFullContext=__name((recognizer,dfa,startIndex,stopIndex,_conflictingAlts,_configs)=>{let decision=this.getDecisionDescription(recognizer,dfa),text=recognizer.tokenStream?.getTextFromInterval(Interval.of(startIndex,stopIndex)),message=`reportAttemptingFullContext d=${decision}, input='${text}'`;recognizer.notifyErrorListeners(message,null,null)},"reportAttemptingFullContext");reportContextSensitivity=__name((recognizer,dfa,startIndex,stopIndex,_prediction,_configs)=>{let decision=this.getDecisionDescription(recognizer,dfa),text=recognizer.tokenStream?.getTextFromInterval(Interval.of(startIndex,stopIndex)),message=`reportContextSensitivity d=${decision}, input='${text}'`;recognizer.notifyErrorListeners(message,null,null)},"reportContextSensitivity");getDecisionDescription=__name((recognizer,dfa)=>{let decision=dfa.decision,ruleIndex=dfa.atnStartState.ruleIndex,ruleNames=recognizer.ruleNames;if(ruleIndex<0||ruleIndex>=ruleNames.length)return decision.toString();let ruleName=ruleNames[ruleIndex];return ruleName.length===0?decision.toString():`${decision} (${ruleName})`},"getDecisionDescription");getConflictingAlts=__name((reportedAlts,configs)=>{if(reportedAlts)return reportedAlts;let result=new BitSet;for(let i=0;i<configs.configs.length;i++)result.set(configs.configs[i].alt);return result},"getConflictingAlts")},LexerInterpreter=class extends Lexer{static{__name(this,"LexerInterpreter")}decisionToDFA;sharedContextCache=new PredictionContextCache;#grammarFileName;#atn;#ruleNames;#channelNames;#modeNames;#vocabulary;constructor(grammarFileName,vocabulary,ruleNames,channelNames,modeNames,atn,input){if(super(input),atn.grammarType!==ATN.LEXER)throw new Error("IllegalArgumentException: The ATN must be a lexer ATN.");this.#grammarFileName=grammarFileName,this.#atn=atn,this.#ruleNames=ruleNames.slice(0),this.#channelNames=channelNames.slice(0),this.#modeNames=modeNames.slice(0),this.#vocabulary=vocabulary,this.decisionToDFA=atn.decisionToState.map((ds,i)=>new DFA(ds,i)),this.interpreter=new LexerATNSimulator(this,atn,this.decisionToDFA,this.sharedContextCache)}get atn(){return this.#atn}get grammarFileName(){return this.#grammarFileName}get ruleNames(){return this.#ruleNames}get channelNames(){return this.#channelNames}get modeNames(){return this.#modeNames}get vocabulary(){return this.#vocabulary}get serializedATN(){throw new Error("The LexerInterpreter does not support the serializedATN property.")}},RuntimeMetaData=class _RuntimeMetaData{static{__name(this,"RuntimeMetaData")}static VERSION="4.13.1";static getRuntimeVersion(){return _RuntimeMetaData.VERSION}static checkVersion(generatingToolVersion,compileTimeVersion){let runtimeVersion=_RuntimeMetaData.VERSION,runtimeConflictsWithGeneratingTool=!1,runtimeConflictsWithCompileTimeTool=!1;runtimeConflictsWithGeneratingTool=runtimeVersion!==generatingToolVersion&&_RuntimeMetaData.getMajorMinorVersion(runtimeVersion)!==_RuntimeMetaData.getMajorMinorVersion(generatingToolVersion),runtimeConflictsWithCompileTimeTool=runtimeVersion!==compileTimeVersion&&_RuntimeMetaData.getMajorMinorVersion(runtimeVersion)!==_RuntimeMetaData.getMajorMinorVersion(compileTimeVersion),runtimeConflictsWithGeneratingTool&&console.error(`ANTLR Tool version ${generatingToolVersion} used for code generation does not match the current runtime version ${runtimeVersion}`),runtimeConflictsWithCompileTimeTool&&console.error(`ANTLR Runtime version ${compileTimeVersion} used for parser compilation does not match the current runtime version ${runtimeVersion}`)}static getMajorMinorVersion(version){let firstDot=version.indexOf("."),secondDot=firstDot>=0?version.indexOf(".",firstDot+1):-1,firstDash=version.indexOf("-"),referenceLength=version.length;return secondDot>=0&&(referenceLength=Math.min(referenceLength,secondDot)),firstDash>=0&&(referenceLength=Math.min(referenceLength,firstDash)),version.substring(0,referenceLength)}},TokenStreamRewriter=class _TokenStreamRewriter{static{__name(this,"TokenStreamRewriter")}static DEFAULT_PROGRAM_NAME="default";static PROGRAM_INIT_SIZE=100;static MIN_TOKEN_INDEX=0;tokens;programs=new Map;lastRewriteTokenIndexes;constructor(tokens){this.tokens=tokens}getTokenStream(){return this.tokens}insertAfter(tokenOrIndex,text,programName=_TokenStreamRewriter.DEFAULT_PROGRAM_NAME){let index2;typeof tokenOrIndex=="number"?index2=tokenOrIndex:index2=tokenOrIndex.tokenIndex;let rewrites=this.getProgram(programName),op=new InsertAfterOp(this.tokens,index2,rewrites.length,text);rewrites.push(op)}insertBefore(tokenOrIndex,text,programName=_TokenStreamRewriter.DEFAULT_PROGRAM_NAME){let index2;typeof tokenOrIndex=="number"?index2=tokenOrIndex:index2=tokenOrIndex.tokenIndex;let rewrites=this.getProgram(programName),op=new InsertBeforeOp(this.tokens,index2,rewrites.length,text);rewrites.push(op)}replaceSingle(tokenOrIndex,text,programName=_TokenStreamRewriter.DEFAULT_PROGRAM_NAME){this.replace(tokenOrIndex,tokenOrIndex,text,programName)}replace(from,to,text,programName=_TokenStreamRewriter.DEFAULT_PROGRAM_NAME){if(typeof from!="number"&&(from=from.tokenIndex),typeof to!="number"&&(to=to.tokenIndex),from>to||from<0||to<0||to>=this.tokens.size)throw new RangeError(`replace: range invalid: ${from}..${to}(size=${this.tokens.size})`);let rewrites=this.getProgram(programName),op=new ReplaceOp(this.tokens,from,to,rewrites.length,text);rewrites.push(op)}delete(from,to,programName=_TokenStreamRewriter.DEFAULT_PROGRAM_NAME){to==null&&(to=from),this.replace(from,to,null,programName)}getProgram(name){let is=this.programs.get(name);return is==null&&(is=this.initializeProgram(name)),is}initializeProgram(name){let is=[];return this.programs.set(name,is),is}getText(intervalOrProgram,programName=_TokenStreamRewriter.DEFAULT_PROGRAM_NAME){let interval;intervalOrProgram instanceof Interval?interval=intervalOrProgram:interval=new Interval(0,this.tokens.size-1),typeof intervalOrProgram=="string"&&(programName=intervalOrProgram);let rewrites=this.programs.get(programName),start=interval.start,stop=interval.stop;if(stop>this.tokens.size-1&&(stop=this.tokens.size-1),start<0&&(start=0),rewrites==null||rewrites.length===0)return this.tokens.getTextFromInterval(new Interval(start,stop));let buf=[],indexToOp=this.reduceToSingleOperationPerIndex(rewrites),i=start;for(;i<=stop&&i<this.tokens.size;){let op=indexToOp.get(i);indexToOp.delete(i);let t=this.tokens.get(i);op==null?(t.type!==Token.EOF&&buf.push(String(t.text)),i++):i=op.execute(buf)}if(stop===this.tokens.size-1)for(let op of indexToOp.values())op&&op.index>=this.tokens.size-1&&buf.push(String(op.text));return buf.join("")}reduceToSingleOperationPerIndex(rewrites){for(let i=0;i<rewrites.length;i++){let op=rewrites[i];if(op==null||!(op instanceof ReplaceOp))continue;let rop=op,inserts=this.getKindOfOps(rewrites,InsertBeforeOp,i);for(let iop of inserts)iop.index===rop.index?(rewrites[iop.instructionIndex]=null,rop.text=String(iop.text)+(rop.text!=null?rop.text.toString():"")):iop.index>rop.index&&iop.index<=rop.lastIndex&&(rewrites[iop.instructionIndex]=null);let prevReplaces=this.getKindOfOps(rewrites,ReplaceOp,i);for(let prevRop of prevReplaces){if(prevRop.index>=rop.index&&prevRop.lastIndex<=rop.lastIndex){rewrites[prevRop.instructionIndex]=null;continue}let disjoint=prevRop.lastIndex<rop.index||prevRop.index>rop.lastIndex;if(prevRop.text==null&&rop.text==null&&!disjoint)rewrites[prevRop.instructionIndex]=null,rop.index=Math.min(prevRop.index,rop.index),rop.lastIndex=Math.max(prevRop.lastIndex,rop.lastIndex);else if(!disjoint)throw new Error(`replace op boundaries of ${rop} overlap with previous ${prevRop}`)}}for(let i=0;i<rewrites.length;i++){let op=rewrites[i];if(op==null||!(op instanceof InsertBeforeOp))continue;let iop=op,prevInserts=this.getKindOfOps(rewrites,InsertBeforeOp,i);for(let prevIop of prevInserts)prevIop.index===iop.index&&(prevIop instanceof InsertAfterOp?(iop.text=this.catOpText(prevIop.text,iop.text),rewrites[prevIop.instructionIndex]=null):prevIop instanceof InsertBeforeOp&&(iop.text=this.catOpText(iop.text,prevIop.text),rewrites[prevIop.instructionIndex]=null));let prevReplaces=this.getKindOfOps(rewrites,ReplaceOp,i);for(let rop of prevReplaces){if(iop.index===rop.index){rop.text=this.catOpText(iop.text,rop.text),rewrites[i]=null;continue}if(iop.index>=rop.index&&iop.index<=rop.lastIndex)throw new Error(`insert op ${iop} within boundaries of previous ${rop}`)}}let m2=new Map;for(let op of rewrites)if(op!=null){if(m2.get(op.index)!=null)throw new Error("should only be one op per index");m2.set(op.index,op)}return m2}catOpText(a,b){let x="",y="";return a!=null&&(x=a.toString()),b!=null&&(y=b.toString()),x+y}getKindOfOps(rewrites,kind,before){return rewrites.slice(0,before).filter(op=>op&&op instanceof kind)}},RewriteOperation=class{static{__name(this,"RewriteOperation")}instructionIndex;index;text;tokens;constructor(tokens,index2,instructionIndex,text){this.tokens=tokens,this.instructionIndex=instructionIndex,this.index=index2,this.text=text===void 0?"":text}execute(_buf){return this.index}toString(){return"<RewriteOperation@"+this.tokens.get(this.index)+':"'+this.text+'">'}},InsertBeforeOp=class extends RewriteOperation{static{__name(this,"InsertBeforeOp")}constructor(tokens,index2,instructionIndex,text){super(tokens,index2,instructionIndex,text)}execute(buf){return this.text&&buf.push(this.text.toString()),this.tokens.get(this.index).type!==Token.EOF&&buf.push(String(this.tokens.get(this.index).text)),this.index+1}toString(){return"<InsertBeforeOp@"+this.tokens.get(this.index)+':"'+this.text+'">'}},InsertAfterOp=class extends InsertBeforeOp{static{__name(this,"InsertAfterOp")}constructor(tokens,index2,instructionIndex,text){super(tokens,index2+1,instructionIndex,text)}toString(){return"<InsertAfterOp@"+this.tokens.get(this.index)+':"'+this.text+'">'}},ReplaceOp=class extends RewriteOperation{static{__name(this,"ReplaceOp")}lastIndex;constructor(tokens,from,to,instructionIndex,text){super(tokens,from,instructionIndex,text),this.lastIndex=to}execute(buf){return this.text&&buf.push(this.text.toString()),this.lastIndex+1}toString(){return this.text==null?"<DeleteOp@"+this.tokens.get(this.index)+".."+this.tokens.get(this.lastIndex)+">":"<ReplaceOp@"+this.tokens.get(this.index)+".."+this.tokens.get(this.lastIndex)+':"'+this.text+'">'}},UnbufferedTokenStream=class{static{__name(this,"UnbufferedTokenStream")}tokenSource;tokens;n;p=0;numMarkers=0;lastToken;lastTokenBufferStart;currentTokenIndex=0;constructor(tokenSource,bufferSize){this.tokenSource=tokenSource,bufferSize=bufferSize??256,this.tokens=new Array(bufferSize),this.n=0,this.fill(1)}get(i){let bufferStartIndex=this.getBufferStartIndex();if(i<bufferStartIndex||i>=bufferStartIndex+this.n)throw new Error("get("+i+") outside buffer: "+bufferStartIndex+".."+(bufferStartIndex+this.n));return this.tokens[i-bufferStartIndex]}LT(i){if(i===-1)return this.lastToken;this.sync(i);let index2=this.p+i-1;if(index2<0)throw new Error("LT("+i+") gives negative index");return index2>=this.n?this.tokens[this.n-1]:this.tokens[index2]}LA(i){return this.LT(i).type}getText(){return""}getTextFromContext(ctx){return this.getTextFromInterval(ctx.getSourceInterval())}getTextFromInterval(interval){let bufferStartIndex=this.getBufferStartIndex(),bufferStopIndex=bufferStartIndex+this.tokens.length-1,start=interval.start,stop=interval.stop;if(start<bufferStartIndex||stop>bufferStopIndex)throw new Error("interval "+interval+" not in token buffer window: "+bufferStartIndex+".."+bufferStopIndex);let a=start-bufferStartIndex,b=stop-bufferStartIndex,result="";for(let i=a;i<=b;i++){let t=this.tokens[i];result+=t.text}return result}getTextFromRange(start,stop){return this.getTextFromInterval(Interval.of(start.tokenIndex,stop.tokenIndex))}consume(){if(this.LA(1)===Token.EOF)throw new Error("cannot consume EOF");this.lastToken=this.tokens[this.p],this.p===this.n-1&&this.numMarkers===0&&(this.n=0,this.p=-1,this.lastTokenBufferStart=this.lastToken),this.p++,this.currentTokenIndex++,this.sync(1)}mark(){this.numMarkers===0&&(this.lastTokenBufferStart=this.lastToken);let mark=-this.numMarkers-1;return this.numMarkers++,mark}release(marker){let expectedMark=-this.numMarkers;if(marker!==expectedMark)throw new Error("release() called with an invalid marker.");this.numMarkers--,this.numMarkers===0&&(this.p>0&&(this.tokens.copyWithin(0,this.p,this.n),this.n=this.n-this.p,this.p=0),this.lastTokenBufferStart=this.lastToken)}get index(){return this.currentTokenIndex}seek(index2){if(index2===this.currentTokenIndex)return;index2>this.currentTokenIndex&&(this.sync(index2-this.currentTokenIndex),index2=Math.min(index2,this.getBufferStartIndex()+this.n-1));let bufferStartIndex=this.getBufferStartIndex(),i=index2-bufferStartIndex;if(i<0)throw new Error("cannot seek to negative index "+index2);if(i>=this.n)throw new Error("seek to index outside buffer: "+index2+" not in "+bufferStartIndex+".."+(bufferStartIndex+this.n));this.p=i,this.currentTokenIndex=index2,this.p===0?this.lastToken=this.lastTokenBufferStart:this.lastToken=this.tokens[this.p-1]}get size(){throw new Error("Unbuffered stream cannot know its size")}getSourceName(){return this.tokenSource.sourceName}setLine(line){this.tokenSource.line=line}setColumn(column){this.tokenSource.column=column}sync(want){let need=this.p+want-1-this.n+1;need>0&&this.fill(need)}fill(n2){for(let i=0;i<n2;i++){if(this.n>0&&this.tokens[this.n-1].type===Token.EOF)return i;let t=this.tokenSource.nextToken();this.add(t)}return n2}add(t){this.n>=this.tokens.length&&(this.tokens.length=this.tokens.length*2),isWritableToken(t)&&t.setTokenIndex(this.getBufferStartIndex()+this.n),this.tokens[this.n++]=t}getBufferStartIndex(){return this.currentTokenIndex-this.p}};var SysMLv2Lexer=class _SysMLv2Lexer extends Lexer{static ABOUT=1;static ABSTRACT=2;static ACCEPT=3;static ACTION=4;static ACTOR=5;static AFTER=6;static ALIAS=7;static ALL=8;static ALLOCATE=9;static ALLOCATION=10;static ANALYSIS=11;static AND=12;static AS=13;static ASSERT=14;static ASSIGN=15;static ASSOC=16;static ASSUME=17;static AT=18;static ATTRIBUTE=19;static BEHAVIOR=20;static BIND=21;static BINDING=22;static BOOL=23;static BY=24;static CALC=25;static CASE=26;static CHAINS=27;static CLASS=28;static CLASSIFIER=29;static COMMENT=30;static COMPOSITE=31;static CONCERN=32;static CONJUGATE=33;static CONJUGATES=34;static CONJUGATION=35;static CONNECT=36;static CONNECTION=37;static CONNECTOR=38;static CONST=39;static CONSTANT=40;static CONSTRAINT=41;static CROSSES=42;static DATATYPE=43;static DECIDE=44;static DEF=45;static DEFAULT=46;static DEFINED=47;static DEPENDENCY=48;static DERIVED=49;static DIFFERENCES=50;static DISJOINING=51;static DISJOINT=52;static DO=53;static DOC=54;static ELSE=55;static END=56;static ENTRY=57;static ENUM=58;static EVENT=59;static EXHIBIT=60;static EXIT=61;static EXPOSE=62;static EXPR=63;static FALSE=64;static FEATURE=65;static FEATURED=66;static FEATURING=67;static FILTER=68;static FIRST=69;static FLOW=70;static FOR=71;static FORK=72;static FRAME=73;static FROM=74;static FUNCTION=75;static HASTYPE=76;static IF=77;static IMPLIES=78;static IMPORT=79;static IN=80;static INCLUDE=81;static INDIVIDUAL=82;static INOUT=83;static INTERACTION=84;static INTERFACE=85;static INTERSECTS=86;static INV=87;static INVERSE=88;static INVERTING=89;static ISTYPE=90;static ITEM=91;static JOIN=92;static LANGUAGE=93;static LIBRARY=94;static LOCALE=95;static LOOP=96;static MEMBER=97;static MERGE=98;static MESSAGE=99;static META=100;static METACLASS=101;static METADATA=102;static MULTIPLICITY=103;static NAMESPACE=104;static NEW=105;static NONUNIQUE=106;static NOT=107;static NULL=108;static OBJECTIVE=109;static OCCURRENCE=110;static OF=111;static OR=112;static ORDERED=113;static OUT=114;static PACKAGE=115;static PARALLEL=116;static PART=117;static PERFORM=118;static PORT=119;static PORTION=120;static PREDICATE=121;static PRIVATE=122;static PROTECTED=123;static PUBLIC=124;static REDEFINES=125;static REDEFINITION=126;static REF=127;static REFERENCES=128;static RENDER=129;static RENDERING=130;static REP=131;static REQUIRE=132;static REQUIREMENT=133;static RETURN=134;static SATISFY=135;static SEND=136;static SNAPSHOT=137;static SPECIALIZATION=138;static SPECIALIZES=139;static STAKEHOLDER=140;static STANDARD=141;static STATE=142;static STEP=143;static STRUCT=144;static SUBCLASSIFIER=145;static SUBJECT=146;static SUBSET=147;static SUBSETS=148;static SUBTYPE=149;static SUCCESSION=150;static TERMINATE=151;static THEN=152;static TIMESLICE=153;static TO=154;static TRANSITION=155;static TRUE=156;static TYPE=157;static TYPED=158;static TYPING=159;static UNIONS=160;static UNTIL=161;static USE=162;static VAR=163;static VARIANT=164;static VARIATION=165;static VERIFICATION=166;static VERIFY=167;static VIA=168;static VIEW=169;static VIEWPOINT=170;static WHEN=171;static WHILE=172;static XOR=173;static BANG_EQ_EQ=174;static COLON_COLON_GT=175;static COLON_GT_GT=176;static EQ_EQ_EQ=177;static BANG_EQ=178;static STAR_STAR=179;static ARROW=180;static DOT_DOT=181;static DOT_QUESTION=182;static COLON_COLON=183;static COLON_EQ=184;static COLON_GT=185;static LE=186;static EQ_EQ=187;static FAT_ARROW=188;static GE=189;static QUESTION_QUESTION=190;static AT_AT=191;static HASH=192;static DOLLAR=193;static PERCENT=194;static AMP=195;static LPAREN=196;static RPAREN=197;static STAR=198;static PLUS=199;static COMMA=200;static MINUS=201;static DOT=202;static SLASH=203;static COLON=204;static SEMI=205;static LT=206;static EQ=207;static GT=208;static QUESTION=209;static AT_SIGN=210;static LBRACK=211;static RBRACK=212;static CARET=213;static LBRACE=214;static PIPE=215;static RBRACE=216;static TILDE=217;static IDENTIFIER=218;static STRING=219;static DOUBLE_STRING=220;static INTEGER=221;static REAL=222;static REGULAR_COMMENT=223;static SINGLE_LINE_NOTE=224;static WS=225;static channelNames=["DEFAULT_TOKEN_CHANNEL","HIDDEN"];static literalNames=[null,"'about'","'abstract'","'accept'","'action'","'actor'","'after'","'alias'","'all'","'allocate'","'allocation'","'analysis'","'and'","'as'","'assert'","'assign'","'assoc'","'assume'","'at'","'attribute'","'behavior'","'bind'","'binding'","'bool'","'by'","'calc'","'case'","'chains'","'class'","'classifier'","'comment'","'composite'","'concern'","'conjugate'","'conjugates'","'conjugation'","'connect'","'connection'","'connector'","'const'","'constant'","'constraint'","'crosses'","'datatype'","'decide'","'def'","'default'","'defined'","'dependency'","'derived'","'differences'","'disjoining'","'disjoint'","'do'","'doc'","'else'","'end'","'entry'","'enum'","'event'","'exhibit'","'exit'","'expose'","'expr'","'false'","'feature'","'featured'","'featuring'","'filter'","'first'","'flow'","'for'","'fork'","'frame'","'from'","'function'","'hastype'","'if'","'implies'","'import'","'in'","'include'","'individual'","'inout'","'interaction'","'interface'","'intersects'","'inv'","'inverse'","'inverting'","'istype'","'item'","'join'","'language'","'library'","'locale'","'loop'","'member'","'merge'","'message'","'meta'","'metaclass'","'metadata'","'multiplicity'","'namespace'","'new'","'nonunique'","'not'","'null'","'objective'","'occurrence'","'of'","'or'","'ordered'","'out'","'package'","'parallel'","'part'","'perform'","'port'","'portion'","'predicate'","'private'","'protected'","'public'","'redefines'","'redefinition'","'ref'","'references'","'render'","'rendering'","'rep'","'require'","'requirement'","'return'","'satisfy'","'send'","'snapshot'","'specialization'","'specializes'","'stakeholder'","'standard'","'state'","'step'","'struct'","'subclassifier'","'subject'","'subset'","'subsets'","'subtype'","'succession'","'terminate'","'then'","'timeslice'","'to'","'transition'","'true'","'type'","'typed'","'typing'","'unions'","'until'","'use'","'var'","'variant'","'variation'","'verification'","'verify'","'via'","'view'","'viewpoint'","'when'","'while'","'xor'","'!=='","'::>'","':>>'","'==='","'!='","'**'","'->'","'..'","'.?'","'::'","':='","':>'","'<='","'=='","'=>'","'>='","'??'","'@@'","'#'","'$'","'%'","'&'","'('","')'","'*'","'+'","','","'-'","'.'","'/'","':'","';'","'<'","'='","'>'","'?'","'@'","'['","']'","'^'","'{'","'|'","'}'","'~'"];static symbolicNames=[null,"ABOUT","ABSTRACT","ACCEPT","ACTION","ACTOR","AFTER","ALIAS","ALL","ALLOCATE","ALLOCATION","ANALYSIS","AND","AS","ASSERT","ASSIGN","ASSOC","ASSUME","AT","ATTRIBUTE","BEHAVIOR","BIND","BINDING","BOOL","BY","CALC","CASE","CHAINS","CLASS","CLASSIFIER","COMMENT","COMPOSITE","CONCERN","CONJUGATE","CONJUGATES","CONJUGATION","CONNECT","CONNECTION","CONNECTOR","CONST","CONSTANT","CONSTRAINT","CROSSES","DATATYPE","DECIDE","DEF","DEFAULT","DEFINED","DEPENDENCY","DERIVED","DIFFERENCES","DISJOINING","DISJOINT","DO","DOC","ELSE","END","ENTRY","ENUM","EVENT","EXHIBIT","EXIT","EXPOSE","EXPR","FALSE","FEATURE","FEATURED","FEATURING","FILTER","FIRST","FLOW","FOR","FORK","FRAME","FROM","FUNCTION","HASTYPE","IF","IMPLIES","IMPORT","IN","INCLUDE","INDIVIDUAL","INOUT","INTERACTION","INTERFACE","INTERSECTS","INV","INVERSE","INVERTING","ISTYPE","ITEM","JOIN","LANGUAGE","LIBRARY","LOCALE","LOOP","MEMBER","MERGE","MESSAGE","META","METACLASS","METADATA","MULTIPLICITY","NAMESPACE","NEW","NONUNIQUE","NOT","NULL","OBJECTIVE","OCCURRENCE","OF","OR","ORDERED","OUT","PACKAGE","PARALLEL","PART","PERFORM","PORT","PORTION","PREDICATE","PRIVATE","PROTECTED","PUBLIC","REDEFINES","REDEFINITION","REF","REFERENCES","RENDER","RENDERING","REP","REQUIRE","REQUIREMENT","RETURN","SATISFY","SEND","SNAPSHOT","SPECIALIZATION","SPECIALIZES","STAKEHOLDER","STANDARD","STATE","STEP","STRUCT","SUBCLASSIFIER","SUBJECT","SUBSET","SUBSETS","SUBTYPE","SUCCESSION","TERMINATE","THEN","TIMESLICE","TO","TRANSITION","TRUE","TYPE","TYPED","TYPING","UNIONS","UNTIL","USE","VAR","VARIANT","VARIATION","VERIFICATION","VERIFY","VIA","VIEW","VIEWPOINT","WHEN","WHILE","XOR","BANG_EQ_EQ","COLON_COLON_GT","COLON_GT_GT","EQ_EQ_EQ","BANG_EQ","STAR_STAR","ARROW","DOT_DOT","DOT_QUESTION","COLON_COLON","COLON_EQ","COLON_GT","LE","EQ_EQ","FAT_ARROW","GE","QUESTION_QUESTION","AT_AT","HASH","DOLLAR","PERCENT","AMP","LPAREN","RPAREN","STAR","PLUS","COMMA","MINUS","DOT","SLASH","COLON","SEMI","LT","EQ","GT","QUESTION","AT_SIGN","LBRACK","RBRACK","CARET","LBRACE","PIPE","RBRACE","TILDE","IDENTIFIER","STRING","DOUBLE_STRING","INTEGER","REAL","REGULAR_COMMENT","SINGLE_LINE_NOTE","WS"];static modeNames=["DEFAULT_MODE"];static ruleNames=["ABOUT","ABSTRACT","ACCEPT","ACTION","ACTOR","AFTER","ALIAS","ALL","ALLOCATE","ALLOCATION","ANALYSIS","AND","AS","ASSERT","ASSIGN","ASSOC","ASSUME","AT","ATTRIBUTE","BEHAVIOR","BIND","BINDING","BOOL","BY","CALC","CASE","CHAINS","CLASS","CLASSIFIER","COMMENT","COMPOSITE","CONCERN","CONJUGATE","CONJUGATES","CONJUGATION","CONNECT","CONNECTION","CONNECTOR","CONST","CONSTANT","CONSTRAINT","CROSSES","DATATYPE","DECIDE","DEF","DEFAULT","DEFINED","DEPENDENCY","DERIVED","DIFFERENCES","DISJOINING","DISJOINT","DO","DOC","ELSE","END","ENTRY","ENUM","EVENT","EXHIBIT","EXIT","EXPOSE","EXPR","FALSE","FEATURE","FEATURED","FEATURING","FILTER","FIRST","FLOW","FOR","FORK","FRAME","FROM","FUNCTION","HASTYPE","IF","IMPLIES","IMPORT","IN","INCLUDE","INDIVIDUAL","INOUT","INTERACTION","INTERFACE","INTERSECTS","INV","INVERSE","INVERTING","ISTYPE","ITEM","JOIN","LANGUAGE","LIBRARY","LOCALE","LOOP","MEMBER","MERGE","MESSAGE","META","METACLASS","METADATA","MULTIPLICITY","NAMESPACE","NEW","NONUNIQUE","NOT","NULL","OBJECTIVE","OCCURRENCE","OF","OR","ORDERED","OUT","PACKAGE","PARALLEL","PART","PERFORM","PORT","PORTION","PREDICATE","PRIVATE","PROTECTED","PUBLIC","REDEFINES","REDEFINITION","REF","REFERENCES","RENDER","RENDERING","REP","REQUIRE","REQUIREMENT","RETURN","SATISFY","SEND","SNAPSHOT","SPECIALIZATION","SPECIALIZES","STAKEHOLDER","STANDARD","STATE","STEP","STRUCT","SUBCLASSIFIER","SUBJECT","SUBSET","SUBSETS","SUBTYPE","SUCCESSION","TERMINATE","THEN","TIMESLICE","TO","TRANSITION","TRUE","TYPE","TYPED","TYPING","UNIONS","UNTIL","USE","VAR","VARIANT","VARIATION","VERIFICATION","VERIFY","VIA","VIEW","VIEWPOINT","WHEN","WHILE","XOR","BANG_EQ_EQ","COLON_COLON_GT","COLON_GT_GT","EQ_EQ_EQ","BANG_EQ","STAR_STAR","ARROW","DOT_DOT","DOT_QUESTION","COLON_COLON","COLON_EQ","COLON_GT","LE","EQ_EQ","FAT_ARROW","GE","QUESTION_QUESTION","AT_AT","HASH","DOLLAR","PERCENT","AMP","LPAREN","RPAREN","STAR","PLUS","COMMA","MINUS","DOT","SLASH","COLON","SEMI","LT","EQ","GT","QUESTION","AT_SIGN","LBRACK","RBRACK","CARET","LBRACE","PIPE","RBRACE","TILDE","IDENTIFIER","STRING","DOUBLE_STRING","INTEGER","REAL","REGULAR_COMMENT","SINGLE_LINE_NOTE","WS"];constructor(input){super(input),this.interpreter=new LexerATNSimulator(this,_SysMLv2Lexer._ATN,_SysMLv2Lexer.decisionsToDFA,new PredictionContextCache)}get grammarFileName(){return"SysMLv2Lexer.g4"}get literalNames(){return _SysMLv2Lexer.literalNames}get symbolicNames(){return _SysMLv2Lexer.symbolicNames}get ruleNames(){return _SysMLv2Lexer.ruleNames}get serializedATN(){return _SysMLv2Lexer._serializedATN}get channelNames(){return _SysMLv2Lexer.channelNames}get modeNames(){return _SysMLv2Lexer.modeNames}static _serializedATN=[4,0,225,1950,6,-1,2,0,7,0,2,1,7,1,2,2,7,2,2,3,7,3,2,4,7,4,2,5,7,5,2,6,7,6,2,7,7,7,2,8,7,8,2,9,7,9,2,10,7,10,2,11,7,11,2,12,7,12,2,13,7,13,2,14,7,14,2,15,7,15,2,16,7,16,2,17,7,17,2,18,7,18,2,19,7,19,2,20,7,20,2,21,7,21,2,22,7,22,2,23,7,23,2,24,7,24,2,25,7,25,2,26,7,26,2,27,7,27,2,28,7,28,2,29,7,29,2,30,7,30,2,31,7,31,2,32,7,32,2,33,7,33,2,34,7,34,2,35,7,35,2,36,7,36,2,37,7,37,2,38,7,38,2,39,7,39,2,40,7,40,2,41,7,41,2,42,7,42,2,43,7,43,2,44,7,44,2,45,7,45,2,46,7,46,2,47,7,47,2,48,7,48,2,49,7,49,2,50,7,50,2,51,7,51,2,52,7,52,2,53,7,53,2,54,7,54,2,55,7,55,2,56,7,56,2,57,7,57,2,58,7,58,2,59,7,59,2,60,7,60,2,61,7,61,2,62,7,62,2,63,7,63,2,64,7,64,2,65,7,65,2,66,7,66,2,67,7,67,2,68,7,68,2,69,7,69,2,70,7,70,2,71,7,71,2,72,7,72,2,73,7,73,2,74,7,74,2,75,7,75,2,76,7,76,2,77,7,77,2,78,7,78,2,79,7,79,2,80,7,80,2,81,7,81,2,82,7,82,2,83,7,83,2,84,7,84,2,85,7,85,2,86,7,86,2,87,7,87,2,88,7,88,2,89,7,89,2,90,7,90,2,91,7,91,2,92,7,92,2,93,7,93,2,94,7,94,2,95,7,95,2,96,7,96,2,97,7,97,2,98,7,98,2,99,7,99,2,100,7,100,2,101,7,101,2,102,7,102,2,103,7,103,2,104,7,104,2,105,7,105,2,106,7,106,2,107,7,107,2,108,7,108,2,109,7,109,2,110,7,110,2,111,7,111,2,112,7,112,2,113,7,113,2,114,7,114,2,115,7,115,2,116,7,116,2,117,7,117,2,118,7,118,2,119,7,119,2,120,7,120,2,121,7,121,2,122,7,122,2,123,7,123,2,124,7,124,2,125,7,125,2,126,7,126,2,127,7,127,2,128,7,128,2,129,7,129,2,130,7,130,2,131,7,131,2,132,7,132,2,133,7,133,2,134,7,134,2,135,7,135,2,136,7,136,2,137,7,137,2,138,7,138,2,139,7,139,2,140,7,140,2,141,7,141,2,142,7,142,2,143,7,143,2,144,7,144,2,145,7,145,2,146,7,146,2,147,7,147,2,148,7,148,2,149,7,149,2,150,7,150,2,151,7,151,2,152,7,152,2,153,7,153,2,154,7,154,2,155,7,155,2,156,7,156,2,157,7,157,2,158,7,158,2,159,7,159,2,160,7,160,2,161,7,161,2,162,7,162,2,163,7,163,2,164,7,164,2,165,7,165,2,166,7,166,2,167,7,167,2,168,7,168,2,169,7,169,2,170,7,170,2,171,7,171,2,172,7,172,2,173,7,173,2,174,7,174,2,175,7,175,2,176,7,176,2,177,7,177,2,178,7,178,2,179,7,179,2,180,7,180,2,181,7,181,2,182,7,182,2,183,7,183,2,184,7,184,2,185,7,185,2,186,7,186,2,187,7,187,2,188,7,188,2,189,7,189,2,190,7,190,2,191,7,191,2,192,7,192,2,193,7,193,2,194,7,194,2,195,7,195,2,196,7,196,2,197,7,197,2,198,7,198,2,199,7,199,2,200,7,200,2,201,7,201,2,202,7,202,2,203,7,203,2,204,7,204,2,205,7,205,2,206,7,206,2,207,7,207,2,208,7,208,2,209,7,209,2,210,7,210,2,211,7,211,2,212,7,212,2,213,7,213,2,214,7,214,2,215,7,215,2,216,7,216,2,217,7,217,2,218,7,218,2,219,7,219,2,220,7,220,2,221,7,221,2,222,7,222,2,223,7,223,2,224,7,224,1,0,1,0,1,0,1,0,1,0,1,0,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,3,1,3,1,3,1,3,1,3,1,3,1,3,1,4,1,4,1,4,1,4,1,4,1,4,1,5,1,5,1,5,1,5,1,5,1,5,1,6,1,6,1,6,1,6,1,6,1,6,1,7,1,7,1,7,1,7,1,8,1,8,1,8,1,8,1,8,1,8,1,8,1,8,1,8,1,9,1,9,1,9,1,9,1,9,1,9,1,9,1,9,1,9,1,9,1,9,1,10,1,10,1,10,1,10,1,10,1,10,1,10,1,10,1,10,1,11,1,11,1,11,1,11,1,12,1,12,1,12,1,13,1,13,1,13,1,13,1,13,1,13,1,13,1,14,1,14,1,14,1,14,1,14,1,14,1,14,1,15,1,15,1,15,1,15,1,15,1,15,1,16,1,16,1,16,1,16,1,16,1,16,1,16,1,17,1,17,1,17,1,18,1,18,1,18,1,18,1,18,1,18,1,18,1,18,1,18,1,18,1,19,1,19,1,19,1,19,1,19,1,19,1,19,1,19,1,19,1,20,1,20,1,20,1,20,1,20,1,21,1,21,1,21,1,21,1,21,1,21,1,21,1,21,1,22,1,22,1,22,1,22,1,22,1,23,1,23,1,23,1,24,1,24,1,24,1,24,1,24,1,25,1,25,1,25,1,25,1,25,1,26,1,26,1,26,1,26,1,26,1,26,1,26,1,27,1,27,1,27,1,27,1,27,1,27,1,28,1,28,1,28,1,28,1,28,1,28,1,28,1,28,1,28,1,28,1,28,1,29,1,29,1,29,1,29,1,29,1,29,1,29,1,29,1,30,1,30,1,30,1,30,1,30,1,30,1,30,1,30,1,30,1,30,1,31,1,31,1,31,1,31,1,31,1,31,1,31,1,31,1,32,1,32,1,32,1,32,1,32,1,32,1,32,1,32,1,32,1,32,1,33,1,33,1,33,1,33,1,33,1,33,1,33,1,33,1,33,1,33,1,33,1,34,1,34,1,34,1,34,1,34,1,34,1,34,1,34,1,34,1,34,1,34,1,34,1,35,1,35,1,35,1,35,1,35,1,35,1,35,1,35,1,36,1,36,1,36,1,36,1,36,1,36,1,36,1,36,1,36,1,36,1,36,1,37,1,37,1,37,1,37,1,37,1,37,1,37,1,37,1,37,1,37,1,38,1,38,1,38,1,38,1,38,1,38,1,39,1,39,1,39,1,39,1,39,1,39,1,39,1,39,1,39,1,40,1,40,1,40,1,40,1,40,1,40,1,40,1,40,1,40,1,40,1,40,1,41,1,41,1,41,1,41,1,41,1,41,1,41,1,41,1,42,1,42,1,42,1,42,1,42,1,42,1,42,1,42,1,42,1,43,1,43,1,43,1,43,1,43,1,43,1,43,1,44,1,44,1,44,1,44,1,45,1,45,1,45,1,45,1,45,1,45,1,45,1,45,1,46,1,46,1,46,1,46,1,46,1,46,1,46,1,46,1,47,1,47,1,47,1,47,1,47,1,47,1,47,1,47,1,47,1,47,1,47,1,48,1,48,1,48,1,48,1,48,1,48,1,48,1,48,1,49,1,49,1,49,1,49,1,49,1,49,1,49,1,49,1,49,1,49,1,49,1,49,1,50,1,50,1,50,1,50,1,50,1,50,1,50,1,50,1,50,1,50,1,50,1,51,1,51,1,51,1,51,1,51,1,51,1,51,1,51,1,51,1,52,1,52,1,52,1,53,1,53,1,53,1,53,1,54,1,54,1,54,1,54,1,54,1,55,1,55,1,55,1,55,1,56,1,56,1,56,1,56,1,56,1,56,1,57,1,57,1,57,1,57,1,57,1,58,1,58,1,58,1,58,1,58,1,58,1,59,1,59,1,59,1,59,1,59,1,59,1,59,1,59,1,60,1,60,1,60,1,60,1,60,1,61,1,61,1,61,1,61,1,61,1,61,1,61,1,62,1,62,1,62,1,62,1,62,1,63,1,63,1,63,1,63,1,63,1,63,1,64,1,64,1,64,1,64,1,64,1,64,1,64,1,64,1,65,1,65,1,65,1,65,1,65,1,65,1,65,1,65,1,65,1,66,1,66,1,66,1,66,1,66,1,66,1,66,1,66,1,66,1,66,1,67,1,67,1,67,1,67,1,67,1,67,1,67,1,68,1,68,1,68,1,68,1,68,1,68,1,69,1,69,1,69,1,69,1,69,1,70,1,70,1,70,1,70,1,71,1,71,1,71,1,71,1,71,1,72,1,72,1,72,1,72,1,72,1,72,1,73,1,73,1,73,1,73,1,73,1,74,1,74,1,74,1,74,1,74,1,74,1,74,1,74,1,74,1,75,1,75,1,75,1,75,1,75,1,75,1,75,1,75,1,76,1,76,1,76,1,77,1,77,1,77,1,77,1,77,1,77,1,77,1,77,1,78,1,78,1,78,1,78,1,78,1,78,1,78,1,79,1,79,1,79,1,80,1,80,1,80,1,80,1,80,1,80,1,80,1,80,1,81,1,81,1,81,1,81,1,81,1,81,1,81,1,81,1,81,1,81,1,81,1,82,1,82,1,82,1,82,1,82,1,82,1,83,1,83,1,83,1,83,1,83,1,83,1,83,1,83,1,83,1,83,1,83,1,83,1,84,1,84,1,84,1,84,1,84,1,84,1,84,1,84,1,84,1,84,1,85,1,85,1,85,1,85,1,85,1,85,1,85,1,85,1,85,1,85,1,85,1,86,1,86,1,86,1,86,1,87,1,87,1,87,1,87,1,87,1,87,1,87,1,87,1,88,1,88,1,88,1,88,1,88,1,88,1,88,1,88,1,88,1,88,1,89,1,89,1,89,1,89,1,89,1,89,1,89,1,90,1,90,1,90,1,90,1,90,1,91,1,91,1,91,1,91,1,91,1,92,1,92,1,92,1,92,1,92,1,92,1,92,1,92,1,92,1,93,1,93,1,93,1,93,1,93,1,93,1,93,1,93,1,94,1,94,1,94,1,94,1,94,1,94,1,94,1,95,1,95,1,95,1,95,1,95,1,96,1,96,1,96,1,96,1,96,1,96,1,96,1,97,1,97,1,97,1,97,1,97,1,97,1,98,1,98,1,98,1,98,1,98,1,98,1,98,1,98,1,99,1,99,1,99,1,99,1,99,1,100,1,100,1,100,1,100,1,100,1,100,1,100,1,100,1,100,1,100,1,101,1,101,1,101,1,101,1,101,1,101,1,101,1,101,1,101,1,102,1,102,1,102,1,102,1,102,1,102,1,102,1,102,1,102,1,102,1,102,1,102,1,102,1,103,1,103,1,103,1,103,1,103,1,103,1,103,1,103,1,103,1,103,1,104,1,104,1,104,1,104,1,105,1,105,1,105,1,105,1,105,1,105,1,105,1,105,1,105,1,105,1,106,1,106,1,106,1,106,1,107,1,107,1,107,1,107,1,107,1,108,1,108,1,108,1,108,1,108,1,108,1,108,1,108,1,108,1,108,1,109,1,109,1,109,1,109,1,109,1,109,1,109,1,109,1,109,1,109,1,109,1,110,1,110,1,110,1,111,1,111,1,111,1,112,1,112,1,112,1,112,1,112,1,112,1,112,1,112,1,113,1,113,1,113,1,113,1,114,1,114,1,114,1,114,1,114,1,114,1,114,1,114,1,115,1,115,1,115,1,115,1,115,1,115,1,115,1,115,1,115,1,116,1,116,1,116,1,116,1,116,1,117,1,117,1,117,1,117,1,117,1,117,1,117,1,117,1,118,1,118,1,118,1,118,1,118,1,119,1,119,1,119,1,119,1,119,1,119,1,119,1,119,1,120,1,120,1,120,1,120,1,120,1,120,1,120,1,120,1,120,1,120,1,121,1,121,1,121,1,121,1,121,1,121,1,121,1,121,1,122,1,122,1,122,1,122,1,122,1,122,1,122,1,122,1,122,1,122,1,123,1,123,1,123,1,123,1,123,1,123,1,123,1,124,1,124,1,124,1,124,1,124,1,124,1,124,1,124,1,124,1,124,1,125,1,125,1,125,1,125,1,125,1,125,1,125,1,125,1,125,1,125,1,125,1,125,1,125,1,126,1,126,1,126,1,126,1,127,1,127,1,127,1,127,1,127,1,127,1,127,1,127,1,127,1,127,1,127,1,128,1,128,1,128,1,128,1,128,1,128,1,128,1,129,1,129,1,129,1,129,1,129,1,129,1,129,1,129,1,129,1,129,1,130,1,130,1,130,1,130,1,131,1,131,1,131,1,131,1,131,1,131,1,131,1,131,1,132,1,132,1,132,1,132,1,132,1,132,1,132,1,132,1,132,1,132,1,132,1,132,1,133,1,133,1,133,1,133,1,133,1,133,1,133,1,134,1,134,1,134,1,134,1,134,1,134,1,134,1,134,1,135,1,135,1,135,1,135,1,135,1,136,1,136,1,136,1,136,1,136,1,136,1,136,1,136,1,136,1,137,1,137,1,137,1,137,1,137,1,137,1,137,1,137,1,137,1,137,1,137,1,137,1,137,1,137,1,137,1,138,1,138,1,138,1,138,1,138,1,138,1,138,1,138,1,138,1,138,1,138,1,138,1,139,1,139,1,139,1,139,1,139,1,139,1,139,1,139,1,139,1,139,1,139,1,139,1,140,1,140,1,140,1,140,1,140,1,140,1,140,1,140,1,140,1,141,1,141,1,141,1,141,1,141,1,141,1,142,1,142,1,142,1,142,1,142,1,143,1,143,1,143,1,143,1,143,1,143,1,143,1,144,1,144,1,144,1,144,1,144,1,144,1,144,1,144,1,144,1,144,1,144,1,144,1,144,1,144,1,145,1,145,1,145,1,145,1,145,1,145,1,145,1,145,1,146,1,146,1,146,1,146,1,146,1,146,1,146,1,147,1,147,1,147,1,147,1,147,1,147,1,147,1,147,1,148,1,148,1,148,1,148,1,148,1,148,1,148,1,148,1,149,1,149,1,149,1,149,1,149,1,149,1,149,1,149,1,149,1,149,1,149,1,150,1,150,1,150,1,150,1,150,1,150,1,150,1,150,1,150,1,150,1,151,1,151,1,151,1,151,1,151,1,152,1,152,1,152,1,152,1,152,1,152,1,152,1,152,1,152,1,152,1,153,1,153,1,153,1,154,1,154,1,154,1,154,1,154,1,154,1,154,1,154,1,154,1,154,1,154,1,155,1,155,1,155,1,155,1,155,1,156,1,156,1,156,1,156,1,156,1,157,1,157,1,157,1,157,1,157,1,157,1,158,1,158,1,158,1,158,1,158,1,158,1,158,1,159,1,159,1,159,1,159,1,159,1,159,1,159,1,160,1,160,1,160,1,160,1,160,1,160,1,161,1,161,1,161,1,161,1,162,1,162,1,162,1,162,1,163,1,163,1,163,1,163,1,163,1,163,1,163,1,163,1,164,1,164,1,164,1,164,1,164,1,164,1,164,1,164,1,164,1,164,1,165,1,165,1,165,1,165,1,165,1,165,1,165,1,165,1,165,1,165,1,165,1,165,1,165,1,166,1,166,1,166,1,166,1,166,1,166,1,166,1,167,1,167,1,167,1,167,1,168,1,168,1,168,1,168,1,168,1,169,1,169,1,169,1,169,1,169,1,169,1,169,1,169,1,169,1,169,1,170,1,170,1,170,1,170,1,170,1,171,1,171,1,171,1,171,1,171,1,171,1,172,1,172,1,172,1,172,1,173,1,173,1,173,1,173,1,174,1,174,1,174,1,174,1,175,1,175,1,175,1,175,1,176,1,176,1,176,1,176,1,177,1,177,1,177,1,178,1,178,1,178,1,179,1,179,1,179,1,180,1,180,1,180,1,181,1,181,1,181,1,182,1,182,1,182,1,183,1,183,1,183,1,184,1,184,1,184,1,185,1,185,1,185,1,186,1,186,1,186,1,187,1,187,1,187,1,188,1,188,1,188,1,189,1,189,1,189,1,190,1,190,1,190,1,191,1,191,1,192,1,192,1,193,1,193,1,194,1,194,1,195,1,195,1,196,1,196,1,197,1,197,1,198,1,198,1,199,1,199,1,200,1,200,1,201,1,201,1,202,1,202,1,203,1,203,1,204,1,204,1,205,1,205,1,206,1,206,1,207,1,207,1,208,1,208,1,209,1,209,1,210,1,210,1,211,1,211,1,212,1,212,1,213,1,213,1,214,1,214,1,215,1,215,1,216,1,216,1,217,1,217,5,217,1850,8,217,10,217,12,217,1853,9,217,1,218,1,218,1,218,1,218,5,218,1859,8,218,10,218,12,218,1862,9,218,1,218,1,218,1,219,1,219,1,219,1,219,5,219,1870,8,219,10,219,12,219,1873,9,219,1,219,1,219,1,220,4,220,1878,8,220,11,220,12,220,1879,1,221,5,221,1883,8,221,10,221,12,221,1886,9,221,1,221,1,221,4,221,1890,8,221,11,221,12,221,1891,1,221,1,221,3,221,1896,8,221,1,221,4,221,1899,8,221,11,221,12,221,1900,3,221,1903,8,221,1,221,4,221,1906,8,221,11,221,12,221,1907,1,221,1,221,3,221,1912,8,221,1,221,4,221,1915,8,221,11,221,12,221,1916,3,221,1919,8,221,1,222,1,222,1,222,1,222,5,222,1925,8,222,10,222,12,222,1928,9,222,1,222,1,222,1,222,1,223,1,223,1,223,1,223,5,223,1937,8,223,10,223,12,223,1940,9,223,1,223,1,223,1,224,4,224,1945,8,224,11,224,12,224,1946,1,224,1,224,1,1926,0,225,1,1,3,2,5,3,7,4,9,5,11,6,13,7,15,8,17,9,19,10,21,11,23,12,25,13,27,14,29,15,31,16,33,17,35,18,37,19,39,20,41,21,43,22,45,23,47,24,49,25,51,26,53,27,55,28,57,29,59,30,61,31,63,32,65,33,67,34,69,35,71,36,73,37,75,38,77,39,79,40,81,41,83,42,85,43,87,44,89,45,91,46,93,47,95,48,97,49,99,50,101,51,103,52,105,53,107,54,109,55,111,56,113,57,115,58,117,59,119,60,121,61,123,62,125,63,127,64,129,65,131,66,133,67,135,68,137,69,139,70,141,71,143,72,145,73,147,74,149,75,151,76,153,77,155,78,157,79,159,80,161,81,163,82,165,83,167,84,169,85,171,86,173,87,175,88,177,89,179,90,181,91,183,92,185,93,187,94,189,95,191,96,193,97,195,98,197,99,199,100,201,101,203,102,205,103,207,104,209,105,211,106,213,107,215,108,217,109,219,110,221,111,223,112,225,113,227,114,229,115,231,116,233,117,235,118,237,119,239,120,241,121,243,122,245,123,247,124,249,125,251,126,253,127,255,128,257,129,259,130,261,131,263,132,265,133,267,134,269,135,271,136,273,137,275,138,277,139,279,140,281,141,283,142,285,143,287,144,289,145,291,146,293,147,295,148,297,149,299,150,301,151,303,152,305,153,307,154,309,155,311,156,313,157,315,158,317,159,319,160,321,161,323,162,325,163,327,164,329,165,331,166,333,167,335,168,337,169,339,170,341,171,343,172,345,173,347,174,349,175,351,176,353,177,355,178,357,179,359,180,361,181,363,182,365,183,367,184,369,185,371,186,373,187,375,188,377,189,379,190,381,191,383,192,385,193,387,194,389,195,391,196,393,197,395,198,397,199,399,200,401,201,403,202,405,203,407,204,409,205,411,206,413,207,415,208,417,209,419,210,421,211,423,212,425,213,427,214,429,215,431,216,433,217,435,218,437,219,439,220,441,221,443,222,445,223,447,224,449,225,1,0,9,3,0,65,90,95,95,97,122,4,0,48,57,65,90,95,95,97,122,2,0,39,39,92,92,2,0,34,34,92,92,1,0,48,57,2,0,69,69,101,101,2,0,43,43,45,45,2,0,10,10,13,13,3,0,9,10,13,13,32,32,1967,0,1,1,0,0,0,0,3,1,0,0,0,0,5,1,0,0,0,0,7,1,0,0,0,0,9,1,0,0,0,0,11,1,0,0,0,0,13,1,0,0,0,0,15,1,0,0,0,0,17,1,0,0,0,0,19,1,0,0,0,0,21,1,0,0,0,0,23,1,0,0,0,0,25,1,0,0,0,0,27,1,0,0,0,0,29,1,0,0,0,0,31,1,0,0,0,0,33,1,0,0,0,0,35,1,0,0,0,0,37,1,0,0,0,0,39,1,0,0,0,0,41,1,0,0,0,0,43,1,0,0,0,0,45,1,0,0,0,0,47,1,0,0,0,0,49,1,0,0,0,0,51,1,0,0,0,0,53,1,0,0,0,0,55,1,0,0,0,0,57,1,0,0,0,0,59,1,0,0,0,0,61,1,0,0,0,0,63,1,0,0,0,0,65,1,0,0,0,0,67,1,0,0,0,0,69,1,0,0,0,0,71,1,0,0,0,0,73,1,0,0,0,0,75,1,0,0,0,0,77,1,0,0,0,0,79,1,0,0,0,0,81,1,0,0,0,0,83,1,0,0,0,0,85,1,0,0,0,0,87,1,0,0,0,0,89,1,0,0,0,0,91,1,0,0,0,0,93,1,0,0,0,0,95,1,0,0,0,0,97,1,0,0,0,0,99,1,0,0,0,0,101,1,0,0,0,0,103,1,0,0,0,0,105,1,0,0,0,0,107,1,0,0,0,0,109,1,0,0,0,0,111,1,0,0,0,0,113,1,0,0,0,0,115,1,0,0,0,0,117,1,0,0,0,0,119,1,0,0,0,0,121,1,0,0,0,0,123,1,0,0,0,0,125,1,0,0,0,0,127,1,0,0,0,0,129,1,0,0,0,0,131,1,0,0,0,0,133,1,0,0,0,0,135,1,0,0,0,0,137,1,0,0,0,0,139,1,0,0,0,0,141,1,0,0,0,0,143,1,0,0,0,0,145,1,0,0,0,0,147,1,0,0,0,0,149,1,0,0,0,0,151,1,0,0,0,0,153,1,0,0,0,0,155,1,0,0,0,0,157,1,0,0,0,0,159,1,0,0,0,0,161,1,0,0,0,0,163,1,0,0,0,0,165,1,0,0,0,0,167,1,0,0,0,0,169,1,0,0,0,0,171,1,0,0,0,0,173,1,0,0,0,0,175,1,0,0,0,0,177,1,0,0,0,0,179,1,0,0,0,0,181,1,0,0,0,0,183,1,0,0,0,0,185,1,0,0,0,0,187,1,0,0,0,0,189,1,0,0,0,0,191,1,0,0,0,0,193,1,0,0,0,0,195,1,0,0,0,0,197,1,0,0,0,0,199,1,0,0,0,0,201,1,0,0,0,0,203,1,0,0,0,0,205,1,0,0,0,0,207,1,0,0,0,0,209,1,0,0,0,0,211,1,0,0,0,0,213,1,0,0,0,0,215,1,0,0,0,0,217,1,0,0,0,0,219,1,0,0,0,0,221,1,0,0,0,0,223,1,0,0,0,0,225,1,0,0,0,0,227,1,0,0,0,0,229,1,0,0,0,0,231,1,0,0,0,0,233,1,0,0,0,0,235,1,0,0,0,0,237,1,0,0,0,0,239,1,0,0,0,0,241,1,0,0,0,0,243,1,0,0,0,0,245,1,0,0,0,0,247,1,0,0,0,0,249,1,0,0,0,0,251,1,0,0,0,0,253,1,0,0,0,0,255,1,0,0,0,0,257,1,0,0,0,0,259,1,0,0,0,0,261,1,0,0,0,0,263,1,0,0,0,0,265,1,0,0,0,0,267,1,0,0,0,0,269,1,0,0,0,0,271,1,0,0,0,0,273,1,0,0,0,0,275,1,0,0,0,0,277,1,0,0,0,0,279,1,0,0,0,0,281,1,0,0,0,0,283,1,0,0,0,0,285,1,0,0,0,0,287,1,0,0,0,0,289,1,0,0,0,0,291,1,0,0,0,0,293,1,0,0,0,0,295,1,0,0,0,0,297,1,0,0,0,0,299,1,0,0,0,0,301,1,0,0,0,0,303,1,0,0,0,0,305,1,0,0,0,0,307,1,0,0,0,0,309,1,0,0,0,0,311,1,0,0,0,0,313,1,0,0,0,0,315,1,0,0,0,0,317,1,0,0,0,0,319,1,0,0,0,0,321,1,0,0,0,0,323,1,0,0,0,0,325,1,0,0,0,0,327,1,0,0,0,0,329,1,0,0,0,0,331,1,0,0,0,0,333,1,0,0,0,0,335,1,0,0,0,0,337,1,0,0,0,0,339,1,0,0,0,0,341,1,0,0,0,0,343,1,0,0,0,0,345,1,0,0,0,0,347,1,0,0,0,0,349,1,0,0,0,0,351,1,0,0,0,0,353,1,0,0,0,0,355,1,0,0,0,0,357,1,0,0,0,0,359,1,0,0,0,0,361,1,0,0,0,0,363,1,0,0,0,0,365,1,0,0,0,0,367,1,0,0,0,0,369,1,0,0,0,0,371,1,0,0,0,0,373,1,0,0,0,0,375,1,0,0,0,0,377,1,0,0,0,0,379,1,0,0,0,0,381,1,0,0,0,0,383,1,0,0,0,0,385,1,0,0,0,0,387,1,0,0,0,0,389,1,0,0,0,0,391,1,0,0,0,0,393,1,0,0,0,0,395,1,0,0,0,0,397,1,0,0,0,0,399,1,0,0,0,0,401,1,0,0,0,0,403,1,0,0,0,0,405,1,0,0,0,0,407,1,0,0,0,0,409,1,0,0,0,0,411,1,0,0,0,0,413,1,0,0,0,0,415,1,0,0,0,0,417,1,0,0,0,0,419,1,0,0,0,0,421,1,0,0,0,0,423,1,0,0,0,0,425,1,0,0,0,0,427,1,0,0,0,0,429,1,0,0,0,0,431,1,0,0,0,0,433,1,0,0,0,0,435,1,0,0,0,0,437,1,0,0,0,0,439,1,0,0,0,0,441,1,0,0,0,0,443,1,0,0,0,0,445,1,0,0,0,0,447,1,0,0,0,0,449,1,0,0,0,1,451,1,0,0,0,3,457,1,0,0,0,5,466,1,0,0,0,7,473,1,0,0,0,9,480,1,0,0,0,11,486,1,0,0,0,13,492,1,0,0,0,15,498,1,0,0,0,17,502,1,0,0,0,19,511,1,0,0,0,21,522,1,0,0,0,23,531,1,0,0,0,25,535,1,0,0,0,27,538,1,0,0,0,29,545,1,0,0,0,31,552,1,0,0,0,33,558,1,0,0,0,35,565,1,0,0,0,37,568,1,0,0,0,39,578,1,0,0,0,41,587,1,0,0,0,43,592,1,0,0,0,45,600,1,0,0,0,47,605,1,0,0,0,49,608,1,0,0,0,51,613,1,0,0,0,53,618,1,0,0,0,55,625,1,0,0,0,57,631,1,0,0,0,59,642,1,0,0,0,61,650,1,0,0,0,63,660,1,0,0,0,65,668,1,0,0,0,67,678,1,0,0,0,69,689,1,0,0,0,71,701,1,0,0,0,73,709,1,0,0,0,75,720,1,0,0,0,77,730,1,0,0,0,79,736,1,0,0,0,81,745,1,0,0,0,83,756,1,0,0,0,85,764,1,0,0,0,87,773,1,0,0,0,89,780,1,0,0,0,91,784,1,0,0,0,93,792,1,0,0,0,95,800,1,0,0,0,97,811,1,0,0,0,99,819,1,0,0,0,101,831,1,0,0,0,103,842,1,0,0,0,105,851,1,0,0,0,107,854,1,0,0,0,109,858,1,0,0,0,111,863,1,0,0,0,113,867,1,0,0,0,115,873,1,0,0,0,117,878,1,0,0,0,119,884,1,0,0,0,121,892,1,0,0,0,123,897,1,0,0,0,125,904,1,0,0,0,127,909,1,0,0,0,129,915,1,0,0,0,131,923,1,0,0,0,133,932,1,0,0,0,135,942,1,0,0,0,137,949,1,0,0,0,139,955,1,0,0,0,141,960,1,0,0,0,143,964,1,0,0,0,145,969,1,0,0,0,147,975,1,0,0,0,149,980,1,0,0,0,151,989,1,0,0,0,153,997,1,0,0,0,155,1e3,1,0,0,0,157,1008,1,0,0,0,159,1015,1,0,0,0,161,1018,1,0,0,0,163,1026,1,0,0,0,165,1037,1,0,0,0,167,1043,1,0,0,0,169,1055,1,0,0,0,171,1065,1,0,0,0,173,1076,1,0,0,0,175,1080,1,0,0,0,177,1088,1,0,0,0,179,1098,1,0,0,0,181,1105,1,0,0,0,183,1110,1,0,0,0,185,1115,1,0,0,0,187,1124,1,0,0,0,189,1132,1,0,0,0,191,1139,1,0,0,0,193,1144,1,0,0,0,195,1151,1,0,0,0,197,1157,1,0,0,0,199,1165,1,0,0,0,201,1170,1,0,0,0,203,1180,1,0,0,0,205,1189,1,0,0,0,207,1202,1,0,0,0,209,1212,1,0,0,0,211,1216,1,0,0,0,213,1226,1,0,0,0,215,1230,1,0,0,0,217,1235,1,0,0,0,219,1245,1,0,0,0,221,1256,1,0,0,0,223,1259,1,0,0,0,225,1262,1,0,0,0,227,1270,1,0,0,0,229,1274,1,0,0,0,231,1282,1,0,0,0,233,1291,1,0,0,0,235,1296,1,0,0,0,237,1304,1,0,0,0,239,1309,1,0,0,0,241,1317,1,0,0,0,243,1327,1,0,0,0,245,1335,1,0,0,0,247,1345,1,0,0,0,249,1352,1,0,0,0,251,1362,1,0,0,0,253,1375,1,0,0,0,255,1379,1,0,0,0,257,1390,1,0,0,0,259,1397,1,0,0,0,261,1407,1,0,0,0,263,1411,1,0,0,0,265,1419,1,0,0,0,267,1431,1,0,0,0,269,1438,1,0,0,0,271,1446,1,0,0,0,273,1451,1,0,0,0,275,1460,1,0,0,0,277,1475,1,0,0,0,279,1487,1,0,0,0,281,1499,1,0,0,0,283,1508,1,0,0,0,285,1514,1,0,0,0,287,1519,1,0,0,0,289,1526,1,0,0,0,291,1540,1,0,0,0,293,1548,1,0,0,0,295,1555,1,0,0,0,297,1563,1,0,0,0,299,1571,1,0,0,0,301,1582,1,0,0,0,303,1592,1,0,0,0,305,1597,1,0,0,0,307,1607,1,0,0,0,309,1610,1,0,0,0,311,1621,1,0,0,0,313,1626,1,0,0,0,315,1631,1,0,0,0,317,1637,1,0,0,0,319,1644,1,0,0,0,321,1651,1,0,0,0,323,1657,1,0,0,0,325,1661,1,0,0,0,327,1665,1,0,0,0,329,1673,1,0,0,0,331,1683,1,0,0,0,333,1696,1,0,0,0,335,1703,1,0,0,0,337,1707,1,0,0,0,339,1712,1,0,0,0,341,1722,1,0,0,0,343,1727,1,0,0,0,345,1733,1,0,0,0,347,1737,1,0,0,0,349,1741,1,0,0,0,351,1745,1,0,0,0,353,1749,1,0,0,0,355,1753,1,0,0,0,357,1756,1,0,0,0,359,1759,1,0,0,0,361,1762,1,0,0,0,363,1765,1,0,0,0,365,1768,1,0,0,0,367,1771,1,0,0,0,369,1774,1,0,0,0,371,1777,1,0,0,0,373,1780,1,0,0,0,375,1783,1,0,0,0,377,1786,1,0,0,0,379,1789,1,0,0,0,381,1792,1,0,0,0,383,1795,1,0,0,0,385,1797,1,0,0,0,387,1799,1,0,0,0,389,1801,1,0,0,0,391,1803,1,0,0,0,393,1805,1,0,0,0,395,1807,1,0,0,0,397,1809,1,0,0,0,399,1811,1,0,0,0,401,1813,1,0,0,0,403,1815,1,0,0,0,405,1817,1,0,0,0,407,1819,1,0,0,0,409,1821,1,0,0,0,411,1823,1,0,0,0,413,1825,1,0,0,0,415,1827,1,0,0,0,417,1829,1,0,0,0,419,1831,1,0,0,0,421,1833,1,0,0,0,423,1835,1,0,0,0,425,1837,1,0,0,0,427,1839,1,0,0,0,429,1841,1,0,0,0,431,1843,1,0,0,0,433,1845,1,0,0,0,435,1847,1,0,0,0,437,1854,1,0,0,0,439,1865,1,0,0,0,441,1877,1,0,0,0,443,1918,1,0,0,0,445,1920,1,0,0,0,447,1932,1,0,0,0,449,1944,1,0,0,0,451,452,5,97,0,0,452,453,5,98,0,0,453,454,5,111,0,0,454,455,5,117,0,0,455,456,5,116,0,0,456,2,1,0,0,0,457,458,5,97,0,0,458,459,5,98,0,0,459,460,5,115,0,0,460,461,5,116,0,0,461,462,5,114,0,0,462,463,5,97,0,0,463,464,5,99,0,0,464,465,5,116,0,0,465,4,1,0,0,0,466,467,5,97,0,0,467,468,5,99,0,0,468,469,5,99,0,0,469,470,5,101,0,0,470,471,5,112,0,0,471,472,5,116,0,0,472,6,1,0,0,0,473,474,5,97,0,0,474,475,5,99,0,0,475,476,5,116,0,0,476,477,5,105,0,0,477,478,5,111,0,0,478,479,5,110,0,0,479,8,1,0,0,0,480,481,5,97,0,0,481,482,5,99,0,0,482,483,5,116,0,0,483,484,5,111,0,0,484,485,5,114,0,0,485,10,1,0,0,0,486,487,5,97,0,0,487,488,5,102,0,0,488,489,5,116,0,0,489,490,5,101,0,0,490,491,5,114,0,0,491,12,1,0,0,0,492,493,5,97,0,0,493,494,5,108,0,0,494,495,5,105,0,0,495,496,5,97,0,0,496,497,5,115,0,0,497,14,1,0,0,0,498,499,5,97,0,0,499,500,5,108,0,0,500,501,5,108,0,0,501,16,1,0,0,0,502,503,5,97,0,0,503,504,5,108,0,0,504,505,5,108,0,0,505,506,5,111,0,0,506,507,5,99,0,0,507,508,5,97,0,0,508,509,5,116,0,0,509,510,5,101,0,0,510,18,1,0,0,0,511,512,5,97,0,0,512,513,5,108,0,0,513,514,5,108,0,0,514,515,5,111,0,0,515,516,5,99,0,0,516,517,5,97,0,0,517,518,5,116,0,0,518,519,5,105,0,0,519,520,5,111,0,0,520,521,5,110,0,0,521,20,1,0,0,0,522,523,5,97,0,0,523,524,5,110,0,0,524,525,5,97,0,0,525,526,5,108,0,0,526,527,5,121,0,0,527,528,5,115,0,0,528,529,5,105,0,0,529,530,5,115,0,0,530,22,1,0,0,0,531,532,5,97,0,0,532,533,5,110,0,0,533,534,5,100,0,0,534,24,1,0,0,0,535,536,5,97,0,0,536,537,5,115,0,0,537,26,1,0,0,0,538,539,5,97,0,0,539,540,5,115,0,0,540,541,5,115,0,0,541,542,5,101,0,0,542,543,5,114,0,0,543,544,5,116,0,0,544,28,1,0,0,0,545,546,5,97,0,0,546,547,5,115,0,0,547,548,5,115,0,0,548,549,5,105,0,0,549,550,5,103,0,0,550,551,5,110,0,0,551,30,1,0,0,0,552,553,5,97,0,0,553,554,5,115,0,0,554,555,5,115,0,0,555,556,5,111,0,0,556,557,5,99,0,0,557,32,1,0,0,0,558,559,5,97,0,0,559,560,5,115,0,0,560,561,5,115,0,0,561,562,5,117,0,0,562,563,5,109,0,0,563,564,5,101,0,0,564,34,1,0,0,0,565,566,5,97,0,0,566,567,5,116,0,0,567,36,1,0,0,0,568,569,5,97,0,0,569,570,5,116,0,0,570,571,5,116,0,0,571,572,5,114,0,0,572,573,5,105,0,0,573,574,5,98,0,0,574,575,5,117,0,0,575,576,5,116,0,0,576,577,5,101,0,0,577,38,1,0,0,0,578,579,5,98,0,0,579,580,5,101,0,0,580,581,5,104,0,0,581,582,5,97,0,0,582,583,5,118,0,0,583,584,5,105,0,0,584,585,5,111,0,0,585,586,5,114,0,0,586,40,1,0,0,0,587,588,5,98,0,0,588,589,5,105,0,0,589,590,5,110,0,0,590,591,5,100,0,0,591,42,1,0,0,0,592,593,5,98,0,0,593,594,5,105,0,0,594,595,5,110,0,0,595,596,5,100,0,0,596,597,5,105,0,0,597,598,5,110,0,0,598,599,5,103,0,0,599,44,1,0,0,0,600,601,5,98,0,0,601,602,5,111,0,0,602,603,5,111,0,0,603,604,5,108,0,0,604,46,1,0,0,0,605,606,5,98,0,0,606,607,5,121,0,0,607,48,1,0,0,0,608,609,5,99,0,0,609,610,5,97,0,0,610,611,5,108,0,0,611,612,5,99,0,0,612,50,1,0,0,0,613,614,5,99,0,0,614,615,5,97,0,0,615,616,5,115,0,0,616,617,5,101,0,0,617,52,1,0,0,0,618,619,5,99,0,0,619,620,5,104,0,0,620,621,5,97,0,0,621,622,5,105,0,0,622,623,5,110,0,0,623,624,5,115,0,0,624,54,1,0,0,0,625,626,5,99,0,0,626,627,5,108,0,0,627,628,5,97,0,0,628,629,5,115,0,0,629,630,5,115,0,0,630,56,1,0,0,0,631,632,5,99,0,0,632,633,5,108,0,0,633,634,5,97,0,0,634,635,5,115,0,0,635,636,5,115,0,0,636,637,5,105,0,0,637,638,5,102,0,0,638,639,5,105,0,0,639,640,5,101,0,0,640,641,5,114,0,0,641,58,1,0,0,0,642,643,5,99,0,0,643,644,5,111,0,0,644,645,5,109,0,0,645,646,5,109,0,0,646,647,5,101,0,0,647,648,5,110,0,0,648,649,5,116,0,0,649,60,1,0,0,0,650,651,5,99,0,0,651,652,5,111,0,0,652,653,5,109,0,0,653,654,5,112,0,0,654,655,5,111,0,0,655,656,5,115,0,0,656,657,5,105,0,0,657,658,5,116,0,0,658,659,5,101,0,0,659,62,1,0,0,0,660,661,5,99,0,0,661,662,5,111,0,0,662,663,5,110,0,0,663,664,5,99,0,0,664,665,5,101,0,0,665,666,5,114,0,0,666,667,5,110,0,0,667,64,1,0,0,0,668,669,5,99,0,0,669,670,5,111,0,0,670,671,5,110,0,0,671,672,5,106,0,0,672,673,5,117,0,0,673,674,5,103,0,0,674,675,5,97,0,0,675,676,5,116,0,0,676,677,5,101,0,0,677,66,1,0,0,0,678,679,5,99,0,0,679,680,5,111,0,0,680,681,5,110,0,0,681,682,5,106,0,0,682,683,5,117,0,0,683,684,5,103,0,0,684,685,5,97,0,0,685,686,5,116,0,0,686,687,5,101,0,0,687,688,5,115,0,0,688,68,1,0,0,0,689,690,5,99,0,0,690,691,5,111,0,0,691,692,5,110,0,0,692,693,5,106,0,0,693,694,5,117,0,0,694,695,5,103,0,0,695,696,5,97,0,0,696,697,5,116,0,0,697,698,5,105,0,0,698,699,5,111,0,0,699,700,5,110,0,0,700,70,1,0,0,0,701,702,5,99,0,0,702,703,5,111,0,0,703,704,5,110,0,0,704,705,5,110,0,0,705,706,5,101,0,0,706,707,5,99,0,0,707,708,5,116,0,0,708,72,1,0,0,0,709,710,5,99,0,0,710,711,5,111,0,0,711,712,5,110,0,0,712,713,5,110,0,0,713,714,5,101,0,0,714,715,5,99,0,0,715,716,5,116,0,0,716,717,5,105,0,0,717,718,5,111,0,0,718,719,5,110,0,0,719,74,1,0,0,0,720,721,5,99,0,0,721,722,5,111,0,0,722,723,5,110,0,0,723,724,5,110,0,0,724,725,5,101,0,0,725,726,5,99,0,0,726,727,5,116,0,0,727,728,5,111,0,0,728,729,5,114,0,0,729,76,1,0,0,0,730,731,5,99,0,0,731,732,5,111,0,0,732,733,5,110,0,0,733,734,5,115,0,0,734,735,5,116,0,0,735,78,1,0,0,0,736,737,5,99,0,0,737,738,5,111,0,0,738,739,5,110,0,0,739,740,5,115,0,0,740,741,5,116,0,0,741,742,5,97,0,0,742,743,5,110,0,0,743,744,5,116,0,0,744,80,1,0,0,0,745,746,5,99,0,0,746,747,5,111,0,0,747,748,5,110,0,0,748,749,5,115,0,0,749,750,5,116,0,0,750,751,5,114,0,0,751,752,5,97,0,0,752,753,5,105,0,0,753,754,5,110,0,0,754,755,5,116,0,0,755,82,1,0,0,0,756,757,5,99,0,0,757,758,5,114,0,0,758,759,5,111,0,0,759,760,5,115,0,0,760,761,5,115,0,0,761,762,5,101,0,0,762,763,5,115,0,0,763,84,1,0,0,0,764,765,5,100,0,0,765,766,5,97,0,0,766,767,5,116,0,0,767,768,5,97,0,0,768,769,5,116,0,0,769,770,5,121,0,0,770,771,5,112,0,0,771,772,5,101,0,0,772,86,1,0,0,0,773,774,5,100,0,0,774,775,5,101,0,0,775,776,5,99,0,0,776,777,5,105,0,0,777,778,5,100,0,0,778,779,5,101,0,0,779,88,1,0,0,0,780,781,5,100,0,0,781,782,5,101,0,0,782,783,5,102,0,0,783,90,1,0,0,0,784,785,5,100,0,0,785,786,5,101,0,0,786,787,5,102,0,0,787,788,5,97,0,0,788,789,5,117,0,0,789,790,5,108,0,0,790,791,5,116,0,0,791,92,1,0,0,0,792,793,5,100,0,0,793,794,5,101,0,0,794,795,5,102,0,0,795,796,5,105,0,0,796,797,5,110,0,0,797,798,5,101,0,0,798,799,5,100,0,0,799,94,1,0,0,0,800,801,5,100,0,0,801,802,5,101,0,0,802,803,5,112,0,0,803,804,5,101,0,0,804,805,5,110,0,0,805,806,5,100,0,0,806,807,5,101,0,0,807,808,5,110,0,0,808,809,5,99,0,0,809,810,5,121,0,0,810,96,1,0,0,0,811,812,5,100,0,0,812,813,5,101,0,0,813,814,5,114,0,0,814,815,5,105,0,0,815,816,5,118,0,0,816,817,5,101,0,0,817,818,5,100,0,0,818,98,1,0,0,0,819,820,5,100,0,0,820,821,5,105,0,0,821,822,5,102,0,0,822,823,5,102,0,0,823,824,5,101,0,0,824,825,5,114,0,0,825,826,5,101,0,0,826,827,5,110,0,0,827,828,5,99,0,0,828,829,5,101,0,0,829,830,5,115,0,0,830,100,1,0,0,0,831,832,5,100,0,0,832,833,5,105,0,0,833,834,5,115,0,0,834,835,5,106,0,0,835,836,5,111,0,0,836,837,5,105,0,0,837,838,5,110,0,0,838,839,5,105,0,0,839,840,5,110,0,0,840,841,5,103,0,0,841,102,1,0,0,0,842,843,5,100,0,0,843,844,5,105,0,0,844,845,5,115,0,0,845,846,5,106,0,0,846,847,5,111,0,0,847,848,5,105,0,0,848,849,5,110,0,0,849,850,5,116,0,0,850,104,1,0,0,0,851,852,5,100,0,0,852,853,5,111,0,0,853,106,1,0,0,0,854,855,5,100,0,0,855,856,5,111,0,0,856,857,5,99,0,0,857,108,1,0,0,0,858,859,5,101,0,0,859,860,5,108,0,0,860,861,5,115,0,0,861,862,5,101,0,0,862,110,1,0,0,0,863,864,5,101,0,0,864,865,5,110,0,0,865,866,5,100,0,0,866,112,1,0,0,0,867,868,5,101,0,0,868,869,5,110,0,0,869,870,5,116,0,0,870,871,5,114,0,0,871,872,5,121,0,0,872,114,1,0,0,0,873,874,5,101,0,0,874,875,5,110,0,0,875,876,5,117,0,0,876,877,5,109,0,0,877,116,1,0,0,0,878,879,5,101,0,0,879,880,5,118,0,0,880,881,5,101,0,0,881,882,5,110,0,0,882,883,5,116,0,0,883,118,1,0,0,0,884,885,5,101,0,0,885,886,5,120,0,0,886,887,5,104,0,0,887,888,5,105,0,0,888,889,5,98,0,0,889,890,5,105,0,0,890,891,5,116,0,0,891,120,1,0,0,0,892,893,5,101,0,0,893,894,5,120,0,0,894,895,5,105,0,0,895,896,5,116,0,0,896,122,1,0,0,0,897,898,5,101,0,0,898,899,5,120,0,0,899,900,5,112,0,0,900,901,5,111,0,0,901,902,5,115,0,0,902,903,5,101,0,0,903,124,1,0,0,0,904,905,5,101,0,0,905,906,5,120,0,0,906,907,5,112,0,0,907,908,5,114,0,0,908,126,1,0,0,0,909,910,5,102,0,0,910,911,5,97,0,0,911,912,5,108,0,0,912,913,5,115,0,0,913,914,5,101,0,0,914,128,1,0,0,0,915,916,5,102,0,0,916,917,5,101,0,0,917,918,5,97,0,0,918,919,5,116,0,0,919,920,5,117,0,0,920,921,5,114,0,0,921,922,5,101,0,0,922,130,1,0,0,0,923,924,5,102,0,0,924,925,5,101,0,0,925,926,5,97,0,0,926,927,5,116,0,0,927,928,5,117,0,0,928,929,5,114,0,0,929,930,5,101,0,0,930,931,5,100,0,0,931,132,1,0,0,0,932,933,5,102,0,0,933,934,5,101,0,0,934,935,5,97,0,0,935,936,5,116,0,0,936,937,5,117,0,0,937,938,5,114,0,0,938,939,5,105,0,0,939,940,5,110,0,0,940,941,5,103,0,0,941,134,1,0,0,0,942,943,5,102,0,0,943,944,5,105,0,0,944,945,5,108,0,0,945,946,5,116,0,0,946,947,5,101,0,0,947,948,5,114,0,0,948,136,1,0,0,0,949,950,5,102,0,0,950,951,5,105,0,0,951,952,5,114,0,0,952,953,5,115,0,0,953,954,5,116,0,0,954,138,1,0,0,0,955,956,5,102,0,0,956,957,5,108,0,0,957,958,5,111,0,0,958,959,5,119,0,0,959,140,1,0,0,0,960,961,5,102,0,0,961,962,5,111,0,0,962,963,5,114,0,0,963,142,1,0,0,0,964,965,5,102,0,0,965,966,5,111,0,0,966,967,5,114,0,0,967,968,5,107,0,0,968,144,1,0,0,0,969,970,5,102,0,0,970,971,5,114,0,0,971,972,5,97,0,0,972,973,5,109,0,0,973,974,5,101,0,0,974,146,1,0,0,0,975,976,5,102,0,0,976,977,5,114,0,0,977,978,5,111,0,0,978,979,5,109,0,0,979,148,1,0,0,0,980,981,5,102,0,0,981,982,5,117,0,0,982,983,5,110,0,0,983,984,5,99,0,0,984,985,5,116,0,0,985,986,5,105,0,0,986,987,5,111,0,0,987,988,5,110,0,0,988,150,1,0,0,0,989,990,5,104,0,0,990,991,5,97,0,0,991,992,5,115,0,0,992,993,5,116,0,0,993,994,5,121,0,0,994,995,5,112,0,0,995,996,5,101,0,0,996,152,1,0,0,0,997,998,5,105,0,0,998,999,5,102,0,0,999,154,1,0,0,0,1e3,1001,5,105,0,0,1001,1002,5,109,0,0,1002,1003,5,112,0,0,1003,1004,5,108,0,0,1004,1005,5,105,0,0,1005,1006,5,101,0,0,1006,1007,5,115,0,0,1007,156,1,0,0,0,1008,1009,5,105,0,0,1009,1010,5,109,0,0,1010,1011,5,112,0,0,1011,1012,5,111,0,0,1012,1013,5,114,0,0,1013,1014,5,116,0,0,1014,158,1,0,0,0,1015,1016,5,105,0,0,1016,1017,5,110,0,0,1017,160,1,0,0,0,1018,1019,5,105,0,0,1019,1020,5,110,0,0,1020,1021,5,99,0,0,1021,1022,5,108,0,0,1022,1023,5,117,0,0,1023,1024,5,100,0,0,1024,1025,5,101,0,0,1025,162,1,0,0,0,1026,1027,5,105,0,0,1027,1028,5,110,0,0,1028,1029,5,100,0,0,1029,1030,5,105,0,0,1030,1031,5,118,0,0,1031,1032,5,105,0,0,1032,1033,5,100,0,0,1033,1034,5,117,0,0,1034,1035,5,97,0,0,1035,1036,5,108,0,0,1036,164,1,0,0,0,1037,1038,5,105,0,0,1038,1039,5,110,0,0,1039,1040,5,111,0,0,1040,1041,5,117,0,0,1041,1042,5,116,0,0,1042,166,1,0,0,0,1043,1044,5,105,0,0,1044,1045,5,110,0,0,1045,1046,5,116,0,0,1046,1047,5,101,0,0,1047,1048,5,114,0,0,1048,1049,5,97,0,0,1049,1050,5,99,0,0,1050,1051,5,116,0,0,1051,1052,5,105,0,0,1052,1053,5,111,0,0,1053,1054,5,110,0,0,1054,168,1,0,0,0,1055,1056,5,105,0,0,1056,1057,5,110,0,0,1057,1058,5,116,0,0,1058,1059,5,101,0,0,1059,1060,5,114,0,0,1060,1061,5,102,0,0,1061,1062,5,97,0,0,1062,1063,5,99,0,0,1063,1064,5,101,0,0,1064,170,1,0,0,0,1065,1066,5,105,0,0,1066,1067,5,110,0,0,1067,1068,5,116,0,0,1068,1069,5,101,0,0,1069,1070,5,114,0,0,1070,1071,5,115,0,0,1071,1072,5,101,0,0,1072,1073,5,99,0,0,1073,1074,5,116,0,0,1074,1075,5,115,0,0,1075,172,1,0,0,0,1076,1077,5,105,0,0,1077,1078,5,110,0,0,1078,1079,5,118,0,0,1079,174,1,0,0,0,1080,1081,5,105,0,0,1081,1082,5,110,0,0,1082,1083,5,118,0,0,1083,1084,5,101,0,0,1084,1085,5,114,0,0,1085,1086,5,115,0,0,1086,1087,5,101,0,0,1087,176,1,0,0,0,1088,1089,5,105,0,0,1089,1090,5,110,0,0,1090,1091,5,118,0,0,1091,1092,5,101,0,0,1092,1093,5,114,0,0,1093,1094,5,116,0,0,1094,1095,5,105,0,0,1095,1096,5,110,0,0,1096,1097,5,103,0,0,1097,178,1,0,0,0,1098,1099,5,105,0,0,1099,1100,5,115,0,0,1100,1101,5,116,0,0,1101,1102,5,121,0,0,1102,1103,5,112,0,0,1103,1104,5,101,0,0,1104,180,1,0,0,0,1105,1106,5,105,0,0,1106,1107,5,116,0,0,1107,1108,5,101,0,0,1108,1109,5,109,0,0,1109,182,1,0,0,0,1110,1111,5,106,0,0,1111,1112,5,111,0,0,1112,1113,5,105,0,0,1113,1114,5,110,0,0,1114,184,1,0,0,0,1115,1116,5,108,0,0,1116,1117,5,97,0,0,1117,1118,5,110,0,0,1118,1119,5,103,0,0,1119,1120,5,117,0,0,1120,1121,5,97,0,0,1121,1122,5,103,0,0,1122,1123,5,101,0,0,1123,186,1,0,0,0,1124,1125,5,108,0,0,1125,1126,5,105,0,0,1126,1127,5,98,0,0,1127,1128,5,114,0,0,1128,1129,5,97,0,0,1129,1130,5,114,0,0,1130,1131,5,121,0,0,1131,188,1,0,0,0,1132,1133,5,108,0,0,1133,1134,5,111,0,0,1134,1135,5,99,0,0,1135,1136,5,97,0,0,1136,1137,5,108,0,0,1137,1138,5,101,0,0,1138,190,1,0,0,0,1139,1140,5,108,0,0,1140,1141,5,111,0,0,1141,1142,5,111,0,0,1142,1143,5,112,0,0,1143,192,1,0,0,0,1144,1145,5,109,0,0,1145,1146,5,101,0,0,1146,1147,5,109,0,0,1147,1148,5,98,0,0,1148,1149,5,101,0,0,1149,1150,5,114,0,0,1150,194,1,0,0,0,1151,1152,5,109,0,0,1152,1153,5,101,0,0,1153,1154,5,114,0,0,1154,1155,5,103,0,0,1155,1156,5,101,0,0,1156,196,1,0,0,0,1157,1158,5,109,0,0,1158,1159,5,101,0,0,1159,1160,5,115,0,0,1160,1161,5,115,0,0,1161,1162,5,97,0,0,1162,1163,5,103,0,0,1163,1164,5,101,0,0,1164,198,1,0,0,0,1165,1166,5,109,0,0,1166,1167,5,101,0,0,1167,1168,5,116,0,0,1168,1169,5,97,0,0,1169,200,1,0,0,0,1170,1171,5,109,0,0,1171,1172,5,101,0,0,1172,1173,5,116,0,0,1173,1174,5,97,0,0,1174,1175,5,99,0,0,1175,1176,5,108,0,0,1176,1177,5,97,0,0,1177,1178,5,115,0,0,1178,1179,5,115,0,0,1179,202,1,0,0,0,1180,1181,5,109,0,0,1181,1182,5,101,0,0,1182,1183,5,116,0,0,1183,1184,5,97,0,0,1184,1185,5,100,0,0,1185,1186,5,97,0,0,1186,1187,5,116,0,0,1187,1188,5,97,0,0,1188,204,1,0,0,0,1189,1190,5,109,0,0,1190,1191,5,117,0,0,1191,1192,5,108,0,0,1192,1193,5,116,0,0,1193,1194,5,105,0,0,1194,1195,5,112,0,0,1195,1196,5,108,0,0,1196,1197,5,105,0,0,1197,1198,5,99,0,0,1198,1199,5,105,0,0,1199,1200,5,116,0,0,1200,1201,5,121,0,0,1201,206,1,0,0,0,1202,1203,5,110,0,0,1203,1204,5,97,0,0,1204,1205,5,109,0,0,1205,1206,5,101,0,0,1206,1207,5,115,0,0,1207,1208,5,112,0,0,1208,1209,5,97,0,0,1209,1210,5,99,0,0,1210,1211,5,101,0,0,1211,208,1,0,0,0,1212,1213,5,110,0,0,1213,1214,5,101,0,0,1214,1215,5,119,0,0,1215,210,1,0,0,0,1216,1217,5,110,0,0,1217,1218,5,111,0,0,1218,1219,5,110,0,0,1219,1220,5,117,0,0,1220,1221,5,110,0,0,1221,1222,5,105,0,0,1222,1223,5,113,0,0,1223,1224,5,117,0,0,1224,1225,5,101,0,0,1225,212,1,0,0,0,1226,1227,5,110,0,0,1227,1228,5,111,0,0,1228,1229,5,116,0,0,1229,214,1,0,0,0,1230,1231,5,110,0,0,1231,1232,5,117,0,0,1232,1233,5,108,0,0,1233,1234,5,108,0,0,1234,216,1,0,0,0,1235,1236,5,111,0,0,1236,1237,5,98,0,0,1237,1238,5,106,0,0,1238,1239,5,101,0,0,1239,1240,5,99,0,0,1240,1241,5,116,0,0,1241,1242,5,105,0,0,1242,1243,5,118,0,0,1243,1244,5,101,0,0,1244,218,1,0,0,0,1245,1246,5,111,0,0,1246,1247,5,99,0,0,1247,1248,5,99,0,0,1248,1249,5,117,0,0,1249,1250,5,114,0,0,1250,1251,5,114,0,0,1251,1252,5,101,0,0,1252,1253,5,110,0,0,1253,1254,5,99,0,0,1254,1255,5,101,0,0,1255,220,1,0,0,0,1256,1257,5,111,0,0,1257,1258,5,102,0,0,1258,222,1,0,0,0,1259,1260,5,111,0,0,1260,1261,5,114,0,0,1261,224,1,0,0,0,1262,1263,5,111,0,0,1263,1264,5,114,0,0,1264,1265,5,100,0,0,1265,1266,5,101,0,0,1266,1267,5,114,0,0,1267,1268,5,101,0,0,1268,1269,5,100,0,0,1269,226,1,0,0,0,1270,1271,5,111,0,0,1271,1272,5,117,0,0,1272,1273,5,116,0,0,1273,228,1,0,0,0,1274,1275,5,112,0,0,1275,1276,5,97,0,0,1276,1277,5,99,0,0,1277,1278,5,107,0,0,1278,1279,5,97,0,0,1279,1280,5,103,0,0,1280,1281,5,101,0,0,1281,230,1,0,0,0,1282,1283,5,112,0,0,1283,1284,5,97,0,0,1284,1285,5,114,0,0,1285,1286,5,97,0,0,1286,1287,5,108,0,0,1287,1288,5,108,0,0,1288,1289,5,101,0,0,1289,1290,5,108,0,0,1290,232,1,0,0,0,1291,1292,5,112,0,0,1292,1293,5,97,0,0,1293,1294,5,114,0,0,1294,1295,5,116,0,0,1295,234,1,0,0,0,1296,1297,5,112,0,0,1297,1298,5,101,0,0,1298,1299,5,114,0,0,1299,1300,5,102,0,0,1300,1301,5,111,0,0,1301,1302,5,114,0,0,1302,1303,5,109,0,0,1303,236,1,0,0,0,1304,1305,5,112,0,0,1305,1306,5,111,0,0,1306,1307,5,114,0,0,1307,1308,5,116,0,0,1308,238,1,0,0,0,1309,1310,5,112,0,0,1310,1311,5,111,0,0,1311,1312,5,114,0,0,1312,1313,5,116,0,0,1313,1314,5,105,0,0,1314,1315,5,111,0,0,1315,1316,5,110,0,0,1316,240,1,0,0,0,1317,1318,5,112,0,0,1318,1319,5,114,0,0,1319,1320,5,101,0,0,1320,1321,5,100,0,0,1321,1322,5,105,0,0,1322,1323,5,99,0,0,1323,1324,5,97,0,0,1324,1325,5,116,0,0,1325,1326,5,101,0,0,1326,242,1,0,0,0,1327,1328,5,112,0,0,1328,1329,5,114,0,0,1329,1330,5,105,0,0,1330,1331,5,118,0,0,1331,1332,5,97,0,0,1332,1333,5,116,0,0,1333,1334,5,101,0,0,1334,244,1,0,0,0,1335,1336,5,112,0,0,1336,1337,5,114,0,0,1337,1338,5,111,0,0,1338,1339,5,116,0,0,1339,1340,5,101,0,0,1340,1341,5,99,0,0,1341,1342,5,116,0,0,1342,1343,5,101,0,0,1343,1344,5,100,0,0,1344,246,1,0,0,0,1345,1346,5,112,0,0,1346,1347,5,117,0,0,1347,1348,5,98,0,0,1348,1349,5,108,0,0,1349,1350,5,105,0,0,1350,1351,5,99,0,0,1351,248,1,0,0,0,1352,1353,5,114,0,0,1353,1354,5,101,0,0,1354,1355,5,100,0,0,1355,1356,5,101,0,0,1356,1357,5,102,0,0,1357,1358,5,105,0,0,1358,1359,5,110,0,0,1359,1360,5,101,0,0,1360,1361,5,115,0,0,1361,250,1,0,0,0,1362,1363,5,114,0,0,1363,1364,5,101,0,0,1364,1365,5,100,0,0,1365,1366,5,101,0,0,1366,1367,5,102,0,0,1367,1368,5,105,0,0,1368,1369,5,110,0,0,1369,1370,5,105,0,0,1370,1371,5,116,0,0,1371,1372,5,105,0,0,1372,1373,5,111,0,0,1373,1374,5,110,0,0,1374,252,1,0,0,0,1375,1376,5,114,0,0,1376,1377,5,101,0,0,1377,1378,5,102,0,0,1378,254,1,0,0,0,1379,1380,5,114,0,0,1380,1381,5,101,0,0,1381,1382,5,102,0,0,1382,1383,5,101,0,0,1383,1384,5,114,0,0,1384,1385,5,101,0,0,1385,1386,5,110,0,0,1386,1387,5,99,0,0,1387,1388,5,101,0,0,1388,1389,5,115,0,0,1389,256,1,0,0,0,1390,1391,5,114,0,0,1391,1392,5,101,0,0,1392,1393,5,110,0,0,1393,1394,5,100,0,0,1394,1395,5,101,0,0,1395,1396,5,114,0,0,1396,258,1,0,0,0,1397,1398,5,114,0,0,1398,1399,5,101,0,0,1399,1400,5,110,0,0,1400,1401,5,100,0,0,1401,1402,5,101,0,0,1402,1403,5,114,0,0,1403,1404,5,105,0,0,1404,1405,5,110,0,0,1405,1406,5,103,0,0,1406,260,1,0,0,0,1407,1408,5,114,0,0,1408,1409,5,101,0,0,1409,1410,5,112,0,0,1410,262,1,0,0,0,1411,1412,5,114,0,0,1412,1413,5,101,0,0,1413,1414,5,113,0,0,1414,1415,5,117,0,0,1415,1416,5,105,0,0,1416,1417,5,114,0,0,1417,1418,5,101,0,0,1418,264,1,0,0,0,1419,1420,5,114,0,0,1420,1421,5,101,0,0,1421,1422,5,113,0,0,1422,1423,5,117,0,0,1423,1424,5,105,0,0,1424,1425,5,114,0,0,1425,1426,5,101,0,0,1426,1427,5,109,0,0,1427,1428,5,101,0,0,1428,1429,5,110,0,0,1429,1430,5,116,0,0,1430,266,1,0,0,0,1431,1432,5,114,0,0,1432,1433,5,101,0,0,1433,1434,5,116,0,0,1434,1435,5,117,0,0,1435,1436,5,114,0,0,1436,1437,5,110,0,0,1437,268,1,0,0,0,1438,1439,5,115,0,0,1439,1440,5,97,0,0,1440,1441,5,116,0,0,1441,1442,5,105,0,0,1442,1443,5,115,0,0,1443,1444,5,102,0,0,1444,1445,5,121,0,0,1445,270,1,0,0,0,1446,1447,5,115,0,0,1447,1448,5,101,0,0,1448,1449,5,110,0,0,1449,1450,5,100,0,0,1450,272,1,0,0,0,1451,1452,5,115,0,0,1452,1453,5,110,0,0,1453,1454,5,97,0,0,1454,1455,5,112,0,0,1455,1456,5,115,0,0,1456,1457,5,104,0,0,1457,1458,5,111,0,0,1458,1459,5,116,0,0,1459,274,1,0,0,0,1460,1461,5,115,0,0,1461,1462,5,112,0,0,1462,1463,5,101,0,0,1463,1464,5,99,0,0,1464,1465,5,105,0,0,1465,1466,5,97,0,0,1466,1467,5,108,0,0,1467,1468,5,105,0,0,1468,1469,5,122,0,0,1469,1470,5,97,0,0,1470,1471,5,116,0,0,1471,1472,5,105,0,0,1472,1473,5,111,0,0,1473,1474,5,110,0,0,1474,276,1,0,0,0,1475,1476,5,115,0,0,1476,1477,5,112,0,0,1477,1478,5,101,0,0,1478,1479,5,99,0,0,1479,1480,5,105,0,0,1480,1481,5,97,0,0,1481,1482,5,108,0,0,1482,1483,5,105,0,0,1483,1484,5,122,0,0,1484,1485,5,101,0,0,1485,1486,5,115,0,0,1486,278,1,0,0,0,1487,1488,5,115,0,0,1488,1489,5,116,0,0,1489,1490,5,97,0,0,1490,1491,5,107,0,0,1491,1492,5,101,0,0,1492,1493,5,104,0,0,1493,1494,5,111,0,0,1494,1495,5,108,0,0,1495,1496,5,100,0,0,1496,1497,5,101,0,0,1497,1498,5,114,0,0,1498,280,1,0,0,0,1499,1500,5,115,0,0,1500,1501,5,116,0,0,1501,1502,5,97,0,0,1502,1503,5,110,0,0,1503,1504,5,100,0,0,1504,1505,5,97,0,0,1505,1506,5,114,0,0,1506,1507,5,100,0,0,1507,282,1,0,0,0,1508,1509,5,115,0,0,1509,1510,5,116,0,0,1510,1511,5,97,0,0,1511,1512,5,116,0,0,1512,1513,5,101,0,0,1513,284,1,0,0,0,1514,1515,5,115,0,0,1515,1516,5,116,0,0,1516,1517,5,101,0,0,1517,1518,5,112,0,0,1518,286,1,0,0,0,1519,1520,5,115,0,0,1520,1521,5,116,0,0,1521,1522,5,114,0,0,1522,1523,5,117,0,0,1523,1524,5,99,0,0,1524,1525,5,116,0,0,1525,288,1,0,0,0,1526,1527,5,115,0,0,1527,1528,5,117,0,0,1528,1529,5,98,0,0,1529,1530,5,99,0,0,1530,1531,5,108,0,0,1531,1532,5,97,0,0,1532,1533,5,115,0,0,1533,1534,5,115,0,0,1534,1535,5,105,0,0,1535,1536,5,102,0,0,1536,1537,5,105,0,0,1537,1538,5,101,0,0,1538,1539,5,114,0,0,1539,290,1,0,0,0,1540,1541,5,115,0,0,1541,1542,5,117,0,0,1542,1543,5,98,0,0,1543,1544,5,106,0,0,1544,1545,5,101,0,0,1545,1546,5,99,0,0,1546,1547,5,116,0,0,1547,292,1,0,0,0,1548,1549,5,115,0,0,1549,1550,5,117,0,0,1550,1551,5,98,0,0,1551,1552,5,115,0,0,1552,1553,5,101,0,0,1553,1554,5,116,0,0,1554,294,1,0,0,0,1555,1556,5,115,0,0,1556,1557,5,117,0,0,1557,1558,5,98,0,0,1558,1559,5,115,0,0,1559,1560,5,101,0,0,1560,1561,5,116,0,0,1561,1562,5,115,0,0,1562,296,1,0,0,0,1563,1564,5,115,0,0,1564,1565,5,117,0,0,1565,1566,5,98,0,0,1566,1567,5,116,0,0,1567,1568,5,121,0,0,1568,1569,5,112,0,0,1569,1570,5,101,0,0,1570,298,1,0,0,0,1571,1572,5,115,0,0,1572,1573,5,117,0,0,1573,1574,5,99,0,0,1574,1575,5,99,0,0,1575,1576,5,101,0,0,1576,1577,5,115,0,0,1577,1578,5,115,0,0,1578,1579,5,105,0,0,1579,1580,5,111,0,0,1580,1581,5,110,0,0,1581,300,1,0,0,0,1582,1583,5,116,0,0,1583,1584,5,101,0,0,1584,1585,5,114,0,0,1585,1586,5,109,0,0,1586,1587,5,105,0,0,1587,1588,5,110,0,0,1588,1589,5,97,0,0,1589,1590,5,116,0,0,1590,1591,5,101,0,0,1591,302,1,0,0,0,1592,1593,5,116,0,0,1593,1594,5,104,0,0,1594,1595,5,101,0,0,1595,1596,5,110,0,0,1596,304,1,0,0,0,1597,1598,5,116,0,0,1598,1599,5,105,0,0,1599,1600,5,109,0,0,1600,1601,5,101,0,0,1601,1602,5,115,0,0,1602,1603,5,108,0,0,1603,1604,5,105,0,0,1604,1605,5,99,0,0,1605,1606,5,101,0,0,1606,306,1,0,0,0,1607,1608,5,116,0,0,1608,1609,5,111,0,0,1609,308,1,0,0,0,1610,1611,5,116,0,0,1611,1612,5,114,0,0,1612,1613,5,97,0,0,1613,1614,5,110,0,0,1614,1615,5,115,0,0,1615,1616,5,105,0,0,1616,1617,5,116,0,0,1617,1618,5,105,0,0,1618,1619,5,111,0,0,1619,1620,5,110,0,0,1620,310,1,0,0,0,1621,1622,5,116,0,0,1622,1623,5,114,0,0,1623,1624,5,117,0,0,1624,1625,5,101,0,0,1625,312,1,0,0,0,1626,1627,5,116,0,0,1627,1628,5,121,0,0,1628,1629,5,112,0,0,1629,1630,5,101,0,0,1630,314,1,0,0,0,1631,1632,5,116,0,0,1632,1633,5,121,0,0,1633,1634,5,112,0,0,1634,1635,5,101,0,0,1635,1636,5,100,0,0,1636,316,1,0,0,0,1637,1638,5,116,0,0,1638,1639,5,121,0,0,1639,1640,5,112,0,0,1640,1641,5,105,0,0,1641,1642,5,110,0,0,1642,1643,5,103,0,0,1643,318,1,0,0,0,1644,1645,5,117,0,0,1645,1646,5,110,0,0,1646,1647,5,105,0,0,1647,1648,5,111,0,0,1648,1649,5,110,0,0,1649,1650,5,115,0,0,1650,320,1,0,0,0,1651,1652,5,117,0,0,1652,1653,5,110,0,0,1653,1654,5,116,0,0,1654,1655,5,105,0,0,1655,1656,5,108,0,0,1656,322,1,0,0,0,1657,1658,5,117,0,0,1658,1659,5,115,0,0,1659,1660,5,101,0,0,1660,324,1,0,0,0,1661,1662,5,118,0,0,1662,1663,5,97,0,0,1663,1664,5,114,0,0,1664,326,1,0,0,0,1665,1666,5,118,0,0,1666,1667,5,97,0,0,1667,1668,5,114,0,0,1668,1669,5,105,0,0,1669,1670,5,97,0,0,1670,1671,5,110,0,0,1671,1672,5,116,0,0,1672,328,1,0,0,0,1673,1674,5,118,0,0,1674,1675,5,97,0,0,1675,1676,5,114,0,0,1676,1677,5,105,0,0,1677,1678,5,97,0,0,1678,1679,5,116,0,0,1679,1680,5,105,0,0,1680,1681,5,111,0,0,1681,1682,5,110,0,0,1682,330,1,0,0,0,1683,1684,5,118,0,0,1684,1685,5,101,0,0,1685,1686,5,114,0,0,1686,1687,5,105,0,0,1687,1688,5,102,0,0,1688,1689,5,105,0,0,1689,1690,5,99,0,0,1690,1691,5,97,0,0,1691,1692,5,116,0,0,1692,1693,5,105,0,0,1693,1694,5,111,0,0,1694,1695,5,110,0,0,1695,332,1,0,0,0,1696,1697,5,118,0,0,1697,1698,5,101,0,0,1698,1699,5,114,0,0,1699,1700,5,105,0,0,1700,1701,5,102,0,0,1701,1702,5,121,0,0,1702,334,1,0,0,0,1703,1704,5,118,0,0,1704,1705,5,105,0,0,1705,1706,5,97,0,0,1706,336,1,0,0,0,1707,1708,5,118,0,0,1708,1709,5,105,0,0,1709,1710,5,101,0,0,1710,1711,5,119,0,0,1711,338,1,0,0,0,1712,1713,5,118,0,0,1713,1714,5,105,0,0,1714,1715,5,101,0,0,1715,1716,5,119,0,0,1716,1717,5,112,0,0,1717,1718,5,111,0,0,1718,1719,5,105,0,0,1719,1720,5,110,0,0,1720,1721,5,116,0,0,1721,340,1,0,0,0,1722,1723,5,119,0,0,1723,1724,5,104,0,0,1724,1725,5,101,0,0,1725,1726,5,110,0,0,1726,342,1,0,0,0,1727,1728,5,119,0,0,1728,1729,5,104,0,0,1729,1730,5,105,0,0,1730,1731,5,108,0,0,1731,1732,5,101,0,0,1732,344,1,0,0,0,1733,1734,5,120,0,0,1734,1735,5,111,0,0,1735,1736,5,114,0,0,1736,346,1,0,0,0,1737,1738,5,33,0,0,1738,1739,5,61,0,0,1739,1740,5,61,0,0,1740,348,1,0,0,0,1741,1742,5,58,0,0,1742,1743,5,58,0,0,1743,1744,5,62,0,0,1744,350,1,0,0,0,1745,1746,5,58,0,0,1746,1747,5,62,0,0,1747,1748,5,62,0,0,1748,352,1,0,0,0,1749,1750,5,61,0,0,1750,1751,5,61,0,0,1751,1752,5,61,0,0,1752,354,1,0,0,0,1753,1754,5,33,0,0,1754,1755,5,61,0,0,1755,356,1,0,0,0,1756,1757,5,42,0,0,1757,1758,5,42,0,0,1758,358,1,0,0,0,1759,1760,5,45,0,0,1760,1761,5,62,0,0,1761,360,1,0,0,0,1762,1763,5,46,0,0,1763,1764,5,46,0,0,1764,362,1,0,0,0,1765,1766,5,46,0,0,1766,1767,5,63,0,0,1767,364,1,0,0,0,1768,1769,5,58,0,0,1769,1770,5,58,0,0,1770,366,1,0,0,0,1771,1772,5,58,0,0,1772,1773,5,61,0,0,1773,368,1,0,0,0,1774,1775,5,58,0,0,1775,1776,5,62,0,0,1776,370,1,0,0,0,1777,1778,5,60,0,0,1778,1779,5,61,0,0,1779,372,1,0,0,0,1780,1781,5,61,0,0,1781,1782,5,61,0,0,1782,374,1,0,0,0,1783,1784,5,61,0,0,1784,1785,5,62,0,0,1785,376,1,0,0,0,1786,1787,5,62,0,0,1787,1788,5,61,0,0,1788,378,1,0,0,0,1789,1790,5,63,0,0,1790,1791,5,63,0,0,1791,380,1,0,0,0,1792,1793,5,64,0,0,1793,1794,5,64,0,0,1794,382,1,0,0,0,1795,1796,5,35,0,0,1796,384,1,0,0,0,1797,1798,5,36,0,0,1798,386,1,0,0,0,1799,1800,5,37,0,0,1800,388,1,0,0,0,1801,1802,5,38,0,0,1802,390,1,0,0,0,1803,1804,5,40,0,0,1804,392,1,0,0,0,1805,1806,5,41,0,0,1806,394,1,0,0,0,1807,1808,5,42,0,0,1808,396,1,0,0,0,1809,1810,5,43,0,0,1810,398,1,0,0,0,1811,1812,5,44,0,0,1812,400,1,0,0,0,1813,1814,5,45,0,0,1814,402,1,0,0,0,1815,1816,5,46,0,0,1816,404,1,0,0,0,1817,1818,5,47,0,0,1818,406,1,0,0,0,1819,1820,5,58,0,0,1820,408,1,0,0,0,1821,1822,5,59,0,0,1822,410,1,0,0,0,1823,1824,5,60,0,0,1824,412,1,0,0,0,1825,1826,5,61,0,0,1826,414,1,0,0,0,1827,1828,5,62,0,0,1828,416,1,0,0,0,1829,1830,5,63,0,0,1830,418,1,0,0,0,1831,1832,5,64,0,0,1832,420,1,0,0,0,1833,1834,5,91,0,0,1834,422,1,0,0,0,1835,1836,5,93,0,0,1836,424,1,0,0,0,1837,1838,5,94,0,0,1838,426,1,0,0,0,1839,1840,5,123,0,0,1840,428,1,0,0,0,1841,1842,5,124,0,0,1842,430,1,0,0,0,1843,1844,5,125,0,0,1844,432,1,0,0,0,1845,1846,5,126,0,0,1846,434,1,0,0,0,1847,1851,7,0,0,0,1848,1850,7,1,0,0,1849,1848,1,0,0,0,1850,1853,1,0,0,0,1851,1849,1,0,0,0,1851,1852,1,0,0,0,1852,436,1,0,0,0,1853,1851,1,0,0,0,1854,1860,5,39,0,0,1855,1856,5,92,0,0,1856,1859,9,0,0,0,1857,1859,8,2,0,0,1858,1855,1,0,0,0,1858,1857,1,0,0,0,1859,1862,1,0,0,0,1860,1858,1,0,0,0,1860,1861,1,0,0,0,1861,1863,1,0,0,0,1862,1860,1,0,0,0,1863,1864,5,39,0,0,1864,438,1,0,0,0,1865,1871,5,34,0,0,1866,1867,5,92,0,0,1867,1870,9,0,0,0,1868,1870,8,3,0,0,1869,1866,1,0,0,0,1869,1868,1,0,0,0,1870,1873,1,0,0,0,1871,1869,1,0,0,0,1871,1872,1,0,0,0,1872,1874,1,0,0,0,1873,1871,1,0,0,0,1874,1875,5,34,0,0,1875,440,1,0,0,0,1876,1878,7,4,0,0,1877,1876,1,0,0,0,1878,1879,1,0,0,0,1879,1877,1,0,0,0,1879,1880,1,0,0,0,1880,442,1,0,0,0,1881,1883,7,4,0,0,1882,1881,1,0,0,0,1883,1886,1,0,0,0,1884,1882,1,0,0,0,1884,1885,1,0,0,0,1885,1887,1,0,0,0,1886,1884,1,0,0,0,1887,1889,5,46,0,0,1888,1890,7,4,0,0,1889,1888,1,0,0,0,1890,1891,1,0,0,0,1891,1889,1,0,0,0,1891,1892,1,0,0,0,1892,1902,1,0,0,0,1893,1895,7,5,0,0,1894,1896,7,6,0,0,1895,1894,1,0,0,0,1895,1896,1,0,0,0,1896,1898,1,0,0,0,1897,1899,7,4,0,0,1898,1897,1,0,0,0,1899,1900,1,0,0,0,1900,1898,1,0,0,0,1900,1901,1,0,0,0,1901,1903,1,0,0,0,1902,1893,1,0,0,0,1902,1903,1,0,0,0,1903,1919,1,0,0,0,1904,1906,7,4,0,0,1905,1904,1,0,0,0,1906,1907,1,0,0,0,1907,1905,1,0,0,0,1907,1908,1,0,0,0,1908,1909,1,0,0,0,1909,1911,7,5,0,0,1910,1912,7,6,0,0,1911,1910,1,0,0,0,1911,1912,1,0,0,0,1912,1914,1,0,0,0,1913,1915,7,4,0,0,1914,1913,1,0,0,0,1915,1916,1,0,0,0,1916,1914,1,0,0,0,1916,1917,1,0,0,0,1917,1919,1,0,0,0,1918,1884,1,0,0,0,1918,1905,1,0,0,0,1919,444,1,0,0,0,1920,1921,5,47,0,0,1921,1922,5,42,0,0,1922,1926,1,0,0,0,1923,1925,9,0,0,0,1924,1923,1,0,0,0,1925,1928,1,0,0,0,1926,1927,1,0,0,0,1926,1924,1,0,0,0,1927,1929,1,0,0,0,1928,1926,1,0,0,0,1929,1930,5,42,0,0,1930,1931,5,47,0,0,1931,446,1,0,0,0,1932,1933,5,47,0,0,1933,1934,5,47,0,0,1934,1938,1,0,0,0,1935,1937,8,7,0,0,1936,1935,1,0,0,0,1937,1940,1,0,0,0,1938,1936,1,0,0,0,1938,1939,1,0,0,0,1939,1941,1,0,0,0,1940,1938,1,0,0,0,1941,1942,6,223,0,0,1942,448,1,0,0,0,1943,1945,7,8,0,0,1944,1943,1,0,0,0,1945,1946,1,0,0,0,1946,1944,1,0,0,0,1946,1947,1,0,0,0,1947,1948,1,0,0,0,1948,1949,6,224,0,0,1949,450,1,0,0,0,19,0,1851,1858,1860,1869,1871,1879,1884,1891,1895,1900,1902,1907,1911,1916,1918,1926,1938,1946,1,6,0,0];static __ATN;static get _ATN(){return _SysMLv2Lexer.__ATN||(_SysMLv2Lexer.__ATN=new ATNDeserializer().deserialize(_SysMLv2Lexer._serializedATN)),_SysMLv2Lexer.__ATN}static vocabulary=new Vocabulary(_SysMLv2Lexer.literalNames,_SysMLv2Lexer.symbolicNames,[]);get vocabulary(){return _SysMLv2Lexer.vocabulary}static decisionsToDFA=_SysMLv2Lexer._ATN.decisionToState.map((ds,index2)=>new DFA(ds,index2))};var SysMLv2Parser=class _SysMLv2Parser extends Parser{static ABOUT=1;static ABSTRACT=2;static ACCEPT=3;static ACTION=4;static ACTOR=5;static AFTER=6;static ALIAS=7;static ALL=8;static ALLOCATE=9;static ALLOCATION=10;static ANALYSIS=11;static AND=12;static AS=13;static ASSERT=14;static ASSIGN=15;static ASSOC=16;static ASSUME=17;static AT=18;static ATTRIBUTE=19;static BEHAVIOR=20;static BIND=21;static BINDING=22;static BOOL=23;static BY=24;static CALC=25;static CASE=26;static CHAINS=27;static CLASS=28;static CLASSIFIER=29;static COMMENT=30;static COMPOSITE=31;static CONCERN=32;static CONJUGATE=33;static CONJUGATES=34;static CONJUGATION=35;static CONNECT=36;static CONNECTION=37;static CONNECTOR=38;static CONST=39;static CONSTANT=40;static CONSTRAINT=41;static CROSSES=42;static DATATYPE=43;static DECIDE=44;static DEF=45;static DEFAULT=46;static DEFINED=47;static DEPENDENCY=48;static DERIVED=49;static DIFFERENCES=50;static DISJOINING=51;static DISJOINT=52;static DO=53;static DOC=54;static ELSE=55;static END=56;static ENTRY=57;static ENUM=58;static EVENT=59;static EXHIBIT=60;static EXIT=61;static EXPOSE=62;static EXPR=63;static FALSE=64;static FEATURE=65;static FEATURED=66;static FEATURING=67;static FILTER=68;static FIRST=69;static FLOW=70;static FOR=71;static FORK=72;static FRAME=73;static FROM=74;static FUNCTION=75;static HASTYPE=76;static IF=77;static IMPLIES=78;static IMPORT=79;static IN=80;static INCLUDE=81;static INDIVIDUAL=82;static INOUT=83;static INTERACTION=84;static INTERFACE=85;static INTERSECTS=86;static INV=87;static INVERSE=88;static INVERTING=89;static ISTYPE=90;static ITEM=91;static JOIN=92;static LANGUAGE=93;static LIBRARY=94;static LOCALE=95;static LOOP=96;static MEMBER=97;static MERGE=98;static MESSAGE=99;static META=100;static METACLASS=101;static METADATA=102;static MULTIPLICITY=103;static NAMESPACE=104;static NEW=105;static NONUNIQUE=106;static NOT=107;static NULL=108;static OBJECTIVE=109;static OCCURRENCE=110;static OF=111;static OR=112;static ORDERED=113;static OUT=114;static PACKAGE=115;static PARALLEL=116;static PART=117;static PERFORM=118;static PORT=119;static PORTION=120;static PREDICATE=121;static PRIVATE=122;static PROTECTED=123;static PUBLIC=124;static REDEFINES=125;static REDEFINITION=126;static REF=127;static REFERENCES=128;static RENDER=129;static RENDERING=130;static REP=131;static REQUIRE=132;static REQUIREMENT=133;static RETURN=134;static SATISFY=135;static SEND=136;static SNAPSHOT=137;static SPECIALIZATION=138;static SPECIALIZES=139;static STAKEHOLDER=140;static STANDARD=141;static STATE=142;static STEP=143;static STRUCT=144;static SUBCLASSIFIER=145;static SUBJECT=146;static SUBSET=147;static SUBSETS=148;static SUBTYPE=149;static SUCCESSION=150;static TERMINATE=151;static THEN=152;static TIMESLICE=153;static TO=154;static TRANSITION=155;static TRUE=156;static TYPE=157;static TYPED=158;static TYPING=159;static UNIONS=160;static UNTIL=161;static USE=162;static VAR=163;static VARIANT=164;static VARIATION=165;static VERIFICATION=166;static VERIFY=167;static VIA=168;static VIEW=169;static VIEWPOINT=170;static WHEN=171;static WHILE=172;static XOR=173;static BANG_EQ_EQ=174;static COLON_COLON_GT=175;static COLON_GT_GT=176;static EQ_EQ_EQ=177;static BANG_EQ=178;static STAR_STAR=179;static ARROW=180;static DOT_DOT=181;static DOT_QUESTION=182;static COLON_COLON=183;static COLON_EQ=184;static COLON_GT=185;static LE=186;static EQ_EQ=187;static FAT_ARROW=188;static GE=189;static QUESTION_QUESTION=190;static AT_AT=191;static HASH=192;static DOLLAR=193;static PERCENT=194;static AMP=195;static LPAREN=196;static RPAREN=197;static STAR=198;static PLUS=199;static COMMA=200;static MINUS=201;static DOT=202;static SLASH=203;static COLON=204;static SEMI=205;static LT=206;static EQ=207;static GT=208;static QUESTION=209;static AT_SIGN=210;static LBRACK=211;static RBRACK=212;static CARET=213;static LBRACE=214;static PIPE=215;static RBRACE=216;static TILDE=217;static IDENTIFIER=218;static STRING=219;static DOUBLE_STRING=220;static INTEGER=221;static REAL=222;static REGULAR_COMMENT=223;static SINGLE_LINE_NOTE=224;static WS=225;static RULE_ownedExpression=0;static RULE_typeReference=1;static RULE_sequenceExpressionList=2;static RULE_baseExpression=3;static RULE_nullExpression=4;static RULE_featureReferenceExpression=5;static RULE_metadataAccessExpression=6;static RULE_invocationExpression=7;static RULE_constructorExpression=8;static RULE_bodyExpression=9;static RULE_argumentList=10;static RULE_positionalArgumentList=11;static RULE_namedArgumentList=12;static RULE_namedArgument=13;static RULE_literalExpression=14;static RULE_literalBoolean=15;static RULE_literalString=16;static RULE_literalInteger=17;static RULE_literalReal=18;static RULE_literalInfinity=19;static RULE_argumentMember=20;static RULE_argumentExpressionMember=21;static RULE_name=22;static RULE_identification=23;static RULE_relationshipBody=24;static RULE_relationshipOwnedElement=25;static RULE_ownedRelatedElement=26;static RULE_dependency=27;static RULE_annotation=28;static RULE_ownedAnnotation=29;static RULE_annotatingElement=30;static RULE_comment=31;static RULE_documentation=32;static RULE_textualRepresentation=33;static RULE_rootNamespace=34;static RULE_namespace=35;static RULE_namespaceDeclaration=36;static RULE_namespaceBody=37;static RULE_namespaceBodyElement=38;static RULE_memberPrefix=39;static RULE_visibilityIndicator=40;static RULE_namespaceMember=41;static RULE_nonFeatureMember=42;static RULE_namespaceFeatureMember=43;static RULE_aliasMember=44;static RULE_qualifiedName=45;static RULE_importRule=46;static RULE_importDeclaration=47;static RULE_membershipImport=48;static RULE_namespaceImport=49;static RULE_filterPackage=50;static RULE_filterPackageMember=51;static RULE_memberElement=52;static RULE_nonFeatureElement=53;static RULE_featureElement=54;static RULE_type=55;static RULE_typePrefix=56;static RULE_typeDeclaration=57;static RULE_specializationPart=58;static RULE_conjugationPart=59;static RULE_typeRelationshipPart=60;static RULE_disjoiningPart=61;static RULE_unioningPart=62;static RULE_intersectingPart=63;static RULE_differencingPart=64;static RULE_typeBody=65;static RULE_typeBodyElement=66;static RULE_specialization=67;static RULE_ownedSpecialization=68;static RULE_specificType=69;static RULE_generalType=70;static RULE_conjugation=71;static RULE_ownedConjugation=72;static RULE_disjoining=73;static RULE_ownedDisjoining=74;static RULE_unioning=75;static RULE_intersecting=76;static RULE_differencing=77;static RULE_featureMember=78;static RULE_typeFeatureMember=79;static RULE_ownedFeatureMember=80;static RULE_classifier=81;static RULE_classifierDeclaration=82;static RULE_superclassingPart=83;static RULE_subclassification=84;static RULE_ownedSubclassification=85;static RULE_feature=86;static RULE_endFeaturePrefix=87;static RULE_basicFeaturePrefix=88;static RULE_featurePrefix=89;static RULE_ownedCrossFeatureMember=90;static RULE_ownedCrossFeature=91;static RULE_featureDirection=92;static RULE_featureDeclaration=93;static RULE_featureIdentification=94;static RULE_featureRelationshipPart=95;static RULE_chainingPart=96;static RULE_invertingPart=97;static RULE_typeFeaturingPart=98;static RULE_featureSpecializationPart=99;static RULE_multiplicityPart=100;static RULE_featureSpecialization=101;static RULE_typings=102;static RULE_typedBy=103;static RULE_subsettings=104;static RULE_subsets=105;static RULE_references=106;static RULE_crosses=107;static RULE_redefinitions=108;static RULE_redefines=109;static RULE_featureTyping=110;static RULE_ownedFeatureTyping=111;static RULE_subsetting=112;static RULE_ownedSubsetting=113;static RULE_ownedReferenceSubsetting=114;static RULE_ownedCrossSubsetting=115;static RULE_redefinition=116;static RULE_ownedRedefinition=117;static RULE_ownedFeatureChain=118;static RULE_featureChain=119;static RULE_ownedFeatureChaining=120;static RULE_featureInverting=121;static RULE_ownedFeatureInverting=122;static RULE_typeFeaturing=123;static RULE_ownedTypeFeaturing=124;static RULE_dataType=125;static RULE_class=126;static RULE_structure=127;static RULE_association=128;static RULE_associationStructure=129;static RULE_connector=130;static RULE_connectorDeclaration=131;static RULE_binaryConnectorDeclaration=132;static RULE_naryConnectorDeclaration=133;static RULE_connectorEndMember=134;static RULE_connectorEnd=135;static RULE_ownedCrossMultiplicityMember=136;static RULE_ownedCrossMultiplicity=137;static RULE_bindingConnector=138;static RULE_bindingConnectorDeclaration=139;static RULE_succession=140;static RULE_successionDeclaration=141;static RULE_behavior=142;static RULE_step=143;static RULE_function=144;static RULE_functionBody=145;static RULE_functionBodyPart=146;static RULE_returnFeatureMember=147;static RULE_resultExpressionMember=148;static RULE_expression=149;static RULE_predicate=150;static RULE_booleanExpression=151;static RULE_invariant=152;static RULE_ownedExpressionMember=153;static RULE_metadataReference=154;static RULE_typeReferenceMember=155;static RULE_typeResultMember=156;static RULE_referenceTyping=157;static RULE_emptyResultMember=158;static RULE_sequenceOperatorExpression=159;static RULE_sequenceExpressionListMember=160;static RULE_bodyArgumentMember=161;static RULE_bodyArgument=162;static RULE_bodyArgumentValue=163;static RULE_functionReferenceArgumentMember=164;static RULE_functionReferenceArgument=165;static RULE_functionReferenceArgumentValue=166;static RULE_functionReferenceExpression=167;static RULE_functionReferenceMember=168;static RULE_functionReference=169;static RULE_featureChainMember=170;static RULE_ownedFeatureChainMember=171;static RULE_featureReferenceMember=172;static RULE_featureReference=173;static RULE_elementReferenceMember=174;static RULE_constructorResultMember=175;static RULE_constructorResult=176;static RULE_instantiatedTypeMember=177;static RULE_instantiatedTypeReference=178;static RULE_namedArgumentMember=179;static RULE_parameterRedefinition=180;static RULE_expressionBodyMember=181;static RULE_expressionBody=182;static RULE_booleanValue=183;static RULE_realValue=184;static RULE_interaction=185;static RULE_flow=186;static RULE_successionFlow=187;static RULE_flowDeclaration=188;static RULE_payloadFeatureMember=189;static RULE_payloadFeature=190;static RULE_payloadFeatureSpecializationPart=191;static RULE_flowEndMember=192;static RULE_flowEnd=193;static RULE_flowFeatureMember=194;static RULE_flowFeature=195;static RULE_flowFeatureRedefinition=196;static RULE_valuePart=197;static RULE_featureValue=198;static RULE_multiplicity=199;static RULE_multiplicitySubset=200;static RULE_multiplicityRange=201;static RULE_ownedMultiplicity=202;static RULE_ownedMultiplicityRange=203;static RULE_multiplicityBounds=204;static RULE_multiplicityExpressionMember=205;static RULE_metaclass=206;static RULE_prefixMetadataAnnotation=207;static RULE_prefixMetadataMember=208;static RULE_prefixMetadataFeature=209;static RULE_metadataFeature=210;static RULE_metadataFeatureDeclaration=211;static RULE_metadataBody=212;static RULE_metadataBodyElement=213;static RULE_metadataBodyFeatureMember=214;static RULE_metadataBodyFeature=215;static RULE_package=216;static RULE_libraryPackage=217;static RULE_packageDeclaration=218;static RULE_packageBody=219;static RULE_elementFilterMember=220;static RULE_dependencyDeclaration=221;static RULE_annotatingMember=222;static RULE_packageBodyElement=223;static RULE_packageMember=224;static RULE_definitionElement=225;static RULE_usageElement=226;static RULE_basicDefinitionPrefix=227;static RULE_definitionExtensionKeyword=228;static RULE_definitionPrefix=229;static RULE_definition=230;static RULE_definitionDeclaration=231;static RULE_definitionBody=232;static RULE_definitionBodyItem=233;static RULE_definitionBodyItemContent=234;static RULE_definitionMember=235;static RULE_variantUsageMember=236;static RULE_nonOccurrenceUsageMember=237;static RULE_occurrenceUsageMember=238;static RULE_structureUsageMember=239;static RULE_behaviorUsageMember=240;static RULE_refPrefix=241;static RULE_basicUsagePrefix=242;static RULE_endUsagePrefix=243;static RULE_usageExtensionKeyword=244;static RULE_unextendedUsagePrefix=245;static RULE_usagePrefix=246;static RULE_usage=247;static RULE_usageDeclaration=248;static RULE_usageCompletion=249;static RULE_usageBody=250;static RULE_defaultReferenceUsage=251;static RULE_referenceUsage=252;static RULE_endFeatureUsage=253;static RULE_variantReference=254;static RULE_nonOccurrenceUsageElement=255;static RULE_occurrenceUsageElement=256;static RULE_structureUsageElement=257;static RULE_behaviorUsageElement=258;static RULE_variantUsageElement=259;static RULE_subclassificationPart=260;static RULE_attributeDefinition=261;static RULE_attributeUsage=262;static RULE_enumerationDefinition=263;static RULE_enumerationBody=264;static RULE_enumerationUsageMember=265;static RULE_enumeratedValue=266;static RULE_enumerationUsage=267;static RULE_occurrenceDefinitionPrefix=268;static RULE_occurrenceDefinition=269;static RULE_individualDefinition=270;static RULE_emptyMultiplicityMember=271;static RULE_occurrenceUsagePrefix=272;static RULE_occurrenceUsage=273;static RULE_individualUsage=274;static RULE_portionUsage=275;static RULE_portionKind=276;static RULE_eventOccurrenceUsage=277;static RULE_sourceSuccessionMember=278;static RULE_sourceSuccession=279;static RULE_sourceEndMember=280;static RULE_sourceEnd=281;static RULE_itemDefinition=282;static RULE_itemUsage=283;static RULE_partDefinition=284;static RULE_partUsage=285;static RULE_portDefinition=286;static RULE_conjugatedPortDefinitionMember=287;static RULE_conjugatedPortDefinition=288;static RULE_portUsage=289;static RULE_conjugatedPortTyping=290;static RULE_connectionDefinition=291;static RULE_connectionUsage=292;static RULE_connectorPart=293;static RULE_binaryConnectorPart=294;static RULE_naryConnectorPart=295;static RULE_bindingConnectorAsUsage=296;static RULE_successionAsUsage=297;static RULE_interfaceDefinition=298;static RULE_interfaceBody=299;static RULE_interfaceBodyItem=300;static RULE_interfaceNonOccurrenceUsageMember=301;static RULE_interfaceNonOccurrenceUsageElement=302;static RULE_interfaceOccurrenceUsageMember=303;static RULE_interfaceOccurrenceUsageElement=304;static RULE_defaultInterfaceEnd=305;static RULE_interfaceUsage=306;static RULE_interfaceUsageDeclaration=307;static RULE_interfacePart=308;static RULE_binaryInterfacePart=309;static RULE_naryInterfacePart=310;static RULE_interfaceEndMember=311;static RULE_interfaceEnd=312;static RULE_allocationDefinition=313;static RULE_allocationUsage=314;static RULE_allocationUsageDeclaration=315;static RULE_flowDefinition=316;static RULE_message=317;static RULE_messageDeclaration=318;static RULE_messageEventMember=319;static RULE_messageEvent=320;static RULE_flowUsage=321;static RULE_successionFlowUsage=322;static RULE_flowPayloadFeatureMember=323;static RULE_flowPayloadFeature=324;static RULE_flowEndSubsetting=325;static RULE_featureChainPrefix=326;static RULE_actionDefinition=327;static RULE_actionBody=328;static RULE_actionBodyItem=329;static RULE_nonBehaviorBodyItem=330;static RULE_actionBehaviorMember=331;static RULE_initialNodeMember=332;static RULE_actionNodeMember=333;static RULE_actionTargetSuccessionMember=334;static RULE_guardedSuccessionMember=335;static RULE_actionUsage=336;static RULE_actionUsageDeclaration=337;static RULE_performActionUsage=338;static RULE_performActionUsageDeclaration=339;static RULE_actionNode=340;static RULE_actionNodeUsageDeclaration=341;static RULE_actionNodePrefix=342;static RULE_controlNode=343;static RULE_controlNodePrefix=344;static RULE_mergeNode=345;static RULE_decisionNode=346;static RULE_joinNode=347;static RULE_forkNode=348;static RULE_acceptNode=349;static RULE_acceptNodeDeclaration=350;static RULE_acceptParameterPart=351;static RULE_payloadParameterMember=352;static RULE_payloadParameter=353;static RULE_triggerValuePart=354;static RULE_triggerFeatureValue=355;static RULE_triggerExpression=356;static RULE_sendNode=357;static RULE_sendNodeDeclaration=358;static RULE_senderReceiverPart=359;static RULE_nodeParameterMember=360;static RULE_nodeParameter=361;static RULE_featureBinding=362;static RULE_emptyParameterMember=363;static RULE_assignmentNode=364;static RULE_assignmentNodeDeclaration=365;static RULE_assignmentTargetMember=366;static RULE_assignmentTargetParameter=367;static RULE_assignmentTargetBinding=368;static RULE_terminateNode=369;static RULE_ifNode=370;static RULE_expressionParameterMember=371;static RULE_actionBodyParameterMember=372;static RULE_actionBodyParameter=373;static RULE_ifNodeParameterMember=374;static RULE_whileLoopNode=375;static RULE_forLoopNode=376;static RULE_forVariableDeclarationMember=377;static RULE_forVariableDeclaration=378;static RULE_actionTargetSuccession=379;static RULE_targetSuccession=380;static RULE_guardedTargetSuccession=381;static RULE_defaultTargetSuccession=382;static RULE_guardedSuccession=383;static RULE_stateDefinition=384;static RULE_stateDefBody=385;static RULE_stateBodyItem=386;static RULE_entryActionMember=387;static RULE_doActionMember=388;static RULE_exitActionMember=389;static RULE_entryTransitionMember=390;static RULE_stateActionUsage=391;static RULE_statePerformActionUsage=392;static RULE_stateAcceptActionUsage=393;static RULE_stateSendActionUsage=394;static RULE_stateAssignmentActionUsage=395;static RULE_transitionUsageMember=396;static RULE_targetTransitionUsageMember=397;static RULE_stateUsage=398;static RULE_stateUsageBody=399;static RULE_exhibitStateUsage=400;static RULE_transitionUsage=401;static RULE_targetTransitionUsage=402;static RULE_triggerActionMember=403;static RULE_triggerAction=404;static RULE_guardExpressionMember=405;static RULE_effectBehaviorMember=406;static RULE_effectBehaviorUsage=407;static RULE_transitionPerformActionUsage=408;static RULE_transitionAcceptActionUsage=409;static RULE_transitionSendActionUsage=410;static RULE_transitionAssignmentActionUsage=411;static RULE_transitionSuccessionMember=412;static RULE_transitionSuccession=413;static RULE_emptyEndMember=414;static RULE_calculationDefinition=415;static RULE_calculationUsage=416;static RULE_calculationBody=417;static RULE_calculationBodyPart=418;static RULE_calculationBodyItem=419;static RULE_returnParameterMember=420;static RULE_constraintDefinition=421;static RULE_constraintUsage=422;static RULE_assertConstraintUsage=423;static RULE_constraintUsageDeclaration=424;static RULE_requirementDefinition=425;static RULE_requirementBody=426;static RULE_requirementBodyItem=427;static RULE_subjectMember=428;static RULE_subjectUsage=429;static RULE_requirementConstraintMember=430;static RULE_requirementKind=431;static RULE_requirementConstraintUsage=432;static RULE_framedConcernMember=433;static RULE_framedConcernUsage=434;static RULE_actorMember=435;static RULE_actorUsage=436;static RULE_stakeholderMember=437;static RULE_stakeholderUsage=438;static RULE_requirementUsage=439;static RULE_satisfyRequirementUsage=440;static RULE_satisfactionSubjectMember=441;static RULE_satisfactionParameter=442;static RULE_satisfactionFeatureValue=443;static RULE_satisfactionReferenceExpression=444;static RULE_concernDefinition=445;static RULE_concernUsage=446;static RULE_caseDefinition=447;static RULE_caseUsage=448;static RULE_caseBody=449;static RULE_caseBodyItem=450;static RULE_objectiveMember=451;static RULE_objectiveRequirementUsage=452;static RULE_analysisCaseDefinition=453;static RULE_analysisCaseUsage=454;static RULE_verificationCaseDefinition=455;static RULE_verificationCaseUsage=456;static RULE_requirementVerificationMember=457;static RULE_requirementVerificationUsage=458;static RULE_useCaseDefinition=459;static RULE_useCaseUsage=460;static RULE_includeUseCaseUsage=461;static RULE_viewDefinition=462;static RULE_viewDefinitionBody=463;static RULE_viewDefinitionBodyItem=464;static RULE_viewRenderingMember=465;static RULE_viewRenderingUsage=466;static RULE_viewUsage=467;static RULE_viewBody=468;static RULE_viewBodyItem=469;static RULE_expose=470;static RULE_membershipExpose=471;static RULE_namespaceExpose=472;static RULE_viewpointDefinition=473;static RULE_viewpointUsage=474;static RULE_renderingDefinition=475;static RULE_renderingUsage=476;static RULE_metadataDefinition=477;static RULE_prefixMetadataUsage=478;static RULE_metadataUsage=479;static RULE_metadataUsageDeclaration=480;static RULE_metadataBodyUsageMember=481;static RULE_metadataBodyUsage=482;static RULE_extendedDefinition=483;static RULE_extendedUsage=484;static RULE_filterPackageImportDeclaration=485;static RULE_namespaceImportDirect=486;static RULE_calculationUsageDeclaration=487;static RULE_emptyActionUsage_=488;static RULE_emptyFeature_=489;static RULE_emptyMultiplicity_=490;static RULE_emptyUsage_=491;static RULE_filterPackageImport=492;static RULE_nonFeatureChainPrimaryExpression=493;static RULE_portConjugation=494;static literalNames=[null,"'about'","'abstract'","'accept'","'action'","'actor'","'after'","'alias'","'all'","'allocate'","'allocation'","'analysis'","'and'","'as'","'assert'","'assign'","'assoc'","'assume'","'at'","'attribute'","'behavior'","'bind'","'binding'","'bool'","'by'","'calc'","'case'","'chains'","'class'","'classifier'","'comment'","'composite'","'concern'","'conjugate'","'conjugates'","'conjugation'","'connect'","'connection'","'connector'","'const'","'constant'","'constraint'","'crosses'","'datatype'","'decide'","'def'","'default'","'defined'","'dependency'","'derived'","'differences'","'disjoining'","'disjoint'","'do'","'doc'","'else'","'end'","'entry'","'enum'","'event'","'exhibit'","'exit'","'expose'","'expr'","'false'","'feature'","'featured'","'featuring'","'filter'","'first'","'flow'","'for'","'fork'","'frame'","'from'","'function'","'hastype'","'if'","'implies'","'import'","'in'","'include'","'individual'","'inout'","'interaction'","'interface'","'intersects'","'inv'","'inverse'","'inverting'","'istype'","'item'","'join'","'language'","'library'","'locale'","'loop'","'member'","'merge'","'message'","'meta'","'metaclass'","'metadata'","'multiplicity'","'namespace'","'new'","'nonunique'","'not'","'null'","'objective'","'occurrence'","'of'","'or'","'ordered'","'out'","'package'","'parallel'","'part'","'perform'","'port'","'portion'","'predicate'","'private'","'protected'","'public'","'redefines'","'redefinition'","'ref'","'references'","'render'","'rendering'","'rep'","'require'","'requirement'","'return'","'satisfy'","'send'","'snapshot'","'specialization'","'specializes'","'stakeholder'","'standard'","'state'","'step'","'struct'","'subclassifier'","'subject'","'subset'","'subsets'","'subtype'","'succession'","'terminate'","'then'","'timeslice'","'to'","'transition'","'true'","'type'","'typed'","'typing'","'unions'","'until'","'use'","'var'","'variant'","'variation'","'verification'","'verify'","'via'","'view'","'viewpoint'","'when'","'while'","'xor'","'!=='","'::>'","':>>'","'==='","'!='","'**'","'->'","'..'","'.?'","'::'","':='","':>'","'<='","'=='","'=>'","'>='","'??'","'@@'","'#'","'$'","'%'","'&'","'('","')'","'*'","'+'","','","'-'","'.'","'/'","':'","';'","'<'","'='","'>'","'?'","'@'","'['","']'","'^'","'{'","'|'","'}'","'~'"];static symbolicNames=[null,"ABOUT","ABSTRACT","ACCEPT","ACTION","ACTOR","AFTER","ALIAS","ALL","ALLOCATE","ALLOCATION","ANALYSIS","AND","AS","ASSERT","ASSIGN","ASSOC","ASSUME","AT","ATTRIBUTE","BEHAVIOR","BIND","BINDING","BOOL","BY","CALC","CASE","CHAINS","CLASS","CLASSIFIER","COMMENT","COMPOSITE","CONCERN","CONJUGATE","CONJUGATES","CONJUGATION","CONNECT","CONNECTION","CONNECTOR","CONST","CONSTANT","CONSTRAINT","CROSSES","DATATYPE","DECIDE","DEF","DEFAULT","DEFINED","DEPENDENCY","DERIVED","DIFFERENCES","DISJOINING","DISJOINT","DO","DOC","ELSE","END","ENTRY","ENUM","EVENT","EXHIBIT","EXIT","EXPOSE","EXPR","FALSE","FEATURE","FEATURED","FEATURING","FILTER","FIRST","FLOW","FOR","FORK","FRAME","FROM","FUNCTION","HASTYPE","IF","IMPLIES","IMPORT","IN","INCLUDE","INDIVIDUAL","INOUT","INTERACTION","INTERFACE","INTERSECTS","INV","INVERSE","INVERTING","ISTYPE","ITEM","JOIN","LANGUAGE","LIBRARY","LOCALE","LOOP","MEMBER","MERGE","MESSAGE","META","METACLASS","METADATA","MULTIPLICITY","NAMESPACE","NEW","NONUNIQUE","NOT","NULL","OBJECTIVE","OCCURRENCE","OF","OR","ORDERED","OUT","PACKAGE","PARALLEL","PART","PERFORM","PORT","PORTION","PREDICATE","PRIVATE","PROTECTED","PUBLIC","REDEFINES","REDEFINITION","REF","REFERENCES","RENDER","RENDERING","REP","REQUIRE","REQUIREMENT","RETURN","SATISFY","SEND","SNAPSHOT","SPECIALIZATION","SPECIALIZES","STAKEHOLDER","STANDARD","STATE","STEP","STRUCT","SUBCLASSIFIER","SUBJECT","SUBSET","SUBSETS","SUBTYPE","SUCCESSION","TERMINATE","THEN","TIMESLICE","TO","TRANSITION","TRUE","TYPE","TYPED","TYPING","UNIONS","UNTIL","USE","VAR","VARIANT","VARIATION","VERIFICATION","VERIFY","VIA","VIEW","VIEWPOINT","WHEN","WHILE","XOR","BANG_EQ_EQ","COLON_COLON_GT","COLON_GT_GT","EQ_EQ_EQ","BANG_EQ","STAR_STAR","ARROW","DOT_DOT","DOT_QUESTION","COLON_COLON","COLON_EQ","COLON_GT","LE","EQ_EQ","FAT_ARROW","GE","QUESTION_QUESTION","AT_AT","HASH","DOLLAR","PERCENT","AMP","LPAREN","RPAREN","STAR","PLUS","COMMA","MINUS","DOT","SLASH","COLON","SEMI","LT","EQ","GT","QUESTION","AT_SIGN","LBRACK","RBRACK","CARET","LBRACE","PIPE","RBRACE","TILDE","IDENTIFIER","STRING","DOUBLE_STRING","INTEGER","REAL","REGULAR_COMMENT","SINGLE_LINE_NOTE","WS"];static ruleNames=["ownedExpression","typeReference","sequenceExpressionList","baseExpression","nullExpression","featureReferenceExpression","metadataAccessExpression","invocationExpression","constructorExpression","bodyExpression","argumentList","positionalArgumentList","namedArgumentList","namedArgument","literalExpression","literalBoolean","literalString","literalInteger","literalReal","literalInfinity","argumentMember","argumentExpressionMember","name","identification","relationshipBody","relationshipOwnedElement","ownedRelatedElement","dependency","annotation","ownedAnnotation","annotatingElement","comment","documentation","textualRepresentation","rootNamespace","namespace","namespaceDeclaration","namespaceBody","namespaceBodyElement","memberPrefix","visibilityIndicator","namespaceMember","nonFeatureMember","namespaceFeatureMember","aliasMember","qualifiedName","importRule","importDeclaration","membershipImport","namespaceImport","filterPackage","filterPackageMember","memberElement","nonFeatureElement","featureElement","type","typePrefix","typeDeclaration","specializationPart","conjugationPart","typeRelationshipPart","disjoiningPart","unioningPart","intersectingPart","differencingPart","typeBody","typeBodyElement","specialization","ownedSpecialization","specificType","generalType","conjugation","ownedConjugation","disjoining","ownedDisjoining","unioning","intersecting","differencing","featureMember","typeFeatureMember","ownedFeatureMember","classifier","classifierDeclaration","superclassingPart","subclassification","ownedSubclassification","feature","endFeaturePrefix","basicFeaturePrefix","featurePrefix","ownedCrossFeatureMember","ownedCrossFeature","featureDirection","featureDeclaration","featureIdentification","featureRelationshipPart","chainingPart","invertingPart","typeFeaturingPart","featureSpecializationPart","multiplicityPart","featureSpecialization","typings","typedBy","subsettings","subsets","references","crosses","redefinitions","redefines","featureTyping","ownedFeatureTyping","subsetting","ownedSubsetting","ownedReferenceSubsetting","ownedCrossSubsetting","redefinition","ownedRedefinition","ownedFeatureChain","featureChain","ownedFeatureChaining","featureInverting","ownedFeatureInverting","typeFeaturing","ownedTypeFeaturing","dataType","class","structure","association","associationStructure","connector","connectorDeclaration","binaryConnectorDeclaration","naryConnectorDeclaration","connectorEndMember","connectorEnd","ownedCrossMultiplicityMember","ownedCrossMultiplicity","bindingConnector","bindingConnectorDeclaration","succession","successionDeclaration","behavior","step","function","functionBody","functionBodyPart","returnFeatureMember","resultExpressionMember","expression","predicate","booleanExpression","invariant","ownedExpressionMember","metadataReference","typeReferenceMember","typeResultMember","referenceTyping","emptyResultMember","sequenceOperatorExpression","sequenceExpressionListMember","bodyArgumentMember","bodyArgument","bodyArgumentValue","functionReferenceArgumentMember","functionReferenceArgument","functionReferenceArgumentValue","functionReferenceExpression","functionReferenceMember","functionReference","featureChainMember","ownedFeatureChainMember","featureReferenceMember","featureReference","elementReferenceMember","constructorResultMember","constructorResult","instantiatedTypeMember","instantiatedTypeReference","namedArgumentMember","parameterRedefinition","expressionBodyMember","expressionBody","booleanValue","realValue","interaction","flow","successionFlow","flowDeclaration","payloadFeatureMember","payloadFeature","payloadFeatureSpecializationPart","flowEndMember","flowEnd","flowFeatureMember","flowFeature","flowFeatureRedefinition","valuePart","featureValue","multiplicity","multiplicitySubset","multiplicityRange","ownedMultiplicity","ownedMultiplicityRange","multiplicityBounds","multiplicityExpressionMember","metaclass","prefixMetadataAnnotation","prefixMetadataMember","prefixMetadataFeature","metadataFeature","metadataFeatureDeclaration","metadataBody","metadataBodyElement","metadataBodyFeatureMember","metadataBodyFeature","package","libraryPackage","packageDeclaration","packageBody","elementFilterMember","dependencyDeclaration","annotatingMember","packageBodyElement","packageMember","definitionElement","usageElement","basicDefinitionPrefix","definitionExtensionKeyword","definitionPrefix","definition","definitionDeclaration","definitionBody","definitionBodyItem","definitionBodyItemContent","definitionMember","variantUsageMember","nonOccurrenceUsageMember","occurrenceUsageMember","structureUsageMember","behaviorUsageMember","refPrefix","basicUsagePrefix","endUsagePrefix","usageExtensionKeyword","unextendedUsagePrefix","usagePrefix","usage","usageDeclaration","usageCompletion","usageBody","defaultReferenceUsage","referenceUsage","endFeatureUsage","variantReference","nonOccurrenceUsageElement","occurrenceUsageElement","structureUsageElement","behaviorUsageElement","variantUsageElement","subclassificationPart","attributeDefinition","attributeUsage","enumerationDefinition","enumerationBody","enumerationUsageMember","enumeratedValue","enumerationUsage","occurrenceDefinitionPrefix","occurrenceDefinition","individualDefinition","emptyMultiplicityMember","occurrenceUsagePrefix","occurrenceUsage","individualUsage","portionUsage","portionKind","eventOccurrenceUsage","sourceSuccessionMember","sourceSuccession","sourceEndMember","sourceEnd","itemDefinition","itemUsage","partDefinition","partUsage","portDefinition","conjugatedPortDefinitionMember","conjugatedPortDefinition","portUsage","conjugatedPortTyping","connectionDefinition","connectionUsage","connectorPart","binaryConnectorPart","naryConnectorPart","bindingConnectorAsUsage","successionAsUsage","interfaceDefinition","interfaceBody","interfaceBodyItem","interfaceNonOccurrenceUsageMember","interfaceNonOccurrenceUsageElement","interfaceOccurrenceUsageMember","interfaceOccurrenceUsageElement","defaultInterfaceEnd","interfaceUsage","interfaceUsageDeclaration","interfacePart","binaryInterfacePart","naryInterfacePart","interfaceEndMember","interfaceEnd","allocationDefinition","allocationUsage","allocationUsageDeclaration","flowDefinition","message","messageDeclaration","messageEventMember","messageEvent","flowUsage","successionFlowUsage","flowPayloadFeatureMember","flowPayloadFeature","flowEndSubsetting","featureChainPrefix","actionDefinition","actionBody","actionBodyItem","nonBehaviorBodyItem","actionBehaviorMember","initialNodeMember","actionNodeMember","actionTargetSuccessionMember","guardedSuccessionMember","actionUsage","actionUsageDeclaration","performActionUsage","performActionUsageDeclaration","actionNode","actionNodeUsageDeclaration","actionNodePrefix","controlNode","controlNodePrefix","mergeNode","decisionNode","joinNode","forkNode","acceptNode","acceptNodeDeclaration","acceptParameterPart","payloadParameterMember","payloadParameter","triggerValuePart","triggerFeatureValue","triggerExpression","sendNode","sendNodeDeclaration","senderReceiverPart","nodeParameterMember","nodeParameter","featureBinding","emptyParameterMember","assignmentNode","assignmentNodeDeclaration","assignmentTargetMember","assignmentTargetParameter","assignmentTargetBinding","terminateNode","ifNode","expressionParameterMember","actionBodyParameterMember","actionBodyParameter","ifNodeParameterMember","whileLoopNode","forLoopNode","forVariableDeclarationMember","forVariableDeclaration","actionTargetSuccession","targetSuccession","guardedTargetSuccession","defaultTargetSuccession","guardedSuccession","stateDefinition","stateDefBody","stateBodyItem","entryActionMember","doActionMember","exitActionMember","entryTransitionMember","stateActionUsage","statePerformActionUsage","stateAcceptActionUsage","stateSendActionUsage","stateAssignmentActionUsage","transitionUsageMember","targetTransitionUsageMember","stateUsage","stateUsageBody","exhibitStateUsage","transitionUsage","targetTransitionUsage","triggerActionMember","triggerAction","guardExpressionMember","effectBehaviorMember","effectBehaviorUsage","transitionPerformActionUsage","transitionAcceptActionUsage","transitionSendActionUsage","transitionAssignmentActionUsage","transitionSuccessionMember","transitionSuccession","emptyEndMember","calculationDefinition","calculationUsage","calculationBody","calculationBodyPart","calculationBodyItem","returnParameterMember","constraintDefinition","constraintUsage","assertConstraintUsage","constraintUsageDeclaration","requirementDefinition","requirementBody","requirementBodyItem","subjectMember","subjectUsage","requirementConstraintMember","requirementKind","requirementConstraintUsage","framedConcernMember","framedConcernUsage","actorMember","actorUsage","stakeholderMember","stakeholderUsage","requirementUsage","satisfyRequirementUsage","satisfactionSubjectMember","satisfactionParameter","satisfactionFeatureValue","satisfactionReferenceExpression","concernDefinition","concernUsage","caseDefinition","caseUsage","caseBody","caseBodyItem","objectiveMember","objectiveRequirementUsage","analysisCaseDefinition","analysisCaseUsage","verificationCaseDefinition","verificationCaseUsage","requirementVerificationMember","requirementVerificationUsage","useCaseDefinition","useCaseUsage","includeUseCaseUsage","viewDefinition","viewDefinitionBody","viewDefinitionBodyItem","viewRenderingMember","viewRenderingUsage","viewUsage","viewBody","viewBodyItem","expose","membershipExpose","namespaceExpose","viewpointDefinition","viewpointUsage","renderingDefinition","renderingUsage","metadataDefinition","prefixMetadataUsage","metadataUsage","metadataUsageDeclaration","metadataBodyUsageMember","metadataBodyUsage","extendedDefinition","extendedUsage","filterPackageImportDeclaration","namespaceImportDirect","calculationUsageDeclaration","emptyActionUsage_","emptyFeature_","emptyMultiplicity_","emptyUsage_","filterPackageImport","nonFeatureChainPrimaryExpression","portConjugation"];get grammarFileName(){return"SysMLv2Parser.g4"}get literalNames(){return _SysMLv2Parser.literalNames}get symbolicNames(){return _SysMLv2Parser.symbolicNames}get ruleNames(){return _SysMLv2Parser.ruleNames}get serializedATN(){return _SysMLv2Parser._serializedATN}createFailedPredicateException(predicate,message){return new FailedPredicateException(this,predicate,message)}constructor(input){super(input),this.interpreter=new ParserATNSimulator(this,_SysMLv2Parser._ATN,_SysMLv2Parser.decisionsToDFA,new PredictionContextCache)}ownedExpression(_p){_p===void 0&&(_p=0);let parentContext=this.context,parentState=this.state,localContext=new OwnedExpressionContext(this.context,parentState),previousContext=localContext,_startState=0;this.enterRecursionRule(localContext,0,_SysMLv2Parser.RULE_ownedExpression,_p);let _la;try{let alternative;this.enterOuterAlt(localContext,1);{switch(this.state=1005,this.errorHandler.sync(this),this.tokenStream.LA(1)){case _SysMLv2Parser.IF:this.state=991,this.match(_SysMLv2Parser.IF),this.state=992,this.ownedExpression(0),this.state=993,this.match(_SysMLv2Parser.QUESTION),this.state=994,this.ownedExpression(0),this.state=995,this.match(_SysMLv2Parser.ELSE),this.state=996,this.ownedExpression(28);break;case _SysMLv2Parser.NOT:case _SysMLv2Parser.PLUS:case _SysMLv2Parser.MINUS:case _SysMLv2Parser.TILDE:this.state=998,_la=this.tokenStream.LA(1),_la===107||(_la-199&-32)===0&&(1<<_la-199&262149)!==0?(this.errorHandler.reportMatch(this),this.consume()):this.errorHandler.recoverInline(this),this.state=999,this.ownedExpression(14);break;case _SysMLv2Parser.AT_AT:case _SysMLv2Parser.AT_SIGN:this.state=1e3,_la=this.tokenStream.LA(1),_la===191||_la===210?(this.errorHandler.reportMatch(this),this.consume()):this.errorHandler.recoverInline(this),this.state=1001,this.typeReference();break;case _SysMLv2Parser.ALL:this.state=1002,this.match(_SysMLv2Parser.ALL),this.state=1003,this.typeReference();break;case _SysMLv2Parser.FALSE:case _SysMLv2Parser.NEW:case _SysMLv2Parser.NULL:case _SysMLv2Parser.TRUE:case _SysMLv2Parser.DOLLAR:case _SysMLv2Parser.LPAREN:case _SysMLv2Parser.STAR:case _SysMLv2Parser.LBRACE:case _SysMLv2Parser.IDENTIFIER:case _SysMLv2Parser.STRING:case _SysMLv2Parser.DOUBLE_STRING:case _SysMLv2Parser.INTEGER:case _SysMLv2Parser.REAL:this.state=1004,this.baseExpression();break;default:throw new NoViableAltException(this)}for(this.context.stop=this.tokenStream.LT(-1),this.state=1088,this.errorHandler.sync(this),alternative=this.interpreter.adaptivePredict(this.tokenStream,5,this.context);alternative!==2&&alternative!==ATN.INVALID_ALT_NUMBER;){if(alternative===1)switch(this.parseListeners!=null&&this.triggerExitRuleEvent(),previousContext=localContext,this.state=1086,this.errorHandler.sync(this),this.interpreter.adaptivePredict(this.tokenStream,4,this.context)){case 1:{if(localContext=new OwnedExpressionContext(parentContext,parentState),this.pushNewRecursionContext(localContext,_startState,_SysMLv2Parser.RULE_ownedExpression),this.state=1007,!this.precpred(this.context,27))throw this.createFailedPredicateException("this.precpred(this.context, 27)");this.state=1008,this.match(_SysMLv2Parser.QUESTION_QUESTION),this.state=1009,this.ownedExpression(28)}break;case 2:{if(localContext=new OwnedExpressionContext(parentContext,parentState),this.pushNewRecursionContext(localContext,_startState,_SysMLv2Parser.RULE_ownedExpression),this.state=1010,!this.precpred(this.context,26))throw this.createFailedPredicateException("this.precpred(this.context, 26)");this.state=1011,this.match(_SysMLv2Parser.IMPLIES),this.state=1012,this.ownedExpression(27)}break;case 3:{if(localContext=new OwnedExpressionContext(parentContext,parentState),this.pushNewRecursionContext(localContext,_startState,_SysMLv2Parser.RULE_ownedExpression),this.state=1013,!this.precpred(this.context,25))throw this.createFailedPredicateException("this.precpred(this.context, 25)");this.state=1014,this.match(_SysMLv2Parser.OR),this.state=1015,this.ownedExpression(26)}break;case 4:{if(localContext=new OwnedExpressionContext(parentContext,parentState),this.pushNewRecursionContext(localContext,_startState,_SysMLv2Parser.RULE_ownedExpression),this.state=1016,!this.precpred(this.context,24))throw this.createFailedPredicateException("this.precpred(this.context, 24)");this.state=1017,this.match(_SysMLv2Parser.AND),this.state=1018,this.ownedExpression(25)}break;case 5:{if(localContext=new OwnedExpressionContext(parentContext,parentState),this.pushNewRecursionContext(localContext,_startState,_SysMLv2Parser.RULE_ownedExpression),this.state=1019,!this.precpred(this.context,23))throw this.createFailedPredicateException("this.precpred(this.context, 23)");this.state=1020,this.match(_SysMLv2Parser.XOR),this.state=1021,this.ownedExpression(24)}break;case 6:{if(localContext=new OwnedExpressionContext(parentContext,parentState),this.pushNewRecursionContext(localContext,_startState,_SysMLv2Parser.RULE_ownedExpression),this.state=1022,!this.precpred(this.context,22))throw this.createFailedPredicateException("this.precpred(this.context, 22)");this.state=1023,this.match(_SysMLv2Parser.PIPE),this.state=1024,this.ownedExpression(23)}break;case 7:{if(localContext=new OwnedExpressionContext(parentContext,parentState),this.pushNewRecursionContext(localContext,_startState,_SysMLv2Parser.RULE_ownedExpression),this.state=1025,!this.precpred(this.context,21))throw this.createFailedPredicateException("this.precpred(this.context, 21)");this.state=1026,this.match(_SysMLv2Parser.AMP),this.state=1027,this.ownedExpression(22)}break;case 8:{if(localContext=new OwnedExpressionContext(parentContext,parentState),this.pushNewRecursionContext(localContext,_startState,_SysMLv2Parser.RULE_ownedExpression),this.state=1028,!this.precpred(this.context,20))throw this.createFailedPredicateException("this.precpred(this.context, 20)");this.state=1029,_la=this.tokenStream.LA(1),(_la-174&-32)===0&&(1<<_la-174&8217)!==0?(this.errorHandler.reportMatch(this),this.consume()):this.errorHandler.recoverInline(this),this.state=1030,this.ownedExpression(21)}break;case 9:{if(localContext=new OwnedExpressionContext(parentContext,parentState),this.pushNewRecursionContext(localContext,_startState,_SysMLv2Parser.RULE_ownedExpression),this.state=1031,!this.precpred(this.context,19))throw this.createFailedPredicateException("this.precpred(this.context, 19)");this.state=1032,_la=this.tokenStream.LA(1),(_la-186&-32)===0&&(1<<_la-186&5242889)!==0?(this.errorHandler.reportMatch(this),this.consume()):this.errorHandler.recoverInline(this),this.state=1033,this.ownedExpression(20)}break;case 10:{if(localContext=new OwnedExpressionContext(parentContext,parentState),this.pushNewRecursionContext(localContext,_startState,_SysMLv2Parser.RULE_ownedExpression),this.state=1034,!this.precpred(this.context,18))throw this.createFailedPredicateException("this.precpred(this.context, 18)");this.state=1035,this.match(_SysMLv2Parser.DOT_DOT),this.state=1036,this.ownedExpression(19)}break;case 11:{if(localContext=new OwnedExpressionContext(parentContext,parentState),this.pushNewRecursionContext(localContext,_startState,_SysMLv2Parser.RULE_ownedExpression),this.state=1037,!this.precpred(this.context,17))throw this.createFailedPredicateException("this.precpred(this.context, 17)");this.state=1038,_la=this.tokenStream.LA(1),_la===199||_la===201?(this.errorHandler.reportMatch(this),this.consume()):this.errorHandler.recoverInline(this),this.state=1039,this.ownedExpression(18)}break;case 12:{if(localContext=new OwnedExpressionContext(parentContext,parentState),this.pushNewRecursionContext(localContext,_startState,_SysMLv2Parser.RULE_ownedExpression),this.state=1040,!this.precpred(this.context,16))throw this.createFailedPredicateException("this.precpred(this.context, 16)");this.state=1041,_la=this.tokenStream.LA(1),(_la-194&-32)===0&&(1<<_la-194&529)!==0?(this.errorHandler.reportMatch(this),this.consume()):this.errorHandler.recoverInline(this),this.state=1042,this.ownedExpression(17)}break;case 13:{if(localContext=new OwnedExpressionContext(parentContext,parentState),this.pushNewRecursionContext(localContext,_startState,_SysMLv2Parser.RULE_ownedExpression),this.state=1043,!this.precpred(this.context,15))throw this.createFailedPredicateException("this.precpred(this.context, 15)");this.state=1044,_la=this.tokenStream.LA(1),_la===179||_la===213?(this.errorHandler.reportMatch(this),this.consume()):this.errorHandler.recoverInline(this),this.state=1045,this.ownedExpression(15)}break;case 14:{if(localContext=new OwnedExpressionContext(parentContext,parentState),this.pushNewRecursionContext(localContext,_startState,_SysMLv2Parser.RULE_ownedExpression),this.state=1046,!this.precpred(this.context,12))throw this.createFailedPredicateException("this.precpred(this.context, 12)");this.state=1047,_la=this.tokenStream.LA(1),_la===76||_la===90||_la===210?(this.errorHandler.reportMatch(this),this.consume()):this.errorHandler.recoverInline(this),this.state=1048,this.typeReference()}break;case 15:{if(localContext=new OwnedExpressionContext(parentContext,parentState),this.pushNewRecursionContext(localContext,_startState,_SysMLv2Parser.RULE_ownedExpression),this.state=1049,!this.precpred(this.context,11))throw this.createFailedPredicateException("this.precpred(this.context, 11)");this.state=1050,this.match(_SysMLv2Parser.AS),this.state=1051,this.typeReference()}break;case 16:{if(localContext=new OwnedExpressionContext(parentContext,parentState),this.pushNewRecursionContext(localContext,_startState,_SysMLv2Parser.RULE_ownedExpression),this.state=1052,!this.precpred(this.context,10))throw this.createFailedPredicateException("this.precpred(this.context, 10)");this.state=1053,this.match(_SysMLv2Parser.AT_AT),this.state=1054,this.typeReference()}break;case 17:{if(localContext=new OwnedExpressionContext(parentContext,parentState),this.pushNewRecursionContext(localContext,_startState,_SysMLv2Parser.RULE_ownedExpression),this.state=1055,!this.precpred(this.context,9))throw this.createFailedPredicateException("this.precpred(this.context, 9)");this.state=1056,this.match(_SysMLv2Parser.META),this.state=1057,this.typeReference()}break;case 18:{if(localContext=new OwnedExpressionContext(parentContext,parentState),this.pushNewRecursionContext(localContext,_startState,_SysMLv2Parser.RULE_ownedExpression),this.state=1058,!this.precpred(this.context,8))throw this.createFailedPredicateException("this.precpred(this.context, 8)");this.state=1059,this.match(_SysMLv2Parser.LBRACK),this.state=1061,this.errorHandler.sync(this),_la=this.tokenStream.LA(1),(_la===8||_la===64||_la===77||(_la-105&-32)===0&&(1<<_la-105&13)!==0||_la===156||(_la-191&-32)===0&&(1<<_la-191&4236772773)!==0)&&(this.state=1060,this.sequenceExpressionList()),this.state=1063,this.match(_SysMLv2Parser.RBRACK)}break;case 19:{if(localContext=new OwnedExpressionContext(parentContext,parentState),this.pushNewRecursionContext(localContext,_startState,_SysMLv2Parser.RULE_ownedExpression),this.state=1064,!this.precpred(this.context,7))throw this.createFailedPredicateException("this.precpred(this.context, 7)");this.state=1065,this.match(_SysMLv2Parser.HASH),this.state=1066,this.match(_SysMLv2Parser.LPAREN),this.state=1068,this.errorHandler.sync(this),_la=this.tokenStream.LA(1),(_la===8||_la===64||_la===77||(_la-105&-32)===0&&(1<<_la-105&13)!==0||_la===156||(_la-191&-32)===0&&(1<<_la-191&4236772773)!==0)&&(this.state=1067,this.sequenceExpressionList()),this.state=1070,this.match(_SysMLv2Parser.RPAREN)}break;case 20:{if(localContext=new OwnedExpressionContext(parentContext,parentState),this.pushNewRecursionContext(localContext,_startState,_SysMLv2Parser.RULE_ownedExpression),this.state=1071,!this.precpred(this.context,6))throw this.createFailedPredicateException("this.precpred(this.context, 6)");this.state=1072,this.argumentList()}break;case 21:{if(localContext=new OwnedExpressionContext(parentContext,parentState),this.pushNewRecursionContext(localContext,_startState,_SysMLv2Parser.RULE_ownedExpression),this.state=1073,!this.precpred(this.context,5))throw this.createFailedPredicateException("this.precpred(this.context, 5)");this.state=1074,this.match(_SysMLv2Parser.DOT),this.state=1075,this.qualifiedName()}break;case 22:{if(localContext=new OwnedExpressionContext(parentContext,parentState),this.pushNewRecursionContext(localContext,_startState,_SysMLv2Parser.RULE_ownedExpression),this.state=1076,!this.precpred(this.context,4))throw this.createFailedPredicateException("this.precpred(this.context, 4)");this.state=1077,this.match(_SysMLv2Parser.DOT_QUESTION),this.state=1078,this.bodyExpression()}break;case 23:{if(localContext=new OwnedExpressionContext(parentContext,parentState),this.pushNewRecursionContext(localContext,_startState,_SysMLv2Parser.RULE_ownedExpression),this.state=1079,!this.precpred(this.context,3))throw this.createFailedPredicateException("this.precpred(this.context, 3)");switch(this.state=1080,this.match(_SysMLv2Parser.ARROW),this.state=1081,this.qualifiedName(),this.state=1084,this.errorHandler.sync(this),this.tokenStream.LA(1)){case _SysMLv2Parser.LBRACE:this.state=1082,this.bodyExpression();break;case _SysMLv2Parser.LPAREN:this.state=1083,this.argumentList();break;default:throw new NoViableAltException(this)}}break}this.state=1090,this.errorHandler.sync(this),alternative=this.interpreter.adaptivePredict(this.tokenStream,5,this.context)}}}catch(re){if(re instanceof RecognitionException)this.errorHandler.reportError(this,re),this.errorHandler.recover(this,re);else throw re}finally{this.unrollRecursionContexts(parentContext)}return localContext}typeReference(){let localContext=new TypeReferenceContext(this.context,this.state);this.enterRule(localContext,2,_SysMLv2Parser.RULE_typeReference);try{this.enterOuterAlt(localContext,1),this.state=1091,this.qualifiedName()}catch(re){if(re instanceof RecognitionException)this.errorHandler.reportError(this,re),this.errorHandler.recover(this,re);else throw re}finally{this.exitRule()}return localContext}sequenceExpressionList(){let localContext=new SequenceExpressionListContext(this.context,this.state);this.enterRule(localContext,4,_SysMLv2Parser.RULE_sequenceExpressionList);let _la;try{for(this.enterOuterAlt(localContext,1),this.state=1093,this.ownedExpression(0),this.state=1098,this.errorHandler.sync(this),_la=this.tokenStream.LA(1);_la===200;)this.state=1094,this.match(_SysMLv2Parser.COMMA),this.state=1095,this.ownedExpression(0),this.state=1100,this.errorHandler.sync(this),_la=this.tokenStream.LA(1)}catch(re){if(re instanceof RecognitionException)this.errorHandler.reportError(this,re),this.errorHandler.recover(this,re);else throw re}finally{this.exitRule()}return localContext}baseExpression(){let localContext=new BaseExpressionContext(this.context,this.state);this.enterRule(localContext,6,_SysMLv2Parser.RULE_baseExpression);let _la;try{switch(this.state=1116,this.errorHandler.sync(this),this.interpreter.adaptivePredict(this.tokenStream,9,this.context)){case 1:this.enterOuterAlt(localContext,1),this.state=1101,this.nullExpression();break;case 2:this.enterOuterAlt(localContext,2),this.state=1102,this.literalExpression();break;case 3:switch(this.enterOuterAlt(localContext,3),this.state=1103,this.qualifiedName(),this.state=1107,this.errorHandler.sync(this),this.interpreter.adaptivePredict(this.tokenStream,7,this.context)){case 1:this.state=1104,this.argumentList();break;case 2:this.state=1105,this.match(_SysMLv2Parser.DOT),this.state=1106,this.match(_SysMLv2Parser.METADATA);break}break;case 4:this.enterOuterAlt(localContext,4),this.state=1109,this.constructorExpression();break;case 5:this.enterOuterAlt(localContext,5),this.state=1110,this.bodyExpression();break;case 6:this.enterOuterAlt(localContext,6),this.state=1111,this.match(_SysMLv2Parser.LPAREN),this.state=1113,this.errorHandler.sync(this),_la=this.tokenStream.LA(1),(_la===8||_la===64||_la===77||(_la-105&-32)===0&&(1<<_la-105&13)!==0||_la===156||(_la-191&-32)===0&&(1<<_la-191&4236772773)!==0)&&(this.state=1112,this.sequenceExpressionList()),this.state=1115,this.match(_SysMLv2Parser.RPAREN);break}}catch(re){if(re instanceof RecognitionException)this.errorHandler.reportError(this,re),this.errorHandler.recover(this,re);else throw re}finally{this.exitRule()}return localContext}nullExpression(){let localContext=new NullExpressionContext(this.context,this.state);this.enterRule(localContext,8,_SysMLv2Parser.RULE_nullExpression);try{switch(this.state=1121,this.errorHandler.sync(this),this.tokenStream.LA(1)){case _SysMLv2Parser.NULL:this.enterOuterAlt(localContext,1),this.state=1118,this.match(_SysMLv2Parser.NULL);break;case _SysMLv2Parser.LPAREN:this.enterOuterAlt(localContext,2),this.state=1119,this.match(_SysMLv2Parser.LPAREN),this.state=1120,this.match(_SysMLv2Parser.RPAREN);break;default:throw new NoViableAltException(this)}}catch(re){if(re instanceof RecognitionException)this.errorHandler.reportError(this,re),this.errorHandler.recover(this,re);else throw re}finally{this.exitRule()}return localContext}featureReferenceExpression(){let localContext=new FeatureReferenceExpressionContext(this.context,this.state);this.enterRule(localContext,10,_SysMLv2Parser.RULE_featureReferenceExpression);try{this.enterOuterAlt(localContext,1),this.state=1123,this.qualifiedName()}catch(re){if(re instanceof RecognitionException)this.errorHandler.reportError(this,re),this.errorHandler.recover(this,re);else throw re}finally{this.exitRule()}return localContext}metadataAccessExpression(){let localContext=new MetadataAccessExpressionContext(this.context,this.state);this.enterRule(localContext,12,_SysMLv2Parser.RULE_metadataAccessExpression);try{this.enterOuterAlt(localContext,1),this.state=1125,this.qualifiedName(),this.state=1126,this.match(_SysMLv2Parser.DOT),this.state=1127,this.match(_SysMLv2Parser.METADATA)}catch(re){if(re instanceof RecognitionException)this.errorHandler.reportError(this,re),this.errorHandler.recover(this,re);else throw re}finally{this.exitRule()}return localContext}invocationExpression(){let localContext=new InvocationExpressionContext(this.context,this.state);this.enterRule(localContext,14,_SysMLv2Parser.RULE_invocationExpression);try{this.enterOuterAlt(localContext,1),this.state=1129,this.qualifiedName(),this.state=1130,this.argumentList()}catch(re){if(re instanceof RecognitionException)this.errorHandler.reportError(this,re),this.errorHandler.recover(this,re);else throw re}finally{this.exitRule()}return localContext}constructorExpression(){let localContext=new ConstructorExpressionContext(this.context,this.state);this.enterRule(localContext,16,_SysMLv2Parser.RULE_constructorExpression);try{this.enterOuterAlt(localContext,1),this.state=1132,this.match(_SysMLv2Parser.NEW),this.state=1133,this.qualifiedName(),this.state=1134,this.argumentList()}catch(re){if(re instanceof RecognitionException)this.errorHandler.reportError(this,re),this.errorHandler.recover(this,re);else throw re}finally{this.exitRule()}return localContext}bodyExpression(){let localContext=new BodyExpressionContext(this.context,this.state);this.enterRule(localContext,18,_SysMLv2Parser.RULE_bodyExpression);try{this.enterOuterAlt(localContext,1),this.state=1136,this.match(_SysMLv2Parser.LBRACE),this.state=1137,this.functionBodyPart(),this.state=1138,this.match(_SysMLv2Parser.RBRACE)}catch(re){if(re instanceof RecognitionException)this.errorHandler.reportError(this,re),this.errorHandler.recover(this,re);else throw re}finally{this.exitRule()}return localContext}argumentList(){let localContext=new ArgumentListContext(this.context,this.state);this.enterRule(localContext,20,_SysMLv2Parser.RULE_argumentList);try{this.enterOuterAlt(localContext,1);{switch(this.state=1140,this.match(_SysMLv2Parser.LPAREN),this.state=1143,this.errorHandler.sync(this),this.interpreter.adaptivePredict(this.tokenStream,11,this.context)){case 1:this.state=1141,this.positionalArgumentList();break;case 2:this.state=1142,this.namedArgumentList();break}this.state=1145,this.match(_SysMLv2Parser.RPAREN)}}catch(re){if(re instanceof RecognitionException)this.errorHandler.reportError(this,re),this.errorHandler.recover(this,re);else throw re}finally{this.exitRule()}return localContext}positionalArgumentList(){let localContext=new PositionalArgumentListContext(this.context,this.state);this.enterRule(localContext,22,_SysMLv2Parser.RULE_positionalArgumentList);let _la;try{for(this.enterOuterAlt(localContext,1),this.state=1147,this.ownedExpression(0),this.state=1152,this.errorHandler.sync(this),_la=this.tokenStream.LA(1);_la===200;)this.state=1148,this.match(_SysMLv2Parser.COMMA),this.state=1149,this.ownedExpression(0),this.state=1154,this.errorHandler.sync(this),_la=this.tokenStream.LA(1)}catch(re){if(re instanceof RecognitionException)this.errorHandler.reportError(this,re),this.errorHandler.recover(this,re);else throw re}finally{this.exitRule()}return localContext}namedArgumentList(){let localContext=new NamedArgumentListContext(this.context,this.state);this.enterRule(localContext,24,_SysMLv2Parser.RULE_namedArgumentList);let _la;try{for(this.enterOuterAlt(localContext,1),this.state=1155,this.namedArgument(),this.state=1160,this.errorHandler.sync(this),_la=this.tokenStream.LA(1);_la===200;)this.state=1156,this.match(_SysMLv2Parser.COMMA),this.state=1157,this.namedArgument(),this.state=1162,this.errorHandler.sync(this),_la=this.tokenStream.LA(1)}catch(re){if(re instanceof RecognitionException)this.errorHandler.reportError(this,re),this.errorHandler.recover(this,re);else throw re}finally{this.exitRule()}return localContext}namedArgument(){let localContext=new NamedArgumentContext(this.context,this.state);this.enterRule(localContext,26,_SysMLv2Parser.RULE_namedArgument);try{this.enterOuterAlt(localContext,1),this.state=1163,this.qualifiedName(),this.state=1164,this.match(_SysMLv2Parser.EQ),this.state=1165,this.ownedExpression(0)}catch(re){if(re instanceof RecognitionException)this.errorHandler.reportError(this,re),this.errorHandler.recover(this,re);else throw re}finally{this.exitRule()}return localContext}literalExpression(){let localContext=new LiteralExpressionContext(this.context,this.state);this.enterRule(localContext,28,_SysMLv2Parser.RULE_literalExpression);try{switch(this.state=1172,this.errorHandler.sync(this),this.tokenStream.LA(1)){case _SysMLv2Parser.FALSE:case _SysMLv2Parser.TRUE:this.enterOuterAlt(localContext,1),this.state=1167,this.literalBoolean();break;case _SysMLv2Parser.DOUBLE_STRING:this.enterOuterAlt(localContext,2),this.state=1168,this.literalString();break;case _SysMLv2Parser.INTEGER:this.enterOuterAlt(localContext,3),this.state=1169,this.literalInteger();break;case _SysMLv2Parser.REAL:this.enterOuterAlt(localContext,4),this.state=1170,this.literalReal();break;case _SysMLv2Parser.STAR:this.enterOuterAlt(localContext,5),this.state=1171,this.literalInfinity();break;default:throw new NoViableAltException(this)}}catch(re){if(re instanceof RecognitionException)this.errorHandler.reportError(this,re),this.errorHandler.recover(this,re);else throw re}finally{this.exitRule()}return localContext}literalBoolean(){let localContext=new LiteralBooleanContext(this.context,this.state);this.enterRule(localContext,30,_SysMLv2Parser.RULE_literalBoolean);let _la;try{this.enterOuterAlt(localContext,1),this.state=1174,_la=this.tokenStream.LA(1),_la===64||_la===156?(this.errorHandler.reportMatch(this),this.consume()):this.errorHandler.recoverInline(this)}catch(re){if(re instanceof RecognitionException)this.errorHandler.reportError(this,re),this.errorHandler.recover(this,re);else throw re}finally{this.exitRule()}return localContext}literalString(){let localContext=new LiteralStringContext(this.context,this.state);this.enterRule(localContext,32,_SysMLv2Parser.RULE_literalString);try{this.enterOuterAlt(localContext,1),this.state=1176,this.match(_SysMLv2Parser.DOUBLE_STRING)}catch(re){if(re instanceof RecognitionException)this.errorHandler.reportError(this,re),this.errorHandler.recover(this,re);else throw re}finally{this.exitRule()}return localContext}literalInteger(){let localContext=new LiteralIntegerContext(this.context,this.state);this.enterRule(localContext,34,_SysMLv2Parser.RULE_literalInteger);try{this.enterOuterAlt(localContext,1),this.state=1178,this.match(_SysMLv2Parser.INTEGER)}catch(re){if(re instanceof RecognitionException)this.errorHandler.reportError(this,re),this.errorHandler.recover(this,re);else throw re}finally{this.exitRule()}return localContext}literalReal(){let localContext=new LiteralRealContext(this.context,this.state);this.enterRule(localContext,36,_SysMLv2Parser.RULE_literalReal);try{this.enterOuterAlt(localContext,1),this.state=1180,this.match(_SysMLv2Parser.REAL)}catch(re){if(re instanceof RecognitionException)this.errorHandler.reportError(this,re),this.errorHandler.recover(this,re);else throw re}finally{this.exitRule()}return localContext}literalInfinity(){let localContext=new LiteralInfinityContext(this.context,this.state);this.enterRule(localContext,38,_SysMLv2Parser.RULE_literalInfinity);try{this.enterOuterAlt(localContext,1),this.state=1182,this.match(_SysMLv2Parser.STAR)}catch(re){if(re instanceof RecognitionException)this.errorHandler.reportError(this,re),this.errorHandler.recover(this,re);else throw re}finally{this.exitRule()}return localContext}argumentMember(){let localContext=new ArgumentMemberContext(this.context,this.state);this.enterRule(localContext,40,_SysMLv2Parser.RULE_argumentMember);try{this.enterOuterAlt(localContext,1),this.state=1184,this.ownedExpression(0)}catch(re){if(re instanceof RecognitionException)this.errorHandler.reportError(this,re),this.errorHandler.recover(this,re);else throw re}finally{this.exitRule()}return localContext}argumentExpressionMember(){let localContext=new ArgumentExpressionMemberContext(this.context,this.state);this.enterRule(localContext,42,_SysMLv2Parser.RULE_argumentExpressionMember);try{this.enterOuterAlt(localContext,1),this.state=1186,this.ownedExpression(0)}catch(re){if(re instanceof RecognitionException)this.errorHandler.reportError(this,re),this.errorHandler.recover(this,re);else throw re}finally{this.exitRule()}return localContext}name(){let localContext=new NameContext(this.context,this.state);this.enterRule(localContext,44,_SysMLv2Parser.RULE_name);let _la;try{this.enterOuterAlt(localContext,1),this.state=1188,_la=this.tokenStream.LA(1),_la===218||_la===219?(this.errorHandler.reportMatch(this),this.consume()):this.errorHandler.recoverInline(this)}catch(re){if(re instanceof RecognitionException)this.errorHandler.reportError(this,re),this.errorHandler.recover(this,re);else throw re}finally{this.exitRule()}return localContext}identification(){let localContext=new IdentificationContext(this.context,this.state);this.enterRule(localContext,46,_SysMLv2Parser.RULE_identification);try{switch(this.state=1200,this.errorHandler.sync(this),this.interpreter.adaptivePredict(this.tokenStream,15,this.context)){case 1:this.enterOuterAlt(localContext,1),this.state=1190,this.match(_SysMLv2Parser.LT),this.state=1191,this.name(),this.state=1192,this.match(_SysMLv2Parser.GT),this.state=1193,this.name();break;case 2:this.enterOuterAlt(localContext,2),this.state=1195,this.match(_SysMLv2Parser.LT),this.state=1196,this.name(),this.state=1197,this.match(_SysMLv2Parser.GT);break;case 3:this.enterOuterAlt(localContext,3),this.state=1199,this.name();break}}catch(re){if(re instanceof RecognitionException)this.errorHandler.reportError(this,re),this.errorHandler.recover(this,re);else throw re}finally{this.exitRule()}return localContext}relationshipBody(){let localContext=new RelationshipBodyContext(this.context,this.state);this.enterRule(localContext,48,_SysMLv2Parser.RULE_relationshipBody);let _la;try{switch(this.state=1219,this.errorHandler.sync(this),this.interpreter.adaptivePredict(this.tokenStream,18,this.context)){case 1:this.enterOuterAlt(localContext,1),this.state=1202,this.match(_SysMLv2Parser.SEMI);break;case 2:this.enterOuterAlt(localContext,2);{for(this.state=1203,this.match(_SysMLv2Parser.LBRACE),this.state=1207,this.errorHandler.sync(this),_la=this.tokenStream.LA(1);(_la&-32)===0&&(1<<_la&4040229124)!==0||(_la-33&-32)===0&&(1<<_la-33&1085130343)!==0||(_la-65&-32)===0&&(1<<_la-65&1909228581)!==0||(_la-101&-32)===0&&(1<<_la-101&1259892783)!==0||(_la-138&-32)===0&&(1<<_la-138&37232361)!==0||(_la-175&-32)===0&&(1<<_la-175&2684756995)!==0||(_la-210&-32)===0&&(1<<_la-210&9091)!==0;)this.state=1204,this.relationshipOwnedElement(),this.state=1209,this.errorHandler.sync(this),_la=this.tokenStream.LA(1);this.state=1210,this.match(_SysMLv2Parser.RBRACE)}break;case 3:this.enterOuterAlt(localContext,3);{for(this.state=1211,this.match(_SysMLv2Parser.LBRACE),this.state=1215,this.errorHandler.sync(this),_la=this.tokenStream.LA(1);_la===30||_la===54||(_la-93&-32)===0&&(1<<_la-93&517)!==0||_la===131||(_la-192&-32)===0&&(1<<_la-192&2147745793)!==0;)this.state=1212,this.ownedAnnotation(),this.state=1217,this.errorHandler.sync(this),_la=this.tokenStream.LA(1);this.state=1218,this.match(_SysMLv2Parser.RBRACE)}break}}catch(re){if(re instanceof RecognitionException)this.errorHandler.reportError(this,re),this.errorHandler.recover(this,re);else throw re}finally{this.exitRule()}return localContext}relationshipOwnedElement(){let localContext=new RelationshipOwnedElementContext(this.context,this.state);this.enterRule(localContext,50,_SysMLv2Parser.RULE_relationshipOwnedElement);try{switch(this.state=1223,this.errorHandler.sync(this),this.interpreter.adaptivePredict(this.tokenStream,19,this.context)){case 1:this.enterOuterAlt(localContext,1),this.state=1221,this.ownedRelatedElement();break;case 2:this.enterOuterAlt(localContext,2),this.state=1222,this.ownedAnnotation();break}}catch(re){if(re instanceof RecognitionException)this.errorHandler.reportError(this,re),this.errorHandler.recover(this,re);else throw re}finally{this.exitRule()}return localContext}ownedRelatedElement(){let localContext=new OwnedRelatedElementContext(this.context,this.state);this.enterRule(localContext,52,_SysMLv2Parser.RULE_ownedRelatedElement);try{switch(this.state=1227,this.errorHandler.sync(this),this.interpreter.adaptivePredict(this.tokenStream,20,this.context)){case 1:this.enterOuterAlt(localContext,1),this.state=1225,this.nonFeatureElement();break;case 2:this.enterOuterAlt(localContext,2),this.state=1226,this.featureElement();break}}catch(re){if(re instanceof RecognitionException)this.errorHandler.reportError(this,re),this.errorHandler.recover(this,re);else throw re}finally{this.exitRule()}return localContext}dependency(){let localContext=new DependencyContext(this.context,this.state);this.enterRule(localContext,54,_SysMLv2Parser.RULE_dependency);let _la;try{switch(this.state=1271,this.errorHandler.sync(this),this.interpreter.adaptivePredict(this.tokenStream,27,this.context)){case 1:this.enterOuterAlt(localContext,1);{for(this.state=1232,this.errorHandler.sync(this),_la=this.tokenStream.LA(1);_la===192;)this.state=1229,this.prefixMetadataAnnotation(),this.state=1234,this.errorHandler.sync(this),_la=this.tokenStream.LA(1);for(this.state=1235,this.match(_SysMLv2Parser.DEPENDENCY),this.state=1240,this.errorHandler.sync(this),this.interpreter.adaptivePredict(this.tokenStream,23,this.context)===1&&(this.state=1237,this.errorHandler.sync(this),_la=this.tokenStream.LA(1),(_la-206&-32)===0&&(1<<_la-206&12289)!==0&&(this.state=1236,this.identification()),this.state=1239,this.match(_SysMLv2Parser.FROM)),this.state=1242,this.qualifiedName(),this.state=1247,this.errorHandler.sync(this),_la=this.tokenStream.LA(1);_la===200;)this.state=1243,this.match(_SysMLv2Parser.COMMA),this.state=1244,this.qualifiedName(),this.state=1249,this.errorHandler.sync(this),_la=this.tokenStream.LA(1);for(this.state=1250,this.match(_SysMLv2Parser.TO),this.state=1251,this.qualifiedName(),this.state=1256,this.errorHandler.sync(this),_la=this.tokenStream.LA(1);_la===200;)this.state=1252,this.match(_SysMLv2Parser.COMMA),this.state=1253,this.qualifiedName(),this.state=1258,this.errorHandler.sync(this),_la=this.tokenStream.LA(1);this.state=1259,this.relationshipBody()}break;case 2:this.enterOuterAlt(localContext,2);{for(this.state=1264,this.errorHandler.sync(this),_la=this.tokenStream.LA(1);_la===192;)this.state=1261,this.prefixMetadataAnnotation(),this.state=1266,this.errorHandler.sync(this),_la=this.tokenStream.LA(1);this.state=1267,this.match(_SysMLv2Parser.DEPENDENCY),this.state=1268,this.dependencyDeclaration(),this.state=1269,this.relationshipBody()}break}}catch(re){if(re instanceof RecognitionException)this.errorHandler.reportError(this,re),this.errorHandler.recover(this,re);else throw re}finally{this.exitRule()}return localContext}annotation(){let localContext=new AnnotationContext(this.context,this.state);this.enterRule(localContext,56,_SysMLv2Parser.RULE_annotation);try{this.enterOuterAlt(localContext,1),this.state=1273,this.qualifiedName()}catch(re){if(re instanceof RecognitionException)this.errorHandler.reportError(this,re),this.errorHandler.recover(this,re);else throw re}finally{this.exitRule()}return localContext}ownedAnnotation(){let localContext=new OwnedAnnotationContext(this.context,this.state);this.enterRule(localContext,58,_SysMLv2Parser.RULE_ownedAnnotation);try{this.enterOuterAlt(localContext,1),this.state=1275,this.annotatingElement()}catch(re){if(re instanceof RecognitionException)this.errorHandler.reportError(this,re),this.errorHandler.recover(this,re);else throw re}finally{this.exitRule()}return localContext}annotatingElement(){let localContext=new AnnotatingElementContext(this.context,this.state);this.enterRule(localContext,60,_SysMLv2Parser.RULE_annotatingElement);try{switch(this.state=1281,this.errorHandler.sync(this),this.tokenStream.LA(1)){case _SysMLv2Parser.COMMENT:case _SysMLv2Parser.LOCALE:case _SysMLv2Parser.REGULAR_COMMENT:this.enterOuterAlt(localContext,1),this.state=1277,this.comment();break;case _SysMLv2Parser.DOC:this.enterOuterAlt(localContext,2),this.state=1278,this.documentation();break;case _SysMLv2Parser.LANGUAGE:case _SysMLv2Parser.REP:this.enterOuterAlt(localContext,3),this.state=1279,this.textualRepresentation();break;case _SysMLv2Parser.METADATA:case _SysMLv2Parser.HASH:case _SysMLv2Parser.AT_SIGN:this.enterOuterAlt(localContext,4),this.state=1280,this.metadataFeature();break;default:throw new NoViableAltException(this)}}catch(re){if(re instanceof RecognitionException)this.errorHandler.reportError(this,re),this.errorHandler.recover(this,re);else throw re}finally{this.exitRule()}return localContext}comment(){let localContext=new CommentContext(this.context,this.state);this.enterRule(localContext,62,_SysMLv2Parser.RULE_comment);let _la;try{this.enterOuterAlt(localContext,1);{if(this.state=1298,this.errorHandler.sync(this),_la=this.tokenStream.LA(1),_la===30&&(this.state=1283,this.match(_SysMLv2Parser.COMMENT),this.state=1285,this.errorHandler.sync(this),_la=this.tokenStream.LA(1),(_la-206&-32)===0&&(1<<_la-206&12289)!==0&&(this.state=1284,this.identification()),this.state=1296,this.errorHandler.sync(this),_la=this.tokenStream.LA(1),_la===1))for(this.state=1287,this.match(_SysMLv2Parser.ABOUT),this.state=1288,this.annotation(),this.state=1293,this.errorHandler.sync(this),_la=this.tokenStream.LA(1);_la===200;)this.state=1289,this.match(_SysMLv2Parser.COMMA),this.state=1290,this.annotation(),this.state=1295,this.errorHandler.sync(this),_la=this.tokenStream.LA(1);this.state=1302,this.errorHandler.sync(this),_la=this.tokenStream.LA(1),_la===95&&(this.state=1300,this.match(_SysMLv2Parser.LOCALE),this.state=1301,this.match(_SysMLv2Parser.DOUBLE_STRING)),this.state=1304,this.match(_SysMLv2Parser.REGULAR_COMMENT)}}catch(re){if(re instanceof RecognitionException)this.errorHandler.reportError(this,re),this.errorHandler.recover(this,re);else throw re}finally{this.exitRule()}return localContext}documentation(){let localContext=new DocumentationContext(this.context,this.state);this.enterRule(localContext,64,_SysMLv2Parser.RULE_documentation);let _la;try{this.enterOuterAlt(localContext,1),this.state=1306,this.match(_SysMLv2Parser.DOC),this.state=1308,this.errorHandler.sync(this),_la=this.tokenStream.LA(1),(_la-206&-32)===0&&(1<<_la-206&12289)!==0&&(this.state=1307,this.identification()),this.state=1312,this.errorHandler.sync(this),_la=this.tokenStream.LA(1),_la===95&&(this.state=1310,this.match(_SysMLv2Parser.LOCALE),this.state=1311,this.match(_SysMLv2Parser.DOUBLE_STRING)),this.state=1314,this.match(_SysMLv2Parser.REGULAR_COMMENT)}catch(re){if(re instanceof RecognitionException)this.errorHandler.reportError(this,re),this.errorHandler.recover(this,re);else throw re}finally{this.exitRule()}return localContext}textualRepresentation(){let localContext=new TextualRepresentationContext(this.context,this.state);this.enterRule(localContext,66,_SysMLv2Parser.RULE_textualRepresentation);let _la;try{this.enterOuterAlt(localContext,1),this.state=1320,this.errorHandler.sync(this),_la=this.tokenStream.LA(1),_la===131&&(this.state=1316,this.match(_SysMLv2Parser.REP),this.state=1318,this.errorHandler.sync(this),_la=this.tokenStream.LA(1),(_la-206&-32)===0&&(1<<_la-206&12289)!==0&&(this.state=1317,this.identification())),this.state=1322,this.match(_SysMLv2Parser.LANGUAGE),this.state=1323,this.match(_SysMLv2Parser.DOUBLE_STRING),this.state=1324,this.match(_SysMLv2Parser.REGULAR_COMMENT)}catch(re){if(re instanceof RecognitionException)this.errorHandler.reportError(this,re),this.errorHandler.recover(this,re);else throw re}finally{this.exitRule()}return localContext}rootNamespace(){let localContext=new RootNamespaceContext(this.context,this.state);this.enterRule(localContext,68,_SysMLv2Parser.RULE_rootNamespace);let _la;try{this.enterOuterAlt(localContext,1);{for(this.state=1329,this.errorHandler.sync(this),_la=this.tokenStream.LA(1);(_la&-32)===0&&(1<<_la&1181240980)!==0||(_la-32&-32)===0&&(1<<_la-32&490981169)!==0||(_la-68&-32)===0&&(1<<_la-68&2390947847)!==0||(_la-102&-32)===0&&(1<<_la-102&3069425937)!==0||(_la-135&-32)===0&&(1<<_la-135&3364135109)!==0||(_la-169&-32)===0&&(1<<_la-169&9011395)!==0||(_la-204&-32)===0&&(1<<_la-204&574671)!==0;)this.state=1326,this.packageBodyElement(),this.state=1331,this.errorHandler.sync(this),_la=this.tokenStream.LA(1);this.state=1332,this.match(_SysMLv2Parser.EOF)}}catch(re){if(re instanceof RecognitionException)this.errorHandler.reportError(this,re),this.errorHandler.recover(this,re);else throw re}finally{this.exitRule()}return localContext}namespace(){let localContext=new NamespaceContext(this.context,this.state);this.enterRule(localContext,70,_SysMLv2Parser.RULE_namespace);let _la;try{this.enterOuterAlt(localContext,1);{for(this.state=1337,this.errorHandler.sync(this),_la=this.tokenStream.LA(1);_la===192;)this.state=1334,this.prefixMetadataMember(),this.state=1339,this.errorHandler.sync(this),_la=this.tokenStream.LA(1);this.state=1340,this.namespaceDeclaration(),this.state=1341,this.namespaceBody()}}catch(re){if(re instanceof RecognitionException)this.errorHandler.reportError(this,re),this.errorHandler.recover(this,re);else throw re}finally{this.exitRule()}return localContext}namespaceDeclaration(){let localContext=new NamespaceDeclarationContext(this.context,this.state);this.enterRule(localContext,72,_SysMLv2Parser.RULE_namespaceDeclaration);let _la;try{this.enterOuterAlt(localContext,1),this.state=1343,this.match(_SysMLv2Parser.NAMESPACE),this.state=1345,this.errorHandler.sync(this),_la=this.tokenStream.LA(1),(_la-206&-32)===0&&(1<<_la-206&12289)!==0&&(this.state=1344,this.identification())}catch(re){if(re instanceof RecognitionException)this.errorHandler.reportError(this,re),this.errorHandler.recover(this,re);else throw re}finally{this.exitRule()}return localContext}namespaceBody(){let localContext=new NamespaceBodyContext(this.context,this.state);this.enterRule(localContext,74,_SysMLv2Parser.RULE_namespaceBody);let _la;try{switch(this.state=1356,this.errorHandler.sync(this),this.tokenStream.LA(1)){case _SysMLv2Parser.SEMI:this.enterOuterAlt(localContext,1),this.state=1347,this.match(_SysMLv2Parser.SEMI);break;case _SysMLv2Parser.LBRACE:this.enterOuterAlt(localContext,2);{for(this.state=1348,this.match(_SysMLv2Parser.LBRACE),this.state=1352,this.errorHandler.sync(this),_la=this.tokenStream.LA(1);(_la&-32)===0&&(1<<_la&4040229252)!==0||(_la-33&-32)===0&&(1<<_la-33&1085130343)!==0||(_la-65&-32)===0&&(1<<_la-65&1909244965)!==0||(_la-101&-32)===0&&(1<<_la-101&1274572847)!==0||(_la-138&-32)===0&&(1<<_la-138&37232361)!==0||(_la-175&-32)===0&&(1<<_la-175&2684756995)!==0||(_la-210&-32)===0&&(1<<_la-210&9091)!==0;)this.state=1349,this.namespaceBodyElement(),this.state=1354,this.errorHandler.sync(this),_la=this.tokenStream.LA(1);this.state=1355,this.match(_SysMLv2Parser.RBRACE)}break;default:throw new NoViableAltException(this)}}catch(re){if(re instanceof RecognitionException)this.errorHandler.reportError(this,re),this.errorHandler.recover(this,re);else throw re}finally{this.exitRule()}return localContext}namespaceBodyElement(){let localContext=new NamespaceBodyElementContext(this.context,this.state);this.enterRule(localContext,76,_SysMLv2Parser.RULE_namespaceBodyElement);try{switch(this.state=1361,this.errorHandler.sync(this),this.interpreter.adaptivePredict(this.tokenStream,43,this.context)){case 1:this.enterOuterAlt(localContext,1),this.state=1358,this.namespaceMember();break;case 2:this.enterOuterAlt(localContext,2),this.state=1359,this.aliasMember();break;case 3:this.enterOuterAlt(localContext,3),this.state=1360,this.importRule();break}}catch(re){if(re instanceof RecognitionException)this.errorHandler.reportError(this,re),this.errorHandler.recover(this,re);else throw re}finally{this.exitRule()}return localContext}memberPrefix(){let localContext=new MemberPrefixContext(this.context,this.state);this.enterRule(localContext,78,_SysMLv2Parser.RULE_memberPrefix);let _la;try{this.enterOuterAlt(localContext,1),this.state=1364,this.errorHandler.sync(this),_la=this.tokenStream.LA(1),(_la-122&-32)===0&&(1<<_la-122&7)!==0&&(this.state=1363,this.visibilityIndicator())}catch(re){if(re instanceof RecognitionException)this.errorHandler.reportError(this,re),this.errorHandler.recover(this,re);else throw re}finally{this.exitRule()}return localContext}visibilityIndicator(){let localContext=new VisibilityIndicatorContext(this.context,this.state);this.enterRule(localContext,80,_SysMLv2Parser.RULE_visibilityIndicator);let _la;try{this.enterOuterAlt(localContext,1),this.state=1366,_la=this.tokenStream.LA(1),(_la-122&-32)===0&&(1<<_la-122&7)!==0?(this.errorHandler.reportMatch(this),this.consume()):this.errorHandler.recoverInline(this)}catch(re){if(re instanceof RecognitionException)this.errorHandler.reportError(this,re),this.errorHandler.recover(this,re);else throw re}finally{this.exitRule()}return localContext}namespaceMember(){let localContext=new NamespaceMemberContext(this.context,this.state);this.enterRule(localContext,82,_SysMLv2Parser.RULE_namespaceMember);try{switch(this.state=1370,this.errorHandler.sync(this),this.interpreter.adaptivePredict(this.tokenStream,45,this.context)){case 1:this.enterOuterAlt(localContext,1),this.state=1368,this.nonFeatureMember();break;case 2:this.enterOuterAlt(localContext,2),this.state=1369,this.namespaceFeatureMember();break}}catch(re){if(re instanceof RecognitionException)this.errorHandler.reportError(this,re),this.errorHandler.recover(this,re);else throw re}finally{this.exitRule()}return localContext}nonFeatureMember(){let localContext=new NonFeatureMemberContext(this.context,this.state);this.enterRule(localContext,84,_SysMLv2Parser.RULE_nonFeatureMember);try{this.enterOuterAlt(localContext,1),this.state=1372,this.memberPrefix(),this.state=1373,this.memberElement()}catch(re){if(re instanceof RecognitionException)this.errorHandler.reportError(this,re),this.errorHandler.recover(this,re);else throw re}finally{this.exitRule()}return localContext}namespaceFeatureMember(){let localContext=new NamespaceFeatureMemberContext(this.context,this.state);this.enterRule(localContext,86,_SysMLv2Parser.RULE_namespaceFeatureMember);try{this.enterOuterAlt(localContext,1),this.state=1375,this.memberPrefix(),this.state=1376,this.featureElement()}catch(re){if(re instanceof RecognitionException)this.errorHandler.reportError(this,re),this.errorHandler.recover(this,re);else throw re}finally{this.exitRule()}return localContext}aliasMember(){let localContext=new AliasMemberContext(this.context,this.state);this.enterRule(localContext,88,_SysMLv2Parser.RULE_aliasMember);let _la;try{this.enterOuterAlt(localContext,1),this.state=1378,this.memberPrefix(),this.state=1379,this.match(_SysMLv2Parser.ALIAS),this.state=1384,this.errorHandler.sync(this),_la=this.tokenStream.LA(1),_la===206&&(this.state=1380,this.match(_SysMLv2Parser.LT),this.state=1381,this.name(),this.state=1382,this.match(_SysMLv2Parser.GT)),this.state=1387,this.errorHandler.sync(this),_la=this.tokenStream.LA(1),(_la===218||_la===219)&&(this.state=1386,this.name()),this.state=1389,this.match(_SysMLv2Parser.FOR),this.state=1390,this.qualifiedName(),this.state=1391,this.relationshipBody()}catch(re){if(re instanceof RecognitionException)this.errorHandler.reportError(this,re),this.errorHandler.recover(this,re);else throw re}finally{this.exitRule()}return localContext}qualifiedName(){let localContext=new QualifiedNameContext(this.context,this.state);this.enterRule(localContext,90,_SysMLv2Parser.RULE_qualifiedName);let _la;try{let alternative;this.enterOuterAlt(localContext,1);{for(this.state=1395,this.errorHandler.sync(this),_la=this.tokenStream.LA(1),_la===193&&(this.state=1393,this.match(_SysMLv2Parser.DOLLAR),this.state=1394,this.match(_SysMLv2Parser.COLON_COLON)),this.state=1402,this.errorHandler.sync(this),alternative=this.interpreter.adaptivePredict(this.tokenStream,49,this.context);alternative!==2&&alternative!==ATN.INVALID_ALT_NUMBER;)alternative===1&&(this.state=1397,this.name(),this.state=1398,this.match(_SysMLv2Parser.COLON_COLON)),this.state=1404,this.errorHandler.sync(this),alternative=this.interpreter.adaptivePredict(this.tokenStream,49,this.context);this.state=1405,this.name()}}catch(re){if(re instanceof RecognitionException)this.errorHandler.reportError(this,re),this.errorHandler.recover(this,re);else throw re}finally{this.exitRule()}return localContext}importRule(){let localContext=new ImportRuleContext(this.context,this.state);this.enterRule(localContext,92,_SysMLv2Parser.RULE_importRule);let _la;try{this.enterOuterAlt(localContext,1),this.state=1408,this.errorHandler.sync(this),_la=this.tokenStream.LA(1),(_la-122&-32)===0&&(1<<_la-122&7)!==0&&(this.state=1407,this.visibilityIndicator()),this.state=1410,this.match(_SysMLv2Parser.IMPORT),this.state=1412,this.errorHandler.sync(this),_la=this.tokenStream.LA(1),_la===8&&(this.state=1411,this.match(_SysMLv2Parser.ALL)),this.state=1414,this.importDeclaration(),this.state=1415,this.relationshipBody()}catch(re){if(re instanceof RecognitionException)this.errorHandler.reportError(this,re),this.errorHandler.recover(this,re);else throw re}finally{this.exitRule()}return localContext}importDeclaration(){let localContext=new ImportDeclarationContext(this.context,this.state);this.enterRule(localContext,94,_SysMLv2Parser.RULE_importDeclaration);try{switch(this.state=1419,this.errorHandler.sync(this),this.interpreter.adaptivePredict(this.tokenStream,52,this.context)){case 1:this.enterOuterAlt(localContext,1),this.state=1417,this.membershipImport();break;case 2:this.enterOuterAlt(localContext,2),this.state=1418,this.namespaceImport();break}}catch(re){if(re instanceof RecognitionException)this.errorHandler.reportError(this,re),this.errorHandler.recover(this,re);else throw re}finally{this.exitRule()}return localContext}membershipImport(){let localContext=new MembershipImportContext(this.context,this.state);this.enterRule(localContext,96,_SysMLv2Parser.RULE_membershipImport);let _la;try{this.enterOuterAlt(localContext,1),this.state=1421,this.qualifiedName(),this.state=1424,this.errorHandler.sync(this),_la=this.tokenStream.LA(1),_la===183&&(this.state=1422,this.match(_SysMLv2Parser.COLON_COLON),this.state=1423,this.match(_SysMLv2Parser.STAR_STAR))}catch(re){if(re instanceof RecognitionException)this.errorHandler.reportError(this,re),this.errorHandler.recover(this,re);else throw re}finally{this.exitRule()}return localContext}namespaceImport(){let localContext=new NamespaceImportContext(this.context,this.state);this.enterRule(localContext,98,_SysMLv2Parser.RULE_namespaceImport);let _la;try{switch(this.state=1434,this.errorHandler.sync(this),this.interpreter.adaptivePredict(this.tokenStream,55,this.context)){case 1:this.enterOuterAlt(localContext,1),this.state=1426,this.qualifiedName(),this.state=1427,this.match(_SysMLv2Parser.COLON_COLON),this.state=1428,this.match(_SysMLv2Parser.STAR),this.state=1431,this.errorHandler.sync(this),_la=this.tokenStream.LA(1),_la===183&&(this.state=1429,this.match(_SysMLv2Parser.COLON_COLON),this.state=1430,this.match(_SysMLv2Parser.STAR_STAR));break;case 2:this.enterOuterAlt(localContext,2),this.state=1433,this.filterPackage();break}}catch(re){if(re instanceof RecognitionException)this.errorHandler.reportError(this,re),this.errorHandler.recover(this,re);else throw re}finally{this.exitRule()}return localContext}filterPackage(){let localContext=new FilterPackageContext(this.context,this.state);this.enterRule(localContext,100,_SysMLv2Parser.RULE_filterPackage);let _la;try{switch(this.state=1448,this.errorHandler.sync(this),this.interpreter.adaptivePredict(this.tokenStream,58,this.context)){case 1:this.enterOuterAlt(localContext,1);{this.state=1436,this.filterPackageImportDeclaration(),this.state=1438,this.errorHandler.sync(this),_la=this.tokenStream.LA(1);do this.state=1437,this.filterPackageMember(),this.state=1440,this.errorHandler.sync(this),_la=this.tokenStream.LA(1);while(_la===211)}break;case 2:this.enterOuterAlt(localContext,2);{this.state=1442,this.filterPackageImport(),this.state=1444,this.errorHandler.sync(this),_la=this.tokenStream.LA(1);do this.state=1443,this.filterPackageMember(),this.state=1446,this.errorHandler.sync(this),_la=this.tokenStream.LA(1);while(_la===211)}break}}catch(re){if(re instanceof RecognitionException)this.errorHandler.reportError(this,re),this.errorHandler.recover(this,re);else throw re}finally{this.exitRule()}return localContext}filterPackageMember(){let localContext=new FilterPackageMemberContext(this.context,this.state);this.enterRule(localContext,102,_SysMLv2Parser.RULE_filterPackageMember);try{this.enterOuterAlt(localContext,1),this.state=1450,this.match(_SysMLv2Parser.LBRACK),this.state=1451,this.ownedExpression(0),this.state=1452,this.match(_SysMLv2Parser.RBRACK)}catch(re){if(re instanceof RecognitionException)this.errorHandler.reportError(this,re),this.errorHandler.recover(this,re);else throw re}finally{this.exitRule()}return localContext}memberElement(){let localContext=new MemberElementContext(this.context,this.state);this.enterRule(localContext,104,_SysMLv2Parser.RULE_memberElement);try{switch(this.state=1456,this.errorHandler.sync(this),this.interpreter.adaptivePredict(this.tokenStream,59,this.context)){case 1:this.enterOuterAlt(localContext,1),this.state=1454,this.annotatingElement();break;case 2:this.enterOuterAlt(localContext,2),this.state=1455,this.nonFeatureElement();break}}catch(re){if(re instanceof RecognitionException)this.errorHandler.reportError(this,re),this.errorHandler.recover(this,re);else throw re}finally{this.exitRule()}return localContext}nonFeatureElement(){let localContext=new NonFeatureElementContext(this.context,this.state);this.enterRule(localContext,106,_SysMLv2Parser.RULE_nonFeatureElement);try{switch(this.state=1484,this.errorHandler.sync(this),this.interpreter.adaptivePredict(this.tokenStream,60,this.context)){case 1:this.enterOuterAlt(localContext,1),this.state=1458,this.dependency();break;case 2:this.enterOuterAlt(localContext,2),this.state=1459,this.namespace();break;case 3:this.enterOuterAlt(localContext,3),this.state=1460,this.type_();break;case 4:this.enterOuterAlt(localContext,4),this.state=1461,this.classifier();break;case 5:this.enterOuterAlt(localContext,5),this.state=1462,this.dataType();break;case 6:this.enterOuterAlt(localContext,6),this.state=1463,this.class_();break;case 7:this.enterOuterAlt(localContext,7),this.state=1464,this.structure();break;case 8:this.enterOuterAlt(localContext,8),this.state=1465,this.metaclass();break;case 9:this.enterOuterAlt(localContext,9),this.state=1466,this.association();break;case 10:this.enterOuterAlt(localContext,10),this.state=1467,this.associationStructure();break;case 11:this.enterOuterAlt(localContext,11),this.state=1468,this.interaction();break;case 12:this.enterOuterAlt(localContext,12),this.state=1469,this.behavior();break;case 13:this.enterOuterAlt(localContext,13),this.state=1470,this.function_();break;case 14:this.enterOuterAlt(localContext,14),this.state=1471,this.predicate();break;case 15:this.enterOuterAlt(localContext,15),this.state=1472,this.multiplicity();break;case 16:this.enterOuterAlt(localContext,16),this.state=1473,this.package_();break;case 17:this.enterOuterAlt(localContext,17),this.state=1474,this.libraryPackage();break;case 18:this.enterOuterAlt(localContext,18),this.state=1475,this.specialization();break;case 19:this.enterOuterAlt(localContext,19),this.state=1476,this.conjugation();break;case 20:this.enterOuterAlt(localContext,20),this.state=1477,this.subclassification();break;case 21:this.enterOuterAlt(localContext,21),this.state=1478,this.disjoining();break;case 22:this.enterOuterAlt(localContext,22),this.state=1479,this.featureInverting();break;case 23:this.enterOuterAlt(localContext,23),this.state=1480,this.featureTyping();break;case 24:this.enterOuterAlt(localContext,24),this.state=1481,this.subsetting();break;case 25:this.enterOuterAlt(localContext,25),this.state=1482,this.redefinition();break;case 26:this.enterOuterAlt(localContext,26),this.state=1483,this.typeFeaturing();break}}catch(re){if(re instanceof RecognitionException)this.errorHandler.reportError(this,re),this.errorHandler.recover(this,re);else throw re}finally{this.exitRule()}return localContext}featureElement(){let localContext=new FeatureElementContext(this.context,this.state);this.enterRule(localContext,108,_SysMLv2Parser.RULE_featureElement);try{switch(this.state=1496,this.errorHandler.sync(this),this.interpreter.adaptivePredict(this.tokenStream,61,this.context)){case 1:this.enterOuterAlt(localContext,1),this.state=1486,this.feature();break;case 2:this.enterOuterAlt(localContext,2),this.state=1487,this.step();break;case 3:this.enterOuterAlt(localContext,3),this.state=1488,this.expression();break;case 4:this.enterOuterAlt(localContext,4),this.state=1489,this.booleanExpression();break;case 5:this.enterOuterAlt(localContext,5),this.state=1490,this.invariant();break;case 6:this.enterOuterAlt(localContext,6),this.state=1491,this.connector();break;case 7:this.enterOuterAlt(localContext,7),this.state=1492,this.bindingConnector();break;case 8:this.enterOuterAlt(localContext,8),this.state=1493,this.succession();break;case 9:this.enterOuterAlt(localContext,9),this.state=1494,this.flow();break;case 10:this.enterOuterAlt(localContext,10),this.state=1495,this.successionFlow();break}}catch(re){if(re instanceof RecognitionException)this.errorHandler.reportError(this,re),this.errorHandler.recover(this,re);else throw re}finally{this.exitRule()}return localContext}type_(){let localContext=new TypeContext(this.context,this.state);this.enterRule(localContext,110,_SysMLv2Parser.RULE_type);try{this.enterOuterAlt(localContext,1),this.state=1498,this.typePrefix(),this.state=1499,this.match(_SysMLv2Parser.TYPE),this.state=1500,this.typeDeclaration(),this.state=1501,this.typeBody()}catch(re){if(re instanceof RecognitionException)this.errorHandler.reportError(this,re),this.errorHandler.recover(this,re);else throw re}finally{this.exitRule()}return localContext}typePrefix(){let localContext=new TypePrefixContext(this.context,this.state);this.enterRule(localContext,112,_SysMLv2Parser.RULE_typePrefix);let _la;try{for(this.enterOuterAlt(localContext,1),this.state=1504,this.errorHandler.sync(this),_la=this.tokenStream.LA(1),_la===2&&(this.state=1503,this.match(_SysMLv2Parser.ABSTRACT)),this.state=1509,this.errorHandler.sync(this),_la=this.tokenStream.LA(1);_la===192;)this.state=1506,this.prefixMetadataMember(),this.state=1511,this.errorHandler.sync(this),_la=this.tokenStream.LA(1)}catch(re){if(re instanceof RecognitionException)this.errorHandler.reportError(this,re),this.errorHandler.recover(this,re);else throw re}finally{this.exitRule()}return localContext}typeDeclaration(){let localContext=new TypeDeclarationContext(this.context,this.state);this.enterRule(localContext,114,_SysMLv2Parser.RULE_typeDeclaration);let _la;try{this.enterOuterAlt(localContext,1);{this.state=1513,this.errorHandler.sync(this),_la=this.tokenStream.LA(1),_la===8&&(this.state=1512,this.match(_SysMLv2Parser.ALL)),this.state=1516,this.errorHandler.sync(this),_la=this.tokenStream.LA(1),(_la-206&-32)===0&&(1<<_la-206&12289)!==0&&(this.state=1515,this.identification()),this.state=1519,this.errorHandler.sync(this),_la=this.tokenStream.LA(1),_la===211&&(this.state=1518,this.ownedMultiplicity()),this.state=1523,this.errorHandler.sync(this),_la=this.tokenStream.LA(1);do{switch(this.state=1523,this.errorHandler.sync(this),this.tokenStream.LA(1)){case _SysMLv2Parser.SPECIALIZES:case _SysMLv2Parser.COLON_GT:this.state=1521,this.specializationPart();break;case _SysMLv2Parser.CONJUGATES:case _SysMLv2Parser.TILDE:this.state=1522,this.conjugationPart();break;default:throw new NoViableAltException(this)}this.state=1525,this.errorHandler.sync(this),_la=this.tokenStream.LA(1)}while(_la===34||_la===139||_la===185||_la===217);for(this.state=1530,this.errorHandler.sync(this),_la=this.tokenStream.LA(1);_la===50||_la===52||_la===86||_la===160;)this.state=1527,this.typeRelationshipPart(),this.state=1532,this.errorHandler.sync(this),_la=this.tokenStream.LA(1)}}catch(re){if(re instanceof RecognitionException)this.errorHandler.reportError(this,re),this.errorHandler.recover(this,re);else throw re}finally{this.exitRule()}return localContext}specializationPart(){let localContext=new SpecializationPartContext(this.context,this.state);this.enterRule(localContext,116,_SysMLv2Parser.RULE_specializationPart);let _la;try{for(this.enterOuterAlt(localContext,1),this.state=1533,_la=this.tokenStream.LA(1),_la===139||_la===185?(this.errorHandler.reportMatch(this),this.consume()):this.errorHandler.recoverInline(this),this.state=1534,this.ownedSpecialization(),this.state=1539,this.errorHandler.sync(this),_la=this.tokenStream.LA(1);_la===200;)this.state=1535,this.match(_SysMLv2Parser.COMMA),this.state=1536,this.ownedSpecialization(),this.state=1541,this.errorHandler.sync(this),_la=this.tokenStream.LA(1)}catch(re){if(re instanceof RecognitionException)this.errorHandler.reportError(this,re),this.errorHandler.recover(this,re);else throw re}finally{this.exitRule()}return localContext}conjugationPart(){let localContext=new ConjugationPartContext(this.context,this.state);this.enterRule(localContext,118,_SysMLv2Parser.RULE_conjugationPart);let _la;try{this.enterOuterAlt(localContext,1),this.state=1542,_la=this.tokenStream.LA(1),_la===34||_la===217?(this.errorHandler.reportMatch(this),this.consume()):this.errorHandler.recoverInline(this),this.state=1543,this.ownedConjugation()}catch(re){if(re instanceof RecognitionException)this.errorHandler.reportError(this,re),this.errorHandler.recover(this,re);else throw re}finally{this.exitRule()}return localContext}typeRelationshipPart(){let localContext=new TypeRelationshipPartContext(this.context,this.state);this.enterRule(localContext,120,_SysMLv2Parser.RULE_typeRelationshipPart);try{switch(this.state=1549,this.errorHandler.sync(this),this.tokenStream.LA(1)){case _SysMLv2Parser.DISJOINT:this.enterOuterAlt(localContext,1),this.state=1545,this.disjoiningPart();break;case _SysMLv2Parser.UNIONS:this.enterOuterAlt(localContext,2),this.state=1546,this.unioningPart();break;case _SysMLv2Parser.INTERSECTS:this.enterOuterAlt(localContext,3),this.state=1547,this.intersectingPart();break;case _SysMLv2Parser.DIFFERENCES:this.enterOuterAlt(localContext,4),this.state=1548,this.differencingPart();break;default:throw new NoViableAltException(this)}}catch(re){if(re instanceof RecognitionException)this.errorHandler.reportError(this,re),this.errorHandler.recover(this,re);else throw re}finally{this.exitRule()}return localContext}disjoiningPart(){let localContext=new DisjoiningPartContext(this.context,this.state);this.enterRule(localContext,122,_SysMLv2Parser.RULE_disjoiningPart);let _la;try{for(this.enterOuterAlt(localContext,1),this.state=1551,this.match(_SysMLv2Parser.DISJOINT),this.state=1552,this.match(_SysMLv2Parser.FROM),this.state=1553,this.ownedDisjoining(),this.state=1558,this.errorHandler.sync(this),_la=this.tokenStream.LA(1);_la===200;)this.state=1554,this.match(_SysMLv2Parser.COMMA),this.state=1555,this.ownedDisjoining(),this.state=1560,this.errorHandler.sync(this),_la=this.tokenStream.LA(1)}catch(re){if(re instanceof RecognitionException)this.errorHandler.reportError(this,re),this.errorHandler.recover(this,re);else throw re}finally{this.exitRule()}return localContext}unioningPart(){let localContext=new UnioningPartContext(this.context,this.state);this.enterRule(localContext,124,_SysMLv2Parser.RULE_unioningPart);let _la;try{for(this.enterOuterAlt(localContext,1),this.state=1561,this.match(_SysMLv2Parser.UNIONS),this.state=1562,this.unioning(),this.state=1567,this.errorHandler.sync(this),_la=this.tokenStream.LA(1);_la===200;)this.state=1563,this.match(_SysMLv2Parser.COMMA),this.state=1564,this.unioning(),this.state=1569,this.errorHandler.sync(this),_la=this.tokenStream.LA(1)}catch(re){if(re instanceof RecognitionException)this.errorHandler.reportError(this,re),this.errorHandler.recover(this,re);else throw re}finally{this.exitRule()}return localContext}intersectingPart(){let localContext=new IntersectingPartContext(this.context,this.state);this.enterRule(localContext,126,_SysMLv2Parser.RULE_intersectingPart);let _la;try{for(this.enterOuterAlt(localContext,1),this.state=1570,this.match(_SysMLv2Parser.INTERSECTS),this.state=1571,this.intersecting(),this.state=1576,this.errorHandler.sync(this),_la=this.tokenStream.LA(1);_la===200;)this.state=1572,this.match(_SysMLv2Parser.COMMA),this.state=1573,this.intersecting(),this.state=1578,this.errorHandler.sync(this),_la=this.tokenStream.LA(1)}catch(re){if(re instanceof RecognitionException)this.errorHandler.reportError(this,re),this.errorHandler.recover(this,re);else throw re}finally{this.exitRule()}return localContext}differencingPart(){let localContext=new DifferencingPartContext(this.context,this.state);this.enterRule(localContext,128,_SysMLv2Parser.RULE_differencingPart);let _la;try{for(this.enterOuterAlt(localContext,1),this.state=1579,this.match(_SysMLv2Parser.DIFFERENCES),this.state=1580,this.differencing(),this.state=1585,this.errorHandler.sync(this),_la=this.tokenStream.LA(1);_la===200;)this.state=1581,this.match(_SysMLv2Parser.COMMA),this.state=1582,this.differencing(),this.state=1587,this.errorHandler.sync(this),_la=this.tokenStream.LA(1)}catch(re){if(re instanceof RecognitionException)this.errorHandler.reportError(this,re),this.errorHandler.recover(this,re);else throw re}finally{this.exitRule()}return localContext}typeBody(){let localContext=new TypeBodyContext(this.context,this.state);this.enterRule(localContext,130,_SysMLv2Parser.RULE_typeBody);let _la;try{switch(this.state=1597,this.errorHandler.sync(this),this.tokenStream.LA(1)){case _SysMLv2Parser.SEMI:this.enterOuterAlt(localContext,1),this.state=1588,this.match(_SysMLv2Parser.SEMI);break;case _SysMLv2Parser.LBRACE:this.enterOuterAlt(localContext,2);{for(this.state=1589,this.match(_SysMLv2Parser.LBRACE),this.state=1593,this.errorHandler.sync(this),_la=this.tokenStream.LA(1);(_la&-32)===0&&(1<<_la&4040229252)!==0||(_la-33&-32)===0&&(1<<_la-33&1085130343)!==0||(_la-65&-32)===0&&(1<<_la-65&1909244965)!==0||(_la-97&-32)===0&&(1<<_la-97&3213296369)!==0||(_la-131&-32)===0&&(1<<_la-131&470774913)!==0||(_la-163&-32)===0&&(1<<_la-163&1648373761)!==0||(_la-204&-32)===0&&(1<<_la-204&581829)!==0;)this.state=1590,this.typeBodyElement(),this.state=1595,this.errorHandler.sync(this),_la=this.tokenStream.LA(1);this.state=1596,this.match(_SysMLv2Parser.RBRACE)}break;default:throw new NoViableAltException(this)}}catch(re){if(re instanceof RecognitionException)this.errorHandler.reportError(this,re),this.errorHandler.recover(this,re);else throw re}finally{this.exitRule()}return localContext}typeBodyElement(){let localContext=new TypeBodyElementContext(this.context,this.state);this.enterRule(localContext,132,_SysMLv2Parser.RULE_typeBodyElement);try{switch(this.state=1603,this.errorHandler.sync(this),this.interpreter.adaptivePredict(this.tokenStream,78,this.context)){case 1:this.enterOuterAlt(localContext,1),this.state=1599,this.nonFeatureMember();break;case 2:this.enterOuterAlt(localContext,2),this.state=1600,this.featureMember();break;case 3:this.enterOuterAlt(localContext,3),this.state=1601,this.aliasMember();break;case 4:this.enterOuterAlt(localContext,4),this.state=1602,this.importRule();break}}catch(re){if(re instanceof RecognitionException)this.errorHandler.reportError(this,re),this.errorHandler.recover(this,re);else throw re}finally{this.exitRule()}return localContext}specialization(){let localContext=new SpecializationContext(this.context,this.state);this.enterRule(localContext,134,_SysMLv2Parser.RULE_specialization);let _la;try{this.enterOuterAlt(localContext,1),this.state=1609,this.errorHandler.sync(this),_la=this.tokenStream.LA(1),_la===138&&(this.state=1605,this.match(_SysMLv2Parser.SPECIALIZATION),this.state=1607,this.errorHandler.sync(this),_la=this.tokenStream.LA(1),(_la-206&-32)===0&&(1<<_la-206&12289)!==0&&(this.state=1606,this.identification())),this.state=1611,this.match(_SysMLv2Parser.SUBTYPE),this.state=1612,this.specificType(),this.state=1613,_la=this.tokenStream.LA(1),_la===139||_la===185?(this.errorHandler.reportMatch(this),this.consume()):this.errorHandler.recoverInline(this),this.state=1614,this.generalType(),this.state=1615,this.relationshipBody()}catch(re){if(re instanceof RecognitionException)this.errorHandler.reportError(this,re),this.errorHandler.recover(this,re);else throw re}finally{this.exitRule()}return localContext}ownedSpecialization(){let localContext=new OwnedSpecializationContext(this.context,this.state);this.enterRule(localContext,136,_SysMLv2Parser.RULE_ownedSpecialization);try{this.enterOuterAlt(localContext,1),this.state=1617,this.generalType()}catch(re){if(re instanceof RecognitionException)this.errorHandler.reportError(this,re),this.errorHandler.recover(this,re);else throw re}finally{this.exitRule()}return localContext}specificType(){let localContext=new SpecificTypeContext(this.context,this.state);this.enterRule(localContext,138,_SysMLv2Parser.RULE_specificType);let _la;try{for(this.enterOuterAlt(localContext,1),this.state=1619,this.qualifiedName(),this.state=1624,this.errorHandler.sync(this),_la=this.tokenStream.LA(1);_la===202;)this.state=1620,this.match(_SysMLv2Parser.DOT),this.state=1621,this.qualifiedName(),this.state=1626,this.errorHandler.sync(this),_la=this.tokenStream.LA(1)}catch(re){if(re instanceof RecognitionException)this.errorHandler.reportError(this,re),this.errorHandler.recover(this,re);else throw re}finally{this.exitRule()}return localContext}generalType(){let localContext=new GeneralTypeContext(this.context,this.state);this.enterRule(localContext,140,_SysMLv2Parser.RULE_generalType);let _la;try{for(this.enterOuterAlt(localContext,1),this.state=1627,this.qualifiedName(),this.state=1632,this.errorHandler.sync(this),_la=this.tokenStream.LA(1);_la===202;)this.state=1628,this.match(_SysMLv2Parser.DOT),this.state=1629,this.qualifiedName(),this.state=1634,this.errorHandler.sync(this),_la=this.tokenStream.LA(1)}catch(re){if(re instanceof RecognitionException)this.errorHandler.reportError(this,re),this.errorHandler.recover(this,re);else throw re}finally{this.exitRule()}return localContext}conjugation(){let localContext=new ConjugationContext(this.context,this.state);this.enterRule(localContext,142,_SysMLv2Parser.RULE_conjugation);let _la;try{this.enterOuterAlt(localContext,1);{for(this.state=1639,this.errorHandler.sync(this),_la=this.tokenStream.LA(1),_la===35&&(this.state=1635,this.match(_SysMLv2Parser.CONJUGATION),this.state=1637,this.errorHandler.sync(this),_la=this.tokenStream.LA(1),(_la-206&-32)===0&&(1<<_la-206&12289)!==0&&(this.state=1636,this.identification())),this.state=1641,this.match(_SysMLv2Parser.CONJUGATE),this.state=1642,this.qualifiedName(),this.state=1647,this.errorHandler.sync(this),_la=this.tokenStream.LA(1);_la===202;)this.state=1643,this.match(_SysMLv2Parser.DOT),this.state=1644,this.qualifiedName(),this.state=1649,this.errorHandler.sync(this),_la=this.tokenStream.LA(1);for(this.state=1650,_la=this.tokenStream.LA(1),_la===34||_la===217?(this.errorHandler.reportMatch(this),this.consume()):this.errorHandler.recoverInline(this),this.state=1651,this.qualifiedName(),this.state=1656,this.errorHandler.sync(this),_la=this.tokenStream.LA(1);_la===202;)this.state=1652,this.match(_SysMLv2Parser.DOT),this.state=1653,this.qualifiedName(),this.state=1658,this.errorHandler.sync(this),_la=this.tokenStream.LA(1);this.state=1659,this.relationshipBody()}}catch(re){if(re instanceof RecognitionException)this.errorHandler.reportError(this,re),this.errorHandler.recover(this,re);else throw re}finally{this.exitRule()}return localContext}ownedConjugation(){let localContext=new OwnedConjugationContext(this.context,this.state);this.enterRule(localContext,144,_SysMLv2Parser.RULE_ownedConjugation);let _la;try{for(this.enterOuterAlt(localContext,1),this.state=1661,this.qualifiedName(),this.state=1666,this.errorHandler.sync(this),_la=this.tokenStream.LA(1);_la===202;)this.state=1662,this.match(_SysMLv2Parser.DOT),this.state=1663,this.qualifiedName(),this.state=1668,this.errorHandler.sync(this),_la=this.tokenStream.LA(1)}catch(re){if(re instanceof RecognitionException)this.errorHandler.reportError(this,re),this.errorHandler.recover(this,re);else throw re}finally{this.exitRule()}return localContext}disjoining(){let localContext=new DisjoiningContext(this.context,this.state);this.enterRule(localContext,146,_SysMLv2Parser.RULE_disjoining);let _la;try{this.enterOuterAlt(localContext,1);{for(this.state=1673,this.errorHandler.sync(this),_la=this.tokenStream.LA(1),_la===51&&(this.state=1669,this.match(_SysMLv2Parser.DISJOINING),this.state=1671,this.errorHandler.sync(this),_la=this.tokenStream.LA(1),(_la-206&-32)===0&&(1<<_la-206&12289)!==0&&(this.state=1670,this.identification())),this.state=1675,this.match(_SysMLv2Parser.DISJOINT),this.state=1676,this.qualifiedName(),this.state=1681,this.errorHandler.sync(this),_la=this.tokenStream.LA(1);_la===202;)this.state=1677,this.match(_SysMLv2Parser.DOT),this.state=1678,this.qualifiedName(),this.state=1683,this.errorHandler.sync(this),_la=this.tokenStream.LA(1);for(this.state=1684,this.match(_SysMLv2Parser.FROM),this.state=1685,this.qualifiedName(),this.state=1690,this.errorHandler.sync(this),_la=this.tokenStream.LA(1);_la===202;)this.state=1686,this.match(_SysMLv2Parser.DOT),this.state=1687,this.qualifiedName(),this.state=1692,this.errorHandler.sync(this),_la=this.tokenStream.LA(1);this.state=1693,this.relationshipBody()}}catch(re){if(re instanceof RecognitionException)this.errorHandler.reportError(this,re),this.errorHandler.recover(this,re);else throw re}finally{this.exitRule()}return localContext}ownedDisjoining(){let localContext=new OwnedDisjoiningContext(this.context,this.state);this.enterRule(localContext,148,_SysMLv2Parser.RULE_ownedDisjoining);let _la;try{for(this.enterOuterAlt(localContext,1),this.state=1695,this.qualifiedName(),this.state=1700,this.errorHandler.sync(this),_la=this.tokenStream.LA(1);_la===202;)this.state=1696,this.match(_SysMLv2Parser.DOT),this.state=1697,this.qualifiedName(),this.state=1702,this.errorHandler.sync(this),_la=this.tokenStream.LA(1)}catch(re){if(re instanceof RecognitionException)this.errorHandler.reportError(this,re),this.errorHandler.recover(this,re);else throw re}finally{this.exitRule()}return localContext}unioning(){let localContext=new UnioningContext(this.context,this.state);this.enterRule(localContext,150,_SysMLv2Parser.RULE_unioning);let _la;try{for(this.enterOuterAlt(localContext,1),this.state=1703,this.qualifiedName(),this.state=1708,this.errorHandler.sync(this),_la=this.tokenStream.LA(1);_la===202;)this.state=1704,this.match(_SysMLv2Parser.DOT),this.state=1705,this.qualifiedName(),this.state=1710,this.errorHandler.sync(this),_la=this.tokenStream.LA(1)}catch(re){if(re instanceof RecognitionException)this.errorHandler.reportError(this,re),this.errorHandler.recover(this,re);else throw re}finally{this.exitRule()}return localContext}intersecting(){let localContext=new IntersectingContext(this.context,this.state);this.enterRule(localContext,152,_SysMLv2Parser.RULE_intersecting);let _la;try{for(this.enterOuterAlt(localContext,1),this.state=1711,this.qualifiedName(),this.state=1716,this.errorHandler.sync(this),_la=this.tokenStream.LA(1);_la===202;)this.state=1712,this.match(_SysMLv2Parser.DOT),this.state=1713,this.qualifiedName(),this.state=1718,this.errorHandler.sync(this),_la=this.tokenStream.LA(1)}catch(re){if(re instanceof RecognitionException)this.errorHandler.reportError(this,re),this.errorHandler.recover(this,re);else throw re}finally{this.exitRule()}return localContext}differencing(){let localContext=new DifferencingContext(this.context,this.state);this.enterRule(localContext,154,_SysMLv2Parser.RULE_differencing);let _la;try{for(this.enterOuterAlt(localContext,1),this.state=1719,this.qualifiedName(),this.state=1724,this.errorHandler.sync(this),_la=this.tokenStream.LA(1);_la===202;)this.state=1720,this.match(_SysMLv2Parser.DOT),this.state=1721,this.qualifiedName(),this.state=1726,this.errorHandler.sync(this),_la=this.tokenStream.LA(1)}catch(re){if(re instanceof RecognitionException)this.errorHandler.reportError(this,re),this.errorHandler.recover(this,re);else throw re}finally{this.exitRule()}return localContext}featureMember(){let localContext=new FeatureMemberContext(this.context,this.state);this.enterRule(localContext,156,_SysMLv2Parser.RULE_featureMember);try{switch(this.state=1729,this.errorHandler.sync(this),this.interpreter.adaptivePredict(this.tokenStream,96,this.context)){case 1:this.enterOuterAlt(localContext,1),this.state=1727,this.typeFeatureMember();break;case 2:this.enterOuterAlt(localContext,2),this.state=1728,this.ownedFeatureMember();break}}catch(re){if(re instanceof RecognitionException)this.errorHandler.reportError(this,re),this.errorHandler.recover(this,re);else throw re}finally{this.exitRule()}return localContext}typeFeatureMember(){let localContext=new TypeFeatureMemberContext(this.context,this.state);this.enterRule(localContext,158,_SysMLv2Parser.RULE_typeFeatureMember);try{this.enterOuterAlt(localContext,1),this.state=1731,this.memberPrefix(),this.state=1732,this.match(_SysMLv2Parser.MEMBER),this.state=1733,this.featureElement()}catch(re){if(re instanceof RecognitionException)this.errorHandler.reportError(this,re),this.errorHandler.recover(this,re);else throw re}finally{this.exitRule()}return localContext}ownedFeatureMember(){let localContext=new OwnedFeatureMemberContext(this.context,this.state);this.enterRule(localContext,160,_SysMLv2Parser.RULE_ownedFeatureMember);try{this.enterOuterAlt(localContext,1),this.state=1735,this.memberPrefix(),this.state=1736,this.featureElement()}catch(re){if(re instanceof RecognitionException)this.errorHandler.reportError(this,re),this.errorHandler.recover(this,re);else throw re}finally{this.exitRule()}return localContext}classifier(){let localContext=new ClassifierContext(this.context,this.state);this.enterRule(localContext,162,_SysMLv2Parser.RULE_classifier);try{this.enterOuterAlt(localContext,1),this.state=1738,this.typePrefix(),this.state=1739,this.match(_SysMLv2Parser.CLASSIFIER),this.state=1740,this.classifierDeclaration(),this.state=1741,this.typeBody()}catch(re){if(re instanceof RecognitionException)this.errorHandler.reportError(this,re),this.errorHandler.recover(this,re);else throw re}finally{this.exitRule()}return localContext}classifierDeclaration(){let localContext=new ClassifierDeclarationContext(this.context,this.state);this.enterRule(localContext,164,_SysMLv2Parser.RULE_classifierDeclaration);let _la;try{this.enterOuterAlt(localContext,1);{switch(this.state=1744,this.errorHandler.sync(this),_la=this.tokenStream.LA(1),_la===8&&(this.state=1743,this.match(_SysMLv2Parser.ALL)),this.state=1747,this.errorHandler.sync(this),_la=this.tokenStream.LA(1),(_la-206&-32)===0&&(1<<_la-206&12289)!==0&&(this.state=1746,this.identification()),this.state=1750,this.errorHandler.sync(this),_la=this.tokenStream.LA(1),_la===211&&(this.state=1749,this.ownedMultiplicity()),this.state=1754,this.errorHandler.sync(this),this.tokenStream.LA(1)){case _SysMLv2Parser.SPECIALIZES:case _SysMLv2Parser.COLON_GT:this.state=1752,this.superclassingPart();break;case _SysMLv2Parser.CONJUGATES:case _SysMLv2Parser.TILDE:this.state=1753,this.conjugationPart();break;case _SysMLv2Parser.DIFFERENCES:case _SysMLv2Parser.DISJOINT:case _SysMLv2Parser.INTERSECTS:case _SysMLv2Parser.UNIONS:case _SysMLv2Parser.SEMI:case _SysMLv2Parser.LBRACE:break;default:break}for(this.state=1759,this.errorHandler.sync(this),_la=this.tokenStream.LA(1);_la===50||_la===52||_la===86||_la===160;)this.state=1756,this.typeRelationshipPart(),this.state=1761,this.errorHandler.sync(this),_la=this.tokenStream.LA(1)}}catch(re){if(re instanceof RecognitionException)this.errorHandler.reportError(this,re),this.errorHandler.recover(this,re);else throw re}finally{this.exitRule()}return localContext}superclassingPart(){let localContext=new SuperclassingPartContext(this.context,this.state);this.enterRule(localContext,166,_SysMLv2Parser.RULE_superclassingPart);let _la;try{for(this.enterOuterAlt(localContext,1),this.state=1762,_la=this.tokenStream.LA(1),_la===139||_la===185?(this.errorHandler.reportMatch(this),this.consume()):this.errorHandler.recoverInline(this),this.state=1763,this.ownedSubclassification(),this.state=1768,this.errorHandler.sync(this),_la=this.tokenStream.LA(1);_la===200;)this.state=1764,this.match(_SysMLv2Parser.COMMA),this.state=1765,this.ownedSubclassification(),this.state=1770,this.errorHandler.sync(this),_la=this.tokenStream.LA(1)}catch(re){if(re instanceof RecognitionException)this.errorHandler.reportError(this,re),this.errorHandler.recover(this,re);else throw re}finally{this.exitRule()}return localContext}subclassification(){let localContext=new SubclassificationContext(this.context,this.state);this.enterRule(localContext,168,_SysMLv2Parser.RULE_subclassification);let _la;try{this.enterOuterAlt(localContext,1),this.state=1775,this.errorHandler.sync(this),_la=this.tokenStream.LA(1),_la===138&&(this.state=1771,this.match(_SysMLv2Parser.SPECIALIZATION),this.state=1773,this.errorHandler.sync(this),_la=this.tokenStream.LA(1),(_la-206&-32)===0&&(1<<_la-206&12289)!==0&&(this.state=1772,this.identification())),this.state=1777,this.match(_SysMLv2Parser.SUBCLASSIFIER),this.state=1778,this.qualifiedName(),this.state=1779,_la=this.tokenStream.LA(1),_la===139||_la===185?(this.errorHandler.reportMatch(this),this.consume()):this.errorHandler.recoverInline(this),this.state=1780,this.qualifiedName(),this.state=1781,this.relationshipBody()}catch(re){if(re instanceof RecognitionException)this.errorHandler.reportError(this,re),this.errorHandler.recover(this,re);else throw re}finally{this.exitRule()}return localContext}ownedSubclassification(){let localContext=new OwnedSubclassificationContext(this.context,this.state);this.enterRule(localContext,170,_SysMLv2Parser.RULE_ownedSubclassification);try{this.enterOuterAlt(localContext,1),this.state=1783,this.qualifiedName()}catch(re){if(re instanceof RecognitionException)this.errorHandler.reportError(this,re),this.errorHandler.recover(this,re);else throw re}finally{this.exitRule()}return localContext}feature(){let localContext=new FeatureContext(this.context,this.state);this.enterRule(localContext,172,_SysMLv2Parser.RULE_feature);let _la;try{this.enterOuterAlt(localContext,1);{switch(this.state=1799,this.errorHandler.sync(this),this.interpreter.adaptivePredict(this.tokenStream,108,this.context)){case 1:{switch(this.state=1785,this.featurePrefix(),this.state=1788,this.errorHandler.sync(this),this.tokenStream.LA(1)){case _SysMLv2Parser.FEATURE:this.state=1786,this.match(_SysMLv2Parser.FEATURE);break;case _SysMLv2Parser.HASH:this.state=1787,this.prefixMetadataMember();break;default:throw new NoViableAltException(this)}this.state=1791,this.errorHandler.sync(this),_la=this.tokenStream.LA(1),(_la===8||(_la-34&-32)===0&&(1<<_la-34&8449)!==0||(_la-106&-32)===0&&(1<<_la-106&4718721)!==0||(_la-148&-32)===0&&(1<<_la-148&402654209)!==0||(_la-185&-32)===0&&(1<<_la-185&69730313)!==0||(_la-217&-32)===0&&(1<<_la-217&7)!==0)&&(this.state=1790,this.featureDeclaration())}break;case 2:{switch(this.state=1795,this.errorHandler.sync(this),this.interpreter.adaptivePredict(this.tokenStream,107,this.context)){case 1:this.state=1793,this.endFeaturePrefix();break;case 2:this.state=1794,this.basicFeaturePrefix();break}this.state=1797,this.featureDeclaration()}break}this.state=1802,this.errorHandler.sync(this),_la=this.tokenStream.LA(1),(_la===46||_la===184||_la===207)&&(this.state=1801,this.valuePart()),this.state=1804,this.typeBody()}}catch(re){if(re instanceof RecognitionException)this.errorHandler.reportError(this,re),this.errorHandler.recover(this,re);else throw re}finally{this.exitRule()}return localContext}endFeaturePrefix(){let localContext=new EndFeaturePrefixContext(this.context,this.state);this.enterRule(localContext,174,_SysMLv2Parser.RULE_endFeaturePrefix);let _la;try{this.enterOuterAlt(localContext,1),this.state=1807,this.errorHandler.sync(this),_la=this.tokenStream.LA(1),_la===39&&(this.state=1806,this.match(_SysMLv2Parser.CONST)),this.state=1809,this.match(_SysMLv2Parser.END)}catch(re){if(re instanceof RecognitionException)this.errorHandler.reportError(this,re),this.errorHandler.recover(this,re);else throw re}finally{this.exitRule()}return localContext}basicFeaturePrefix(){let localContext=new BasicFeaturePrefixContext(this.context,this.state);this.enterRule(localContext,176,_SysMLv2Parser.RULE_basicFeaturePrefix);let _la;try{this.enterOuterAlt(localContext,1),this.state=1812,this.errorHandler.sync(this),_la=this.tokenStream.LA(1),(_la===80||_la===83||_la===114)&&(this.state=1811,this.featureDirection()),this.state=1815,this.errorHandler.sync(this),_la=this.tokenStream.LA(1),_la===49&&(this.state=1814,this.match(_SysMLv2Parser.DERIVED)),this.state=1818,this.errorHandler.sync(this),_la=this.tokenStream.LA(1),_la===2&&(this.state=1817,this.match(_SysMLv2Parser.ABSTRACT)),this.state=1821,this.errorHandler.sync(this),_la=this.tokenStream.LA(1),(_la===31||_la===120)&&(this.state=1820,_la=this.tokenStream.LA(1),_la===31||_la===120?(this.errorHandler.reportMatch(this),this.consume()):this.errorHandler.recoverInline(this)),this.state=1824,this.errorHandler.sync(this),_la=this.tokenStream.LA(1),(_la===39||_la===163)&&(this.state=1823,_la=this.tokenStream.LA(1),_la===39||_la===163?(this.errorHandler.reportMatch(this),this.consume()):this.errorHandler.recoverInline(this))}catch(re){if(re instanceof RecognitionException)this.errorHandler.reportError(this,re),this.errorHandler.recover(this,re);else throw re}finally{this.exitRule()}return localContext}featurePrefix(){let localContext=new FeaturePrefixContext(this.context,this.state);this.enterRule(localContext,178,_SysMLv2Parser.RULE_featurePrefix);try{let alternative;this.enterOuterAlt(localContext,1);{switch(this.state=1830,this.errorHandler.sync(this),this.interpreter.adaptivePredict(this.tokenStream,116,this.context)){case 1:this.state=1826,this.endFeaturePrefix(),this.state=1827,this.ownedCrossFeatureMember();break;case 2:this.state=1829,this.basicFeaturePrefix();break}for(this.state=1835,this.errorHandler.sync(this),alternative=this.interpreter.adaptivePredict(this.tokenStream,117,this.context);alternative!==2&&alternative!==ATN.INVALID_ALT_NUMBER;)alternative===1&&(this.state=1832,this.prefixMetadataMember()),this.state=1837,this.errorHandler.sync(this),alternative=this.interpreter.adaptivePredict(this.tokenStream,117,this.context)}}catch(re){if(re instanceof RecognitionException)this.errorHandler.reportError(this,re),this.errorHandler.recover(this,re);else throw re}finally{this.exitRule()}return localContext}ownedCrossFeatureMember(){let localContext=new OwnedCrossFeatureMemberContext(this.context,this.state);this.enterRule(localContext,180,_SysMLv2Parser.RULE_ownedCrossFeatureMember);try{this.enterOuterAlt(localContext,1),this.state=1838,this.ownedCrossFeature()}catch(re){if(re instanceof RecognitionException)this.errorHandler.reportError(this,re),this.errorHandler.recover(this,re);else throw re}finally{this.exitRule()}return localContext}ownedCrossFeature(){let localContext=new OwnedCrossFeatureContext(this.context,this.state);this.enterRule(localContext,182,_SysMLv2Parser.RULE_ownedCrossFeature);try{switch(this.state=1847,this.errorHandler.sync(this),this.interpreter.adaptivePredict(this.tokenStream,119,this.context)){case 1:this.enterOuterAlt(localContext,1),this.state=1840,this.basicFeaturePrefix(),this.state=1841,this.featureDeclaration();break;case 2:this.enterOuterAlt(localContext,2),this.state=1843,this.basicUsagePrefix(),this.state=1845,this.errorHandler.sync(this),this.interpreter.adaptivePredict(this.tokenStream,118,this.context)===1&&(this.state=1844,this.usageDeclaration());break}}catch(re){if(re instanceof RecognitionException)this.errorHandler.reportError(this,re),this.errorHandler.recover(this,re);else throw re}finally{this.exitRule()}return localContext}featureDirection(){let localContext=new FeatureDirectionContext(this.context,this.state);this.enterRule(localContext,184,_SysMLv2Parser.RULE_featureDirection);let _la;try{this.enterOuterAlt(localContext,1),this.state=1849,_la=this.tokenStream.LA(1),_la===80||_la===83||_la===114?(this.errorHandler.reportMatch(this),this.consume()):this.errorHandler.recoverInline(this)}catch(re){if(re instanceof RecognitionException)this.errorHandler.reportError(this,re),this.errorHandler.recover(this,re);else throw re}finally{this.exitRule()}return localContext}featureDeclaration(){let localContext=new FeatureDeclarationContext(this.context,this.state);this.enterRule(localContext,186,_SysMLv2Parser.RULE_featureDeclaration);let _la;try{this.enterOuterAlt(localContext,1);{switch(this.state=1852,this.errorHandler.sync(this),_la=this.tokenStream.LA(1),_la===8&&(this.state=1851,this.match(_SysMLv2Parser.ALL)),this.state=1861,this.errorHandler.sync(this),this.tokenStream.LA(1)){case _SysMLv2Parser.LT:case _SysMLv2Parser.IDENTIFIER:case _SysMLv2Parser.STRING:switch(this.state=1854,this.featureIdentification(),this.state=1857,this.errorHandler.sync(this),this.interpreter.adaptivePredict(this.tokenStream,121,this.context)){case 1:this.state=1855,this.featureSpecializationPart();break;case 2:this.state=1856,this.conjugationPart();break}break;case _SysMLv2Parser.CROSSES:case _SysMLv2Parser.DEFINED:case _SysMLv2Parser.NONUNIQUE:case _SysMLv2Parser.ORDERED:case _SysMLv2Parser.REDEFINES:case _SysMLv2Parser.REFERENCES:case _SysMLv2Parser.SUBSETS:case _SysMLv2Parser.TYPED:case _SysMLv2Parser.COLON_COLON_GT:case _SysMLv2Parser.COLON_GT_GT:case _SysMLv2Parser.COLON_GT:case _SysMLv2Parser.FAT_ARROW:case _SysMLv2Parser.COLON:case _SysMLv2Parser.LBRACK:this.state=1859,this.featureSpecializationPart();break;case _SysMLv2Parser.CONJUGATES:case _SysMLv2Parser.TILDE:this.state=1860,this.conjugationPart();break;default:throw new NoViableAltException(this)}for(this.state=1866,this.errorHandler.sync(this),_la=this.tokenStream.LA(1);(_la-27&-32)===0&&(1<<_la-27&41943041)!==0||(_la-66&-32)===0&&(1<<_la-66&5242881)!==0||_la===160;)this.state=1863,this.featureRelationshipPart(),this.state=1868,this.errorHandler.sync(this),_la=this.tokenStream.LA(1)}}catch(re){if(re instanceof RecognitionException)this.errorHandler.reportError(this,re),this.errorHandler.recover(this,re);else throw re}finally{this.exitRule()}return localContext}featureIdentification(){let localContext=new FeatureIdentificationContext(this.context,this.state);this.enterRule(localContext,188,_SysMLv2Parser.RULE_featureIdentification);try{switch(this.state=1876,this.errorHandler.sync(this),this.tokenStream.LA(1)){case _SysMLv2Parser.LT:this.enterOuterAlt(localContext,1),this.state=1869,this.match(_SysMLv2Parser.LT),this.state=1870,this.name(),this.state=1871,this.match(_SysMLv2Parser.GT),this.state=1873,this.errorHandler.sync(this),this.interpreter.adaptivePredict(this.tokenStream,124,this.context)===1&&(this.state=1872,this.name());break;case _SysMLv2Parser.IDENTIFIER:case _SysMLv2Parser.STRING:this.enterOuterAlt(localContext,2),this.state=1875,this.name();break;default:throw new NoViableAltException(this)}}catch(re){if(re instanceof RecognitionException)this.errorHandler.reportError(this,re),this.errorHandler.recover(this,re);else throw re}finally{this.exitRule()}return localContext}featureRelationshipPart(){let localContext=new FeatureRelationshipPartContext(this.context,this.state);this.enterRule(localContext,190,_SysMLv2Parser.RULE_featureRelationshipPart);try{switch(this.state=1882,this.errorHandler.sync(this),this.tokenStream.LA(1)){case _SysMLv2Parser.DIFFERENCES:case _SysMLv2Parser.DISJOINT:case _SysMLv2Parser.INTERSECTS:case _SysMLv2Parser.UNIONS:this.enterOuterAlt(localContext,1),this.state=1878,this.typeRelationshipPart();break;case _SysMLv2Parser.CHAINS:this.enterOuterAlt(localContext,2),this.state=1879,this.chainingPart();break;case _SysMLv2Parser.INVERSE:this.enterOuterAlt(localContext,3),this.state=1880,this.invertingPart();break;case _SysMLv2Parser.FEATURED:this.enterOuterAlt(localContext,4),this.state=1881,this.typeFeaturingPart();break;default:throw new NoViableAltException(this)}}catch(re){if(re instanceof RecognitionException)this.errorHandler.reportError(this,re),this.errorHandler.recover(this,re);else throw re}finally{this.exitRule()}return localContext}chainingPart(){let localContext=new ChainingPartContext(this.context,this.state);this.enterRule(localContext,192,_SysMLv2Parser.RULE_chainingPart);let _la;try{for(this.enterOuterAlt(localContext,1),this.state=1884,this.match(_SysMLv2Parser.CHAINS),this.state=1885,this.qualifiedName(),this.state=1890,this.errorHandler.sync(this),_la=this.tokenStream.LA(1);_la===202;)this.state=1886,this.match(_SysMLv2Parser.DOT),this.state=1887,this.qualifiedName(),this.state=1892,this.errorHandler.sync(this),_la=this.tokenStream.LA(1)}catch(re){if(re instanceof RecognitionException)this.errorHandler.reportError(this,re),this.errorHandler.recover(this,re);else throw re}finally{this.exitRule()}return localContext}invertingPart(){let localContext=new InvertingPartContext(this.context,this.state);this.enterRule(localContext,194,_SysMLv2Parser.RULE_invertingPart);try{this.enterOuterAlt(localContext,1),this.state=1893,this.match(_SysMLv2Parser.INVERSE),this.state=1894,this.match(_SysMLv2Parser.OF),this.state=1895,this.ownedFeatureInverting()}catch(re){if(re instanceof RecognitionException)this.errorHandler.reportError(this,re),this.errorHandler.recover(this,re);else throw re}finally{this.exitRule()}return localContext}typeFeaturingPart(){let localContext=new TypeFeaturingPartContext(this.context,this.state);this.enterRule(localContext,196,_SysMLv2Parser.RULE_typeFeaturingPart);let _la;try{for(this.enterOuterAlt(localContext,1),this.state=1897,this.match(_SysMLv2Parser.FEATURED),this.state=1898,this.match(_SysMLv2Parser.BY),this.state=1899,this.ownedTypeFeaturing(),this.state=1904,this.errorHandler.sync(this),_la=this.tokenStream.LA(1);_la===200;)this.state=1900,this.match(_SysMLv2Parser.COMMA),this.state=1901,this.ownedTypeFeaturing(),this.state=1906,this.errorHandler.sync(this),_la=this.tokenStream.LA(1)}catch(re){if(re instanceof RecognitionException)this.errorHandler.reportError(this,re),this.errorHandler.recover(this,re);else throw re}finally{this.exitRule()}return localContext}featureSpecializationPart(){let localContext=new FeatureSpecializationPartContext(this.context,this.state);this.enterRule(localContext,198,_SysMLv2Parser.RULE_featureSpecializationPart);try{let alternative;switch(this.state=1928,this.errorHandler.sync(this),this.tokenStream.LA(1)){case _SysMLv2Parser.CROSSES:case _SysMLv2Parser.DEFINED:case _SysMLv2Parser.REDEFINES:case _SysMLv2Parser.REFERENCES:case _SysMLv2Parser.SUBSETS:case _SysMLv2Parser.TYPED:case _SysMLv2Parser.COLON_COLON_GT:case _SysMLv2Parser.COLON_GT_GT:case _SysMLv2Parser.COLON_GT:case _SysMLv2Parser.FAT_ARROW:case _SysMLv2Parser.COLON:this.enterOuterAlt(localContext,1);{this.state=1908,this.errorHandler.sync(this),alternative=1;do{if(alternative===1)this.state=1907,this.featureSpecialization();else throw new NoViableAltException(this);this.state=1910,this.errorHandler.sync(this),alternative=this.interpreter.adaptivePredict(this.tokenStream,129,this.context)}while(alternative!==2&&alternative!==ATN.INVALID_ALT_NUMBER);for(this.state=1913,this.errorHandler.sync(this),this.interpreter.adaptivePredict(this.tokenStream,130,this.context)===1&&(this.state=1912,this.multiplicityPart()),this.state=1918,this.errorHandler.sync(this),alternative=this.interpreter.adaptivePredict(this.tokenStream,131,this.context);alternative!==2&&alternative!==ATN.INVALID_ALT_NUMBER;)alternative===1&&(this.state=1915,this.featureSpecialization()),this.state=1920,this.errorHandler.sync(this),alternative=this.interpreter.adaptivePredict(this.tokenStream,131,this.context)}break;case _SysMLv2Parser.NONUNIQUE:case _SysMLv2Parser.ORDERED:case _SysMLv2Parser.LBRACK:for(this.enterOuterAlt(localContext,2),this.state=1921,this.multiplicityPart(),this.state=1925,this.errorHandler.sync(this),alternative=this.interpreter.adaptivePredict(this.tokenStream,132,this.context);alternative!==2&&alternative!==ATN.INVALID_ALT_NUMBER;)alternative===1&&(this.state=1922,this.featureSpecialization()),this.state=1927,this.errorHandler.sync(this),alternative=this.interpreter.adaptivePredict(this.tokenStream,132,this.context);break;default:throw new NoViableAltException(this)}}catch(re){if(re instanceof RecognitionException)this.errorHandler.reportError(this,re),this.errorHandler.recover(this,re);else throw re}finally{this.exitRule()}return localContext}multiplicityPart(){let localContext=new MultiplicityPartContext(this.context,this.state);this.enterRule(localContext,200,_SysMLv2Parser.RULE_multiplicityPart);try{switch(this.state=1951,this.errorHandler.sync(this),this.tokenStream.LA(1)){case _SysMLv2Parser.LBRACK:switch(this.enterOuterAlt(localContext,1),this.state=1930,this.ownedMultiplicity(),this.state=1939,this.errorHandler.sync(this),this.interpreter.adaptivePredict(this.tokenStream,136,this.context)){case 1:this.state=1931,this.match(_SysMLv2Parser.ORDERED),this.state=1933,this.errorHandler.sync(this),this.interpreter.adaptivePredict(this.tokenStream,134,this.context)===1&&(this.state=1932,this.match(_SysMLv2Parser.NONUNIQUE));break;case 2:this.state=1935,this.match(_SysMLv2Parser.NONUNIQUE),this.state=1937,this.errorHandler.sync(this),this.interpreter.adaptivePredict(this.tokenStream,135,this.context)===1&&(this.state=1936,this.match(_SysMLv2Parser.ORDERED));break}break;case _SysMLv2Parser.NONUNIQUE:case _SysMLv2Parser.ORDERED:switch(this.enterOuterAlt(localContext,2),this.state=1949,this.errorHandler.sync(this),this.tokenStream.LA(1)){case _SysMLv2Parser.ORDERED:this.state=1941,this.match(_SysMLv2Parser.ORDERED),this.state=1943,this.errorHandler.sync(this),this.interpreter.adaptivePredict(this.tokenStream,137,this.context)===1&&(this.state=1942,this.match(_SysMLv2Parser.NONUNIQUE));break;case _SysMLv2Parser.NONUNIQUE:this.state=1945,this.match(_SysMLv2Parser.NONUNIQUE),this.state=1947,this.errorHandler.sync(this),this.interpreter.adaptivePredict(this.tokenStream,138,this.context)===1&&(this.state=1946,this.match(_SysMLv2Parser.ORDERED));break;default:throw new NoViableAltException(this)}break;default:throw new NoViableAltException(this)}}catch(re){if(re instanceof RecognitionException)this.errorHandler.reportError(this,re),this.errorHandler.recover(this,re);else throw re}finally{this.exitRule()}return localContext}featureSpecialization(){let localContext=new FeatureSpecializationContext(this.context,this.state);this.enterRule(localContext,202,_SysMLv2Parser.RULE_featureSpecialization);try{switch(this.state=1958,this.errorHandler.sync(this),this.tokenStream.LA(1)){case _SysMLv2Parser.DEFINED:case _SysMLv2Parser.TYPED:case _SysMLv2Parser.COLON:this.enterOuterAlt(localContext,1),this.state=1953,this.typings();break;case _SysMLv2Parser.SUBSETS:case _SysMLv2Parser.COLON_GT:this.enterOuterAlt(localContext,2),this.state=1954,this.subsettings();break;case _SysMLv2Parser.REFERENCES:case _SysMLv2Parser.COLON_COLON_GT:this.enterOuterAlt(localContext,3),this.state=1955,this.references();break;case _SysMLv2Parser.CROSSES:case _SysMLv2Parser.FAT_ARROW:this.enterOuterAlt(localContext,4),this.state=1956,this.crosses();break;case _SysMLv2Parser.REDEFINES:case _SysMLv2Parser.COLON_GT_GT:this.enterOuterAlt(localContext,5),this.state=1957,this.redefinitions();break;default:throw new NoViableAltException(this)}}catch(re){if(re instanceof RecognitionException)this.errorHandler.reportError(this,re),this.errorHandler.recover(this,re);else throw re}finally{this.exitRule()}return localContext}typings(){let localContext=new TypingsContext(this.context,this.state);this.enterRule(localContext,204,_SysMLv2Parser.RULE_typings);let _la;try{for(this.enterOuterAlt(localContext,1),this.state=1960,this.typedBy(),this.state=1965,this.errorHandler.sync(this),_la=this.tokenStream.LA(1);_la===200;)this.state=1961,this.match(_SysMLv2Parser.COMMA),this.state=1962,this.featureTyping(),this.state=1967,this.errorHandler.sync(this),_la=this.tokenStream.LA(1)}catch(re){if(re instanceof RecognitionException)this.errorHandler.reportError(this,re),this.errorHandler.recover(this,re);else throw re}finally{this.exitRule()}return localContext}typedBy(){let localContext=new TypedByContext(this.context,this.state);this.enterRule(localContext,206,_SysMLv2Parser.RULE_typedBy);try{this.enterOuterAlt(localContext,1);{switch(this.state=1973,this.errorHandler.sync(this),this.tokenStream.LA(1)){case _SysMLv2Parser.COLON:this.state=1968,this.match(_SysMLv2Parser.COLON);break;case _SysMLv2Parser.TYPED:this.state=1969,this.match(_SysMLv2Parser.TYPED),this.state=1970,this.match(_SysMLv2Parser.BY);break;case _SysMLv2Parser.DEFINED:this.state=1971,this.match(_SysMLv2Parser.DEFINED),this.state=1972,this.match(_SysMLv2Parser.BY);break;default:throw new NoViableAltException(this)}this.state=1975,this.featureTyping()}}catch(re){if(re instanceof RecognitionException)this.errorHandler.reportError(this,re),this.errorHandler.recover(this,re);else throw re}finally{this.exitRule()}return localContext}subsettings(){let localContext=new SubsettingsContext(this.context,this.state);this.enterRule(localContext,208,_SysMLv2Parser.RULE_subsettings);let _la;try{for(this.enterOuterAlt(localContext,1),this.state=1977,this.subsets(),this.state=1982,this.errorHandler.sync(this),_la=this.tokenStream.LA(1);_la===200;)this.state=1978,this.match(_SysMLv2Parser.COMMA),this.state=1979,this.ownedSubsetting(),this.state=1984,this.errorHandler.sync(this),_la=this.tokenStream.LA(1)}catch(re){if(re instanceof RecognitionException)this.errorHandler.reportError(this,re),this.errorHandler.recover(this,re);else throw re}finally{this.exitRule()}return localContext}subsets(){let localContext=new SubsetsContext(this.context,this.state);this.enterRule(localContext,210,_SysMLv2Parser.RULE_subsets);let _la;try{this.enterOuterAlt(localContext,1),this.state=1985,_la=this.tokenStream.LA(1),_la===148||_la===185?(this.errorHandler.reportMatch(this),this.consume()):this.errorHandler.recoverInline(this),this.state=1986,this.ownedSubsetting()}catch(re){if(re instanceof RecognitionException)this.errorHandler.reportError(this,re),this.errorHandler.recover(this,re);else throw re}finally{this.exitRule()}return localContext}references(){let localContext=new ReferencesContext(this.context,this.state);this.enterRule(localContext,212,_SysMLv2Parser.RULE_references);let _la;try{this.enterOuterAlt(localContext,1),this.state=1988,_la=this.tokenStream.LA(1),_la===128||_la===175?(this.errorHandler.reportMatch(this),this.consume()):this.errorHandler.recoverInline(this),this.state=1989,this.ownedReferenceSubsetting()}catch(re){if(re instanceof RecognitionException)this.errorHandler.reportError(this,re),this.errorHandler.recover(this,re);else throw re}finally{this.exitRule()}return localContext}crosses(){let localContext=new CrossesContext(this.context,this.state);this.enterRule(localContext,214,_SysMLv2Parser.RULE_crosses);let _la;try{this.enterOuterAlt(localContext,1),this.state=1991,_la=this.tokenStream.LA(1),_la===42||_la===188?(this.errorHandler.reportMatch(this),this.consume()):this.errorHandler.recoverInline(this),this.state=1992,this.ownedCrossSubsetting()}catch(re){if(re instanceof RecognitionException)this.errorHandler.reportError(this,re),this.errorHandler.recover(this,re);else throw re}finally{this.exitRule()}return localContext}redefinitions(){let localContext=new RedefinitionsContext(this.context,this.state);this.enterRule(localContext,216,_SysMLv2Parser.RULE_redefinitions);let _la;try{for(this.enterOuterAlt(localContext,1),this.state=1994,this.redefines(),this.state=1999,this.errorHandler.sync(this),_la=this.tokenStream.LA(1);_la===200;)this.state=1995,this.match(_SysMLv2Parser.COMMA),this.state=1996,this.ownedRedefinition(),this.state=2001,this.errorHandler.sync(this),_la=this.tokenStream.LA(1)}catch(re){if(re instanceof RecognitionException)this.errorHandler.reportError(this,re),this.errorHandler.recover(this,re);else throw re}finally{this.exitRule()}return localContext}redefines(){let localContext=new RedefinesContext(this.context,this.state);this.enterRule(localContext,218,_SysMLv2Parser.RULE_redefines);let _la;try{this.enterOuterAlt(localContext,1),this.state=2002,_la=this.tokenStream.LA(1),_la===125||_la===176?(this.errorHandler.reportMatch(this),this.consume()):this.errorHandler.recoverInline(this),this.state=2003,this.ownedRedefinition()}catch(re){if(re instanceof RecognitionException)this.errorHandler.reportError(this,re),this.errorHandler.recover(this,re);else throw re}finally{this.exitRule()}return localContext}featureTyping(){let localContext=new FeatureTypingContext(this.context,this.state);this.enterRule(localContext,220,_SysMLv2Parser.RULE_featureTyping);let _la;try{switch(this.state=2023,this.errorHandler.sync(this),this.tokenStream.LA(1)){case _SysMLv2Parser.SPECIALIZATION:case _SysMLv2Parser.TYPING:this.enterOuterAlt(localContext,1);{switch(this.state=2009,this.errorHandler.sync(this),_la=this.tokenStream.LA(1),_la===138&&(this.state=2005,this.match(_SysMLv2Parser.SPECIALIZATION),this.state=2007,this.errorHandler.sync(this),_la=this.tokenStream.LA(1),(_la-206&-32)===0&&(1<<_la-206&12289)!==0&&(this.state=2006,this.identification())),this.state=2011,this.match(_SysMLv2Parser.TYPING),this.state=2012,this.qualifiedName(),this.state=2016,this.errorHandler.sync(this),this.tokenStream.LA(1)){case _SysMLv2Parser.COLON:this.state=2013,this.match(_SysMLv2Parser.COLON);break;case _SysMLv2Parser.TYPED:this.state=2014,this.match(_SysMLv2Parser.TYPED),this.state=2015,this.match(_SysMLv2Parser.BY);break;default:throw new NoViableAltException(this)}this.state=2018,this.generalType(),this.state=2019,this.relationshipBody()}break;case _SysMLv2Parser.DOLLAR:case _SysMLv2Parser.IDENTIFIER:case _SysMLv2Parser.STRING:this.enterOuterAlt(localContext,2),this.state=2021,this.ownedFeatureTyping();break;case _SysMLv2Parser.TILDE:this.enterOuterAlt(localContext,3),this.state=2022,this.conjugatedPortTyping();break;default:throw new NoViableAltException(this)}}catch(re){if(re instanceof RecognitionException)this.errorHandler.reportError(this,re),this.errorHandler.recover(this,re);else throw re}finally{this.exitRule()}return localContext}ownedFeatureTyping(){let localContext=new OwnedFeatureTypingContext(this.context,this.state);this.enterRule(localContext,222,_SysMLv2Parser.RULE_ownedFeatureTyping);let _la;try{for(this.enterOuterAlt(localContext,1),this.state=2025,this.qualifiedName(),this.state=2030,this.errorHandler.sync(this),_la=this.tokenStream.LA(1);_la===202;)this.state=2026,this.match(_SysMLv2Parser.DOT),this.state=2027,this.qualifiedName(),this.state=2032,this.errorHandler.sync(this),_la=this.tokenStream.LA(1)}catch(re){if(re instanceof RecognitionException)this.errorHandler.reportError(this,re),this.errorHandler.recover(this,re);else throw re}finally{this.exitRule()}return localContext}subsetting(){let localContext=new SubsettingContext(this.context,this.state);this.enterRule(localContext,224,_SysMLv2Parser.RULE_subsetting);let _la;try{this.enterOuterAlt(localContext,1),this.state=2037,this.errorHandler.sync(this),_la=this.tokenStream.LA(1),_la===138&&(this.state=2033,this.match(_SysMLv2Parser.SPECIALIZATION),this.state=2035,this.errorHandler.sync(this),_la=this.tokenStream.LA(1),(_la-206&-32)===0&&(1<<_la-206&12289)!==0&&(this.state=2034,this.identification())),this.state=2039,this.match(_SysMLv2Parser.SUBSET),this.state=2040,this.specificType(),this.state=2041,_la=this.tokenStream.LA(1),_la===148||_la===185?(this.errorHandler.reportMatch(this),this.consume()):this.errorHandler.recoverInline(this),this.state=2042,this.generalType(),this.state=2043,this.relationshipBody()}catch(re){if(re instanceof RecognitionException)this.errorHandler.reportError(this,re),this.errorHandler.recover(this,re);else throw re}finally{this.exitRule()}return localContext}ownedSubsetting(){let localContext=new OwnedSubsettingContext(this.context,this.state);this.enterRule(localContext,226,_SysMLv2Parser.RULE_ownedSubsetting);let _la;try{for(this.enterOuterAlt(localContext,1),this.state=2045,this.qualifiedName(),this.state=2050,this.errorHandler.sync(this),_la=this.tokenStream.LA(1);_la===202;)this.state=2046,this.match(_SysMLv2Parser.DOT),this.state=2047,this.qualifiedName(),this.state=2052,this.errorHandler.sync(this),_la=this.tokenStream.LA(1)}catch(re){if(re instanceof RecognitionException)this.errorHandler.reportError(this,re),this.errorHandler.recover(this,re);else throw re}finally{this.exitRule()}return localContext}ownedReferenceSubsetting(){let localContext=new OwnedReferenceSubsettingContext(this.context,this.state);this.enterRule(localContext,228,_SysMLv2Parser.RULE_ownedReferenceSubsetting);let _la;try{for(this.enterOuterAlt(localContext,1),this.state=2053,this.qualifiedName(),this.state=2058,this.errorHandler.sync(this),_la=this.tokenStream.LA(1);_la===202;)this.state=2054,this.match(_SysMLv2Parser.DOT),this.state=2055,this.qualifiedName(),this.state=2060,this.errorHandler.sync(this),_la=this.tokenStream.LA(1)}catch(re){if(re instanceof RecognitionException)this.errorHandler.reportError(this,re),this.errorHandler.recover(this,re);else throw re}finally{this.exitRule()}return localContext}ownedCrossSubsetting(){let localContext=new OwnedCrossSubsettingContext(this.context,this.state);this.enterRule(localContext,230,_SysMLv2Parser.RULE_ownedCrossSubsetting);let _la;try{for(this.enterOuterAlt(localContext,1),this.state=2061,this.qualifiedName(),this.state=2066,this.errorHandler.sync(this),_la=this.tokenStream.LA(1);_la===202;)this.state=2062,this.match(_SysMLv2Parser.DOT),this.state=2063,this.qualifiedName(),this.state=2068,this.errorHandler.sync(this),_la=this.tokenStream.LA(1)}catch(re){if(re instanceof RecognitionException)this.errorHandler.reportError(this,re),this.errorHandler.recover(this,re);else throw re}finally{this.exitRule()}return localContext}redefinition(){let localContext=new RedefinitionContext(this.context,this.state);this.enterRule(localContext,232,_SysMLv2Parser.RULE_redefinition);let _la;try{this.enterOuterAlt(localContext,1),this.state=2073,this.errorHandler.sync(this),_la=this.tokenStream.LA(1),_la===138&&(this.state=2069,this.match(_SysMLv2Parser.SPECIALIZATION),this.state=2071,this.errorHandler.sync(this),_la=this.tokenStream.LA(1),(_la-206&-32)===0&&(1<<_la-206&12289)!==0&&(this.state=2070,this.identification())),this.state=2075,this.match(_SysMLv2Parser.REDEFINITION),this.state=2076,this.specificType(),this.state=2077,_la=this.tokenStream.LA(1),_la===125||_la===176?(this.errorHandler.reportMatch(this),this.consume()):this.errorHandler.recoverInline(this),this.state=2078,this.generalType(),this.state=2079,this.relationshipBody()}catch(re){if(re instanceof RecognitionException)this.errorHandler.reportError(this,re),this.errorHandler.recover(this,re);else throw re}finally{this.exitRule()}return localContext}ownedRedefinition(){let localContext=new OwnedRedefinitionContext(this.context,this.state);this.enterRule(localContext,234,_SysMLv2Parser.RULE_ownedRedefinition);let _la;try{for(this.enterOuterAlt(localContext,1),this.state=2081,this.qualifiedName(),this.state=2086,this.errorHandler.sync(this),_la=this.tokenStream.LA(1);_la===202;)this.state=2082,this.match(_SysMLv2Parser.DOT),this.state=2083,this.qualifiedName(),this.state=2088,this.errorHandler.sync(this),_la=this.tokenStream.LA(1)}catch(re){if(re instanceof RecognitionException)this.errorHandler.reportError(this,re),this.errorHandler.recover(this,re);else throw re}finally{this.exitRule()}return localContext}ownedFeatureChain(){let localContext=new OwnedFeatureChainContext(this.context,this.state);this.enterRule(localContext,236,_SysMLv2Parser.RULE_ownedFeatureChain);let _la;try{switch(this.state=2097,this.errorHandler.sync(this),this.interpreter.adaptivePredict(this.tokenStream,160,this.context)){case 1:this.enterOuterAlt(localContext,1),this.state=2089,this.featureChain();break;case 2:this.enterOuterAlt(localContext,2);{this.state=2090,this.ownedFeatureChaining(),this.state=2093,this.errorHandler.sync(this),_la=this.tokenStream.LA(1);do this.state=2091,this.match(_SysMLv2Parser.DOT),this.state=2092,this.ownedFeatureChaining(),this.state=2095,this.errorHandler.sync(this),_la=this.tokenStream.LA(1);while(_la===202)}break}}catch(re){if(re instanceof RecognitionException)this.errorHandler.reportError(this,re),this.errorHandler.recover(this,re);else throw re}finally{this.exitRule()}return localContext}featureChain(){let localContext=new FeatureChainContext(this.context,this.state);this.enterRule(localContext,238,_SysMLv2Parser.RULE_featureChain);let _la;try{this.enterOuterAlt(localContext,1);{this.state=2099,this.ownedFeatureChaining(),this.state=2102,this.errorHandler.sync(this),_la=this.tokenStream.LA(1);do this.state=2100,this.match(_SysMLv2Parser.DOT),this.state=2101,this.ownedFeatureChaining(),this.state=2104,this.errorHandler.sync(this),_la=this.tokenStream.LA(1);while(_la===202)}}catch(re){if(re instanceof RecognitionException)this.errorHandler.reportError(this,re),this.errorHandler.recover(this,re);else throw re}finally{this.exitRule()}return localContext}ownedFeatureChaining(){let localContext=new OwnedFeatureChainingContext(this.context,this.state);this.enterRule(localContext,240,_SysMLv2Parser.RULE_ownedFeatureChaining);try{this.enterOuterAlt(localContext,1),this.state=2106,this.qualifiedName()}catch(re){if(re instanceof RecognitionException)this.errorHandler.reportError(this,re),this.errorHandler.recover(this,re);else throw re}finally{this.exitRule()}return localContext}featureInverting(){let localContext=new FeatureInvertingContext(this.context,this.state);this.enterRule(localContext,242,_SysMLv2Parser.RULE_featureInverting);let _la;try{this.enterOuterAlt(localContext,1);{for(this.state=2112,this.errorHandler.sync(this),_la=this.tokenStream.LA(1),_la===89&&(this.state=2108,this.match(_SysMLv2Parser.INVERTING),this.state=2110,this.errorHandler.sync(this),_la=this.tokenStream.LA(1),(_la-206&-32)===0&&(1<<_la-206&12289)!==0&&(this.state=2109,this.identification())),this.state=2114,this.match(_SysMLv2Parser.INVERSE),this.state=2115,this.qualifiedName(),this.state=2120,this.errorHandler.sync(this),_la=this.tokenStream.LA(1);_la===202;)this.state=2116,this.match(_SysMLv2Parser.DOT),this.state=2117,this.qualifiedName(),this.state=2122,this.errorHandler.sync(this),_la=this.tokenStream.LA(1);for(this.state=2123,this.match(_SysMLv2Parser.OF),this.state=2124,this.qualifiedName(),this.state=2129,this.errorHandler.sync(this),_la=this.tokenStream.LA(1);_la===202;)this.state=2125,this.match(_SysMLv2Parser.DOT),this.state=2126,this.qualifiedName(),this.state=2131,this.errorHandler.sync(this),_la=this.tokenStream.LA(1);this.state=2132,this.relationshipBody()}}catch(re){if(re instanceof RecognitionException)this.errorHandler.reportError(this,re),this.errorHandler.recover(this,re);else throw re}finally{this.exitRule()}return localContext}ownedFeatureInverting(){let localContext=new OwnedFeatureInvertingContext(this.context,this.state);this.enterRule(localContext,244,_SysMLv2Parser.RULE_ownedFeatureInverting);let _la;try{for(this.enterOuterAlt(localContext,1),this.state=2134,this.qualifiedName(),this.state=2139,this.errorHandler.sync(this),_la=this.tokenStream.LA(1);_la===202;)this.state=2135,this.match(_SysMLv2Parser.DOT),this.state=2136,this.qualifiedName(),this.state=2141,this.errorHandler.sync(this),_la=this.tokenStream.LA(1)}catch(re){if(re instanceof RecognitionException)this.errorHandler.reportError(this,re),this.errorHandler.recover(this,re);else throw re}finally{this.exitRule()}return localContext}typeFeaturing(){let localContext=new TypeFeaturingContext(this.context,this.state);this.enterRule(localContext,246,_SysMLv2Parser.RULE_typeFeaturing);let _la;try{this.enterOuterAlt(localContext,1),this.state=2142,this.match(_SysMLv2Parser.FEATURING),this.state=2147,this.errorHandler.sync(this),this.interpreter.adaptivePredict(this.tokenStream,168,this.context)===1&&(this.state=2144,this.errorHandler.sync(this),_la=this.tokenStream.LA(1),(_la-206&-32)===0&&(1<<_la-206&12289)!==0&&(this.state=2143,this.identification()),this.state=2146,this.match(_SysMLv2Parser.OF)),this.state=2149,this.qualifiedName(),this.state=2150,this.match(_SysMLv2Parser.BY),this.state=2151,this.qualifiedName(),this.state=2152,this.relationshipBody()}catch(re){if(re instanceof RecognitionException)this.errorHandler.reportError(this,re),this.errorHandler.recover(this,re);else throw re}finally{this.exitRule()}return localContext}ownedTypeFeaturing(){let localContext=new OwnedTypeFeaturingContext(this.context,this.state);this.enterRule(localContext,248,_SysMLv2Parser.RULE_ownedTypeFeaturing);try{this.enterOuterAlt(localContext,1),this.state=2154,this.qualifiedName()}catch(re){if(re instanceof RecognitionException)this.errorHandler.reportError(this,re),this.errorHandler.recover(this,re);else throw re}finally{this.exitRule()}return localContext}dataType(){let localContext=new DataTypeContext(this.context,this.state);this.enterRule(localContext,250,_SysMLv2Parser.RULE_dataType);try{this.enterOuterAlt(localContext,1),this.state=2156,this.typePrefix(),this.state=2157,this.match(_SysMLv2Parser.DATATYPE),this.state=2158,this.classifierDeclaration(),this.state=2159,this.typeBody()}catch(re){if(re instanceof RecognitionException)this.errorHandler.reportError(this,re),this.errorHandler.recover(this,re);else throw re}finally{this.exitRule()}return localContext}class_(){let localContext=new ClassContext(this.context,this.state);this.enterRule(localContext,252,_SysMLv2Parser.RULE_class);try{this.enterOuterAlt(localContext,1),this.state=2161,this.typePrefix(),this.state=2162,this.match(_SysMLv2Parser.CLASS),this.state=2163,this.classifierDeclaration(),this.state=2164,this.typeBody()}catch(re){if(re instanceof RecognitionException)this.errorHandler.reportError(this,re),this.errorHandler.recover(this,re);else throw re}finally{this.exitRule()}return localContext}structure(){let localContext=new StructureContext(this.context,this.state);this.enterRule(localContext,254,_SysMLv2Parser.RULE_structure);try{this.enterOuterAlt(localContext,1),this.state=2166,this.typePrefix(),this.state=2167,this.match(_SysMLv2Parser.STRUCT),this.state=2168,this.classifierDeclaration(),this.state=2169,this.typeBody()}catch(re){if(re instanceof RecognitionException)this.errorHandler.reportError(this,re),this.errorHandler.recover(this,re);else throw re}finally{this.exitRule()}return localContext}association(){let localContext=new AssociationContext(this.context,this.state);this.enterRule(localContext,256,_SysMLv2Parser.RULE_association);try{this.enterOuterAlt(localContext,1),this.state=2171,this.typePrefix(),this.state=2172,this.match(_SysMLv2Parser.ASSOC),this.state=2173,this.classifierDeclaration(),this.state=2174,this.typeBody()}catch(re){if(re instanceof RecognitionException)this.errorHandler.reportError(this,re),this.errorHandler.recover(this,re);else throw re}finally{this.exitRule()}return localContext}associationStructure(){let localContext=new AssociationStructureContext(this.context,this.state);this.enterRule(localContext,258,_SysMLv2Parser.RULE_associationStructure);try{this.enterOuterAlt(localContext,1),this.state=2176,this.typePrefix(),this.state=2177,this.match(_SysMLv2Parser.ASSOC),this.state=2178,this.match(_SysMLv2Parser.STRUCT),this.state=2179,this.classifierDeclaration(),this.state=2180,this.typeBody()}catch(re){if(re instanceof RecognitionException)this.errorHandler.reportError(this,re),this.errorHandler.recover(this,re);else throw re}finally{this.exitRule()}return localContext}connector(){let localContext=new ConnectorContext(this.context,this.state);this.enterRule(localContext,260,_SysMLv2Parser.RULE_connector);let _la;try{this.enterOuterAlt(localContext,1);{switch(this.state=2182,this.featurePrefix(),this.state=2183,this.match(_SysMLv2Parser.CONNECTOR),this.state=2191,this.errorHandler.sync(this),this.interpreter.adaptivePredict(this.tokenStream,171,this.context)){case 1:this.state=2185,this.errorHandler.sync(this),_la=this.tokenStream.LA(1),(_la===8||(_la-34&-32)===0&&(1<<_la-34&8449)!==0||(_la-106&-32)===0&&(1<<_la-106&4718721)!==0||(_la-148&-32)===0&&(1<<_la-148&402654209)!==0||(_la-185&-32)===0&&(1<<_la-185&69730313)!==0||(_la-217&-32)===0&&(1<<_la-217&7)!==0)&&(this.state=2184,this.featureDeclaration()),this.state=2188,this.errorHandler.sync(this),_la=this.tokenStream.LA(1),(_la===46||_la===184||_la===207)&&(this.state=2187,this.valuePart());break;case 2:this.state=2190,this.connectorDeclaration();break}this.state=2193,this.typeBody()}}catch(re){if(re instanceof RecognitionException)this.errorHandler.reportError(this,re),this.errorHandler.recover(this,re);else throw re}finally{this.exitRule()}return localContext}connectorDeclaration(){let localContext=new ConnectorDeclarationContext(this.context,this.state);this.enterRule(localContext,262,_SysMLv2Parser.RULE_connectorDeclaration);try{switch(this.state=2197,this.errorHandler.sync(this),this.interpreter.adaptivePredict(this.tokenStream,172,this.context)){case 1:this.enterOuterAlt(localContext,1),this.state=2195,this.binaryConnectorDeclaration();break;case 2:this.enterOuterAlt(localContext,2),this.state=2196,this.naryConnectorDeclaration();break}}catch(re){if(re instanceof RecognitionException)this.errorHandler.reportError(this,re),this.errorHandler.recover(this,re);else throw re}finally{this.exitRule()}return localContext}binaryConnectorDeclaration(){let localContext=new BinaryConnectorDeclarationContext(this.context,this.state);this.enterRule(localContext,264,_SysMLv2Parser.RULE_binaryConnectorDeclaration);let _la;try{this.enterOuterAlt(localContext,1);{switch(this.state=2207,this.errorHandler.sync(this),this.interpreter.adaptivePredict(this.tokenStream,175,this.context)){case 1:this.state=2200,this.errorHandler.sync(this),_la=this.tokenStream.LA(1),(_la===8||(_la-34&-32)===0&&(1<<_la-34&8449)!==0||(_la-106&-32)===0&&(1<<_la-106&4718721)!==0||(_la-148&-32)===0&&(1<<_la-148&402654209)!==0||(_la-185&-32)===0&&(1<<_la-185&69730313)!==0||(_la-217&-32)===0&&(1<<_la-217&7)!==0)&&(this.state=2199,this.featureDeclaration()),this.state=2202,this.match(_SysMLv2Parser.FROM);break;case 2:this.state=2203,this.match(_SysMLv2Parser.ALL),this.state=2205,this.errorHandler.sync(this),_la=this.tokenStream.LA(1),_la===74&&(this.state=2204,this.match(_SysMLv2Parser.FROM));break}this.state=2209,this.connectorEndMember(),this.state=2210,this.match(_SysMLv2Parser.TO),this.state=2211,this.connectorEndMember()}}catch(re){if(re instanceof RecognitionException)this.errorHandler.reportError(this,re),this.errorHandler.recover(this,re);else throw re}finally{this.exitRule()}return localContext}naryConnectorDeclaration(){let localContext=new NaryConnectorDeclarationContext(this.context,this.state);this.enterRule(localContext,266,_SysMLv2Parser.RULE_naryConnectorDeclaration);let _la;try{this.enterOuterAlt(localContext,1);{for(this.state=2214,this.errorHandler.sync(this),_la=this.tokenStream.LA(1),(_la===8||(_la-34&-32)===0&&(1<<_la-34&8449)!==0||(_la-106&-32)===0&&(1<<_la-106&4718721)!==0||(_la-148&-32)===0&&(1<<_la-148&402654209)!==0||(_la-185&-32)===0&&(1<<_la-185&69730313)!==0||(_la-217&-32)===0&&(1<<_la-217&7)!==0)&&(this.state=2213,this.featureDeclaration()),this.state=2216,this.match(_SysMLv2Parser.LPAREN),this.state=2217,this.connectorEndMember(),this.state=2218,this.match(_SysMLv2Parser.COMMA),this.state=2219,this.connectorEndMember(),this.state=2224,this.errorHandler.sync(this),_la=this.tokenStream.LA(1);_la===200;)this.state=2220,this.match(_SysMLv2Parser.COMMA),this.state=2221,this.connectorEndMember(),this.state=2226,this.errorHandler.sync(this),_la=this.tokenStream.LA(1);this.state=2227,this.match(_SysMLv2Parser.RPAREN)}}catch(re){if(re instanceof RecognitionException)this.errorHandler.reportError(this,re),this.errorHandler.recover(this,re);else throw re}finally{this.exitRule()}return localContext}connectorEndMember(){let localContext=new ConnectorEndMemberContext(this.context,this.state);this.enterRule(localContext,268,_SysMLv2Parser.RULE_connectorEndMember);try{this.enterOuterAlt(localContext,1),this.state=2229,this.connectorEnd()}catch(re){if(re instanceof RecognitionException)this.errorHandler.reportError(this,re),this.errorHandler.recover(this,re);else throw re}finally{this.exitRule()}return localContext}connectorEnd(){let localContext=new ConnectorEndContext(this.context,this.state);this.enterRule(localContext,270,_SysMLv2Parser.RULE_connectorEnd);let _la;try{this.enterOuterAlt(localContext,1),this.state=2232,this.errorHandler.sync(this),_la=this.tokenStream.LA(1),_la===211&&(this.state=2231,this.ownedCrossMultiplicityMember()),this.state=2237,this.errorHandler.sync(this),this.interpreter.adaptivePredict(this.tokenStream,179,this.context)===1&&(this.state=2234,this.name(),this.state=2235,_la=this.tokenStream.LA(1),_la===128||_la===175?(this.errorHandler.reportMatch(this),this.consume()):this.errorHandler.recoverInline(this)),this.state=2239,this.ownedReferenceSubsetting()}catch(re){if(re instanceof RecognitionException)this.errorHandler.reportError(this,re),this.errorHandler.recover(this,re);else throw re}finally{this.exitRule()}return localContext}ownedCrossMultiplicityMember(){let localContext=new OwnedCrossMultiplicityMemberContext(this.context,this.state);this.enterRule(localContext,272,_SysMLv2Parser.RULE_ownedCrossMultiplicityMember);try{this.enterOuterAlt(localContext,1),this.state=2241,this.ownedCrossMultiplicity()}catch(re){if(re instanceof RecognitionException)this.errorHandler.reportError(this,re),this.errorHandler.recover(this,re);else throw re}finally{this.exitRule()}return localContext}ownedCrossMultiplicity(){let localContext=new OwnedCrossMultiplicityContext(this.context,this.state);this.enterRule(localContext,274,_SysMLv2Parser.RULE_ownedCrossMultiplicity);try{this.enterOuterAlt(localContext,1),this.state=2243,this.ownedMultiplicity()}catch(re){if(re instanceof RecognitionException)this.errorHandler.reportError(this,re),this.errorHandler.recover(this,re);else throw re}finally{this.exitRule()}return localContext}bindingConnector(){let localContext=new BindingConnectorContext(this.context,this.state);this.enterRule(localContext,276,_SysMLv2Parser.RULE_bindingConnector);try{this.enterOuterAlt(localContext,1),this.state=2245,this.featurePrefix(),this.state=2246,this.match(_SysMLv2Parser.BINDING),this.state=2247,this.bindingConnectorDeclaration(),this.state=2248,this.typeBody()}catch(re){if(re instanceof RecognitionException)this.errorHandler.reportError(this,re),this.errorHandler.recover(this,re);else throw re}finally{this.exitRule()}return localContext}bindingConnectorDeclaration(){let localContext=new BindingConnectorDeclarationContext(this.context,this.state);this.enterRule(localContext,278,_SysMLv2Parser.RULE_bindingConnectorDeclaration);let _la;try{switch(this.state=2270,this.errorHandler.sync(this),this.interpreter.adaptivePredict(this.tokenStream,184,this.context)){case 1:this.enterOuterAlt(localContext,1),this.state=2250,this.featureDeclaration(),this.state=2256,this.errorHandler.sync(this),_la=this.tokenStream.LA(1),_la===111&&(this.state=2251,this.match(_SysMLv2Parser.OF),this.state=2252,this.connectorEndMember(),this.state=2253,this.match(_SysMLv2Parser.EQ),this.state=2254,this.connectorEndMember());break;case 2:this.enterOuterAlt(localContext,2),this.state=2259,this.errorHandler.sync(this),_la=this.tokenStream.LA(1),_la===8&&(this.state=2258,this.match(_SysMLv2Parser.ALL)),this.state=2268,this.errorHandler.sync(this),_la=this.tokenStream.LA(1),(_la===111||(_la-193&-32)===0&&(1<<_la-193&100925441)!==0)&&(this.state=2262,this.errorHandler.sync(this),_la=this.tokenStream.LA(1),_la===111&&(this.state=2261,this.match(_SysMLv2Parser.OF)),this.state=2264,this.connectorEndMember(),this.state=2265,this.match(_SysMLv2Parser.EQ),this.state=2266,this.connectorEndMember());break}}catch(re){if(re instanceof RecognitionException)this.errorHandler.reportError(this,re),this.errorHandler.recover(this,re);else throw re}finally{this.exitRule()}return localContext}succession(){let localContext=new SuccessionContext(this.context,this.state);this.enterRule(localContext,280,_SysMLv2Parser.RULE_succession);try{this.enterOuterAlt(localContext,1),this.state=2272,this.featurePrefix(),this.state=2273,this.match(_SysMLv2Parser.SUCCESSION),this.state=2274,this.successionDeclaration(),this.state=2275,this.typeBody()}catch(re){if(re instanceof RecognitionException)this.errorHandler.reportError(this,re),this.errorHandler.recover(this,re);else throw re}finally{this.exitRule()}return localContext}successionDeclaration(){let localContext=new SuccessionDeclarationContext(this.context,this.state);this.enterRule(localContext,282,_SysMLv2Parser.RULE_successionDeclaration);let _la;try{switch(this.state=2297,this.errorHandler.sync(this),this.interpreter.adaptivePredict(this.tokenStream,189,this.context)){case 1:this.enterOuterAlt(localContext,1),this.state=2277,this.featureDeclaration(),this.state=2283,this.errorHandler.sync(this),_la=this.tokenStream.LA(1),_la===69&&(this.state=2278,this.match(_SysMLv2Parser.FIRST),this.state=2279,this.connectorEndMember(),this.state=2280,this.match(_SysMLv2Parser.THEN),this.state=2281,this.connectorEndMember());break;case 2:this.enterOuterAlt(localContext,2),this.state=2286,this.errorHandler.sync(this),_la=this.tokenStream.LA(1),_la===8&&(this.state=2285,this.match(_SysMLv2Parser.ALL)),this.state=2295,this.errorHandler.sync(this),_la=this.tokenStream.LA(1),(_la===69||(_la-193&-32)===0&&(1<<_la-193&100925441)!==0)&&(this.state=2289,this.errorHandler.sync(this),_la=this.tokenStream.LA(1),_la===69&&(this.state=2288,this.match(_SysMLv2Parser.FIRST)),this.state=2291,this.connectorEndMember(),this.state=2292,this.match(_SysMLv2Parser.THEN),this.state=2293,this.connectorEndMember());break}}catch(re){if(re instanceof RecognitionException)this.errorHandler.reportError(this,re),this.errorHandler.recover(this,re);else throw re}finally{this.exitRule()}return localContext}behavior(){let localContext=new BehaviorContext(this.context,this.state);this.enterRule(localContext,284,_SysMLv2Parser.RULE_behavior);try{this.enterOuterAlt(localContext,1),this.state=2299,this.typePrefix(),this.state=2300,this.match(_SysMLv2Parser.BEHAVIOR),this.state=2301,this.classifierDeclaration(),this.state=2302,this.typeBody()}catch(re){if(re instanceof RecognitionException)this.errorHandler.reportError(this,re),this.errorHandler.recover(this,re);else throw re}finally{this.exitRule()}return localContext}step(){let localContext=new StepContext(this.context,this.state);this.enterRule(localContext,286,_SysMLv2Parser.RULE_step);let _la;try{this.enterOuterAlt(localContext,1),this.state=2304,this.featurePrefix(),this.state=2305,this.match(_SysMLv2Parser.STEP),this.state=2306,this.featureDeclaration(),this.state=2308,this.errorHandler.sync(this),_la=this.tokenStream.LA(1),(_la===46||_la===184||_la===207)&&(this.state=2307,this.valuePart()),this.state=2310,this.typeBody()}catch(re){if(re instanceof RecognitionException)this.errorHandler.reportError(this,re),this.errorHandler.recover(this,re);else throw re}finally{this.exitRule()}return localContext}function_(){let localContext=new FunctionContext(this.context,this.state);this.enterRule(localContext,288,_SysMLv2Parser.RULE_function);try{this.enterOuterAlt(localContext,1),this.state=2312,this.typePrefix(),this.state=2313,this.match(_SysMLv2Parser.FUNCTION),this.state=2314,this.classifierDeclaration(),this.state=2315,this.functionBody()}catch(re){if(re instanceof RecognitionException)this.errorHandler.reportError(this,re),this.errorHandler.recover(this,re);else throw re}finally{this.exitRule()}return localContext}functionBody(){let localContext=new FunctionBodyContext(this.context,this.state);this.enterRule(localContext,290,_SysMLv2Parser.RULE_functionBody);try{switch(this.state=2322,this.errorHandler.sync(this),this.tokenStream.LA(1)){case _SysMLv2Parser.SEMI:this.enterOuterAlt(localContext,1),this.state=2317,this.match(_SysMLv2Parser.SEMI);break;case _SysMLv2Parser.LBRACE:this.enterOuterAlt(localContext,2),this.state=2318,this.match(_SysMLv2Parser.LBRACE),this.state=2319,this.functionBodyPart(),this.state=2320,this.match(_SysMLv2Parser.RBRACE);break;default:throw new NoViableAltException(this)}}catch(re){if(re instanceof RecognitionException)this.errorHandler.reportError(this,re),this.errorHandler.recover(this,re);else throw re}finally{this.exitRule()}return localContext}functionBodyPart(){let localContext=new FunctionBodyPartContext(this.context,this.state);this.enterRule(localContext,292,_SysMLv2Parser.RULE_functionBodyPart);let _la;try{let alternative;this.enterOuterAlt(localContext,1);{for(this.state=2328,this.errorHandler.sync(this),alternative=this.interpreter.adaptivePredict(this.tokenStream,193,this.context);alternative!==2&&alternative!==ATN.INVALID_ALT_NUMBER;){if(alternative===1)switch(this.state=2326,this.errorHandler.sync(this),this.interpreter.adaptivePredict(this.tokenStream,192,this.context)){case 1:this.state=2324,this.typeBodyElement();break;case 2:this.state=2325,this.returnFeatureMember();break}this.state=2330,this.errorHandler.sync(this),alternative=this.interpreter.adaptivePredict(this.tokenStream,193,this.context)}this.state=2332,this.errorHandler.sync(this),_la=this.tokenStream.LA(1),(_la===8||_la===64||_la===77||(_la-105&-32)===0&&(1<<_la-105&917517)!==0||_la===156||(_la-191&-32)===0&&(1<<_la-191&4236772773)!==0)&&(this.state=2331,this.resultExpressionMember())}}catch(re){if(re instanceof RecognitionException)this.errorHandler.reportError(this,re),this.errorHandler.recover(this,re);else throw re}finally{this.exitRule()}return localContext}returnFeatureMember(){let localContext=new ReturnFeatureMemberContext(this.context,this.state);this.enterRule(localContext,294,_SysMLv2Parser.RULE_returnFeatureMember);try{this.enterOuterAlt(localContext,1),this.state=2334,this.memberPrefix(),this.state=2335,this.match(_SysMLv2Parser.RETURN),this.state=2336,this.featureElement()}catch(re){if(re instanceof RecognitionException)this.errorHandler.reportError(this,re),this.errorHandler.recover(this,re);else throw re}finally{this.exitRule()}return localContext}resultExpressionMember(){let localContext=new ResultExpressionMemberContext(this.context,this.state);this.enterRule(localContext,296,_SysMLv2Parser.RULE_resultExpressionMember);try{this.enterOuterAlt(localContext,1),this.state=2338,this.memberPrefix(),this.state=2339,this.ownedExpression(0)}catch(re){if(re instanceof RecognitionException)this.errorHandler.reportError(this,re),this.errorHandler.recover(this,re);else throw re}finally{this.exitRule()}return localContext}expression(){let localContext=new ExpressionContext(this.context,this.state);this.enterRule(localContext,298,_SysMLv2Parser.RULE_expression);let _la;try{this.enterOuterAlt(localContext,1),this.state=2341,this.featurePrefix(),this.state=2342,this.match(_SysMLv2Parser.EXPR),this.state=2343,this.featureDeclaration(),this.state=2345,this.errorHandler.sync(this),_la=this.tokenStream.LA(1),(_la===46||_la===184||_la===207)&&(this.state=2344,this.valuePart()),this.state=2347,this.functionBody()}catch(re){if(re instanceof RecognitionException)this.errorHandler.reportError(this,re),this.errorHandler.recover(this,re);else throw re}finally{this.exitRule()}return localContext}predicate(){let localContext=new PredicateContext(this.context,this.state);this.enterRule(localContext,300,_SysMLv2Parser.RULE_predicate);try{this.enterOuterAlt(localContext,1),this.state=2349,this.typePrefix(),this.state=2350,this.match(_SysMLv2Parser.PREDICATE),this.state=2351,this.classifierDeclaration(),this.state=2352,this.functionBody()}catch(re){if(re instanceof RecognitionException)this.errorHandler.reportError(this,re),this.errorHandler.recover(this,re);else throw re}finally{this.exitRule()}return localContext}booleanExpression(){let localContext=new BooleanExpressionContext(this.context,this.state);this.enterRule(localContext,302,_SysMLv2Parser.RULE_booleanExpression);let _la;try{this.enterOuterAlt(localContext,1),this.state=2354,this.featurePrefix(),this.state=2355,this.match(_SysMLv2Parser.BOOL),this.state=2356,this.featureDeclaration(),this.state=2358,this.errorHandler.sync(this),_la=this.tokenStream.LA(1),(_la===46||_la===184||_la===207)&&(this.state=2357,this.valuePart()),this.state=2360,this.functionBody()}catch(re){if(re instanceof RecognitionException)this.errorHandler.reportError(this,re),this.errorHandler.recover(this,re);else throw re}finally{this.exitRule()}return localContext}invariant(){let localContext=new InvariantContext(this.context,this.state);this.enterRule(localContext,304,_SysMLv2Parser.RULE_invariant);let _la;try{this.enterOuterAlt(localContext,1),this.state=2362,this.featurePrefix(),this.state=2363,this.match(_SysMLv2Parser.INV),this.state=2365,this.errorHandler.sync(this),_la=this.tokenStream.LA(1),(_la===64||_la===156)&&(this.state=2364,_la=this.tokenStream.LA(1),_la===64||_la===156?(this.errorHandler.reportMatch(this),this.consume()):this.errorHandler.recoverInline(this)),this.state=2367,this.featureDeclaration(),this.state=2369,this.errorHandler.sync(this),_la=this.tokenStream.LA(1),(_la===46||_la===184||_la===207)&&(this.state=2368,this.valuePart()),this.state=2371,this.functionBody()}catch(re){if(re instanceof RecognitionException)this.errorHandler.reportError(this,re),this.errorHandler.recover(this,re);else throw re}finally{this.exitRule()}return localContext}ownedExpressionMember(){let localContext=new OwnedExpressionMemberContext(this.context,this.state);this.enterRule(localContext,306,_SysMLv2Parser.RULE_ownedExpressionMember);try{this.enterOuterAlt(localContext,1),this.state=2373,this.ownedExpression(0)}catch(re){if(re instanceof RecognitionException)this.errorHandler.reportError(this,re),this.errorHandler.recover(this,re);else throw re}finally{this.exitRule()}return localContext}metadataReference(){let localContext=new MetadataReferenceContext(this.context,this.state);this.enterRule(localContext,308,_SysMLv2Parser.RULE_metadataReference);try{this.enterOuterAlt(localContext,1),this.state=2375,this.elementReferenceMember()}catch(re){if(re instanceof RecognitionException)this.errorHandler.reportError(this,re),this.errorHandler.recover(this,re);else throw re}finally{this.exitRule()}return localContext}typeReferenceMember(){let localContext=new TypeReferenceMemberContext(this.context,this.state);this.enterRule(localContext,310,_SysMLv2Parser.RULE_typeReferenceMember);try{this.enterOuterAlt(localContext,1),this.state=2377,this.typeReference()}catch(re){if(re instanceof RecognitionException)this.errorHandler.reportError(this,re),this.errorHandler.recover(this,re);else throw re}finally{this.exitRule()}return localContext}typeResultMember(){let localContext=new TypeResultMemberContext(this.context,this.state);this.enterRule(localContext,312,_SysMLv2Parser.RULE_typeResultMember);try{this.enterOuterAlt(localContext,1),this.state=2379,this.typeReference()}catch(re){if(re instanceof RecognitionException)this.errorHandler.reportError(this,re),this.errorHandler.recover(this,re);else throw re}finally{this.exitRule()}return localContext}referenceTyping(){let localContext=new ReferenceTypingContext(this.context,this.state);this.enterRule(localContext,314,_SysMLv2Parser.RULE_referenceTyping);try{this.enterOuterAlt(localContext,1),this.state=2381,this.qualifiedName()}catch(re){if(re instanceof RecognitionException)this.errorHandler.reportError(this,re),this.errorHandler.recover(this,re);else throw re}finally{this.exitRule()}return localContext}emptyResultMember(){let localContext=new EmptyResultMemberContext(this.context,this.state);this.enterRule(localContext,316,_SysMLv2Parser.RULE_emptyResultMember);try{this.enterOuterAlt(localContext,1),this.state=2383,this.emptyFeature_()}catch(re){if(re instanceof RecognitionException)this.errorHandler.reportError(this,re),this.errorHandler.recover(this,re);else throw re}finally{this.exitRule()}return localContext}sequenceOperatorExpression(){let localContext=new SequenceOperatorExpressionContext(this.context,this.state);this.enterRule(localContext,318,_SysMLv2Parser.RULE_sequenceOperatorExpression);try{this.enterOuterAlt(localContext,1),this.state=2385,this.ownedExpressionMember(),this.state=2386,this.match(_SysMLv2Parser.COMMA),this.state=2387,this.sequenceExpressionListMember()}catch(re){if(re instanceof RecognitionException)this.errorHandler.reportError(this,re),this.errorHandler.recover(this,re);else throw re}finally{this.exitRule()}return localContext}sequenceExpressionListMember(){let localContext=new SequenceExpressionListMemberContext(this.context,this.state);this.enterRule(localContext,320,_SysMLv2Parser.RULE_sequenceExpressionListMember);try{this.enterOuterAlt(localContext,1),this.state=2389,this.sequenceExpressionList()}catch(re){if(re instanceof RecognitionException)this.errorHandler.reportError(this,re),this.errorHandler.recover(this,re);else throw re}finally{this.exitRule()}return localContext}bodyArgumentMember(){let localContext=new BodyArgumentMemberContext(this.context,this.state);this.enterRule(localContext,322,_SysMLv2Parser.RULE_bodyArgumentMember);try{this.enterOuterAlt(localContext,1),this.state=2391,this.bodyArgument()}catch(re){if(re instanceof RecognitionException)this.errorHandler.reportError(this,re),this.errorHandler.recover(this,re);else throw re}finally{this.exitRule()}return localContext}bodyArgument(){let localContext=new BodyArgumentContext(this.context,this.state);this.enterRule(localContext,324,_SysMLv2Parser.RULE_bodyArgument);try{this.enterOuterAlt(localContext,1),this.state=2393,this.bodyArgumentValue()}catch(re){if(re instanceof RecognitionException)this.errorHandler.reportError(this,re),this.errorHandler.recover(this,re);else throw re}finally{this.exitRule()}return localContext}bodyArgumentValue(){let localContext=new BodyArgumentValueContext(this.context,this.state);this.enterRule(localContext,326,_SysMLv2Parser.RULE_bodyArgumentValue);try{this.enterOuterAlt(localContext,1),this.state=2395,this.bodyExpression()}catch(re){if(re instanceof RecognitionException)this.errorHandler.reportError(this,re),this.errorHandler.recover(this,re);else throw re}finally{this.exitRule()}return localContext}functionReferenceArgumentMember(){let localContext=new FunctionReferenceArgumentMemberContext(this.context,this.state);this.enterRule(localContext,328,_SysMLv2Parser.RULE_functionReferenceArgumentMember);try{this.enterOuterAlt(localContext,1),this.state=2397,this.functionReferenceArgument()}catch(re){if(re instanceof RecognitionException)this.errorHandler.reportError(this,re),this.errorHandler.recover(this,re);else throw re}finally{this.exitRule()}return localContext}functionReferenceArgument(){let localContext=new FunctionReferenceArgumentContext(this.context,this.state);this.enterRule(localContext,330,_SysMLv2Parser.RULE_functionReferenceArgument);try{this.enterOuterAlt(localContext,1),this.state=2399,this.functionReferenceArgumentValue()}catch(re){if(re instanceof RecognitionException)this.errorHandler.reportError(this,re),this.errorHandler.recover(this,re);else throw re}finally{this.exitRule()}return localContext}functionReferenceArgumentValue(){let localContext=new FunctionReferenceArgumentValueContext(this.context,this.state);this.enterRule(localContext,332,_SysMLv2Parser.RULE_functionReferenceArgumentValue);try{this.enterOuterAlt(localContext,1),this.state=2401,this.functionReferenceExpression()}catch(re){if(re instanceof RecognitionException)this.errorHandler.reportError(this,re),this.errorHandler.recover(this,re);else throw re}finally{this.exitRule()}return localContext}functionReferenceExpression(){let localContext=new FunctionReferenceExpressionContext(this.context,this.state);this.enterRule(localContext,334,_SysMLv2Parser.RULE_functionReferenceExpression);try{this.enterOuterAlt(localContext,1),this.state=2403,this.functionReferenceMember()}catch(re){if(re instanceof RecognitionException)this.errorHandler.reportError(this,re),this.errorHandler.recover(this,re);else throw re}finally{this.exitRule()}return localContext}functionReferenceMember(){let localContext=new FunctionReferenceMemberContext(this.context,this.state);this.enterRule(localContext,336,_SysMLv2Parser.RULE_functionReferenceMember);try{this.enterOuterAlt(localContext,1),this.state=2405,this.functionReference()}catch(re){if(re instanceof RecognitionException)this.errorHandler.reportError(this,re),this.errorHandler.recover(this,re);else throw re}finally{this.exitRule()}return localContext}functionReference(){let localContext=new FunctionReferenceContext(this.context,this.state);this.enterRule(localContext,338,_SysMLv2Parser.RULE_functionReference);try{this.enterOuterAlt(localContext,1),this.state=2407,this.referenceTyping()}catch(re){if(re instanceof RecognitionException)this.errorHandler.reportError(this,re),this.errorHandler.recover(this,re);else throw re}finally{this.exitRule()}return localContext}featureChainMember(){let localContext=new FeatureChainMemberContext(this.context,this.state);this.enterRule(localContext,340,_SysMLv2Parser.RULE_featureChainMember);let _la;try{for(this.enterOuterAlt(localContext,1),this.state=2409,this.qualifiedName(),this.state=2414,this.errorHandler.sync(this),_la=this.tokenStream.LA(1);_la===202;)this.state=2410,this.match(_SysMLv2Parser.DOT),this.state=2411,this.qualifiedName(),this.state=2416,this.errorHandler.sync(this),_la=this.tokenStream.LA(1)}catch(re){if(re instanceof RecognitionException)this.errorHandler.reportError(this,re),this.errorHandler.recover(this,re);else throw re}finally{this.exitRule()}return localContext}ownedFeatureChainMember(){let localContext=new OwnedFeatureChainMemberContext(this.context,this.state);this.enterRule(localContext,342,_SysMLv2Parser.RULE_ownedFeatureChainMember);try{switch(this.state=2419,this.errorHandler.sync(this),this.interpreter.adaptivePredict(this.tokenStream,200,this.context)){case 1:this.enterOuterAlt(localContext,1),this.state=2417,this.featureChain();break;case 2:this.enterOuterAlt(localContext,2),this.state=2418,this.ownedFeatureChain();break}}catch(re){if(re instanceof RecognitionException)this.errorHandler.reportError(this,re),this.errorHandler.recover(this,re);else throw re}finally{this.exitRule()}return localContext}featureReferenceMember(){let localContext=new FeatureReferenceMemberContext(this.context,this.state);this.enterRule(localContext,344,_SysMLv2Parser.RULE_featureReferenceMember);try{this.enterOuterAlt(localContext,1),this.state=2421,this.featureReference()}catch(re){if(re instanceof RecognitionException)this.errorHandler.reportError(this,re),this.errorHandler.recover(this,re);else throw re}finally{this.exitRule()}return localContext}featureReference(){let localContext=new FeatureReferenceContext(this.context,this.state);this.enterRule(localContext,346,_SysMLv2Parser.RULE_featureReference);try{this.enterOuterAlt(localContext,1),this.state=2423,this.qualifiedName()}catch(re){if(re instanceof RecognitionException)this.errorHandler.reportError(this,re),this.errorHandler.recover(this,re);else throw re}finally{this.exitRule()}return localContext}elementReferenceMember(){let localContext=new ElementReferenceMemberContext(this.context,this.state);this.enterRule(localContext,348,_SysMLv2Parser.RULE_elementReferenceMember);try{this.enterOuterAlt(localContext,1),this.state=2425,this.qualifiedName()}catch(re){if(re instanceof RecognitionException)this.errorHandler.reportError(this,re),this.errorHandler.recover(this,re);else throw re}finally{this.exitRule()}return localContext}constructorResultMember(){let localContext=new ConstructorResultMemberContext(this.context,this.state);this.enterRule(localContext,350,_SysMLv2Parser.RULE_constructorResultMember);try{this.enterOuterAlt(localContext,1),this.state=2427,this.constructorResult()}catch(re){if(re instanceof RecognitionException)this.errorHandler.reportError(this,re),this.errorHandler.recover(this,re);else throw re}finally{this.exitRule()}return localContext}constructorResult(){let localContext=new ConstructorResultContext(this.context,this.state);this.enterRule(localContext,352,_SysMLv2Parser.RULE_constructorResult);try{this.enterOuterAlt(localContext,1),this.state=2429,this.argumentList()}catch(re){if(re instanceof RecognitionException)this.errorHandler.reportError(this,re),this.errorHandler.recover(this,re);else throw re}finally{this.exitRule()}return localContext}instantiatedTypeMember(){let localContext=new InstantiatedTypeMemberContext(this.context,this.state);this.enterRule(localContext,354,_SysMLv2Parser.RULE_instantiatedTypeMember);let _la;try{for(this.enterOuterAlt(localContext,1),this.state=2431,this.qualifiedName(),this.state=2436,this.errorHandler.sync(this),_la=this.tokenStream.LA(1);_la===202;)this.state=2432,this.match(_SysMLv2Parser.DOT),this.state=2433,this.qualifiedName(),this.state=2438,this.errorHandler.sync(this),_la=this.tokenStream.LA(1)}catch(re){if(re instanceof RecognitionException)this.errorHandler.reportError(this,re),this.errorHandler.recover(this,re);else throw re}finally{this.exitRule()}return localContext}instantiatedTypeReference(){let localContext=new InstantiatedTypeReferenceContext(this.context,this.state);this.enterRule(localContext,356,_SysMLv2Parser.RULE_instantiatedTypeReference);try{this.enterOuterAlt(localContext,1),this.state=2439,this.qualifiedName()}catch(re){if(re instanceof RecognitionException)this.errorHandler.reportError(this,re),this.errorHandler.recover(this,re);else throw re}finally{this.exitRule()}return localContext}namedArgumentMember(){let localContext=new NamedArgumentMemberContext(this.context,this.state);this.enterRule(localContext,358,_SysMLv2Parser.RULE_namedArgumentMember);try{this.enterOuterAlt(localContext,1),this.state=2441,this.namedArgument()}catch(re){if(re instanceof RecognitionException)this.errorHandler.reportError(this,re),this.errorHandler.recover(this,re);else throw re}finally{this.exitRule()}return localContext}parameterRedefinition(){let localContext=new ParameterRedefinitionContext(this.context,this.state);this.enterRule(localContext,360,_SysMLv2Parser.RULE_parameterRedefinition);try{this.enterOuterAlt(localContext,1),this.state=2443,this.qualifiedName()}catch(re){if(re instanceof RecognitionException)this.errorHandler.reportError(this,re),this.errorHandler.recover(this,re);else throw re}finally{this.exitRule()}return localContext}expressionBodyMember(){let localContext=new ExpressionBodyMemberContext(this.context,this.state);this.enterRule(localContext,362,_SysMLv2Parser.RULE_expressionBodyMember);try{this.enterOuterAlt(localContext,1),this.state=2445,this.expressionBody()}catch(re){if(re instanceof RecognitionException)this.errorHandler.reportError(this,re),this.errorHandler.recover(this,re);else throw re}finally{this.exitRule()}return localContext}expressionBody(){let localContext=new ExpressionBodyContext(this.context,this.state);this.enterRule(localContext,364,_SysMLv2Parser.RULE_expressionBody);try{this.enterOuterAlt(localContext,1),this.state=2447,this.match(_SysMLv2Parser.LBRACE),this.state=2448,this.functionBodyPart(),this.state=2449,this.match(_SysMLv2Parser.RBRACE)}catch(re){if(re instanceof RecognitionException)this.errorHandler.reportError(this,re),this.errorHandler.recover(this,re);else throw re}finally{this.exitRule()}return localContext}booleanValue(){let localContext=new BooleanValueContext(this.context,this.state);this.enterRule(localContext,366,_SysMLv2Parser.RULE_booleanValue);let _la;try{this.enterOuterAlt(localContext,1),this.state=2451,_la=this.tokenStream.LA(1),_la===64||_la===156?(this.errorHandler.reportMatch(this),this.consume()):this.errorHandler.recoverInline(this)}catch(re){if(re instanceof RecognitionException)this.errorHandler.reportError(this,re),this.errorHandler.recover(this,re);else throw re}finally{this.exitRule()}return localContext}realValue(){let localContext=new RealValueContext(this.context,this.state);this.enterRule(localContext,368,_SysMLv2Parser.RULE_realValue);let _la;try{switch(this.state=2459,this.errorHandler.sync(this),this.tokenStream.LA(1)){case _SysMLv2Parser.DOT:case _SysMLv2Parser.INTEGER:this.enterOuterAlt(localContext,1),this.state=2454,this.errorHandler.sync(this),_la=this.tokenStream.LA(1),_la===221&&(this.state=2453,this.match(_SysMLv2Parser.INTEGER)),this.state=2456,this.match(_SysMLv2Parser.DOT),this.state=2457,_la=this.tokenStream.LA(1),_la===221||_la===222?(this.errorHandler.reportMatch(this),this.consume()):this.errorHandler.recoverInline(this);break;case _SysMLv2Parser.REAL:this.enterOuterAlt(localContext,2),this.state=2458,this.match(_SysMLv2Parser.REAL);break;default:throw new NoViableAltException(this)}}catch(re){if(re instanceof RecognitionException)this.errorHandler.reportError(this,re),this.errorHandler.recover(this,re);else throw re}finally{this.exitRule()}return localContext}interaction(){let localContext=new InteractionContext(this.context,this.state);this.enterRule(localContext,370,_SysMLv2Parser.RULE_interaction);try{this.enterOuterAlt(localContext,1),this.state=2461,this.typePrefix(),this.state=2462,this.match(_SysMLv2Parser.INTERACTION),this.state=2463,this.classifierDeclaration(),this.state=2464,this.typeBody()}catch(re){if(re instanceof RecognitionException)this.errorHandler.reportError(this,re),this.errorHandler.recover(this,re);else throw re}finally{this.exitRule()}return localContext}flow(){let localContext=new FlowContext(this.context,this.state);this.enterRule(localContext,372,_SysMLv2Parser.RULE_flow);try{this.enterOuterAlt(localContext,1),this.state=2466,this.featurePrefix(),this.state=2467,this.match(_SysMLv2Parser.FLOW),this.state=2468,this.flowDeclaration(),this.state=2469,this.typeBody()}catch(re){if(re instanceof RecognitionException)this.errorHandler.reportError(this,re),this.errorHandler.recover(this,re);else throw re}finally{this.exitRule()}return localContext}successionFlow(){let localContext=new SuccessionFlowContext(this.context,this.state);this.enterRule(localContext,374,_SysMLv2Parser.RULE_successionFlow);try{this.enterOuterAlt(localContext,1),this.state=2471,this.featurePrefix(),this.state=2472,this.match(_SysMLv2Parser.SUCCESSION),this.state=2473,this.match(_SysMLv2Parser.FLOW),this.state=2474,this.flowDeclaration(),this.state=2475,this.typeBody()}catch(re){if(re instanceof RecognitionException)this.errorHandler.reportError(this,re),this.errorHandler.recover(this,re);else throw re}finally{this.exitRule()}return localContext}flowDeclaration(){let localContext=new FlowDeclarationContext(this.context,this.state);this.enterRule(localContext,376,_SysMLv2Parser.RULE_flowDeclaration);let _la;try{switch(this.state=2516,this.errorHandler.sync(this),this.interpreter.adaptivePredict(this.tokenStream,212,this.context)){case 1:this.enterOuterAlt(localContext,1),this.state=2477,this.featureDeclaration(),this.state=2479,this.errorHandler.sync(this),_la=this.tokenStream.LA(1),(_la===46||_la===184||_la===207)&&(this.state=2478,this.valuePart()),this.state=2483,this.errorHandler.sync(this),_la=this.tokenStream.LA(1),_la===111&&(this.state=2481,this.match(_SysMLv2Parser.OF),this.state=2482,this.payloadFeatureMember()),this.state=2490,this.errorHandler.sync(this),_la=this.tokenStream.LA(1),_la===74&&(this.state=2485,this.match(_SysMLv2Parser.FROM),this.state=2486,this.flowEndMember(),this.state=2487,this.match(_SysMLv2Parser.TO),this.state=2488,this.flowEndMember());break;case 2:this.enterOuterAlt(localContext,2),this.state=2493,this.errorHandler.sync(this),_la=this.tokenStream.LA(1),_la===8&&(this.state=2492,this.match(_SysMLv2Parser.ALL)),this.state=2495,this.flowEndMember(),this.state=2496,this.match(_SysMLv2Parser.TO),this.state=2497,this.flowEndMember();break;case 3:this.enterOuterAlt(localContext,3),this.state=2500,this.errorHandler.sync(this),_la=this.tokenStream.LA(1),(_la===42||_la===47||(_la-106&-32)===0&&(1<<_la-106&4718721)!==0||(_la-148&-32)===0&&(1<<_la-148&402654209)!==0||(_la-185&-32)===0&&(1<<_la-185&69730313)!==0||_la===218||_la===219)&&(this.state=2499,this.usageDeclaration()),this.state=2503,this.errorHandler.sync(this),_la=this.tokenStream.LA(1),(_la===46||_la===184||_la===207)&&(this.state=2502,this.valuePart()),this.state=2507,this.errorHandler.sync(this),_la=this.tokenStream.LA(1),_la===111&&(this.state=2505,this.match(_SysMLv2Parser.OF),this.state=2506,this.flowPayloadFeatureMember()),this.state=2514,this.errorHandler.sync(this),_la=this.tokenStream.LA(1),_la===74&&(this.state=2509,this.match(_SysMLv2Parser.FROM),this.state=2510,this.flowEndMember(),this.state=2511,this.match(_SysMLv2Parser.TO),this.state=2512,this.flowEndMember());break}}catch(re){if(re instanceof RecognitionException)this.errorHandler.reportError(this,re),this.errorHandler.recover(this,re);else throw re}finally{this.exitRule()}return localContext}payloadFeatureMember(){let localContext=new PayloadFeatureMemberContext(this.context,this.state);this.enterRule(localContext,378,_SysMLv2Parser.RULE_payloadFeatureMember);try{this.enterOuterAlt(localContext,1),this.state=2518,this.payloadFeature()}catch(re){if(re instanceof RecognitionException)this.errorHandler.reportError(this,re),this.errorHandler.recover(this,re);else throw re}finally{this.exitRule()}return localContext}payloadFeature(){let localContext=new PayloadFeatureContext(this.context,this.state);this.enterRule(localContext,380,_SysMLv2Parser.RULE_payloadFeature);let _la;try{switch(this.state=2539,this.errorHandler.sync(this),this.interpreter.adaptivePredict(this.tokenStream,218,this.context)){case 1:this.enterOuterAlt(localContext,1),this.state=2521,this.errorHandler.sync(this),_la=this.tokenStream.LA(1),(_la-206&-32)===0&&(1<<_la-206&12289)!==0&&(this.state=2520,this.identification()),this.state=2523,this.valuePart();break;case 2:this.enterOuterAlt(localContext,2),this.state=2525,this.errorHandler.sync(this),_la=this.tokenStream.LA(1),(_la-206&-32)===0&&(1<<_la-206&12289)!==0&&(this.state=2524,this.identification()),this.state=2527,this.payloadFeatureSpecializationPart(),this.state=2529,this.errorHandler.sync(this),_la=this.tokenStream.LA(1),(_la===46||_la===184||_la===207)&&(this.state=2528,this.valuePart());break;case 3:this.enterOuterAlt(localContext,3),this.state=2531,this.ownedFeatureTyping(),this.state=2533,this.errorHandler.sync(this),_la=this.tokenStream.LA(1),_la===211&&(this.state=2532,this.ownedMultiplicity());break;case 4:this.enterOuterAlt(localContext,4),this.state=2535,this.ownedMultiplicity(),this.state=2537,this.errorHandler.sync(this),_la=this.tokenStream.LA(1),(_la-193&-32)===0&&(1<<_la-193&100663297)!==0&&(this.state=2536,this.ownedFeatureTyping());break}}catch(re){if(re instanceof RecognitionException)this.errorHandler.reportError(this,re),this.errorHandler.recover(this,re);else throw re}finally{this.exitRule()}return localContext}payloadFeatureSpecializationPart(){let localContext=new PayloadFeatureSpecializationPartContext(this.context,this.state);this.enterRule(localContext,382,_SysMLv2Parser.RULE_payloadFeatureSpecializationPart);let _la;try{let alternative;switch(this.state=2561,this.errorHandler.sync(this),this.tokenStream.LA(1)){case _SysMLv2Parser.CROSSES:case _SysMLv2Parser.DEFINED:case _SysMLv2Parser.REDEFINES:case _SysMLv2Parser.REFERENCES:case _SysMLv2Parser.SUBSETS:case _SysMLv2Parser.TYPED:case _SysMLv2Parser.COLON_COLON_GT:case _SysMLv2Parser.COLON_GT_GT:case _SysMLv2Parser.COLON_GT:case _SysMLv2Parser.FAT_ARROW:case _SysMLv2Parser.COLON:this.enterOuterAlt(localContext,1);{this.state=2542,this.errorHandler.sync(this),alternative=1;do{if(alternative===1)this.state=2541,this.featureSpecialization();else throw new NoViableAltException(this);this.state=2544,this.errorHandler.sync(this),alternative=this.interpreter.adaptivePredict(this.tokenStream,219,this.context)}while(alternative!==2&&alternative!==ATN.INVALID_ALT_NUMBER);for(this.state=2547,this.errorHandler.sync(this),_la=this.tokenStream.LA(1),(_la===106||_la===113||_la===211)&&(this.state=2546,this.multiplicityPart()),this.state=2552,this.errorHandler.sync(this),_la=this.tokenStream.LA(1);_la===42||_la===47||(_la-125&-32)===0&&(1<<_la-125&8388617)!==0||(_la-158&-32)===0&&(1<<_la-158&1208352769)!==0||_la===204;)this.state=2549,this.featureSpecialization(),this.state=2554,this.errorHandler.sync(this),_la=this.tokenStream.LA(1)}break;case _SysMLv2Parser.NONUNIQUE:case _SysMLv2Parser.ORDERED:case _SysMLv2Parser.LBRACK:this.enterOuterAlt(localContext,2);{this.state=2555,this.multiplicityPart(),this.state=2557,this.errorHandler.sync(this),_la=this.tokenStream.LA(1);do this.state=2556,this.featureSpecialization(),this.state=2559,this.errorHandler.sync(this),_la=this.tokenStream.LA(1);while(_la===42||_la===47||(_la-125&-32)===0&&(1<<_la-125&8388617)!==0||(_la-158&-32)===0&&(1<<_la-158&1208352769)!==0||_la===204)}break;default:throw new NoViableAltException(this)}}catch(re){if(re instanceof RecognitionException)this.errorHandler.reportError(this,re),this.errorHandler.recover(this,re);else throw re}finally{this.exitRule()}return localContext}flowEndMember(){let localContext=new FlowEndMemberContext(this.context,this.state);this.enterRule(localContext,384,_SysMLv2Parser.RULE_flowEndMember);try{this.enterOuterAlt(localContext,1),this.state=2563,this.flowEnd()}catch(re){if(re instanceof RecognitionException)this.errorHandler.reportError(this,re),this.errorHandler.recover(this,re);else throw re}finally{this.exitRule()}return localContext}flowEnd(){let localContext=new FlowEndContext(this.context,this.state);this.enterRule(localContext,386,_SysMLv2Parser.RULE_flowEnd);let _la;try{for(this.enterOuterAlt(localContext,1),this.state=2565,this.qualifiedName(),this.state=2570,this.errorHandler.sync(this),_la=this.tokenStream.LA(1);_la===202;)this.state=2566,this.match(_SysMLv2Parser.DOT),this.state=2567,this.qualifiedName(),this.state=2572,this.errorHandler.sync(this),_la=this.tokenStream.LA(1)}catch(re){if(re instanceof RecognitionException)this.errorHandler.reportError(this,re),this.errorHandler.recover(this,re);else throw re}finally{this.exitRule()}return localContext}flowFeatureMember(){let localContext=new FlowFeatureMemberContext(this.context,this.state);this.enterRule(localContext,388,_SysMLv2Parser.RULE_flowFeatureMember);try{this.enterOuterAlt(localContext,1),this.state=2573,this.flowFeature()}catch(re){if(re instanceof RecognitionException)this.errorHandler.reportError(this,re),this.errorHandler.recover(this,re);else throw re}finally{this.exitRule()}return localContext}flowFeature(){let localContext=new FlowFeatureContext(this.context,this.state);this.enterRule(localContext,390,_SysMLv2Parser.RULE_flowFeature);try{this.enterOuterAlt(localContext,1),this.state=2575,this.flowFeatureRedefinition()}catch(re){if(re instanceof RecognitionException)this.errorHandler.reportError(this,re),this.errorHandler.recover(this,re);else throw re}finally{this.exitRule()}return localContext}flowFeatureRedefinition(){let localContext=new FlowFeatureRedefinitionContext(this.context,this.state);this.enterRule(localContext,392,_SysMLv2Parser.RULE_flowFeatureRedefinition);try{this.enterOuterAlt(localContext,1),this.state=2577,this.qualifiedName()}catch(re){if(re instanceof RecognitionException)this.errorHandler.reportError(this,re),this.errorHandler.recover(this,re);else throw re}finally{this.exitRule()}return localContext}valuePart(){let localContext=new ValuePartContext(this.context,this.state);this.enterRule(localContext,394,_SysMLv2Parser.RULE_valuePart);try{this.enterOuterAlt(localContext,1),this.state=2579,this.featureValue()}catch(re){if(re instanceof RecognitionException)this.errorHandler.reportError(this,re),this.errorHandler.recover(this,re);else throw re}finally{this.exitRule()}return localContext}featureValue(){let localContext=new FeatureValueContext(this.context,this.state);this.enterRule(localContext,396,_SysMLv2Parser.RULE_featureValue);let _la;try{this.enterOuterAlt(localContext,1);{switch(this.state=2587,this.errorHandler.sync(this),this.tokenStream.LA(1)){case _SysMLv2Parser.EQ:this.state=2581,this.match(_SysMLv2Parser.EQ);break;case _SysMLv2Parser.COLON_EQ:this.state=2582,this.match(_SysMLv2Parser.COLON_EQ);break;case _SysMLv2Parser.DEFAULT:this.state=2583,this.match(_SysMLv2Parser.DEFAULT),this.state=2585,this.errorHandler.sync(this),_la=this.tokenStream.LA(1),(_la===184||_la===207)&&(this.state=2584,_la=this.tokenStream.LA(1),_la===184||_la===207?(this.errorHandler.reportMatch(this),this.consume()):this.errorHandler.recoverInline(this));break;default:throw new NoViableAltException(this)}this.state=2589,this.ownedExpression(0)}}catch(re){if(re instanceof RecognitionException)this.errorHandler.reportError(this,re),this.errorHandler.recover(this,re);else throw re}finally{this.exitRule()}return localContext}multiplicity(){let localContext=new MultiplicityContext(this.context,this.state);this.enterRule(localContext,398,_SysMLv2Parser.RULE_multiplicity);try{switch(this.state=2593,this.errorHandler.sync(this),this.interpreter.adaptivePredict(this.tokenStream,227,this.context)){case 1:this.enterOuterAlt(localContext,1),this.state=2591,this.multiplicitySubset();break;case 2:this.enterOuterAlt(localContext,2),this.state=2592,this.multiplicityRange();break}}catch(re){if(re instanceof RecognitionException)this.errorHandler.reportError(this,re),this.errorHandler.recover(this,re);else throw re}finally{this.exitRule()}return localContext}multiplicitySubset(){let localContext=new MultiplicitySubsetContext(this.context,this.state);this.enterRule(localContext,400,_SysMLv2Parser.RULE_multiplicitySubset);let _la;try{this.enterOuterAlt(localContext,1),this.state=2595,this.match(_SysMLv2Parser.MULTIPLICITY),this.state=2597,this.errorHandler.sync(this),_la=this.tokenStream.LA(1),(_la-206&-32)===0&&(1<<_la-206&12289)!==0&&(this.state=2596,this.identification()),this.state=2599,this.subsets(),this.state=2600,this.typeBody()}catch(re){if(re instanceof RecognitionException)this.errorHandler.reportError(this,re),this.errorHandler.recover(this,re);else throw re}finally{this.exitRule()}return localContext}multiplicityRange(){let localContext=new MultiplicityRangeContext(this.context,this.state);this.enterRule(localContext,402,_SysMLv2Parser.RULE_multiplicityRange);let _la;try{this.enterOuterAlt(localContext,1),this.state=2602,this.match(_SysMLv2Parser.MULTIPLICITY),this.state=2604,this.errorHandler.sync(this),_la=this.tokenStream.LA(1),(_la-206&-32)===0&&(1<<_la-206&12289)!==0&&(this.state=2603,this.identification()),this.state=2606,this.multiplicityBounds(),this.state=2607,this.typeBody()}catch(re){if(re instanceof RecognitionException)this.errorHandler.reportError(this,re),this.errorHandler.recover(this,re);else throw re}finally{this.exitRule()}return localContext}ownedMultiplicity(){let localContext=new OwnedMultiplicityContext(this.context,this.state);this.enterRule(localContext,404,_SysMLv2Parser.RULE_ownedMultiplicity);try{this.enterOuterAlt(localContext,1),this.state=2609,this.ownedMultiplicityRange()}catch(re){if(re instanceof RecognitionException)this.errorHandler.reportError(this,re),this.errorHandler.recover(this,re);else throw re}finally{this.exitRule()}return localContext}ownedMultiplicityRange(){let localContext=new OwnedMultiplicityRangeContext(this.context,this.state);this.enterRule(localContext,406,_SysMLv2Parser.RULE_ownedMultiplicityRange);try{this.enterOuterAlt(localContext,1),this.state=2611,this.multiplicityBounds()}catch(re){if(re instanceof RecognitionException)this.errorHandler.reportError(this,re),this.errorHandler.recover(this,re);else throw re}finally{this.exitRule()}return localContext}multiplicityBounds(){let localContext=new MultiplicityBoundsContext(this.context,this.state);this.enterRule(localContext,408,_SysMLv2Parser.RULE_multiplicityBounds);try{this.enterOuterAlt(localContext,1),this.state=2613,this.match(_SysMLv2Parser.LBRACK),this.state=2617,this.errorHandler.sync(this),this.interpreter.adaptivePredict(this.tokenStream,230,this.context)===1&&(this.state=2614,this.multiplicityExpressionMember(),this.state=2615,this.match(_SysMLv2Parser.DOT_DOT)),this.state=2619,this.multiplicityExpressionMember(),this.state=2620,this.match(_SysMLv2Parser.RBRACK)}catch(re){if(re instanceof RecognitionException)this.errorHandler.reportError(this,re),this.errorHandler.recover(this,re);else throw re}finally{this.exitRule()}return localContext}multiplicityExpressionMember(){let localContext=new MultiplicityExpressionMemberContext(this.context,this.state);this.enterRule(localContext,410,_SysMLv2Parser.RULE_multiplicityExpressionMember);try{switch(this.enterOuterAlt(localContext,1),this.state=2624,this.errorHandler.sync(this),this.tokenStream.LA(1)){case _SysMLv2Parser.FALSE:case _SysMLv2Parser.TRUE:case _SysMLv2Parser.STAR:case _SysMLv2Parser.DOUBLE_STRING:case _SysMLv2Parser.INTEGER:case _SysMLv2Parser.REAL:this.state=2622,this.literalExpression();break;case _SysMLv2Parser.DOLLAR:case _SysMLv2Parser.IDENTIFIER:case _SysMLv2Parser.STRING:this.state=2623,this.featureReferenceExpression();break;default:throw new NoViableAltException(this)}}catch(re){if(re instanceof RecognitionException)this.errorHandler.reportError(this,re),this.errorHandler.recover(this,re);else throw re}finally{this.exitRule()}return localContext}metaclass(){let localContext=new MetaclassContext(this.context,this.state);this.enterRule(localContext,412,_SysMLv2Parser.RULE_metaclass);try{this.enterOuterAlt(localContext,1),this.state=2626,this.typePrefix(),this.state=2627,this.match(_SysMLv2Parser.METACLASS),this.state=2628,this.classifierDeclaration(),this.state=2629,this.typeBody()}catch(re){if(re instanceof RecognitionException)this.errorHandler.reportError(this,re),this.errorHandler.recover(this,re);else throw re}finally{this.exitRule()}return localContext}prefixMetadataAnnotation(){let localContext=new PrefixMetadataAnnotationContext(this.context,this.state);this.enterRule(localContext,414,_SysMLv2Parser.RULE_prefixMetadataAnnotation);try{switch(this.state=2635,this.errorHandler.sync(this),this.interpreter.adaptivePredict(this.tokenStream,232,this.context)){case 1:this.enterOuterAlt(localContext,1),this.state=2631,this.match(_SysMLv2Parser.HASH),this.state=2632,this.prefixMetadataFeature();break;case 2:this.enterOuterAlt(localContext,2),this.state=2633,this.match(_SysMLv2Parser.HASH),this.state=2634,this.prefixMetadataUsage();break}}catch(re){if(re instanceof RecognitionException)this.errorHandler.reportError(this,re),this.errorHandler.recover(this,re);else throw re}finally{this.exitRule()}return localContext}prefixMetadataMember(){let localContext=new PrefixMetadataMemberContext(this.context,this.state);this.enterRule(localContext,416,_SysMLv2Parser.RULE_prefixMetadataMember);try{switch(this.state=2641,this.errorHandler.sync(this),this.interpreter.adaptivePredict(this.tokenStream,233,this.context)){case 1:this.enterOuterAlt(localContext,1),this.state=2637,this.match(_SysMLv2Parser.HASH),this.state=2638,this.prefixMetadataFeature();break;case 2:this.enterOuterAlt(localContext,2),this.state=2639,this.match(_SysMLv2Parser.HASH),this.state=2640,this.prefixMetadataUsage();break}}catch(re){if(re instanceof RecognitionException)this.errorHandler.reportError(this,re),this.errorHandler.recover(this,re);else throw re}finally{this.exitRule()}return localContext}prefixMetadataFeature(){let localContext=new PrefixMetadataFeatureContext(this.context,this.state);this.enterRule(localContext,418,_SysMLv2Parser.RULE_prefixMetadataFeature);try{this.enterOuterAlt(localContext,1),this.state=2643,this.ownedFeatureTyping()}catch(re){if(re instanceof RecognitionException)this.errorHandler.reportError(this,re),this.errorHandler.recover(this,re);else throw re}finally{this.exitRule()}return localContext}metadataFeature(){let localContext=new MetadataFeatureContext(this.context,this.state);this.enterRule(localContext,420,_SysMLv2Parser.RULE_metadataFeature);let _la;try{this.enterOuterAlt(localContext,1);{for(this.state=2648,this.errorHandler.sync(this),_la=this.tokenStream.LA(1);_la===192;)this.state=2645,this.prefixMetadataMember(),this.state=2650,this.errorHandler.sync(this),_la=this.tokenStream.LA(1);if(this.state=2651,_la=this.tokenStream.LA(1),_la===102||_la===210?(this.errorHandler.reportMatch(this),this.consume()):this.errorHandler.recoverInline(this),this.state=2652,this.metadataFeatureDeclaration(),this.state=2662,this.errorHandler.sync(this),_la=this.tokenStream.LA(1),_la===1)for(this.state=2653,this.match(_SysMLv2Parser.ABOUT),this.state=2654,this.annotation(),this.state=2659,this.errorHandler.sync(this),_la=this.tokenStream.LA(1);_la===200;)this.state=2655,this.match(_SysMLv2Parser.COMMA),this.state=2656,this.annotation(),this.state=2661,this.errorHandler.sync(this),_la=this.tokenStream.LA(1);this.state=2664,this.metadataBody()}}catch(re){if(re instanceof RecognitionException)this.errorHandler.reportError(this,re),this.errorHandler.recover(this,re);else throw re}finally{this.exitRule()}return localContext}metadataFeatureDeclaration(){let localContext=new MetadataFeatureDeclarationContext(this.context,this.state);this.enterRule(localContext,422,_SysMLv2Parser.RULE_metadataFeatureDeclaration);let _la;try{this.enterOuterAlt(localContext,1);{switch(this.state=2674,this.errorHandler.sync(this),this.interpreter.adaptivePredict(this.tokenStream,239,this.context)){case 1:switch(this.state=2667,this.errorHandler.sync(this),_la=this.tokenStream.LA(1),(_la-206&-32)===0&&(1<<_la-206&12289)!==0&&(this.state=2666,this.identification()),this.state=2672,this.errorHandler.sync(this),this.tokenStream.LA(1)){case _SysMLv2Parser.COLON:this.state=2669,this.match(_SysMLv2Parser.COLON);break;case _SysMLv2Parser.TYPED:this.state=2670,this.match(_SysMLv2Parser.TYPED),this.state=2671,this.match(_SysMLv2Parser.BY);break;default:throw new NoViableAltException(this)}break}this.state=2676,this.ownedFeatureTyping()}}catch(re){if(re instanceof RecognitionException)this.errorHandler.reportError(this,re),this.errorHandler.recover(this,re);else throw re}finally{this.exitRule()}return localContext}metadataBody(){let localContext=new MetadataBodyContext(this.context,this.state);this.enterRule(localContext,424,_SysMLv2Parser.RULE_metadataBody);let _la;try{switch(this.state=2698,this.errorHandler.sync(this),this.interpreter.adaptivePredict(this.tokenStream,243,this.context)){case 1:this.enterOuterAlt(localContext,1),this.state=2678,this.match(_SysMLv2Parser.SEMI);break;case 2:this.enterOuterAlt(localContext,2);{for(this.state=2679,this.match(_SysMLv2Parser.LBRACE),this.state=2683,this.errorHandler.sync(this),_la=this.tokenStream.LA(1);(_la&-32)===0&&(1<<_la&1880162436)!==0||(_la-33&-32)===0&&(1<<_la-33&2917381)!==0||(_la-65&-32)===0&&(1<<_la-65&1904755717)!==0||(_la-101&-32)===0&&(1<<_la-101&1139818511)!==0||(_la-138&-32)===0&&(1<<_la-138&2624201)!==0||(_la-176&-32)===0&&(1<<_la-176&196609)!==0||(_la-210&-32)===0&&(1<<_la-210&9089)!==0;)this.state=2680,this.metadataBodyElement(),this.state=2685,this.errorHandler.sync(this),_la=this.tokenStream.LA(1);this.state=2686,this.match(_SysMLv2Parser.RBRACE)}break;case 3:this.enterOuterAlt(localContext,3);{for(this.state=2687,this.match(_SysMLv2Parser.LBRACE),this.state=2694,this.errorHandler.sync(this),_la=this.tokenStream.LA(1);(_la&-32)===0&&(1<<_la&1174932628)!==0||(_la-32&-32)===0&&(1<<_la-32&71369249)!==0||(_la-70&-32)===0&&(1<<_la-70&60854785)!==0||(_la-102&-32)===0&&(1<<_la-102&3002245377)!==0||(_la-141&-32)===0&&(1<<_la-141&857735171)!==0||(_la-176&-32)===0&&(1<<_la-176&196609)!==0||(_la-210&-32)===0&&(1<<_la-210&8961)!==0;){switch(this.state=2692,this.errorHandler.sync(this),this.interpreter.adaptivePredict(this.tokenStream,241,this.context)){case 1:this.state=2688,this.definitionMember();break;case 2:this.state=2689,this.metadataBodyUsageMember();break;case 3:this.state=2690,this.aliasMember();break;case 4:this.state=2691,this.importRule();break}this.state=2696,this.errorHandler.sync(this),_la=this.tokenStream.LA(1)}this.state=2697,this.match(_SysMLv2Parser.RBRACE)}break}}catch(re){if(re instanceof RecognitionException)this.errorHandler.reportError(this,re),this.errorHandler.recover(this,re);else throw re}finally{this.exitRule()}return localContext}metadataBodyElement(){let localContext=new MetadataBodyElementContext(this.context,this.state);this.enterRule(localContext,426,_SysMLv2Parser.RULE_metadataBodyElement);try{switch(this.state=2704,this.errorHandler.sync(this),this.interpreter.adaptivePredict(this.tokenStream,244,this.context)){case 1:this.enterOuterAlt(localContext,1),this.state=2700,this.nonFeatureMember();break;case 2:this.enterOuterAlt(localContext,2),this.state=2701,this.metadataBodyFeatureMember();break;case 3:this.enterOuterAlt(localContext,3),this.state=2702,this.aliasMember();break;case 4:this.enterOuterAlt(localContext,4),this.state=2703,this.importRule();break}}catch(re){if(re instanceof RecognitionException)this.errorHandler.reportError(this,re),this.errorHandler.recover(this,re);else throw re}finally{this.exitRule()}return localContext}metadataBodyFeatureMember(){let localContext=new MetadataBodyFeatureMemberContext(this.context,this.state);this.enterRule(localContext,428,_SysMLv2Parser.RULE_metadataBodyFeatureMember);try{this.enterOuterAlt(localContext,1),this.state=2706,this.metadataBodyFeature()}catch(re){if(re instanceof RecognitionException)this.errorHandler.reportError(this,re),this.errorHandler.recover(this,re);else throw re}finally{this.exitRule()}return localContext}metadataBodyFeature(){let localContext=new MetadataBodyFeatureContext(this.context,this.state);this.enterRule(localContext,430,_SysMLv2Parser.RULE_metadataBodyFeature);let _la;try{this.enterOuterAlt(localContext,1),this.state=2709,this.errorHandler.sync(this),_la=this.tokenStream.LA(1),_la===65&&(this.state=2708,this.match(_SysMLv2Parser.FEATURE)),this.state=2712,this.errorHandler.sync(this),_la=this.tokenStream.LA(1),(_la===125||_la===176)&&(this.state=2711,_la=this.tokenStream.LA(1),_la===125||_la===176?(this.errorHandler.reportMatch(this),this.consume()):this.errorHandler.recoverInline(this)),this.state=2714,this.ownedRedefinition(),this.state=2716,this.errorHandler.sync(this),_la=this.tokenStream.LA(1),(_la===42||_la===47||(_la-106&-32)===0&&(1<<_la-106&4718721)!==0||(_la-148&-32)===0&&(1<<_la-148&402654209)!==0||(_la-185&-32)===0&&(1<<_la-185&67633161)!==0)&&(this.state=2715,this.featureSpecializationPart()),this.state=2719,this.errorHandler.sync(this),_la=this.tokenStream.LA(1),(_la===46||_la===184||_la===207)&&(this.state=2718,this.valuePart()),this.state=2721,this.metadataBody()}catch(re){if(re instanceof RecognitionException)this.errorHandler.reportError(this,re),this.errorHandler.recover(this,re);else throw re}finally{this.exitRule()}return localContext}package_(){let localContext=new PackageContext(this.context,this.state);this.enterRule(localContext,432,_SysMLv2Parser.RULE_package);let _la;try{this.enterOuterAlt(localContext,1);{for(this.state=2726,this.errorHandler.sync(this),_la=this.tokenStream.LA(1);_la===192;)this.state=2723,this.prefixMetadataMember(),this.state=2728,this.errorHandler.sync(this),_la=this.tokenStream.LA(1);this.state=2729,this.packageDeclaration(),this.state=2730,this.packageBody()}}catch(re){if(re instanceof RecognitionException)this.errorHandler.reportError(this,re),this.errorHandler.recover(this,re);else throw re}finally{this.exitRule()}return localContext}libraryPackage(){let localContext=new LibraryPackageContext(this.context,this.state);this.enterRule(localContext,434,_SysMLv2Parser.RULE_libraryPackage);let _la;try{this.enterOuterAlt(localContext,1);{for(this.state=2733,this.errorHandler.sync(this),_la=this.tokenStream.LA(1),_la===141&&(this.state=2732,this.match(_SysMLv2Parser.STANDARD)),this.state=2735,this.match(_SysMLv2Parser.LIBRARY),this.state=2739,this.errorHandler.sync(this),_la=this.tokenStream.LA(1);_la===192;)this.state=2736,this.prefixMetadataMember(),this.state=2741,this.errorHandler.sync(this),_la=this.tokenStream.LA(1);this.state=2742,this.packageDeclaration(),this.state=2743,this.packageBody()}}catch(re){if(re instanceof RecognitionException)this.errorHandler.reportError(this,re),this.errorHandler.recover(this,re);else throw re}finally{this.exitRule()}return localContext}packageDeclaration(){let localContext=new PackageDeclarationContext(this.context,this.state);this.enterRule(localContext,436,_SysMLv2Parser.RULE_packageDeclaration);let _la;try{this.enterOuterAlt(localContext,1),this.state=2745,this.match(_SysMLv2Parser.PACKAGE),this.state=2747,this.errorHandler.sync(this),_la=this.tokenStream.LA(1),(_la-206&-32)===0&&(1<<_la-206&12289)!==0&&(this.state=2746,this.identification())}catch(re){if(re instanceof RecognitionException)this.errorHandler.reportError(this,re),this.errorHandler.recover(this,re);else throw re}finally{this.exitRule()}return localContext}packageBody(){let localContext=new PackageBodyContext(this.context,this.state);this.enterRule(localContext,438,_SysMLv2Parser.RULE_packageBody);let _la;try{switch(this.state=2758,this.errorHandler.sync(this),this.tokenStream.LA(1)){case _SysMLv2Parser.SEMI:this.enterOuterAlt(localContext,1),this.state=2749,this.match(_SysMLv2Parser.SEMI);break;case _SysMLv2Parser.LBRACE:this.enterOuterAlt(localContext,2);{for(this.state=2750,this.match(_SysMLv2Parser.LBRACE),this.state=2754,this.errorHandler.sync(this),_la=this.tokenStream.LA(1);(_la&-32)===0&&(1<<_la&1181240980)!==0||(_la-32&-32)===0&&(1<<_la-32&490981169)!==0||(_la-68&-32)===0&&(1<<_la-68&2390947847)!==0||(_la-102&-32)===0&&(1<<_la-102&3069425937)!==0||(_la-135&-32)===0&&(1<<_la-135&3364135109)!==0||(_la-169&-32)===0&&(1<<_la-169&9011395)!==0||(_la-204&-32)===0&&(1<<_la-204&574671)!==0;)this.state=2751,this.packageBodyElement(),this.state=2756,this.errorHandler.sync(this),_la=this.tokenStream.LA(1);this.state=2757,this.match(_SysMLv2Parser.RBRACE)}break;default:throw new NoViableAltException(this)}}catch(re){if(re instanceof RecognitionException)this.errorHandler.reportError(this,re),this.errorHandler.recover(this,re);else throw re}finally{this.exitRule()}return localContext}elementFilterMember(){let localContext=new ElementFilterMemberContext(this.context,this.state);this.enterRule(localContext,440,_SysMLv2Parser.RULE_elementFilterMember);try{this.enterOuterAlt(localContext,1),this.state=2760,this.memberPrefix(),this.state=2761,this.match(_SysMLv2Parser.FILTER),this.state=2762,this.ownedExpression(0),this.state=2763,this.match(_SysMLv2Parser.SEMI)}catch(re){if(re instanceof RecognitionException)this.errorHandler.reportError(this,re),this.errorHandler.recover(this,re);else throw re}finally{this.exitRule()}return localContext}dependencyDeclaration(){let localContext=new DependencyDeclarationContext(this.context,this.state);this.enterRule(localContext,442,_SysMLv2Parser.RULE_dependencyDeclaration);let _la;try{this.enterOuterAlt(localContext,1);{for(this.state=2769,this.errorHandler.sync(this),this.interpreter.adaptivePredict(this.tokenStream,256,this.context)===1&&(this.state=2766,this.errorHandler.sync(this),_la=this.tokenStream.LA(1),(_la-206&-32)===0&&(1<<_la-206&12289)!==0&&(this.state=2765,this.identification()),this.state=2768,this.match(_SysMLv2Parser.FROM)),this.state=2771,this.qualifiedName(),this.state=2776,this.errorHandler.sync(this),_la=this.tokenStream.LA(1);_la===200;)this.state=2772,this.match(_SysMLv2Parser.COMMA),this.state=2773,this.qualifiedName(),this.state=2778,this.errorHandler.sync(this),_la=this.tokenStream.LA(1);for(this.state=2779,this.match(_SysMLv2Parser.TO),this.state=2780,this.qualifiedName(),this.state=2785,this.errorHandler.sync(this),_la=this.tokenStream.LA(1);_la===200;)this.state=2781,this.match(_SysMLv2Parser.COMMA),this.state=2782,this.qualifiedName(),this.state=2787,this.errorHandler.sync(this),_la=this.tokenStream.LA(1)}}catch(re){if(re instanceof RecognitionException)this.errorHandler.reportError(this,re),this.errorHandler.recover(this,re);else throw re}finally{this.exitRule()}return localContext}annotatingMember(){let localContext=new AnnotatingMemberContext(this.context,this.state);this.enterRule(localContext,444,_SysMLv2Parser.RULE_annotatingMember);try{this.enterOuterAlt(localContext,1),this.state=2788,this.annotatingElement()}catch(re){if(re instanceof RecognitionException)this.errorHandler.reportError(this,re),this.errorHandler.recover(this,re);else throw re}finally{this.exitRule()}return localContext}packageBodyElement(){let localContext=new PackageBodyElementContext(this.context,this.state);this.enterRule(localContext,446,_SysMLv2Parser.RULE_packageBodyElement);try{switch(this.state=2794,this.errorHandler.sync(this),this.interpreter.adaptivePredict(this.tokenStream,259,this.context)){case 1:this.enterOuterAlt(localContext,1),this.state=2790,this.packageMember();break;case 2:this.enterOuterAlt(localContext,2),this.state=2791,this.elementFilterMember();break;case 3:this.enterOuterAlt(localContext,3),this.state=2792,this.aliasMember();break;case 4:this.enterOuterAlt(localContext,4),this.state=2793,this.importRule();break}}catch(re){if(re instanceof RecognitionException)this.errorHandler.reportError(this,re),this.errorHandler.recover(this,re);else throw re}finally{this.exitRule()}return localContext}packageMember(){let localContext=new PackageMemberContext(this.context,this.state);this.enterRule(localContext,448,_SysMLv2Parser.RULE_packageMember);try{switch(this.enterOuterAlt(localContext,1),this.state=2796,this.memberPrefix(),this.state=2799,this.errorHandler.sync(this),this.interpreter.adaptivePredict(this.tokenStream,260,this.context)){case 1:this.state=2797,this.definitionElement();break;case 2:this.state=2798,this.usageElement();break}}catch(re){if(re instanceof RecognitionException)this.errorHandler.reportError(this,re),this.errorHandler.recover(this,re);else throw re}finally{this.exitRule()}return localContext}definitionElement(){let localContext=new DefinitionElementContext(this.context,this.state);this.enterRule(localContext,450,_SysMLv2Parser.RULE_definitionElement);try{switch(this.state=2831,this.errorHandler.sync(this),this.interpreter.adaptivePredict(this.tokenStream,261,this.context)){case 1:this.enterOuterAlt(localContext,1),this.state=2801,this.package_();break;case 2:this.enterOuterAlt(localContext,2),this.state=2802,this.libraryPackage();break;case 3:this.enterOuterAlt(localContext,3),this.state=2803,this.annotatingElement();break;case 4:this.enterOuterAlt(localContext,4),this.state=2804,this.dependency();break;case 5:this.enterOuterAlt(localContext,5),this.state=2805,this.attributeDefinition();break;case 6:this.enterOuterAlt(localContext,6),this.state=2806,this.enumerationDefinition();break;case 7:this.enterOuterAlt(localContext,7),this.state=2807,this.occurrenceDefinition();break;case 8:this.enterOuterAlt(localContext,8),this.state=2808,this.individualDefinition();break;case 9:this.enterOuterAlt(localContext,9),this.state=2809,this.itemDefinition();break;case 10:this.enterOuterAlt(localContext,10),this.state=2810,this.partDefinition();break;case 11:this.enterOuterAlt(localContext,11),this.state=2811,this.connectionDefinition();break;case 12:this.enterOuterAlt(localContext,12),this.state=2812,this.flowDefinition();break;case 13:this.enterOuterAlt(localContext,13),this.state=2813,this.interfaceDefinition();break;case 14:this.enterOuterAlt(localContext,14),this.state=2814,this.portDefinition();break;case 15:this.enterOuterAlt(localContext,15),this.state=2815,this.actionDefinition();break;case 16:this.enterOuterAlt(localContext,16),this.state=2816,this.calculationDefinition();break;case 17:this.enterOuterAlt(localContext,17),this.state=2817,this.stateDefinition();break;case 18:this.enterOuterAlt(localContext,18),this.state=2818,this.constraintDefinition();break;case 19:this.enterOuterAlt(localContext,19),this.state=2819,this.requirementDefinition();break;case 20:this.enterOuterAlt(localContext,20),this.state=2820,this.concernDefinition();break;case 21:this.enterOuterAlt(localContext,21),this.state=2821,this.caseDefinition();break;case 22:this.enterOuterAlt(localContext,22),this.state=2822,this.analysisCaseDefinition();break;case 23:this.enterOuterAlt(localContext,23),this.state=2823,this.verificationCaseDefinition();break;case 24:this.enterOuterAlt(localContext,24),this.state=2824,this.useCaseDefinition();break;case 25:this.enterOuterAlt(localContext,25),this.state=2825,this.viewDefinition();break;case 26:this.enterOuterAlt(localContext,26),this.state=2826,this.viewpointDefinition();break;case 27:this.enterOuterAlt(localContext,27),this.state=2827,this.renderingDefinition();break;case 28:this.enterOuterAlt(localContext,28),this.state=2828,this.metadataDefinition();break;case 29:this.enterOuterAlt(localContext,29),this.state=2829,this.allocationDefinition();break;case 30:this.enterOuterAlt(localContext,30),this.state=2830,this.extendedDefinition();break}}catch(re){if(re instanceof RecognitionException)this.errorHandler.reportError(this,re),this.errorHandler.recover(this,re);else throw re}finally{this.exitRule()}return localContext}usageElement(){let localContext=new UsageElementContext(this.context,this.state);this.enterRule(localContext,452,_SysMLv2Parser.RULE_usageElement);try{switch(this.state=2835,this.errorHandler.sync(this),this.interpreter.adaptivePredict(this.tokenStream,262,this.context)){case 1:this.enterOuterAlt(localContext,1),this.state=2833,this.nonOccurrenceUsageElement();break;case 2:this.enterOuterAlt(localContext,2),this.state=2834,this.occurrenceUsageElement();break}}catch(re){if(re instanceof RecognitionException)this.errorHandler.reportError(this,re),this.errorHandler.recover(this,re);else throw re}finally{this.exitRule()}return localContext}basicDefinitionPrefix(){let localContext=new BasicDefinitionPrefixContext(this.context,this.state);this.enterRule(localContext,454,_SysMLv2Parser.RULE_basicDefinitionPrefix);let _la;try{this.enterOuterAlt(localContext,1),this.state=2837,_la=this.tokenStream.LA(1),_la===2||_la===165?(this.errorHandler.reportMatch(this),this.consume()):this.errorHandler.recoverInline(this)}catch(re){if(re instanceof RecognitionException)this.errorHandler.reportError(this,re),this.errorHandler.recover(this,re);else throw re}finally{this.exitRule()}return localContext}definitionExtensionKeyword(){let localContext=new DefinitionExtensionKeywordContext(this.context,this.state);this.enterRule(localContext,456,_SysMLv2Parser.RULE_definitionExtensionKeyword);try{this.enterOuterAlt(localContext,1),this.state=2839,this.prefixMetadataMember()}catch(re){if(re instanceof RecognitionException)this.errorHandler.reportError(this,re),this.errorHandler.recover(this,re);else throw re}finally{this.exitRule()}return localContext}definitionPrefix(){let localContext=new DefinitionPrefixContext(this.context,this.state);this.enterRule(localContext,458,_SysMLv2Parser.RULE_definitionPrefix);let _la;try{for(this.enterOuterAlt(localContext,1),this.state=2842,this.errorHandler.sync(this),_la=this.tokenStream.LA(1),(_la===2||_la===165)&&(this.state=2841,this.basicDefinitionPrefix()),this.state=2847,this.errorHandler.sync(this),_la=this.tokenStream.LA(1);_la===192;)this.state=2844,this.definitionExtensionKeyword(),this.state=2849,this.errorHandler.sync(this),_la=this.tokenStream.LA(1)}catch(re){if(re instanceof RecognitionException)this.errorHandler.reportError(this,re),this.errorHandler.recover(this,re);else throw re}finally{this.exitRule()}return localContext}definition(){let localContext=new DefinitionContext(this.context,this.state);this.enterRule(localContext,460,_SysMLv2Parser.RULE_definition);try{this.enterOuterAlt(localContext,1),this.state=2850,this.definitionDeclaration(),this.state=2851,this.definitionBody()}catch(re){if(re instanceof RecognitionException)this.errorHandler.reportError(this,re),this.errorHandler.recover(this,re);else throw re}finally{this.exitRule()}return localContext}definitionDeclaration(){let localContext=new DefinitionDeclarationContext(this.context,this.state);this.enterRule(localContext,462,_SysMLv2Parser.RULE_definitionDeclaration);let _la;try{this.enterOuterAlt(localContext,1),this.state=2854,this.errorHandler.sync(this),_la=this.tokenStream.LA(1),(_la-206&-32)===0&&(1<<_la-206&12289)!==0&&(this.state=2853,this.identification()),this.state=2857,this.errorHandler.sync(this),_la=this.tokenStream.LA(1),(_la===139||_la===185)&&(this.state=2856,this.subclassificationPart())}catch(re){if(re instanceof RecognitionException)this.errorHandler.reportError(this,re),this.errorHandler.recover(this,re);else throw re}finally{this.exitRule()}return localContext}definitionBody(){let localContext=new DefinitionBodyContext(this.context,this.state);this.enterRule(localContext,464,_SysMLv2Parser.RULE_definitionBody);let _la;try{switch(this.state=2868,this.errorHandler.sync(this),this.tokenStream.LA(1)){case _SysMLv2Parser.SEMI:this.enterOuterAlt(localContext,1),this.state=2859,this.match(_SysMLv2Parser.SEMI);break;case _SysMLv2Parser.LBRACE:this.enterOuterAlt(localContext,2);{for(this.state=2860,this.match(_SysMLv2Parser.LBRACE),this.state=2864,this.errorHandler.sync(this),_la=this.tokenStream.LA(1);(_la&-32)===0&&(1<<_la&1181240980)!==0||(_la-32&-32)===0&&(1<<_la-32&490981169)!==0||(_la-69&-32)===0&&(1<<_la-69&1195473923)!==0||(_la-102&-32)===0&&(1<<_la-102&3069425937)!==0||(_la-135&-32)===0&&(1<<_la-135&3901137093)!==0||(_la-169&-32)===0&&(1<<_la-169&9011395)!==0||(_la-204&-32)===0&&(1<<_la-204&574671)!==0;)this.state=2861,this.definitionBodyItem(),this.state=2866,this.errorHandler.sync(this),_la=this.tokenStream.LA(1);this.state=2867,this.match(_SysMLv2Parser.RBRACE)}break;default:throw new NoViableAltException(this)}}catch(re){if(re instanceof RecognitionException)this.errorHandler.reportError(this,re),this.errorHandler.recover(this,re);else throw re}finally{this.exitRule()}return localContext}definitionBodyItem(){let localContext=new DefinitionBodyItemContext(this.context,this.state);this.enterRule(localContext,466,_SysMLv2Parser.RULE_definitionBodyItem);let _la;try{switch(this.state=2880,this.errorHandler.sync(this),this.interpreter.adaptivePredict(this.tokenStream,270,this.context)){case 1:this.enterOuterAlt(localContext,1),this.state=2870,this.importRule();break;case 2:this.enterOuterAlt(localContext,2),this.state=2871,this.memberPrefix(),this.state=2872,this.definitionBodyItemContent();break;case 3:this.enterOuterAlt(localContext,3),this.state=2875,this.errorHandler.sync(this),_la=this.tokenStream.LA(1),_la===152&&(this.state=2874,this.sourceSuccessionMember()),this.state=2877,this.memberPrefix(),this.state=2878,this.occurrenceUsageElement();break}}catch(re){if(re instanceof RecognitionException)this.errorHandler.reportError(this,re),this.errorHandler.recover(this,re);else throw re}finally{this.exitRule()}return localContext}definitionBodyItemContent(){let localContext=new DefinitionBodyItemContentContext(this.context,this.state);this.enterRule(localContext,468,_SysMLv2Parser.RULE_definitionBodyItemContent);let _la;try{switch(this.state=2900,this.errorHandler.sync(this),this.interpreter.adaptivePredict(this.tokenStream,273,this.context)){case 1:this.enterOuterAlt(localContext,1),this.state=2882,this.match(_SysMLv2Parser.ALIAS),this.state=2887,this.errorHandler.sync(this),_la=this.tokenStream.LA(1),_la===206&&(this.state=2883,this.match(_SysMLv2Parser.LT),this.state=2884,this.name(),this.state=2885,this.match(_SysMLv2Parser.GT)),this.state=2890,this.errorHandler.sync(this),_la=this.tokenStream.LA(1),(_la===218||_la===219)&&(this.state=2889,this.name()),this.state=2892,this.match(_SysMLv2Parser.FOR),this.state=2893,this.qualifiedName(),this.state=2894,this.relationshipBody();break;case 2:this.enterOuterAlt(localContext,2),this.state=2896,this.match(_SysMLv2Parser.VARIANT),this.state=2897,this.variantUsageElement();break;case 3:this.enterOuterAlt(localContext,3),this.state=2898,this.definitionElement();break;case 4:this.enterOuterAlt(localContext,4),this.state=2899,this.nonOccurrenceUsageElement();break}}catch(re){if(re instanceof RecognitionException)this.errorHandler.reportError(this,re),this.errorHandler.recover(this,re);else throw re}finally{this.exitRule()}return localContext}definitionMember(){let localContext=new DefinitionMemberContext(this.context,this.state);this.enterRule(localContext,470,_SysMLv2Parser.RULE_definitionMember);try{this.enterOuterAlt(localContext,1),this.state=2902,this.memberPrefix(),this.state=2903,this.definitionElement()}catch(re){if(re instanceof RecognitionException)this.errorHandler.reportError(this,re),this.errorHandler.recover(this,re);else throw re}finally{this.exitRule()}return localContext}variantUsageMember(){let localContext=new VariantUsageMemberContext(this.context,this.state);this.enterRule(localContext,472,_SysMLv2Parser.RULE_variantUsageMember);try{this.enterOuterAlt(localContext,1),this.state=2905,this.memberPrefix(),this.state=2906,this.match(_SysMLv2Parser.VARIANT),this.state=2907,this.variantUsageElement()}catch(re){if(re instanceof RecognitionException)this.errorHandler.reportError(this,re),this.errorHandler.recover(this,re);else throw re}finally{this.exitRule()}return localContext}nonOccurrenceUsageMember(){let localContext=new NonOccurrenceUsageMemberContext(this.context,this.state);this.enterRule(localContext,474,_SysMLv2Parser.RULE_nonOccurrenceUsageMember);try{this.enterOuterAlt(localContext,1),this.state=2909,this.memberPrefix(),this.state=2910,this.nonOccurrenceUsageElement()}catch(re){if(re instanceof RecognitionException)this.errorHandler.reportError(this,re),this.errorHandler.recover(this,re);else throw re}finally{this.exitRule()}return localContext}occurrenceUsageMember(){let localContext=new OccurrenceUsageMemberContext(this.context,this.state);this.enterRule(localContext,476,_SysMLv2Parser.RULE_occurrenceUsageMember);try{this.enterOuterAlt(localContext,1),this.state=2912,this.memberPrefix(),this.state=2913,this.occurrenceUsageElement()}catch(re){if(re instanceof RecognitionException)this.errorHandler.reportError(this,re),this.errorHandler.recover(this,re);else throw re}finally{this.exitRule()}return localContext}structureUsageMember(){let localContext=new StructureUsageMemberContext(this.context,this.state);this.enterRule(localContext,478,_SysMLv2Parser.RULE_structureUsageMember);try{this.enterOuterAlt(localContext,1),this.state=2915,this.memberPrefix(),this.state=2916,this.structureUsageElement()}catch(re){if(re instanceof RecognitionException)this.errorHandler.reportError(this,re),this.errorHandler.recover(this,re);else throw re}finally{this.exitRule()}return localContext}behaviorUsageMember(){let localContext=new BehaviorUsageMemberContext(this.context,this.state);this.enterRule(localContext,480,_SysMLv2Parser.RULE_behaviorUsageMember);try{this.enterOuterAlt(localContext,1),this.state=2918,this.memberPrefix(),this.state=2919,this.behaviorUsageElement()}catch(re){if(re instanceof RecognitionException)this.errorHandler.reportError(this,re),this.errorHandler.recover(this,re);else throw re}finally{this.exitRule()}return localContext}refPrefix(){let localContext=new RefPrefixContext(this.context,this.state);this.enterRule(localContext,482,_SysMLv2Parser.RULE_refPrefix);let _la;try{this.enterOuterAlt(localContext,1),this.state=2922,this.errorHandler.sync(this),_la=this.tokenStream.LA(1),(_la===80||_la===83||_la===114)&&(this.state=2921,this.featureDirection()),this.state=2925,this.errorHandler.sync(this),_la=this.tokenStream.LA(1),_la===49&&(this.state=2924,this.match(_SysMLv2Parser.DERIVED)),this.state=2928,this.errorHandler.sync(this),_la=this.tokenStream.LA(1),(_la===2||_la===165)&&(this.state=2927,_la=this.tokenStream.LA(1),_la===2||_la===165?(this.errorHandler.reportMatch(this),this.consume()):this.errorHandler.recoverInline(this)),this.state=2931,this.errorHandler.sync(this),_la=this.tokenStream.LA(1),_la===40&&(this.state=2930,this.match(_SysMLv2Parser.CONSTANT))}catch(re){if(re instanceof RecognitionException)this.errorHandler.reportError(this,re),this.errorHandler.recover(this,re);else throw re}finally{this.exitRule()}return localContext}basicUsagePrefix(){let localContext=new BasicUsagePrefixContext(this.context,this.state);this.enterRule(localContext,484,_SysMLv2Parser.RULE_basicUsagePrefix);try{this.enterOuterAlt(localContext,1),this.state=2933,this.refPrefix(),this.state=2935,this.errorHandler.sync(this),this.interpreter.adaptivePredict(this.tokenStream,278,this.context)===1&&(this.state=2934,this.match(_SysMLv2Parser.REF))}catch(re){if(re instanceof RecognitionException)this.errorHandler.reportError(this,re),this.errorHandler.recover(this,re);else throw re}finally{this.exitRule()}return localContext}endUsagePrefix(){let localContext=new EndUsagePrefixContext(this.context,this.state);this.enterRule(localContext,486,_SysMLv2Parser.RULE_endUsagePrefix);try{this.enterOuterAlt(localContext,1),this.state=2937,this.match(_SysMLv2Parser.END),this.state=2938,this.ownedCrossFeatureMember()}catch(re){if(re instanceof RecognitionException)this.errorHandler.reportError(this,re),this.errorHandler.recover(this,re);else throw re}finally{this.exitRule()}return localContext}usageExtensionKeyword(){let localContext=new UsageExtensionKeywordContext(this.context,this.state);this.enterRule(localContext,488,_SysMLv2Parser.RULE_usageExtensionKeyword);try{this.enterOuterAlt(localContext,1),this.state=2940,this.prefixMetadataMember()}catch(re){if(re instanceof RecognitionException)this.errorHandler.reportError(this,re),this.errorHandler.recover(this,re);else throw re}finally{this.exitRule()}return localContext}unextendedUsagePrefix(){let localContext=new UnextendedUsagePrefixContext(this.context,this.state);this.enterRule(localContext,490,_SysMLv2Parser.RULE_unextendedUsagePrefix);try{switch(this.state=2944,this.errorHandler.sync(this),this.tokenStream.LA(1)){case _SysMLv2Parser.END:this.enterOuterAlt(localContext,1),this.state=2942,this.endUsagePrefix();break;case _SysMLv2Parser.ABSTRACT:case _SysMLv2Parser.ATTRIBUTE:case _SysMLv2Parser.BIND:case _SysMLv2Parser.BINDING:case _SysMLv2Parser.CONSTANT:case _SysMLv2Parser.DERIVED:case _SysMLv2Parser.ENUM:case _SysMLv2Parser.FIRST:case _SysMLv2Parser.IN:case _SysMLv2Parser.INOUT:case _SysMLv2Parser.OUT:case _SysMLv2Parser.REF:case _SysMLv2Parser.SUCCESSION:case _SysMLv2Parser.VARIATION:case _SysMLv2Parser.HASH:this.enterOuterAlt(localContext,2),this.state=2943,this.basicUsagePrefix();break;default:throw new NoViableAltException(this)}}catch(re){if(re instanceof RecognitionException)this.errorHandler.reportError(this,re),this.errorHandler.recover(this,re);else throw re}finally{this.exitRule()}return localContext}usagePrefix(){let localContext=new UsagePrefixContext(this.context,this.state);this.enterRule(localContext,492,_SysMLv2Parser.RULE_usagePrefix);let _la;try{for(this.enterOuterAlt(localContext,1),this.state=2946,this.unextendedUsagePrefix(),this.state=2950,this.errorHandler.sync(this),_la=this.tokenStream.LA(1);_la===192;)this.state=2947,this.usageExtensionKeyword(),this.state=2952,this.errorHandler.sync(this),_la=this.tokenStream.LA(1)}catch(re){if(re instanceof RecognitionException)this.errorHandler.reportError(this,re),this.errorHandler.recover(this,re);else throw re}finally{this.exitRule()}return localContext}usage(){let localContext=new UsageContext(this.context,this.state);this.enterRule(localContext,494,_SysMLv2Parser.RULE_usage);let _la;try{this.enterOuterAlt(localContext,1),this.state=2954,this.errorHandler.sync(this),_la=this.tokenStream.LA(1),(_la===42||_la===47||(_la-106&-32)===0&&(1<<_la-106&4718721)!==0||(_la-148&-32)===0&&(1<<_la-148&402654209)!==0||(_la-185&-32)===0&&(1<<_la-185&69730313)!==0||_la===218||_la===219)&&(this.state=2953,this.usageDeclaration()),this.state=2956,this.usageCompletion()}catch(re){if(re instanceof RecognitionException)this.errorHandler.reportError(this,re),this.errorHandler.recover(this,re);else throw re}finally{this.exitRule()}return localContext}usageDeclaration(){let localContext=new UsageDeclarationContext(this.context,this.state);this.enterRule(localContext,496,_SysMLv2Parser.RULE_usageDeclaration);try{switch(this.state=2963,this.errorHandler.sync(this),this.tokenStream.LA(1)){case _SysMLv2Parser.LT:case _SysMLv2Parser.IDENTIFIER:case _SysMLv2Parser.STRING:this.enterOuterAlt(localContext,1),this.state=2958,this.identification(),this.state=2960,this.errorHandler.sync(this),this.interpreter.adaptivePredict(this.tokenStream,282,this.context)===1&&(this.state=2959,this.featureSpecializationPart());break;case _SysMLv2Parser.CROSSES:case _SysMLv2Parser.DEFINED:case _SysMLv2Parser.NONUNIQUE:case _SysMLv2Parser.ORDERED:case _SysMLv2Parser.REDEFINES:case _SysMLv2Parser.REFERENCES:case _SysMLv2Parser.SUBSETS:case _SysMLv2Parser.TYPED:case _SysMLv2Parser.COLON_COLON_GT:case _SysMLv2Parser.COLON_GT_GT:case _SysMLv2Parser.COLON_GT:case _SysMLv2Parser.FAT_ARROW:case _SysMLv2Parser.COLON:case _SysMLv2Parser.LBRACK:this.enterOuterAlt(localContext,2),this.state=2962,this.featureSpecializationPart();break;default:throw new NoViableAltException(this)}}catch(re){if(re instanceof RecognitionException)this.errorHandler.reportError(this,re),this.errorHandler.recover(this,re);else throw re}finally{this.exitRule()}return localContext}usageCompletion(){let localContext=new UsageCompletionContext(this.context,this.state);this.enterRule(localContext,498,_SysMLv2Parser.RULE_usageCompletion);let _la;try{this.enterOuterAlt(localContext,1),this.state=2966,this.errorHandler.sync(this),_la=this.tokenStream.LA(1),(_la===46||_la===184||_la===207)&&(this.state=2965,this.valuePart()),this.state=2968,this.usageBody()}catch(re){if(re instanceof RecognitionException)this.errorHandler.reportError(this,re),this.errorHandler.recover(this,re);else throw re}finally{this.exitRule()}return localContext}usageBody(){let localContext=new UsageBodyContext(this.context,this.state);this.enterRule(localContext,500,_SysMLv2Parser.RULE_usageBody);try{this.enterOuterAlt(localContext,1),this.state=2970,this.definitionBody()}catch(re){if(re instanceof RecognitionException)this.errorHandler.reportError(this,re),this.errorHandler.recover(this,re);else throw re}finally{this.exitRule()}return localContext}defaultReferenceUsage(){let localContext=new DefaultReferenceUsageContext(this.context,this.state);this.enterRule(localContext,502,_SysMLv2Parser.RULE_defaultReferenceUsage);try{this.enterOuterAlt(localContext,1),this.state=2972,this.refPrefix(),this.state=2973,this.usage()}catch(re){if(re instanceof RecognitionException)this.errorHandler.reportError(this,re),this.errorHandler.recover(this,re);else throw re}finally{this.exitRule()}return localContext}referenceUsage(){let localContext=new ReferenceUsageContext(this.context,this.state);this.enterRule(localContext,504,_SysMLv2Parser.RULE_referenceUsage);try{this.enterOuterAlt(localContext,1);{switch(this.state=2977,this.errorHandler.sync(this),this.tokenStream.LA(1)){case _SysMLv2Parser.END:this.state=2975,this.endUsagePrefix();break;case _SysMLv2Parser.ABSTRACT:case _SysMLv2Parser.CONSTANT:case _SysMLv2Parser.DERIVED:case _SysMLv2Parser.IN:case _SysMLv2Parser.INOUT:case _SysMLv2Parser.OUT:case _SysMLv2Parser.REF:case _SysMLv2Parser.VARIATION:this.state=2976,this.refPrefix();break;default:throw new NoViableAltException(this)}this.state=2979,this.match(_SysMLv2Parser.REF),this.state=2980,this.usage()}}catch(re){if(re instanceof RecognitionException)this.errorHandler.reportError(this,re),this.errorHandler.recover(this,re);else throw re}finally{this.exitRule()}return localContext}endFeatureUsage(){let localContext=new EndFeatureUsageContext(this.context,this.state);this.enterRule(localContext,506,_SysMLv2Parser.RULE_endFeatureUsage);try{this.enterOuterAlt(localContext,1),this.state=2982,this.endUsagePrefix(),this.state=2983,this.featureDeclaration(),this.state=2984,this.usageCompletion()}catch(re){if(re instanceof RecognitionException)this.errorHandler.reportError(this,re),this.errorHandler.recover(this,re);else throw re}finally{this.exitRule()}return localContext}variantReference(){let localContext=new VariantReferenceContext(this.context,this.state);this.enterRule(localContext,508,_SysMLv2Parser.RULE_variantReference);let _la;try{this.enterOuterAlt(localContext,1);{for(this.state=2986,this.ownedReferenceSubsetting(),this.state=2990,this.errorHandler.sync(this),_la=this.tokenStream.LA(1);_la===42||_la===47||(_la-125&-32)===0&&(1<<_la-125&8388617)!==0||(_la-158&-32)===0&&(1<<_la-158&1208352769)!==0||_la===204;)this.state=2987,this.featureSpecialization(),this.state=2992,this.errorHandler.sync(this),_la=this.tokenStream.LA(1);this.state=2993,this.usageBody()}}catch(re){if(re instanceof RecognitionException)this.errorHandler.reportError(this,re),this.errorHandler.recover(this,re);else throw re}finally{this.exitRule()}return localContext}nonOccurrenceUsageElement(){let localContext=new NonOccurrenceUsageElementContext(this.context,this.state);this.enterRule(localContext,510,_SysMLv2Parser.RULE_nonOccurrenceUsageElement);try{switch(this.state=3003,this.errorHandler.sync(this),this.interpreter.adaptivePredict(this.tokenStream,287,this.context)){case 1:this.enterOuterAlt(localContext,1),this.state=2995,this.referenceUsage();break;case 2:this.enterOuterAlt(localContext,2),this.state=2996,this.endFeatureUsage();break;case 3:this.enterOuterAlt(localContext,3),this.state=2997,this.attributeUsage();break;case 4:this.enterOuterAlt(localContext,4),this.state=2998,this.enumerationUsage();break;case 5:this.enterOuterAlt(localContext,5),this.state=2999,this.bindingConnectorAsUsage();break;case 6:this.enterOuterAlt(localContext,6),this.state=3e3,this.successionAsUsage();break;case 7:this.enterOuterAlt(localContext,7),this.state=3001,this.extendedUsage();break;case 8:this.enterOuterAlt(localContext,8),this.state=3002,this.defaultReferenceUsage();break}}catch(re){if(re instanceof RecognitionException)this.errorHandler.reportError(this,re),this.errorHandler.recover(this,re);else throw re}finally{this.exitRule()}return localContext}occurrenceUsageElement(){let localContext=new OccurrenceUsageElementContext(this.context,this.state);this.enterRule(localContext,512,_SysMLv2Parser.RULE_occurrenceUsageElement);try{switch(this.state=3007,this.errorHandler.sync(this),this.interpreter.adaptivePredict(this.tokenStream,288,this.context)){case 1:this.enterOuterAlt(localContext,1),this.state=3005,this.structureUsageElement();break;case 2:this.enterOuterAlt(localContext,2),this.state=3006,this.behaviorUsageElement();break}}catch(re){if(re instanceof RecognitionException)this.errorHandler.reportError(this,re),this.errorHandler.recover(this,re);else throw re}finally{this.exitRule()}return localContext}structureUsageElement(){let localContext=new StructureUsageElementContext(this.context,this.state);this.enterRule(localContext,514,_SysMLv2Parser.RULE_structureUsageElement);try{switch(this.state=3024,this.errorHandler.sync(this),this.interpreter.adaptivePredict(this.tokenStream,289,this.context)){case 1:this.enterOuterAlt(localContext,1),this.state=3009,this.occurrenceUsage();break;case 2:this.enterOuterAlt(localContext,2),this.state=3010,this.individualUsage();break;case 3:this.enterOuterAlt(localContext,3),this.state=3011,this.portionUsage();break;case 4:this.enterOuterAlt(localContext,4),this.state=3012,this.eventOccurrenceUsage();break;case 5:this.enterOuterAlt(localContext,5),this.state=3013,this.itemUsage();break;case 6:this.enterOuterAlt(localContext,6),this.state=3014,this.partUsage();break;case 7:this.enterOuterAlt(localContext,7),this.state=3015,this.viewUsage();break;case 8:this.enterOuterAlt(localContext,8),this.state=3016,this.renderingUsage();break;case 9:this.enterOuterAlt(localContext,9),this.state=3017,this.portUsage();break;case 10:this.enterOuterAlt(localContext,10),this.state=3018,this.connectionUsage();break;case 11:this.enterOuterAlt(localContext,11),this.state=3019,this.interfaceUsage();break;case 12:this.enterOuterAlt(localContext,12),this.state=3020,this.allocationUsage();break;case 13:this.enterOuterAlt(localContext,13),this.state=3021,this.message();break;case 14:this.enterOuterAlt(localContext,14),this.state=3022,this.flowUsage();break;case 15:this.enterOuterAlt(localContext,15),this.state=3023,this.successionFlowUsage();break}}catch(re){if(re instanceof RecognitionException)this.errorHandler.reportError(this,re),this.errorHandler.recover(this,re);else throw re}finally{this.exitRule()}return localContext}behaviorUsageElement(){let localContext=new BehaviorUsageElementContext(this.context,this.state);this.enterRule(localContext,516,_SysMLv2Parser.RULE_behaviorUsageElement);try{switch(this.state=3042,this.errorHandler.sync(this),this.interpreter.adaptivePredict(this.tokenStream,290,this.context)){case 1:this.enterOuterAlt(localContext,1),this.state=3026,this.actionUsage();break;case 2:this.enterOuterAlt(localContext,2),this.state=3027,this.calculationUsage();break;case 3:this.enterOuterAlt(localContext,3),this.state=3028,this.stateUsage();break;case 4:this.enterOuterAlt(localContext,4),this.state=3029,this.constraintUsage();break;case 5:this.enterOuterAlt(localContext,5),this.state=3030,this.requirementUsage();break;case 6:this.enterOuterAlt(localContext,6),this.state=3031,this.concernUsage();break;case 7:this.enterOuterAlt(localContext,7),this.state=3032,this.caseUsage();break;case 8:this.enterOuterAlt(localContext,8),this.state=3033,this.analysisCaseUsage();break;case 9:this.enterOuterAlt(localContext,9),this.state=3034,this.verificationCaseUsage();break;case 10:this.enterOuterAlt(localContext,10),this.state=3035,this.useCaseUsage();break;case 11:this.enterOuterAlt(localContext,11),this.state=3036,this.viewpointUsage();break;case 12:this.enterOuterAlt(localContext,12),this.state=3037,this.performActionUsage();break;case 13:this.enterOuterAlt(localContext,13),this.state=3038,this.exhibitStateUsage();break;case 14:this.enterOuterAlt(localContext,14),this.state=3039,this.includeUseCaseUsage();break;case 15:this.enterOuterAlt(localContext,15),this.state=3040,this.assertConstraintUsage();break;case 16:this.enterOuterAlt(localContext,16),this.state=3041,this.satisfyRequirementUsage();break}}catch(re){if(re instanceof RecognitionException)this.errorHandler.reportError(this,re),this.errorHandler.recover(this,re);else throw re}finally{this.exitRule()}return localContext}variantUsageElement(){let localContext=new VariantUsageElementContext(this.context,this.state);this.enterRule(localContext,518,_SysMLv2Parser.RULE_variantUsageElement);try{switch(this.state=3065,this.errorHandler.sync(this),this.interpreter.adaptivePredict(this.tokenStream,291,this.context)){case 1:this.enterOuterAlt(localContext,1),this.state=3044,this.variantReference();break;case 2:this.enterOuterAlt(localContext,2),this.state=3045,this.referenceUsage();break;case 3:this.enterOuterAlt(localContext,3),this.state=3046,this.attributeUsage();break;case 4:this.enterOuterAlt(localContext,4),this.state=3047,this.bindingConnectorAsUsage();break;case 5:this.enterOuterAlt(localContext,5),this.state=3048,this.successionAsUsage();break;case 6:this.enterOuterAlt(localContext,6),this.state=3049,this.occurrenceUsage();break;case 7:this.enterOuterAlt(localContext,7),this.state=3050,this.individualUsage();break;case 8:this.enterOuterAlt(localContext,8),this.state=3051,this.portionUsage();break;case 9:this.enterOuterAlt(localContext,9),this.state=3052,this.eventOccurrenceUsage();break;case 10:this.enterOuterAlt(localContext,10),this.state=3053,this.itemUsage();break;case 11:this.enterOuterAlt(localContext,11),this.state=3054,this.partUsage();break;case 12:this.enterOuterAlt(localContext,12),this.state=3055,this.viewUsage();break;case 13:this.enterOuterAlt(localContext,13),this.state=3056,this.renderingUsage();break;case 14:this.enterOuterAlt(localContext,14),this.state=3057,this.portUsage();break;case 15:this.enterOuterAlt(localContext,15),this.state=3058,this.connectionUsage();break;case 16:this.enterOuterAlt(localContext,16),this.state=3059,this.interfaceUsage();break;case 17:this.enterOuterAlt(localContext,17),this.state=3060,this.allocationUsage();break;case 18:this.enterOuterAlt(localContext,18),this.state=3061,this.message();break;case 19:this.enterOuterAlt(localContext,19),this.state=3062,this.flowUsage();break;case 20:this.enterOuterAlt(localContext,20),this.state=3063,this.successionFlowUsage();break;case 21:this.enterOuterAlt(localContext,21),this.state=3064,this.behaviorUsageElement();break}}catch(re){if(re instanceof RecognitionException)this.errorHandler.reportError(this,re),this.errorHandler.recover(this,re);else throw re}finally{this.exitRule()}return localContext}subclassificationPart(){let localContext=new SubclassificationPartContext(this.context,this.state);this.enterRule(localContext,520,_SysMLv2Parser.RULE_subclassificationPart);let _la;try{for(this.enterOuterAlt(localContext,1),this.state=3067,_la=this.tokenStream.LA(1),_la===139||_la===185?(this.errorHandler.reportMatch(this),this.consume()):this.errorHandler.recoverInline(this),this.state=3068,this.ownedSubclassification(),this.state=3073,this.errorHandler.sync(this),_la=this.tokenStream.LA(1);_la===200;)this.state=3069,this.match(_SysMLv2Parser.COMMA),this.state=3070,this.ownedSubclassification(),this.state=3075,this.errorHandler.sync(this),_la=this.tokenStream.LA(1)}catch(re){if(re instanceof RecognitionException)this.errorHandler.reportError(this,re),this.errorHandler.recover(this,re);else throw re}finally{this.exitRule()}return localContext}attributeDefinition(){let localContext=new AttributeDefinitionContext(this.context,this.state);this.enterRule(localContext,522,_SysMLv2Parser.RULE_attributeDefinition);try{this.enterOuterAlt(localContext,1),this.state=3076,this.definitionPrefix(),this.state=3077,this.match(_SysMLv2Parser.ATTRIBUTE),this.state=3078,this.match(_SysMLv2Parser.DEF),this.state=3079,this.definition()}catch(re){if(re instanceof RecognitionException)this.errorHandler.reportError(this,re),this.errorHandler.recover(this,re);else throw re}finally{this.exitRule()}return localContext}attributeUsage(){let localContext=new AttributeUsageContext(this.context,this.state);this.enterRule(localContext,524,_SysMLv2Parser.RULE_attributeUsage);try{this.enterOuterAlt(localContext,1),this.state=3081,this.usagePrefix(),this.state=3082,this.match(_SysMLv2Parser.ATTRIBUTE),this.state=3083,this.usage()}catch(re){if(re instanceof RecognitionException)this.errorHandler.reportError(this,re),this.errorHandler.recover(this,re);else throw re}finally{this.exitRule()}return localContext}enumerationDefinition(){let localContext=new EnumerationDefinitionContext(this.context,this.state);this.enterRule(localContext,526,_SysMLv2Parser.RULE_enumerationDefinition);let _la;try{this.enterOuterAlt(localContext,1);{for(this.state=3088,this.errorHandler.sync(this),_la=this.tokenStream.LA(1);_la===192;)this.state=3085,this.definitionExtensionKeyword(),this.state=3090,this.errorHandler.sync(this),_la=this.tokenStream.LA(1);this.state=3091,this.match(_SysMLv2Parser.ENUM),this.state=3092,this.match(_SysMLv2Parser.DEF),this.state=3093,this.definitionDeclaration(),this.state=3094,this.enumerationBody()}}catch(re){if(re instanceof RecognitionException)this.errorHandler.reportError(this,re),this.errorHandler.recover(this,re);else throw re}finally{this.exitRule()}return localContext}enumerationBody(){let localContext=new EnumerationBodyContext(this.context,this.state);this.enterRule(localContext,528,_SysMLv2Parser.RULE_enumerationBody);let _la;try{switch(this.state=3106,this.errorHandler.sync(this),this.tokenStream.LA(1)){case _SysMLv2Parser.SEMI:this.enterOuterAlt(localContext,1),this.state=3096,this.match(_SysMLv2Parser.SEMI);break;case _SysMLv2Parser.LBRACE:this.enterOuterAlt(localContext,2);{for(this.state=3097,this.match(_SysMLv2Parser.LBRACE),this.state=3102,this.errorHandler.sync(this),_la=this.tokenStream.LA(1);(_la-30&-32)===0&&(1<<_la-30&285413377)!==0||(_la-93&-32)===0&&(1<<_la-93&3759153669)!==0||(_la-125&-32)===0&&(1<<_la-125&8388681)!==0||(_la-158&-32)===0&&(1<<_la-158&1275461633)!==0||(_la-192&-32)===0&&(1<<_la-192&2353852417)!==0;){switch(this.state=3100,this.errorHandler.sync(this),this.tokenStream.LA(1)){case _SysMLv2Parser.COMMENT:case _SysMLv2Parser.DOC:case _SysMLv2Parser.LANGUAGE:case _SysMLv2Parser.LOCALE:case _SysMLv2Parser.METADATA:case _SysMLv2Parser.REP:case _SysMLv2Parser.HASH:case _SysMLv2Parser.AT_SIGN:case _SysMLv2Parser.REGULAR_COMMENT:this.state=3098,this.annotatingMember();break;case _SysMLv2Parser.CROSSES:case _SysMLv2Parser.DEFAULT:case _SysMLv2Parser.DEFINED:case _SysMLv2Parser.ENUM:case _SysMLv2Parser.NONUNIQUE:case _SysMLv2Parser.ORDERED:case _SysMLv2Parser.PRIVATE:case _SysMLv2Parser.PROTECTED:case _SysMLv2Parser.PUBLIC:case _SysMLv2Parser.REDEFINES:case _SysMLv2Parser.REFERENCES:case _SysMLv2Parser.SUBSETS:case _SysMLv2Parser.TYPED:case _SysMLv2Parser.COLON_COLON_GT:case _SysMLv2Parser.COLON_GT_GT:case _SysMLv2Parser.COLON_EQ:case _SysMLv2Parser.COLON_GT:case _SysMLv2Parser.FAT_ARROW:case _SysMLv2Parser.COLON:case _SysMLv2Parser.SEMI:case _SysMLv2Parser.LT:case _SysMLv2Parser.EQ:case _SysMLv2Parser.LBRACK:case _SysMLv2Parser.LBRACE:case _SysMLv2Parser.IDENTIFIER:case _SysMLv2Parser.STRING:this.state=3099,this.enumerationUsageMember();break;default:throw new NoViableAltException(this)}this.state=3104,this.errorHandler.sync(this),_la=this.tokenStream.LA(1)}this.state=3105,this.match(_SysMLv2Parser.RBRACE)}break;default:throw new NoViableAltException(this)}}catch(re){if(re instanceof RecognitionException)this.errorHandler.reportError(this,re),this.errorHandler.recover(this,re);else throw re}finally{this.exitRule()}return localContext}enumerationUsageMember(){let localContext=new EnumerationUsageMemberContext(this.context,this.state);this.enterRule(localContext,530,_SysMLv2Parser.RULE_enumerationUsageMember);try{this.enterOuterAlt(localContext,1),this.state=3108,this.memberPrefix(),this.state=3109,this.enumeratedValue()}catch(re){if(re instanceof RecognitionException)this.errorHandler.reportError(this,re),this.errorHandler.recover(this,re);else throw re}finally{this.exitRule()}return localContext}enumeratedValue(){let localContext=new EnumeratedValueContext(this.context,this.state);this.enterRule(localContext,532,_SysMLv2Parser.RULE_enumeratedValue);let _la;try{this.enterOuterAlt(localContext,1),this.state=3112,this.errorHandler.sync(this),_la=this.tokenStream.LA(1),_la===58&&(this.state=3111,this.match(_SysMLv2Parser.ENUM)),this.state=3114,this.usage()}catch(re){if(re instanceof RecognitionException)this.errorHandler.reportError(this,re),this.errorHandler.recover(this,re);else throw re}finally{this.exitRule()}return localContext}enumerationUsage(){let localContext=new EnumerationUsageContext(this.context,this.state);this.enterRule(localContext,534,_SysMLv2Parser.RULE_enumerationUsage);try{this.enterOuterAlt(localContext,1),this.state=3116,this.usagePrefix(),this.state=3117,this.match(_SysMLv2Parser.ENUM),this.state=3118,this.usage()}catch(re){if(re instanceof RecognitionException)this.errorHandler.reportError(this,re),this.errorHandler.recover(this,re);else throw re}finally{this.exitRule()}return localContext}occurrenceDefinitionPrefix(){let localContext=new OccurrenceDefinitionPrefixContext(this.context,this.state);this.enterRule(localContext,536,_SysMLv2Parser.RULE_occurrenceDefinitionPrefix);let _la;try{for(this.enterOuterAlt(localContext,1),this.state=3121,this.errorHandler.sync(this),_la=this.tokenStream.LA(1),(_la===2||_la===165)&&(this.state=3120,this.basicDefinitionPrefix()),this.state=3125,this.errorHandler.sync(this),_la=this.tokenStream.LA(1),_la===82&&(this.state=3123,this.match(_SysMLv2Parser.INDIVIDUAL),this.state=3124,this.emptyMultiplicityMember()),this.state=3130,this.errorHandler.sync(this),_la=this.tokenStream.LA(1);_la===192;)this.state=3127,this.definitionExtensionKeyword(),this.state=3132,this.errorHandler.sync(this),_la=this.tokenStream.LA(1)}catch(re){if(re instanceof RecognitionException)this.errorHandler.reportError(this,re),this.errorHandler.recover(this,re);else throw re}finally{this.exitRule()}return localContext}occurrenceDefinition(){let localContext=new OccurrenceDefinitionContext(this.context,this.state);this.enterRule(localContext,538,_SysMLv2Parser.RULE_occurrenceDefinition);try{this.enterOuterAlt(localContext,1),this.state=3133,this.occurrenceDefinitionPrefix(),this.state=3134,this.match(_SysMLv2Parser.OCCURRENCE),this.state=3135,this.match(_SysMLv2Parser.DEF),this.state=3136,this.definition()}catch(re){if(re instanceof RecognitionException)this.errorHandler.reportError(this,re),this.errorHandler.recover(this,re);else throw re}finally{this.exitRule()}return localContext}individualDefinition(){let localContext=new IndividualDefinitionContext(this.context,this.state);this.enterRule(localContext,540,_SysMLv2Parser.RULE_individualDefinition);let _la;try{this.enterOuterAlt(localContext,1);{for(this.state=3139,this.errorHandler.sync(this),_la=this.tokenStream.LA(1),(_la===2||_la===165)&&(this.state=3138,this.basicDefinitionPrefix()),this.state=3141,this.match(_SysMLv2Parser.INDIVIDUAL),this.state=3145,this.errorHandler.sync(this),_la=this.tokenStream.LA(1);_la===192;)this.state=3142,this.definitionExtensionKeyword(),this.state=3147,this.errorHandler.sync(this),_la=this.tokenStream.LA(1);this.state=3148,this.match(_SysMLv2Parser.DEF),this.state=3149,this.definition(),this.state=3150,this.emptyMultiplicityMember()}}catch(re){if(re instanceof RecognitionException)this.errorHandler.reportError(this,re),this.errorHandler.recover(this,re);else throw re}finally{this.exitRule()}return localContext}emptyMultiplicityMember(){let localContext=new EmptyMultiplicityMemberContext(this.context,this.state);this.enterRule(localContext,542,_SysMLv2Parser.RULE_emptyMultiplicityMember);try{this.enterOuterAlt(localContext,1),this.state=3152,this.emptyMultiplicity_()}catch(re){if(re instanceof RecognitionException)this.errorHandler.reportError(this,re),this.errorHandler.recover(this,re);else throw re}finally{this.exitRule()}return localContext}occurrenceUsagePrefix(){let localContext=new OccurrenceUsagePrefixContext(this.context,this.state);this.enterRule(localContext,544,_SysMLv2Parser.RULE_occurrenceUsagePrefix);let _la;try{for(this.enterOuterAlt(localContext,1),this.state=3154,this.basicUsagePrefix(),this.state=3156,this.errorHandler.sync(this),_la=this.tokenStream.LA(1),_la===82&&(this.state=3155,this.match(_SysMLv2Parser.INDIVIDUAL)),this.state=3159,this.errorHandler.sync(this),_la=this.tokenStream.LA(1),(_la===137||_la===153)&&(this.state=3158,this.portionKind()),this.state=3164,this.errorHandler.sync(this),_la=this.tokenStream.LA(1);_la===192;)this.state=3161,this.usageExtensionKeyword(),this.state=3166,this.errorHandler.sync(this),_la=this.tokenStream.LA(1)}catch(re){if(re instanceof RecognitionException)this.errorHandler.reportError(this,re),this.errorHandler.recover(this,re);else throw re}finally{this.exitRule()}return localContext}occurrenceUsage(){let localContext=new OccurrenceUsageContext(this.context,this.state);this.enterRule(localContext,546,_SysMLv2Parser.RULE_occurrenceUsage);try{this.enterOuterAlt(localContext,1),this.state=3167,this.occurrenceUsagePrefix(),this.state=3168,this.match(_SysMLv2Parser.OCCURRENCE),this.state=3169,this.usage()}catch(re){if(re instanceof RecognitionException)this.errorHandler.reportError(this,re),this.errorHandler.recover(this,re);else throw re}finally{this.exitRule()}return localContext}individualUsage(){let localContext=new IndividualUsageContext(this.context,this.state);this.enterRule(localContext,548,_SysMLv2Parser.RULE_individualUsage);let _la;try{this.enterOuterAlt(localContext,1);{for(this.state=3171,this.basicUsagePrefix(),this.state=3172,this.match(_SysMLv2Parser.INDIVIDUAL),this.state=3176,this.errorHandler.sync(this),_la=this.tokenStream.LA(1);_la===192;)this.state=3173,this.usageExtensionKeyword(),this.state=3178,this.errorHandler.sync(this),_la=this.tokenStream.LA(1);this.state=3179,this.usage()}}catch(re){if(re instanceof RecognitionException)this.errorHandler.reportError(this,re),this.errorHandler.recover(this,re);else throw re}finally{this.exitRule()}return localContext}portionUsage(){let localContext=new PortionUsageContext(this.context,this.state);this.enterRule(localContext,550,_SysMLv2Parser.RULE_portionUsage);let _la;try{this.enterOuterAlt(localContext,1);{for(this.state=3181,this.basicUsagePrefix(),this.state=3183,this.errorHandler.sync(this),_la=this.tokenStream.LA(1),_la===82&&(this.state=3182,this.match(_SysMLv2Parser.INDIVIDUAL)),this.state=3185,this.portionKind(),this.state=3189,this.errorHandler.sync(this),_la=this.tokenStream.LA(1);_la===192;)this.state=3186,this.usageExtensionKeyword(),this.state=3191,this.errorHandler.sync(this),_la=this.tokenStream.LA(1);this.state=3192,this.usage()}}catch(re){if(re instanceof RecognitionException)this.errorHandler.reportError(this,re),this.errorHandler.recover(this,re);else throw re}finally{this.exitRule()}return localContext}portionKind(){let localContext=new PortionKindContext(this.context,this.state);this.enterRule(localContext,552,_SysMLv2Parser.RULE_portionKind);let _la;try{this.enterOuterAlt(localContext,1),this.state=3194,_la=this.tokenStream.LA(1),_la===137||_la===153?(this.errorHandler.reportMatch(this),this.consume()):this.errorHandler.recoverInline(this)}catch(re){if(re instanceof RecognitionException)this.errorHandler.reportError(this,re),this.errorHandler.recover(this,re);else throw re}finally{this.exitRule()}return localContext}eventOccurrenceUsage(){let localContext=new EventOccurrenceUsageContext(this.context,this.state);this.enterRule(localContext,554,_SysMLv2Parser.RULE_eventOccurrenceUsage);let _la;try{this.enterOuterAlt(localContext,1);{switch(this.state=3196,this.occurrenceUsagePrefix(),this.state=3197,this.match(_SysMLv2Parser.EVENT),this.state=3206,this.errorHandler.sync(this),this.tokenStream.LA(1)){case _SysMLv2Parser.DOLLAR:case _SysMLv2Parser.IDENTIFIER:case _SysMLv2Parser.STRING:this.state=3198,this.ownedReferenceSubsetting(),this.state=3200,this.errorHandler.sync(this),_la=this.tokenStream.LA(1),(_la===42||_la===47||(_la-106&-32)===0&&(1<<_la-106&4718721)!==0||(_la-148&-32)===0&&(1<<_la-148&402654209)!==0||(_la-185&-32)===0&&(1<<_la-185&67633161)!==0)&&(this.state=3199,this.featureSpecializationPart());break;case _SysMLv2Parser.OCCURRENCE:this.state=3202,this.match(_SysMLv2Parser.OCCURRENCE),this.state=3204,this.errorHandler.sync(this),_la=this.tokenStream.LA(1),(_la===42||_la===47||(_la-106&-32)===0&&(1<<_la-106&4718721)!==0||(_la-148&-32)===0&&(1<<_la-148&402654209)!==0||(_la-185&-32)===0&&(1<<_la-185&69730313)!==0||_la===218||_la===219)&&(this.state=3203,this.usageDeclaration());break;default:throw new NoViableAltException(this)}this.state=3208,this.usageCompletion()}}catch(re){if(re instanceof RecognitionException)this.errorHandler.reportError(this,re),this.errorHandler.recover(this,re);else throw re}finally{this.exitRule()}return localContext}sourceSuccessionMember(){let localContext=new SourceSuccessionMemberContext(this.context,this.state);this.enterRule(localContext,556,_SysMLv2Parser.RULE_sourceSuccessionMember);try{this.enterOuterAlt(localContext,1),this.state=3210,this.match(_SysMLv2Parser.THEN),this.state=3211,this.sourceSuccession()}catch(re){if(re instanceof RecognitionException)this.errorHandler.reportError(this,re),this.errorHandler.recover(this,re);else throw re}finally{this.exitRule()}return localContext}sourceSuccession(){let localContext=new SourceSuccessionContext(this.context,this.state);this.enterRule(localContext,558,_SysMLv2Parser.RULE_sourceSuccession);try{this.enterOuterAlt(localContext,1),this.state=3213,this.sourceEndMember()}catch(re){if(re instanceof RecognitionException)this.errorHandler.reportError(this,re),this.errorHandler.recover(this,re);else throw re}finally{this.exitRule()}return localContext}sourceEndMember(){let localContext=new SourceEndMemberContext(this.context,this.state);this.enterRule(localContext,560,_SysMLv2Parser.RULE_sourceEndMember);try{this.enterOuterAlt(localContext,1),this.state=3215,this.sourceEnd()}catch(re){if(re instanceof RecognitionException)this.errorHandler.reportError(this,re),this.errorHandler.recover(this,re);else throw re}finally{this.exitRule()}return localContext}sourceEnd(){let localContext=new SourceEndContext(this.context,this.state);this.enterRule(localContext,562,_SysMLv2Parser.RULE_sourceEnd);try{this.enterOuterAlt(localContext,1),this.state=3218,this.errorHandler.sync(this),this.interpreter.adaptivePredict(this.tokenStream,312,this.context)===1&&(this.state=3217,this.ownedMultiplicity())}catch(re){if(re instanceof RecognitionException)this.errorHandler.reportError(this,re),this.errorHandler.recover(this,re);else throw re}finally{this.exitRule()}return localContext}itemDefinition(){let localContext=new ItemDefinitionContext(this.context,this.state);this.enterRule(localContext,564,_SysMLv2Parser.RULE_itemDefinition);try{this.enterOuterAlt(localContext,1),this.state=3220,this.occurrenceDefinitionPrefix(),this.state=3221,this.match(_SysMLv2Parser.ITEM),this.state=3222,this.match(_SysMLv2Parser.DEF),this.state=3223,this.definition()}catch(re){if(re instanceof RecognitionException)this.errorHandler.reportError(this,re),this.errorHandler.recover(this,re);else throw re}finally{this.exitRule()}return localContext}itemUsage(){let localContext=new ItemUsageContext(this.context,this.state);this.enterRule(localContext,566,_SysMLv2Parser.RULE_itemUsage);try{this.enterOuterAlt(localContext,1),this.state=3225,this.occurrenceUsagePrefix(),this.state=3226,this.match(_SysMLv2Parser.ITEM),this.state=3227,this.usage()}catch(re){if(re instanceof RecognitionException)this.errorHandler.reportError(this,re),this.errorHandler.recover(this,re);else throw re}finally{this.exitRule()}return localContext}partDefinition(){let localContext=new PartDefinitionContext(this.context,this.state);this.enterRule(localContext,568,_SysMLv2Parser.RULE_partDefinition);try{this.enterOuterAlt(localContext,1),this.state=3229,this.occurrenceDefinitionPrefix(),this.state=3230,this.match(_SysMLv2Parser.PART),this.state=3231,this.match(_SysMLv2Parser.DEF),this.state=3232,this.definition()}catch(re){if(re instanceof RecognitionException)this.errorHandler.reportError(this,re),this.errorHandler.recover(this,re);else throw re}finally{this.exitRule()}return localContext}partUsage(){let localContext=new PartUsageContext(this.context,this.state);this.enterRule(localContext,570,_SysMLv2Parser.RULE_partUsage);try{this.enterOuterAlt(localContext,1),this.state=3234,this.occurrenceUsagePrefix(),this.state=3235,this.match(_SysMLv2Parser.PART),this.state=3236,this.usage()}catch(re){if(re instanceof RecognitionException)this.errorHandler.reportError(this,re),this.errorHandler.recover(this,re);else throw re}finally{this.exitRule()}return localContext}portDefinition(){let localContext=new PortDefinitionContext(this.context,this.state);this.enterRule(localContext,572,_SysMLv2Parser.RULE_portDefinition);try{this.enterOuterAlt(localContext,1),this.state=3238,this.definitionPrefix(),this.state=3239,this.match(_SysMLv2Parser.PORT),this.state=3240,this.match(_SysMLv2Parser.DEF),this.state=3241,this.definition(),this.state=3242,this.conjugatedPortDefinitionMember()}catch(re){if(re instanceof RecognitionException)this.errorHandler.reportError(this,re),this.errorHandler.recover(this,re);else throw re}finally{this.exitRule()}return localContext}conjugatedPortDefinitionMember(){let localContext=new ConjugatedPortDefinitionMemberContext(this.context,this.state);this.enterRule(localContext,574,_SysMLv2Parser.RULE_conjugatedPortDefinitionMember);try{this.enterOuterAlt(localContext,1),this.state=3244,this.conjugatedPortDefinition()}catch(re){if(re instanceof RecognitionException)this.errorHandler.reportError(this,re),this.errorHandler.recover(this,re);else throw re}finally{this.exitRule()}return localContext}conjugatedPortDefinition(){let localContext=new ConjugatedPortDefinitionContext(this.context,this.state);this.enterRule(localContext,576,_SysMLv2Parser.RULE_conjugatedPortDefinition);try{this.enterOuterAlt(localContext,1),this.state=3246,this.portConjugation()}catch(re){if(re instanceof RecognitionException)this.errorHandler.reportError(this,re),this.errorHandler.recover(this,re);else throw re}finally{this.exitRule()}return localContext}portUsage(){let localContext=new PortUsageContext(this.context,this.state);this.enterRule(localContext,578,_SysMLv2Parser.RULE_portUsage);try{this.enterOuterAlt(localContext,1),this.state=3248,this.occurrenceUsagePrefix(),this.state=3249,this.match(_SysMLv2Parser.PORT),this.state=3250,this.usage()}catch(re){if(re instanceof RecognitionException)this.errorHandler.reportError(this,re),this.errorHandler.recover(this,re);else throw re}finally{this.exitRule()}return localContext}conjugatedPortTyping(){let localContext=new ConjugatedPortTypingContext(this.context,this.state);this.enterRule(localContext,580,_SysMLv2Parser.RULE_conjugatedPortTyping);try{this.enterOuterAlt(localContext,1),this.state=3252,this.match(_SysMLv2Parser.TILDE),this.state=3253,this.qualifiedName()}catch(re){if(re instanceof RecognitionException)this.errorHandler.reportError(this,re),this.errorHandler.recover(this,re);else throw re}finally{this.exitRule()}return localContext}connectionDefinition(){let localContext=new ConnectionDefinitionContext(this.context,this.state);this.enterRule(localContext,582,_SysMLv2Parser.RULE_connectionDefinition);try{this.enterOuterAlt(localContext,1),this.state=3255,this.occurrenceDefinitionPrefix(),this.state=3256,this.match(_SysMLv2Parser.CONNECTION),this.state=3257,this.match(_SysMLv2Parser.DEF),this.state=3258,this.definition()}catch(re){if(re instanceof RecognitionException)this.errorHandler.reportError(this,re),this.errorHandler.recover(this,re);else throw re}finally{this.exitRule()}return localContext}connectionUsage(){let localContext=new ConnectionUsageContext(this.context,this.state);this.enterRule(localContext,584,_SysMLv2Parser.RULE_connectionUsage);let _la;try{this.enterOuterAlt(localContext,1);{switch(this.state=3260,this.occurrenceUsagePrefix(),this.state=3274,this.errorHandler.sync(this),this.tokenStream.LA(1)){case _SysMLv2Parser.CONNECTION:this.state=3261,this.match(_SysMLv2Parser.CONNECTION),this.state=3263,this.errorHandler.sync(this),_la=this.tokenStream.LA(1),(_la===42||_la===47||(_la-106&-32)===0&&(1<<_la-106&4718721)!==0||(_la-148&-32)===0&&(1<<_la-148&402654209)!==0||(_la-185&-32)===0&&(1<<_la-185&69730313)!==0||_la===218||_la===219)&&(this.state=3262,this.usageDeclaration()),this.state=3266,this.errorHandler.sync(this),_la=this.tokenStream.LA(1),(_la===46||_la===184||_la===207)&&(this.state=3265,this.valuePart()),this.state=3270,this.errorHandler.sync(this),_la=this.tokenStream.LA(1),_la===36&&(this.state=3268,this.match(_SysMLv2Parser.CONNECT),this.state=3269,this.connectorPart());break;case _SysMLv2Parser.CONNECT:this.state=3272,this.match(_SysMLv2Parser.CONNECT),this.state=3273,this.connectorPart();break;default:throw new NoViableAltException(this)}this.state=3276,this.usageBody()}}catch(re){if(re instanceof RecognitionException)this.errorHandler.reportError(this,re),this.errorHandler.recover(this,re);else throw re}finally{this.exitRule()}return localContext}connectorPart(){let localContext=new ConnectorPartContext(this.context,this.state);this.enterRule(localContext,586,_SysMLv2Parser.RULE_connectorPart);try{switch(this.state=3280,this.errorHandler.sync(this),this.tokenStream.LA(1)){case _SysMLv2Parser.DOLLAR:case _SysMLv2Parser.LBRACK:case _SysMLv2Parser.IDENTIFIER:case _SysMLv2Parser.STRING:this.enterOuterAlt(localContext,1),this.state=3278,this.binaryConnectorPart();break;case _SysMLv2Parser.LPAREN:this.enterOuterAlt(localContext,2),this.state=3279,this.naryConnectorPart();break;default:throw new NoViableAltException(this)}}catch(re){if(re instanceof RecognitionException)this.errorHandler.reportError(this,re),this.errorHandler.recover(this,re);else throw re}finally{this.exitRule()}return localContext}binaryConnectorPart(){let localContext=new BinaryConnectorPartContext(this.context,this.state);this.enterRule(localContext,588,_SysMLv2Parser.RULE_binaryConnectorPart);try{this.enterOuterAlt(localContext,1),this.state=3282,this.connectorEndMember(),this.state=3283,this.match(_SysMLv2Parser.TO),this.state=3284,this.connectorEndMember()}catch(re){if(re instanceof RecognitionException)this.errorHandler.reportError(this,re),this.errorHandler.recover(this,re);else throw re}finally{this.exitRule()}return localContext}naryConnectorPart(){let localContext=new NaryConnectorPartContext(this.context,this.state);this.enterRule(localContext,590,_SysMLv2Parser.RULE_naryConnectorPart);let _la;try{this.enterOuterAlt(localContext,1);{for(this.state=3286,this.match(_SysMLv2Parser.LPAREN),this.state=3287,this.connectorEndMember(),this.state=3288,this.match(_SysMLv2Parser.COMMA),this.state=3289,this.connectorEndMember(),this.state=3294,this.errorHandler.sync(this),_la=this.tokenStream.LA(1);_la===200;)this.state=3290,this.match(_SysMLv2Parser.COMMA),this.state=3291,this.connectorEndMember(),this.state=3296,this.errorHandler.sync(this),_la=this.tokenStream.LA(1);this.state=3297,this.match(_SysMLv2Parser.RPAREN)}}catch(re){if(re instanceof RecognitionException)this.errorHandler.reportError(this,re),this.errorHandler.recover(this,re);else throw re}finally{this.exitRule()}return localContext}bindingConnectorAsUsage(){let localContext=new BindingConnectorAsUsageContext(this.context,this.state);this.enterRule(localContext,592,_SysMLv2Parser.RULE_bindingConnectorAsUsage);let _la;try{this.enterOuterAlt(localContext,1),this.state=3299,this.usagePrefix(),this.state=3304,this.errorHandler.sync(this),_la=this.tokenStream.LA(1),_la===22&&(this.state=3300,this.match(_SysMLv2Parser.BINDING),this.state=3302,this.errorHandler.sync(this),_la=this.tokenStream.LA(1),(_la===42||_la===47||(_la-106&-32)===0&&(1<<_la-106&4718721)!==0||(_la-148&-32)===0&&(1<<_la-148&402654209)!==0||(_la-185&-32)===0&&(1<<_la-185&69730313)!==0||_la===218||_la===219)&&(this.state=3301,this.usageDeclaration())),this.state=3306,this.match(_SysMLv2Parser.BIND),this.state=3307,this.connectorEndMember(),this.state=3308,this.match(_SysMLv2Parser.EQ),this.state=3309,this.connectorEndMember(),this.state=3310,this.usageBody()}catch(re){if(re instanceof RecognitionException)this.errorHandler.reportError(this,re),this.errorHandler.recover(this,re);else throw re}finally{this.exitRule()}return localContext}successionAsUsage(){let localContext=new SuccessionAsUsageContext(this.context,this.state);this.enterRule(localContext,594,_SysMLv2Parser.RULE_successionAsUsage);let _la;try{this.enterOuterAlt(localContext,1),this.state=3312,this.usagePrefix(),this.state=3317,this.errorHandler.sync(this),_la=this.tokenStream.LA(1),_la===150&&(this.state=3313,this.match(_SysMLv2Parser.SUCCESSION),this.state=3315,this.errorHandler.sync(this),_la=this.tokenStream.LA(1),(_la===42||_la===47||(_la-106&-32)===0&&(1<<_la-106&4718721)!==0||(_la-148&-32)===0&&(1<<_la-148&402654209)!==0||(_la-185&-32)===0&&(1<<_la-185&69730313)!==0||_la===218||_la===219)&&(this.state=3314,this.usageDeclaration())),this.state=3319,this.match(_SysMLv2Parser.FIRST),this.state=3320,this.connectorEndMember(),this.state=3321,this.match(_SysMLv2Parser.THEN),this.state=3322,this.connectorEndMember(),this.state=3323,this.usageBody()}catch(re){if(re instanceof RecognitionException)this.errorHandler.reportError(this,re),this.errorHandler.recover(this,re);else throw re}finally{this.exitRule()}return localContext}interfaceDefinition(){let localContext=new InterfaceDefinitionContext(this.context,this.state);this.enterRule(localContext,596,_SysMLv2Parser.RULE_interfaceDefinition);try{this.enterOuterAlt(localContext,1),this.state=3325,this.occurrenceDefinitionPrefix(),this.state=3326,this.match(_SysMLv2Parser.INTERFACE),this.state=3327,this.match(_SysMLv2Parser.DEF),this.state=3328,this.definitionDeclaration(),this.state=3329,this.interfaceBody()}catch(re){if(re instanceof RecognitionException)this.errorHandler.reportError(this,re),this.errorHandler.recover(this,re);else throw re}finally{this.exitRule()}return localContext}interfaceBody(){let localContext=new InterfaceBodyContext(this.context,this.state);this.enterRule(localContext,598,_SysMLv2Parser.RULE_interfaceBody);let _la;try{switch(this.state=3340,this.errorHandler.sync(this),this.tokenStream.LA(1)){case _SysMLv2Parser.SEMI:this.enterOuterAlt(localContext,1),this.state=3331,this.match(_SysMLv2Parser.SEMI);break;case _SysMLv2Parser.LBRACE:this.enterOuterAlt(localContext,2);{for(this.state=3332,this.match(_SysMLv2Parser.LBRACE),this.state=3336,this.errorHandler.sync(this),_la=this.tokenStream.LA(1);(_la&-32)===0&&(1<<_la&1181240980)!==0||(_la-32&-32)===0&&(1<<_la-32&490930993)!==0||(_la-69&-32)===0&&(1<<_la-69&1195473923)!==0||(_la-102&-32)===0&&(1<<_la-102&2993926401)!==0||(_la-135&-32)===0&&(1<<_la-135&3892740293)!==0||(_la-169&-32)===0&&(1<<_la-169&8388611)!==0||_la===210||_la===223;)this.state=3333,this.interfaceBodyItem(),this.state=3338,this.errorHandler.sync(this),_la=this.tokenStream.LA(1);this.state=3339,this.match(_SysMLv2Parser.RBRACE)}break;default:throw new NoViableAltException(this)}}catch(re){if(re instanceof RecognitionException)this.errorHandler.reportError(this,re),this.errorHandler.recover(this,re);else throw re}finally{this.exitRule()}return localContext}interfaceBodyItem(){let localContext=new InterfaceBodyItemContext(this.context,this.state);this.enterRule(localContext,600,_SysMLv2Parser.RULE_interfaceBodyItem);let _la;try{switch(this.state=3351,this.errorHandler.sync(this),this.interpreter.adaptivePredict(this.tokenStream,326,this.context)){case 1:this.enterOuterAlt(localContext,1),this.state=3342,this.definitionMember();break;case 2:this.enterOuterAlt(localContext,2),this.state=3343,this.variantUsageMember();break;case 3:this.enterOuterAlt(localContext,3),this.state=3344,this.interfaceNonOccurrenceUsageMember();break;case 4:this.enterOuterAlt(localContext,4),this.state=3346,this.errorHandler.sync(this),_la=this.tokenStream.LA(1),_la===152&&(this.state=3345,this.sourceSuccessionMember()),this.state=3348,this.interfaceOccurrenceUsageMember();break;case 5:this.enterOuterAlt(localContext,5),this.state=3349,this.aliasMember();break;case 6:this.enterOuterAlt(localContext,6),this.state=3350,this.importRule();break}}catch(re){if(re instanceof RecognitionException)this.errorHandler.reportError(this,re),this.errorHandler.recover(this,re);else throw re}finally{this.exitRule()}return localContext}interfaceNonOccurrenceUsageMember(){let localContext=new InterfaceNonOccurrenceUsageMemberContext(this.context,this.state);this.enterRule(localContext,602,_SysMLv2Parser.RULE_interfaceNonOccurrenceUsageMember);try{this.enterOuterAlt(localContext,1),this.state=3353,this.memberPrefix(),this.state=3354,this.interfaceNonOccurrenceUsageElement()}catch(re){if(re instanceof RecognitionException)this.errorHandler.reportError(this,re),this.errorHandler.recover(this,re);else throw re}finally{this.exitRule()}return localContext}interfaceNonOccurrenceUsageElement(){let localContext=new InterfaceNonOccurrenceUsageElementContext(this.context,this.state);this.enterRule(localContext,604,_SysMLv2Parser.RULE_interfaceNonOccurrenceUsageElement);try{switch(this.state=3361,this.errorHandler.sync(this),this.interpreter.adaptivePredict(this.tokenStream,327,this.context)){case 1:this.enterOuterAlt(localContext,1),this.state=3356,this.referenceUsage();break;case 2:this.enterOuterAlt(localContext,2),this.state=3357,this.attributeUsage();break;case 3:this.enterOuterAlt(localContext,3),this.state=3358,this.enumerationUsage();break;case 4:this.enterOuterAlt(localContext,4),this.state=3359,this.bindingConnectorAsUsage();break;case 5:this.enterOuterAlt(localContext,5),this.state=3360,this.successionAsUsage();break}}catch(re){if(re instanceof RecognitionException)this.errorHandler.reportError(this,re),this.errorHandler.recover(this,re);else throw re}finally{this.exitRule()}return localContext}interfaceOccurrenceUsageMember(){let localContext=new InterfaceOccurrenceUsageMemberContext(this.context,this.state);this.enterRule(localContext,606,_SysMLv2Parser.RULE_interfaceOccurrenceUsageMember);try{this.enterOuterAlt(localContext,1),this.state=3363,this.memberPrefix(),this.state=3364,this.interfaceOccurrenceUsageElement()}catch(re){if(re instanceof RecognitionException)this.errorHandler.reportError(this,re),this.errorHandler.recover(this,re);else throw re}finally{this.exitRule()}return localContext}interfaceOccurrenceUsageElement(){let localContext=new InterfaceOccurrenceUsageElementContext(this.context,this.state);this.enterRule(localContext,608,_SysMLv2Parser.RULE_interfaceOccurrenceUsageElement);try{switch(this.state=3369,this.errorHandler.sync(this),this.interpreter.adaptivePredict(this.tokenStream,328,this.context)){case 1:this.enterOuterAlt(localContext,1),this.state=3366,this.defaultInterfaceEnd();break;case 2:this.enterOuterAlt(localContext,2),this.state=3367,this.structureUsageElement();break;case 3:this.enterOuterAlt(localContext,3),this.state=3368,this.behaviorUsageElement();break}}catch(re){if(re instanceof RecognitionException)this.errorHandler.reportError(this,re),this.errorHandler.recover(this,re);else throw re}finally{this.exitRule()}return localContext}defaultInterfaceEnd(){let localContext=new DefaultInterfaceEndContext(this.context,this.state);this.enterRule(localContext,610,_SysMLv2Parser.RULE_defaultInterfaceEnd);try{this.enterOuterAlt(localContext,1),this.state=3371,this.match(_SysMLv2Parser.END),this.state=3372,this.usage()}catch(re){if(re instanceof RecognitionException)this.errorHandler.reportError(this,re),this.errorHandler.recover(this,re);else throw re}finally{this.exitRule()}return localContext}interfaceUsage(){let localContext=new InterfaceUsageContext(this.context,this.state);this.enterRule(localContext,612,_SysMLv2Parser.RULE_interfaceUsage);try{this.enterOuterAlt(localContext,1),this.state=3374,this.occurrenceUsagePrefix(),this.state=3375,this.match(_SysMLv2Parser.INTERFACE),this.state=3376,this.interfaceUsageDeclaration(),this.state=3377,this.interfaceBody()}catch(re){if(re instanceof RecognitionException)this.errorHandler.reportError(this,re),this.errorHandler.recover(this,re);else throw re}finally{this.exitRule()}return localContext}interfaceUsageDeclaration(){let localContext=new InterfaceUsageDeclarationContext(this.context,this.state);this.enterRule(localContext,614,_SysMLv2Parser.RULE_interfaceUsageDeclaration);let _la;try{switch(this.state=3390,this.errorHandler.sync(this),this.interpreter.adaptivePredict(this.tokenStream,332,this.context)){case 1:this.enterOuterAlt(localContext,1),this.state=3380,this.errorHandler.sync(this),_la=this.tokenStream.LA(1),(_la===42||_la===47||(_la-106&-32)===0&&(1<<_la-106&4718721)!==0||(_la-148&-32)===0&&(1<<_la-148&402654209)!==0||(_la-185&-32)===0&&(1<<_la-185&69730313)!==0||_la===218||_la===219)&&(this.state=3379,this.usageDeclaration()),this.state=3383,this.errorHandler.sync(this),_la=this.tokenStream.LA(1),(_la===46||_la===184||_la===207)&&(this.state=3382,this.valuePart()),this.state=3387,this.errorHandler.sync(this),_la=this.tokenStream.LA(1),_la===36&&(this.state=3385,this.match(_SysMLv2Parser.CONNECT),this.state=3386,this.interfacePart());break;case 2:this.enterOuterAlt(localContext,2),this.state=3389,this.interfacePart();break}}catch(re){if(re instanceof RecognitionException)this.errorHandler.reportError(this,re),this.errorHandler.recover(this,re);else throw re}finally{this.exitRule()}return localContext}interfacePart(){let localContext=new InterfacePartContext(this.context,this.state);this.enterRule(localContext,616,_SysMLv2Parser.RULE_interfacePart);try{switch(this.state=3394,this.errorHandler.sync(this),this.tokenStream.LA(1)){case _SysMLv2Parser.DOLLAR:case _SysMLv2Parser.LBRACK:case _SysMLv2Parser.IDENTIFIER:case _SysMLv2Parser.STRING:this.enterOuterAlt(localContext,1),this.state=3392,this.binaryInterfacePart();break;case _SysMLv2Parser.LPAREN:this.enterOuterAlt(localContext,2),this.state=3393,this.naryInterfacePart();break;default:throw new NoViableAltException(this)}}catch(re){if(re instanceof RecognitionException)this.errorHandler.reportError(this,re),this.errorHandler.recover(this,re);else throw re}finally{this.exitRule()}return localContext}binaryInterfacePart(){let localContext=new BinaryInterfacePartContext(this.context,this.state);this.enterRule(localContext,618,_SysMLv2Parser.RULE_binaryInterfacePart);try{this.enterOuterAlt(localContext,1),this.state=3396,this.interfaceEndMember(),this.state=3397,this.match(_SysMLv2Parser.TO),this.state=3398,this.interfaceEndMember()}catch(re){if(re instanceof RecognitionException)this.errorHandler.reportError(this,re),this.errorHandler.recover(this,re);else throw re}finally{this.exitRule()}return localContext}naryInterfacePart(){let localContext=new NaryInterfacePartContext(this.context,this.state);this.enterRule(localContext,620,_SysMLv2Parser.RULE_naryInterfacePart);let _la;try{this.enterOuterAlt(localContext,1);{for(this.state=3400,this.match(_SysMLv2Parser.LPAREN),this.state=3401,this.interfaceEndMember(),this.state=3402,this.match(_SysMLv2Parser.COMMA),this.state=3403,this.interfaceEndMember(),this.state=3408,this.errorHandler.sync(this),_la=this.tokenStream.LA(1);_la===200;)this.state=3404,this.match(_SysMLv2Parser.COMMA),this.state=3405,this.interfaceEndMember(),this.state=3410,this.errorHandler.sync(this),_la=this.tokenStream.LA(1);this.state=3411,this.match(_SysMLv2Parser.RPAREN)}}catch(re){if(re instanceof RecognitionException)this.errorHandler.reportError(this,re),this.errorHandler.recover(this,re);else throw re}finally{this.exitRule()}return localContext}interfaceEndMember(){let localContext=new InterfaceEndMemberContext(this.context,this.state);this.enterRule(localContext,622,_SysMLv2Parser.RULE_interfaceEndMember);try{this.enterOuterAlt(localContext,1),this.state=3413,this.interfaceEnd()}catch(re){if(re instanceof RecognitionException)this.errorHandler.reportError(this,re),this.errorHandler.recover(this,re);else throw re}finally{this.exitRule()}return localContext}interfaceEnd(){let localContext=new InterfaceEndContext(this.context,this.state);this.enterRule(localContext,624,_SysMLv2Parser.RULE_interfaceEnd);let _la;try{this.enterOuterAlt(localContext,1),this.state=3416,this.errorHandler.sync(this),_la=this.tokenStream.LA(1),_la===211&&(this.state=3415,this.ownedCrossMultiplicityMember()),this.state=3421,this.errorHandler.sync(this),this.interpreter.adaptivePredict(this.tokenStream,336,this.context)===1&&(this.state=3418,this.name(),this.state=3419,_la=this.tokenStream.LA(1),_la===128||_la===175?(this.errorHandler.reportMatch(this),this.consume()):this.errorHandler.recoverInline(this)),this.state=3423,this.ownedReferenceSubsetting()}catch(re){if(re instanceof RecognitionException)this.errorHandler.reportError(this,re),this.errorHandler.recover(this,re);else throw re}finally{this.exitRule()}return localContext}allocationDefinition(){let localContext=new AllocationDefinitionContext(this.context,this.state);this.enterRule(localContext,626,_SysMLv2Parser.RULE_allocationDefinition);try{this.enterOuterAlt(localContext,1),this.state=3425,this.occurrenceDefinitionPrefix(),this.state=3426,this.match(_SysMLv2Parser.ALLOCATION),this.state=3427,this.match(_SysMLv2Parser.DEF),this.state=3428,this.definition()}catch(re){if(re instanceof RecognitionException)this.errorHandler.reportError(this,re),this.errorHandler.recover(this,re);else throw re}finally{this.exitRule()}return localContext}allocationUsage(){let localContext=new AllocationUsageContext(this.context,this.state);this.enterRule(localContext,628,_SysMLv2Parser.RULE_allocationUsage);try{this.enterOuterAlt(localContext,1),this.state=3430,this.occurrenceUsagePrefix(),this.state=3431,this.allocationUsageDeclaration(),this.state=3432,this.usageBody()}catch(re){if(re instanceof RecognitionException)this.errorHandler.reportError(this,re),this.errorHandler.recover(this,re);else throw re}finally{this.exitRule()}return localContext}allocationUsageDeclaration(){let localContext=new AllocationUsageDeclarationContext(this.context,this.state);this.enterRule(localContext,630,_SysMLv2Parser.RULE_allocationUsageDeclaration);let _la;try{switch(this.state=3444,this.errorHandler.sync(this),this.tokenStream.LA(1)){case _SysMLv2Parser.ALLOCATION:this.enterOuterAlt(localContext,1),this.state=3434,this.match(_SysMLv2Parser.ALLOCATION),this.state=3436,this.errorHandler.sync(this),_la=this.tokenStream.LA(1),(_la===42||_la===47||(_la-106&-32)===0&&(1<<_la-106&4718721)!==0||(_la-148&-32)===0&&(1<<_la-148&402654209)!==0||(_la-185&-32)===0&&(1<<_la-185&69730313)!==0||_la===218||_la===219)&&(this.state=3435,this.usageDeclaration()),this.state=3440,this.errorHandler.sync(this),_la=this.tokenStream.LA(1),_la===9&&(this.state=3438,this.match(_SysMLv2Parser.ALLOCATE),this.state=3439,this.connectorPart());break;case _SysMLv2Parser.ALLOCATE:this.enterOuterAlt(localContext,2),this.state=3442,this.match(_SysMLv2Parser.ALLOCATE),this.state=3443,this.connectorPart();break;default:throw new NoViableAltException(this)}}catch(re){if(re instanceof RecognitionException)this.errorHandler.reportError(this,re),this.errorHandler.recover(this,re);else throw re}finally{this.exitRule()}return localContext}flowDefinition(){let localContext=new FlowDefinitionContext(this.context,this.state);this.enterRule(localContext,632,_SysMLv2Parser.RULE_flowDefinition);try{this.enterOuterAlt(localContext,1),this.state=3446,this.occurrenceDefinitionPrefix(),this.state=3447,this.match(_SysMLv2Parser.FLOW),this.state=3448,this.match(_SysMLv2Parser.DEF),this.state=3449,this.definition()}catch(re){if(re instanceof RecognitionException)this.errorHandler.reportError(this,re),this.errorHandler.recover(this,re);else throw re}finally{this.exitRule()}return localContext}message(){let localContext=new MessageContext(this.context,this.state);this.enterRule(localContext,634,_SysMLv2Parser.RULE_message);try{this.enterOuterAlt(localContext,1),this.state=3451,this.occurrenceUsagePrefix(),this.state=3452,this.match(_SysMLv2Parser.MESSAGE),this.state=3453,this.messageDeclaration(),this.state=3454,this.definitionBody()}catch(re){if(re instanceof RecognitionException)this.errorHandler.reportError(this,re),this.errorHandler.recover(this,re);else throw re}finally{this.exitRule()}return localContext}messageDeclaration(){let localContext=new MessageDeclarationContext(this.context,this.state);this.enterRule(localContext,636,_SysMLv2Parser.RULE_messageDeclaration);let _la;try{switch(this.state=3477,this.errorHandler.sync(this),this.interpreter.adaptivePredict(this.tokenStream,344,this.context)){case 1:this.enterOuterAlt(localContext,1),this.state=3457,this.errorHandler.sync(this),_la=this.tokenStream.LA(1),(_la===42||_la===47||(_la-106&-32)===0&&(1<<_la-106&4718721)!==0||(_la-148&-32)===0&&(1<<_la-148&402654209)!==0||(_la-185&-32)===0&&(1<<_la-185&69730313)!==0||_la===218||_la===219)&&(this.state=3456,this.usageDeclaration()),this.state=3460,this.errorHandler.sync(this),_la=this.tokenStream.LA(1),(_la===46||_la===184||_la===207)&&(this.state=3459,this.valuePart()),this.state=3464,this.errorHandler.sync(this),_la=this.tokenStream.LA(1),_la===111&&(this.state=3462,this.match(_SysMLv2Parser.OF),this.state=3463,this.flowPayloadFeatureMember()),this.state=3471,this.errorHandler.sync(this),_la=this.tokenStream.LA(1),_la===74&&(this.state=3466,this.match(_SysMLv2Parser.FROM),this.state=3467,this.messageEventMember(),this.state=3468,this.match(_SysMLv2Parser.TO),this.state=3469,this.messageEventMember());break;case 2:this.enterOuterAlt(localContext,2),this.state=3473,this.messageEventMember(),this.state=3474,this.match(_SysMLv2Parser.TO),this.state=3475,this.messageEventMember();break}}catch(re){if(re instanceof RecognitionException)this.errorHandler.reportError(this,re),this.errorHandler.recover(this,re);else throw re}finally{this.exitRule()}return localContext}messageEventMember(){let localContext=new MessageEventMemberContext(this.context,this.state);this.enterRule(localContext,638,_SysMLv2Parser.RULE_messageEventMember);try{this.enterOuterAlt(localContext,1),this.state=3479,this.messageEvent()}catch(re){if(re instanceof RecognitionException)this.errorHandler.reportError(this,re),this.errorHandler.recover(this,re);else throw re}finally{this.exitRule()}return localContext}messageEvent(){let localContext=new MessageEventContext(this.context,this.state);this.enterRule(localContext,640,_SysMLv2Parser.RULE_messageEvent);try{this.enterOuterAlt(localContext,1),this.state=3481,this.ownedReferenceSubsetting()}catch(re){if(re instanceof RecognitionException)this.errorHandler.reportError(this,re),this.errorHandler.recover(this,re);else throw re}finally{this.exitRule()}return localContext}flowUsage(){let localContext=new FlowUsageContext(this.context,this.state);this.enterRule(localContext,642,_SysMLv2Parser.RULE_flowUsage);try{this.enterOuterAlt(localContext,1),this.state=3483,this.occurrenceUsagePrefix(),this.state=3484,this.match(_SysMLv2Parser.FLOW),this.state=3485,this.flowDeclaration(),this.state=3486,this.definitionBody()}catch(re){if(re instanceof RecognitionException)this.errorHandler.reportError(this,re),this.errorHandler.recover(this,re);else throw re}finally{this.exitRule()}return localContext}successionFlowUsage(){let localContext=new SuccessionFlowUsageContext(this.context,this.state);this.enterRule(localContext,644,_SysMLv2Parser.RULE_successionFlowUsage);try{this.enterOuterAlt(localContext,1),this.state=3488,this.occurrenceUsagePrefix(),this.state=3489,this.match(_SysMLv2Parser.SUCCESSION),this.state=3490,this.match(_SysMLv2Parser.FLOW),this.state=3491,this.flowDeclaration(),this.state=3492,this.definitionBody()}catch(re){if(re instanceof RecognitionException)this.errorHandler.reportError(this,re),this.errorHandler.recover(this,re);else throw re}finally{this.exitRule()}return localContext}flowPayloadFeatureMember(){let localContext=new FlowPayloadFeatureMemberContext(this.context,this.state);this.enterRule(localContext,646,_SysMLv2Parser.RULE_flowPayloadFeatureMember);try{this.enterOuterAlt(localContext,1),this.state=3494,this.flowPayloadFeature()}catch(re){if(re instanceof RecognitionException)this.errorHandler.reportError(this,re),this.errorHandler.recover(this,re);else throw re}finally{this.exitRule()}return localContext}flowPayloadFeature(){let localContext=new FlowPayloadFeatureContext(this.context,this.state);this.enterRule(localContext,648,_SysMLv2Parser.RULE_flowPayloadFeature);try{this.enterOuterAlt(localContext,1),this.state=3496,this.payloadFeature()}catch(re){if(re instanceof RecognitionException)this.errorHandler.reportError(this,re),this.errorHandler.recover(this,re);else throw re}finally{this.exitRule()}return localContext}flowEndSubsetting(){let localContext=new FlowEndSubsettingContext(this.context,this.state);this.enterRule(localContext,650,_SysMLv2Parser.RULE_flowEndSubsetting);try{switch(this.state=3500,this.errorHandler.sync(this),this.interpreter.adaptivePredict(this.tokenStream,345,this.context)){case 1:this.enterOuterAlt(localContext,1),this.state=3498,this.qualifiedName();break;case 2:this.enterOuterAlt(localContext,2),this.state=3499,this.featureChainPrefix();break}}catch(re){if(re instanceof RecognitionException)this.errorHandler.reportError(this,re),this.errorHandler.recover(this,re);else throw re}finally{this.exitRule()}return localContext}featureChainPrefix(){let localContext=new FeatureChainPrefixContext(this.context,this.state);this.enterRule(localContext,652,_SysMLv2Parser.RULE_featureChainPrefix);try{let alternative;this.enterOuterAlt(localContext,1);{this.state=3505,this.errorHandler.sync(this),alternative=1;do{if(alternative===1)this.state=3502,this.ownedFeatureChaining(),this.state=3503,this.match(_SysMLv2Parser.DOT);else throw new NoViableAltException(this);this.state=3507,this.errorHandler.sync(this),alternative=this.interpreter.adaptivePredict(this.tokenStream,346,this.context)}while(alternative!==2&&alternative!==ATN.INVALID_ALT_NUMBER);this.state=3509,this.ownedFeatureChaining(),this.state=3510,this.match(_SysMLv2Parser.DOT)}}catch(re){if(re instanceof RecognitionException)this.errorHandler.reportError(this,re),this.errorHandler.recover(this,re);else throw re}finally{this.exitRule()}return localContext}actionDefinition(){let localContext=new ActionDefinitionContext(this.context,this.state);this.enterRule(localContext,654,_SysMLv2Parser.RULE_actionDefinition);try{this.enterOuterAlt(localContext,1),this.state=3512,this.occurrenceDefinitionPrefix(),this.state=3513,this.match(_SysMLv2Parser.ACTION),this.state=3514,this.match(_SysMLv2Parser.DEF),this.state=3515,this.definitionDeclaration(),this.state=3516,this.actionBody()}catch(re){if(re instanceof RecognitionException)this.errorHandler.reportError(this,re),this.errorHandler.recover(this,re);else throw re}finally{this.exitRule()}return localContext}actionBody(){let localContext=new ActionBodyContext(this.context,this.state);this.enterRule(localContext,656,_SysMLv2Parser.RULE_actionBody);let _la;try{switch(this.state=3527,this.errorHandler.sync(this),this.tokenStream.LA(1)){case _SysMLv2Parser.SEMI:this.enterOuterAlt(localContext,1),this.state=3518,this.match(_SysMLv2Parser.SEMI);break;case _SysMLv2Parser.LBRACE:this.enterOuterAlt(localContext,2);{for(this.state=3519,this.match(_SysMLv2Parser.LBRACE),this.state=3523,this.errorHandler.sync(this),_la=this.tokenStream.LA(1);(_la&-32)===0&&(1<<_la&1181273756)!==0||(_la-32&-32)===0&&(1<<_la-32&490985265)!==0||(_la-69&-32)===0&&(1<<_la-69&1874951439)!==0||(_la-102&-32)===0&&(1<<_la-102&3069425937)!==0||(_la-135&-32)===0&&(1<<_la-135&3901202631)!==0||(_la-169&-32)===0&&(1<<_la-169&9011403)!==0||(_la-204&-32)===0&&(1<<_la-204&574671)!==0;)this.state=3520,this.actionBodyItem(),this.state=3525,this.errorHandler.sync(this),_la=this.tokenStream.LA(1);this.state=3526,this.match(_SysMLv2Parser.RBRACE)}break;default:throw new NoViableAltException(this)}}catch(re){if(re instanceof RecognitionException)this.errorHandler.reportError(this,re),this.errorHandler.recover(this,re);else throw re}finally{this.exitRule()}return localContext}actionBodyItem(){let localContext=new ActionBodyItemContext(this.context,this.state);this.enterRule(localContext,658,_SysMLv2Parser.RULE_actionBodyItem);let _la;try{let alternative;switch(this.state=3548,this.errorHandler.sync(this),this.interpreter.adaptivePredict(this.tokenStream,352,this.context)){case 1:this.enterOuterAlt(localContext,1),this.state=3529,this.nonBehaviorBodyItem();break;case 2:for(this.enterOuterAlt(localContext,2),this.state=3530,this.initialNodeMember(),this.state=3534,this.errorHandler.sync(this),alternative=this.interpreter.adaptivePredict(this.tokenStream,349,this.context);alternative!==2&&alternative!==ATN.INVALID_ALT_NUMBER;)alternative===1&&(this.state=3531,this.actionTargetSuccessionMember()),this.state=3536,this.errorHandler.sync(this),alternative=this.interpreter.adaptivePredict(this.tokenStream,349,this.context);break;case 3:for(this.enterOuterAlt(localContext,3),this.state=3538,this.errorHandler.sync(this),_la=this.tokenStream.LA(1),_la===152&&(this.state=3537,this.sourceSuccessionMember()),this.state=3540,this.actionBehaviorMember(),this.state=3544,this.errorHandler.sync(this),alternative=this.interpreter.adaptivePredict(this.tokenStream,351,this.context);alternative!==2&&alternative!==ATN.INVALID_ALT_NUMBER;)alternative===1&&(this.state=3541,this.actionTargetSuccessionMember()),this.state=3546,this.errorHandler.sync(this),alternative=this.interpreter.adaptivePredict(this.tokenStream,351,this.context);break;case 4:this.enterOuterAlt(localContext,4),this.state=3547,this.guardedSuccessionMember();break}}catch(re){if(re instanceof RecognitionException)this.errorHandler.reportError(this,re),this.errorHandler.recover(this,re);else throw re}finally{this.exitRule()}return localContext}nonBehaviorBodyItem(){let localContext=new NonBehaviorBodyItemContext(this.context,this.state);this.enterRule(localContext,660,_SysMLv2Parser.RULE_nonBehaviorBodyItem);let _la;try{switch(this.state=3559,this.errorHandler.sync(this),this.interpreter.adaptivePredict(this.tokenStream,354,this.context)){case 1:this.enterOuterAlt(localContext,1),this.state=3550,this.importRule();break;case 2:this.enterOuterAlt(localContext,2),this.state=3551,this.aliasMember();break;case 3:this.enterOuterAlt(localContext,3),this.state=3552,this.definitionMember();break;case 4:this.enterOuterAlt(localContext,4),this.state=3553,this.variantUsageMember();break;case 5:this.enterOuterAlt(localContext,5),this.state=3554,this.nonOccurrenceUsageMember();break;case 6:this.enterOuterAlt(localContext,6),this.state=3556,this.errorHandler.sync(this),_la=this.tokenStream.LA(1),_la===152&&(this.state=3555,this.sourceSuccessionMember()),this.state=3558,this.structureUsageMember();break}}catch(re){if(re instanceof RecognitionException)this.errorHandler.reportError(this,re),this.errorHandler.recover(this,re);else throw re}finally{this.exitRule()}return localContext}actionBehaviorMember(){let localContext=new ActionBehaviorMemberContext(this.context,this.state);this.enterRule(localContext,662,_SysMLv2Parser.RULE_actionBehaviorMember);try{switch(this.state=3563,this.errorHandler.sync(this),this.interpreter.adaptivePredict(this.tokenStream,355,this.context)){case 1:this.enterOuterAlt(localContext,1),this.state=3561,this.behaviorUsageMember();break;case 2:this.enterOuterAlt(localContext,2),this.state=3562,this.actionNodeMember();break}}catch(re){if(re instanceof RecognitionException)this.errorHandler.reportError(this,re),this.errorHandler.recover(this,re);else throw re}finally{this.exitRule()}return localContext}initialNodeMember(){let localContext=new InitialNodeMemberContext(this.context,this.state);this.enterRule(localContext,664,_SysMLv2Parser.RULE_initialNodeMember);try{this.enterOuterAlt(localContext,1),this.state=3565,this.memberPrefix(),this.state=3566,this.match(_SysMLv2Parser.FIRST),this.state=3567,this.qualifiedName(),this.state=3568,this.relationshipBody()}catch(re){if(re instanceof RecognitionException)this.errorHandler.reportError(this,re),this.errorHandler.recover(this,re);else throw re}finally{this.exitRule()}return localContext}actionNodeMember(){let localContext=new ActionNodeMemberContext(this.context,this.state);this.enterRule(localContext,666,_SysMLv2Parser.RULE_actionNodeMember);try{this.enterOuterAlt(localContext,1),this.state=3570,this.memberPrefix(),this.state=3571,this.actionNode()}catch(re){if(re instanceof RecognitionException)this.errorHandler.reportError(this,re),this.errorHandler.recover(this,re);else throw re}finally{this.exitRule()}return localContext}actionTargetSuccessionMember(){let localContext=new ActionTargetSuccessionMemberContext(this.context,this.state);this.enterRule(localContext,668,_SysMLv2Parser.RULE_actionTargetSuccessionMember);try{this.enterOuterAlt(localContext,1),this.state=3573,this.memberPrefix(),this.state=3574,this.actionTargetSuccession()}catch(re){if(re instanceof RecognitionException)this.errorHandler.reportError(this,re),this.errorHandler.recover(this,re);else throw re}finally{this.exitRule()}return localContext}guardedSuccessionMember(){let localContext=new GuardedSuccessionMemberContext(this.context,this.state);this.enterRule(localContext,670,_SysMLv2Parser.RULE_guardedSuccessionMember);try{this.enterOuterAlt(localContext,1),this.state=3576,this.memberPrefix(),this.state=3577,this.guardedSuccession()}catch(re){if(re instanceof RecognitionException)this.errorHandler.reportError(this,re),this.errorHandler.recover(this,re);else throw re}finally{this.exitRule()}return localContext}actionUsage(){let localContext=new ActionUsageContext(this.context,this.state);this.enterRule(localContext,672,_SysMLv2Parser.RULE_actionUsage);try{this.enterOuterAlt(localContext,1),this.state=3579,this.occurrenceUsagePrefix(),this.state=3580,this.match(_SysMLv2Parser.ACTION),this.state=3581,this.actionUsageDeclaration(),this.state=3582,this.actionBody()}catch(re){if(re instanceof RecognitionException)this.errorHandler.reportError(this,re),this.errorHandler.recover(this,re);else throw re}finally{this.exitRule()}return localContext}actionUsageDeclaration(){let localContext=new ActionUsageDeclarationContext(this.context,this.state);this.enterRule(localContext,674,_SysMLv2Parser.RULE_actionUsageDeclaration);let _la;try{this.enterOuterAlt(localContext,1),this.state=3585,this.errorHandler.sync(this),_la=this.tokenStream.LA(1),(_la===42||_la===47||(_la-106&-32)===0&&(1<<_la-106&4718721)!==0||(_la-148&-32)===0&&(1<<_la-148&402654209)!==0||(_la-185&-32)===0&&(1<<_la-185&69730313)!==0||_la===218||_la===219)&&(this.state=3584,this.usageDeclaration()),this.state=3588,this.errorHandler.sync(this),_la=this.tokenStream.LA(1),(_la===46||_la===184||_la===207)&&(this.state=3587,this.valuePart())}catch(re){if(re instanceof RecognitionException)this.errorHandler.reportError(this,re),this.errorHandler.recover(this,re);else throw re}finally{this.exitRule()}return localContext}performActionUsage(){let localContext=new PerformActionUsageContext(this.context,this.state);this.enterRule(localContext,676,_SysMLv2Parser.RULE_performActionUsage);try{this.enterOuterAlt(localContext,1),this.state=3590,this.occurrenceUsagePrefix(),this.state=3591,this.match(_SysMLv2Parser.PERFORM),this.state=3592,this.performActionUsageDeclaration(),this.state=3593,this.actionBody()}catch(re){if(re instanceof RecognitionException)this.errorHandler.reportError(this,re),this.errorHandler.recover(this,re);else throw re}finally{this.exitRule()}return localContext}performActionUsageDeclaration(){let localContext=new PerformActionUsageDeclarationContext(this.context,this.state);this.enterRule(localContext,678,_SysMLv2Parser.RULE_performActionUsageDeclaration);let _la;try{this.enterOuterAlt(localContext,1);{switch(this.state=3603,this.errorHandler.sync(this),this.tokenStream.LA(1)){case _SysMLv2Parser.DOLLAR:case _SysMLv2Parser.IDENTIFIER:case _SysMLv2Parser.STRING:this.state=3595,this.ownedReferenceSubsetting(),this.state=3597,this.errorHandler.sync(this),_la=this.tokenStream.LA(1),(_la===42||_la===47||(_la-106&-32)===0&&(1<<_la-106&4718721)!==0||(_la-148&-32)===0&&(1<<_la-148&402654209)!==0||(_la-185&-32)===0&&(1<<_la-185&67633161)!==0)&&(this.state=3596,this.featureSpecializationPart());break;case _SysMLv2Parser.ACTION:this.state=3599,this.match(_SysMLv2Parser.ACTION),this.state=3601,this.errorHandler.sync(this),_la=this.tokenStream.LA(1),(_la===42||_la===47||(_la-106&-32)===0&&(1<<_la-106&4718721)!==0||(_la-148&-32)===0&&(1<<_la-148&402654209)!==0||(_la-185&-32)===0&&(1<<_la-185&69730313)!==0||_la===218||_la===219)&&(this.state=3600,this.usageDeclaration());break;default:throw new NoViableAltException(this)}this.state=3606,this.errorHandler.sync(this),_la=this.tokenStream.LA(1),(_la===46||_la===184||_la===207)&&(this.state=3605,this.valuePart())}}catch(re){if(re instanceof RecognitionException)this.errorHandler.reportError(this,re),this.errorHandler.recover(this,re);else throw re}finally{this.exitRule()}return localContext}actionNode(){let localContext=new ActionNodeContext(this.context,this.state);this.enterRule(localContext,680,_SysMLv2Parser.RULE_actionNode);try{switch(this.state=3616,this.errorHandler.sync(this),this.interpreter.adaptivePredict(this.tokenStream,362,this.context)){case 1:this.enterOuterAlt(localContext,1),this.state=3608,this.controlNode();break;case 2:this.enterOuterAlt(localContext,2),this.state=3609,this.sendNode();break;case 3:this.enterOuterAlt(localContext,3),this.state=3610,this.acceptNode();break;case 4:this.enterOuterAlt(localContext,4),this.state=3611,this.assignmentNode();break;case 5:this.enterOuterAlt(localContext,5),this.state=3612,this.terminateNode();break;case 6:this.enterOuterAlt(localContext,6),this.state=3613,this.ifNode();break;case 7:this.enterOuterAlt(localContext,7),this.state=3614,this.whileLoopNode();break;case 8:this.enterOuterAlt(localContext,8),this.state=3615,this.forLoopNode();break}}catch(re){if(re instanceof RecognitionException)this.errorHandler.reportError(this,re),this.errorHandler.recover(this,re);else throw re}finally{this.exitRule()}return localContext}actionNodeUsageDeclaration(){let localContext=new ActionNodeUsageDeclarationContext(this.context,this.state);this.enterRule(localContext,682,_SysMLv2Parser.RULE_actionNodeUsageDeclaration);let _la;try{this.enterOuterAlt(localContext,1),this.state=3618,this.match(_SysMLv2Parser.ACTION),this.state=3620,this.errorHandler.sync(this),_la=this.tokenStream.LA(1),(_la===42||_la===47||(_la-106&-32)===0&&(1<<_la-106&4718721)!==0||(_la-148&-32)===0&&(1<<_la-148&402654209)!==0||(_la-185&-32)===0&&(1<<_la-185&69730313)!==0||_la===218||_la===219)&&(this.state=3619,this.usageDeclaration())}catch(re){if(re instanceof RecognitionException)this.errorHandler.reportError(this,re),this.errorHandler.recover(this,re);else throw re}finally{this.exitRule()}return localContext}actionNodePrefix(){let localContext=new ActionNodePrefixContext(this.context,this.state);this.enterRule(localContext,684,_SysMLv2Parser.RULE_actionNodePrefix);let _la;try{this.enterOuterAlt(localContext,1),this.state=3622,this.occurrenceUsagePrefix(),this.state=3624,this.errorHandler.sync(this),_la=this.tokenStream.LA(1),_la===4&&(this.state=3623,this.actionNodeUsageDeclaration())}catch(re){if(re instanceof RecognitionException)this.errorHandler.reportError(this,re),this.errorHandler.recover(this,re);else throw re}finally{this.exitRule()}return localContext}controlNode(){let localContext=new ControlNodeContext(this.context,this.state);this.enterRule(localContext,686,_SysMLv2Parser.RULE_controlNode);try{switch(this.state=3630,this.errorHandler.sync(this),this.interpreter.adaptivePredict(this.tokenStream,365,this.context)){case 1:this.enterOuterAlt(localContext,1),this.state=3626,this.mergeNode();break;case 2:this.enterOuterAlt(localContext,2),this.state=3627,this.decisionNode();break;case 3:this.enterOuterAlt(localContext,3),this.state=3628,this.joinNode();break;case 4:this.enterOuterAlt(localContext,4),this.state=3629,this.forkNode();break}}catch(re){if(re instanceof RecognitionException)this.errorHandler.reportError(this,re),this.errorHandler.recover(this,re);else throw re}finally{this.exitRule()}return localContext}controlNodePrefix(){let localContext=new ControlNodePrefixContext(this.context,this.state);this.enterRule(localContext,688,_SysMLv2Parser.RULE_controlNodePrefix);let _la;try{for(this.enterOuterAlt(localContext,1),this.state=3632,this.refPrefix(),this.state=3634,this.errorHandler.sync(this),_la=this.tokenStream.LA(1),_la===82&&(this.state=3633,this.match(_SysMLv2Parser.INDIVIDUAL)),this.state=3637,this.errorHandler.sync(this),_la=this.tokenStream.LA(1),(_la===137||_la===153)&&(this.state=3636,this.portionKind()),this.state=3642,this.errorHandler.sync(this),_la=this.tokenStream.LA(1);_la===192;)this.state=3639,this.usageExtensionKeyword(),this.state=3644,this.errorHandler.sync(this),_la=this.tokenStream.LA(1)}catch(re){if(re instanceof RecognitionException)this.errorHandler.reportError(this,re),this.errorHandler.recover(this,re);else throw re}finally{this.exitRule()}return localContext}mergeNode(){let localContext=new MergeNodeContext(this.context,this.state);this.enterRule(localContext,690,_SysMLv2Parser.RULE_mergeNode);let _la;try{this.enterOuterAlt(localContext,1),this.state=3645,this.controlNodePrefix(),this.state=3646,this.match(_SysMLv2Parser.MERGE),this.state=3648,this.errorHandler.sync(this),_la=this.tokenStream.LA(1),(_la===42||_la===47||(_la-106&-32)===0&&(1<<_la-106&4718721)!==0||(_la-148&-32)===0&&(1<<_la-148&402654209)!==0||(_la-185&-32)===0&&(1<<_la-185&69730313)!==0||_la===218||_la===219)&&(this.state=3647,this.usageDeclaration()),this.state=3650,this.actionBody()}catch(re){if(re instanceof RecognitionException)this.errorHandler.reportError(this,re),this.errorHandler.recover(this,re);else throw re}finally{this.exitRule()}return localContext}decisionNode(){let localContext=new DecisionNodeContext(this.context,this.state);this.enterRule(localContext,692,_SysMLv2Parser.RULE_decisionNode);let _la;try{this.enterOuterAlt(localContext,1),this.state=3652,this.controlNodePrefix(),this.state=3653,this.match(_SysMLv2Parser.DECIDE),this.state=3655,this.errorHandler.sync(this),_la=this.tokenStream.LA(1),(_la===42||_la===47||(_la-106&-32)===0&&(1<<_la-106&4718721)!==0||(_la-148&-32)===0&&(1<<_la-148&402654209)!==0||(_la-185&-32)===0&&(1<<_la-185&69730313)!==0||_la===218||_la===219)&&(this.state=3654,this.usageDeclaration()),this.state=3657,this.actionBody()}catch(re){if(re instanceof RecognitionException)this.errorHandler.reportError(this,re),this.errorHandler.recover(this,re);else throw re}finally{this.exitRule()}return localContext}joinNode(){let localContext=new JoinNodeContext(this.context,this.state);this.enterRule(localContext,694,_SysMLv2Parser.RULE_joinNode);let _la;try{this.enterOuterAlt(localContext,1),this.state=3659,this.controlNodePrefix(),this.state=3660,this.match(_SysMLv2Parser.JOIN),this.state=3662,this.errorHandler.sync(this),_la=this.tokenStream.LA(1),(_la===42||_la===47||(_la-106&-32)===0&&(1<<_la-106&4718721)!==0||(_la-148&-32)===0&&(1<<_la-148&402654209)!==0||(_la-185&-32)===0&&(1<<_la-185&69730313)!==0||_la===218||_la===219)&&(this.state=3661,this.usageDeclaration()),this.state=3664,this.actionBody()}catch(re){if(re instanceof RecognitionException)this.errorHandler.reportError(this,re),this.errorHandler.recover(this,re);else throw re}finally{this.exitRule()}return localContext}forkNode(){let localContext=new ForkNodeContext(this.context,this.state);this.enterRule(localContext,696,_SysMLv2Parser.RULE_forkNode);let _la;try{this.enterOuterAlt(localContext,1),this.state=3666,this.controlNodePrefix(),this.state=3667,this.match(_SysMLv2Parser.FORK),this.state=3669,this.errorHandler.sync(this),_la=this.tokenStream.LA(1),(_la===42||_la===47||(_la-106&-32)===0&&(1<<_la-106&4718721)!==0||(_la-148&-32)===0&&(1<<_la-148&402654209)!==0||(_la-185&-32)===0&&(1<<_la-185&69730313)!==0||_la===218||_la===219)&&(this.state=3668,this.usageDeclaration()),this.state=3671,this.actionBody()}catch(re){if(re instanceof RecognitionException)this.errorHandler.reportError(this,re),this.errorHandler.recover(this,re);else throw re}finally{this.exitRule()}return localContext}acceptNode(){let localContext=new AcceptNodeContext(this.context,this.state);this.enterRule(localContext,698,_SysMLv2Parser.RULE_acceptNode);try{this.enterOuterAlt(localContext,1),this.state=3673,this.occurrenceUsagePrefix(),this.state=3674,this.acceptNodeDeclaration(),this.state=3675,this.actionBody()}catch(re){if(re instanceof RecognitionException)this.errorHandler.reportError(this,re),this.errorHandler.recover(this,re);else throw re}finally{this.exitRule()}return localContext}acceptNodeDeclaration(){let localContext=new AcceptNodeDeclarationContext(this.context,this.state);this.enterRule(localContext,700,_SysMLv2Parser.RULE_acceptNodeDeclaration);let _la;try{this.enterOuterAlt(localContext,1),this.state=3678,this.errorHandler.sync(this),_la=this.tokenStream.LA(1),_la===4&&(this.state=3677,this.actionNodeUsageDeclaration()),this.state=3680,this.match(_SysMLv2Parser.ACCEPT),this.state=3681,this.acceptParameterPart()}catch(re){if(re instanceof RecognitionException)this.errorHandler.reportError(this,re),this.errorHandler.recover(this,re);else throw re}finally{this.exitRule()}return localContext}acceptParameterPart(){let localContext=new AcceptParameterPartContext(this.context,this.state);this.enterRule(localContext,702,_SysMLv2Parser.RULE_acceptParameterPart);let _la;try{this.enterOuterAlt(localContext,1),this.state=3683,this.payloadParameterMember(),this.state=3686,this.errorHandler.sync(this),_la=this.tokenStream.LA(1),_la===168&&(this.state=3684,this.match(_SysMLv2Parser.VIA),this.state=3685,this.nodeParameterMember())}catch(re){if(re instanceof RecognitionException)this.errorHandler.reportError(this,re),this.errorHandler.recover(this,re);else throw re}finally{this.exitRule()}return localContext}payloadParameterMember(){let localContext=new PayloadParameterMemberContext(this.context,this.state);this.enterRule(localContext,704,_SysMLv2Parser.RULE_payloadParameterMember);try{this.enterOuterAlt(localContext,1),this.state=3688,this.payloadParameter()}catch(re){if(re instanceof RecognitionException)this.errorHandler.reportError(this,re),this.errorHandler.recover(this,re);else throw re}finally{this.exitRule()}return localContext}payloadParameter(){let localContext=new PayloadParameterContext(this.context,this.state);this.enterRule(localContext,706,_SysMLv2Parser.RULE_payloadParameter);let _la;try{switch(this.state=3698,this.errorHandler.sync(this),this.interpreter.adaptivePredict(this.tokenStream,377,this.context)){case 1:this.enterOuterAlt(localContext,1),this.state=3690,this.payloadFeature();break;case 2:this.enterOuterAlt(localContext,2),this.state=3692,this.errorHandler.sync(this),_la=this.tokenStream.LA(1),(_la-206&-32)===0&&(1<<_la-206&12289)!==0&&(this.state=3691,this.identification()),this.state=3695,this.errorHandler.sync(this),_la=this.tokenStream.LA(1),(_la===42||_la===47||(_la-106&-32)===0&&(1<<_la-106&4718721)!==0||(_la-148&-32)===0&&(1<<_la-148&402654209)!==0||(_la-185&-32)===0&&(1<<_la-185&67633161)!==0)&&(this.state=3694,this.payloadFeatureSpecializationPart()),this.state=3697,this.triggerValuePart();break}}catch(re){if(re instanceof RecognitionException)this.errorHandler.reportError(this,re),this.errorHandler.recover(this,re);else throw re}finally{this.exitRule()}return localContext}triggerValuePart(){let localContext=new TriggerValuePartContext(this.context,this.state);this.enterRule(localContext,708,_SysMLv2Parser.RULE_triggerValuePart);try{this.enterOuterAlt(localContext,1),this.state=3700,this.triggerFeatureValue()}catch(re){if(re instanceof RecognitionException)this.errorHandler.reportError(this,re),this.errorHandler.recover(this,re);else throw re}finally{this.exitRule()}return localContext}triggerFeatureValue(){let localContext=new TriggerFeatureValueContext(this.context,this.state);this.enterRule(localContext,710,_SysMLv2Parser.RULE_triggerFeatureValue);try{this.enterOuterAlt(localContext,1),this.state=3702,this.triggerExpression()}catch(re){if(re instanceof RecognitionException)this.errorHandler.reportError(this,re),this.errorHandler.recover(this,re);else throw re}finally{this.exitRule()}return localContext}triggerExpression(){let localContext=new TriggerExpressionContext(this.context,this.state);this.enterRule(localContext,712,_SysMLv2Parser.RULE_triggerExpression);let _la;try{switch(this.state=3708,this.errorHandler.sync(this),this.tokenStream.LA(1)){case _SysMLv2Parser.AFTER:case _SysMLv2Parser.AT:this.enterOuterAlt(localContext,1),this.state=3704,_la=this.tokenStream.LA(1),_la===6||_la===18?(this.errorHandler.reportMatch(this),this.consume()):this.errorHandler.recoverInline(this),this.state=3705,this.argumentMember();break;case _SysMLv2Parser.WHEN:this.enterOuterAlt(localContext,2),this.state=3706,this.match(_SysMLv2Parser.WHEN),this.state=3707,this.argumentExpressionMember();break;default:throw new NoViableAltException(this)}}catch(re){if(re instanceof RecognitionException)this.errorHandler.reportError(this,re),this.errorHandler.recover(this,re);else throw re}finally{this.exitRule()}return localContext}sendNode(){let localContext=new SendNodeContext(this.context,this.state);this.enterRule(localContext,714,_SysMLv2Parser.RULE_sendNode);let _la;try{this.enterOuterAlt(localContext,1);{switch(this.state=3710,this.occurrenceUsagePrefix(),this.state=3713,this.errorHandler.sync(this),this.tokenStream.LA(1)){case _SysMLv2Parser.ACTION:this.state=3711,this.actionNodeUsageDeclaration();break;case _SysMLv2Parser.CROSSES:case _SysMLv2Parser.DEFAULT:case _SysMLv2Parser.DEFINED:case _SysMLv2Parser.NONUNIQUE:case _SysMLv2Parser.ORDERED:case _SysMLv2Parser.REDEFINES:case _SysMLv2Parser.REFERENCES:case _SysMLv2Parser.SEND:case _SysMLv2Parser.SUBSETS:case _SysMLv2Parser.TYPED:case _SysMLv2Parser.COLON_COLON_GT:case _SysMLv2Parser.COLON_GT_GT:case _SysMLv2Parser.COLON_EQ:case _SysMLv2Parser.COLON_GT:case _SysMLv2Parser.FAT_ARROW:case _SysMLv2Parser.COLON:case _SysMLv2Parser.LT:case _SysMLv2Parser.EQ:case _SysMLv2Parser.LBRACK:case _SysMLv2Parser.IDENTIFIER:case _SysMLv2Parser.STRING:this.state=3712,this.actionUsageDeclaration();break;default:throw new NoViableAltException(this)}switch(this.state=3715,this.match(_SysMLv2Parser.SEND),this.state=3723,this.errorHandler.sync(this),this.tokenStream.LA(1)){case _SysMLv2Parser.ALL:case _SysMLv2Parser.FALSE:case _SysMLv2Parser.IF:case _SysMLv2Parser.NEW:case _SysMLv2Parser.NOT:case _SysMLv2Parser.NULL:case _SysMLv2Parser.TRUE:case _SysMLv2Parser.AT_AT:case _SysMLv2Parser.DOLLAR:case _SysMLv2Parser.LPAREN:case _SysMLv2Parser.STAR:case _SysMLv2Parser.PLUS:case _SysMLv2Parser.MINUS:case _SysMLv2Parser.AT_SIGN:case _SysMLv2Parser.LBRACE:case _SysMLv2Parser.TILDE:case _SysMLv2Parser.IDENTIFIER:case _SysMLv2Parser.STRING:case _SysMLv2Parser.DOUBLE_STRING:case _SysMLv2Parser.INTEGER:case _SysMLv2Parser.REAL:this.state=3716,this.nodeParameterMember(),this.state=3718,this.errorHandler.sync(this),_la=this.tokenStream.LA(1),(_la===154||_la===168)&&(this.state=3717,this.senderReceiverPart());break;case _SysMLv2Parser.TO:case _SysMLv2Parser.VIA:this.state=3720,this.emptyParameterMember(),this.state=3721,this.senderReceiverPart();break;default:throw new NoViableAltException(this)}this.state=3725,this.actionBody()}}catch(re){if(re instanceof RecognitionException)this.errorHandler.reportError(this,re),this.errorHandler.recover(this,re);else throw re}finally{this.exitRule()}return localContext}sendNodeDeclaration(){let localContext=new SendNodeDeclarationContext(this.context,this.state);this.enterRule(localContext,716,_SysMLv2Parser.RULE_sendNodeDeclaration);let _la;try{this.enterOuterAlt(localContext,1),this.state=3728,this.errorHandler.sync(this),_la=this.tokenStream.LA(1),_la===4&&(this.state=3727,this.actionNodeUsageDeclaration()),this.state=3730,this.match(_SysMLv2Parser.SEND),this.state=3731,this.nodeParameterMember(),this.state=3733,this.errorHandler.sync(this),_la=this.tokenStream.LA(1),(_la===154||_la===168)&&(this.state=3732,this.senderReceiverPart())}catch(re){if(re instanceof RecognitionException)this.errorHandler.reportError(this,re),this.errorHandler.recover(this,re);else throw re}finally{this.exitRule()}return localContext}senderReceiverPart(){let localContext=new SenderReceiverPartContext(this.context,this.state);this.enterRule(localContext,718,_SysMLv2Parser.RULE_senderReceiverPart);let _la;try{switch(this.state=3745,this.errorHandler.sync(this),this.tokenStream.LA(1)){case _SysMLv2Parser.VIA:this.enterOuterAlt(localContext,1),this.state=3735,this.match(_SysMLv2Parser.VIA),this.state=3736,this.nodeParameterMember(),this.state=3739,this.errorHandler.sync(this),_la=this.tokenStream.LA(1),_la===154&&(this.state=3737,this.match(_SysMLv2Parser.TO),this.state=3738,this.nodeParameterMember());break;case _SysMLv2Parser.TO:this.enterOuterAlt(localContext,2),this.state=3741,this.emptyParameterMember(),this.state=3742,this.match(_SysMLv2Parser.TO),this.state=3743,this.nodeParameterMember();break;default:throw new NoViableAltException(this)}}catch(re){if(re instanceof RecognitionException)this.errorHandler.reportError(this,re),this.errorHandler.recover(this,re);else throw re}finally{this.exitRule()}return localContext}nodeParameterMember(){let localContext=new NodeParameterMemberContext(this.context,this.state);this.enterRule(localContext,720,_SysMLv2Parser.RULE_nodeParameterMember);try{this.enterOuterAlt(localContext,1),this.state=3747,this.nodeParameter()}catch(re){if(re instanceof RecognitionException)this.errorHandler.reportError(this,re),this.errorHandler.recover(this,re);else throw re}finally{this.exitRule()}return localContext}nodeParameter(){let localContext=new NodeParameterContext(this.context,this.state);this.enterRule(localContext,722,_SysMLv2Parser.RULE_nodeParameter);try{this.enterOuterAlt(localContext,1),this.state=3749,this.featureBinding()}catch(re){if(re instanceof RecognitionException)this.errorHandler.reportError(this,re),this.errorHandler.recover(this,re);else throw re}finally{this.exitRule()}return localContext}featureBinding(){let localContext=new FeatureBindingContext(this.context,this.state);this.enterRule(localContext,724,_SysMLv2Parser.RULE_featureBinding);try{this.enterOuterAlt(localContext,1),this.state=3751,this.ownedExpression(0)}catch(re){if(re instanceof RecognitionException)this.errorHandler.reportError(this,re),this.errorHandler.recover(this,re);else throw re}finally{this.exitRule()}return localContext}emptyParameterMember(){let localContext=new EmptyParameterMemberContext(this.context,this.state);this.enterRule(localContext,726,_SysMLv2Parser.RULE_emptyParameterMember);try{this.enterOuterAlt(localContext,1),this.state=3753,this.emptyUsage_()}catch(re){if(re instanceof RecognitionException)this.errorHandler.reportError(this,re),this.errorHandler.recover(this,re);else throw re}finally{this.exitRule()}return localContext}assignmentNode(){let localContext=new AssignmentNodeContext(this.context,this.state);this.enterRule(localContext,728,_SysMLv2Parser.RULE_assignmentNode);try{this.enterOuterAlt(localContext,1),this.state=3755,this.occurrenceUsagePrefix(),this.state=3756,this.assignmentNodeDeclaration(),this.state=3757,this.actionBody()}catch(re){if(re instanceof RecognitionException)this.errorHandler.reportError(this,re),this.errorHandler.recover(this,re);else throw re}finally{this.exitRule()}return localContext}assignmentNodeDeclaration(){let localContext=new AssignmentNodeDeclarationContext(this.context,this.state);this.enterRule(localContext,730,_SysMLv2Parser.RULE_assignmentNodeDeclaration);let _la;try{this.enterOuterAlt(localContext,1),this.state=3760,this.errorHandler.sync(this),_la=this.tokenStream.LA(1),_la===4&&(this.state=3759,this.actionNodeUsageDeclaration()),this.state=3762,this.match(_SysMLv2Parser.ASSIGN),this.state=3763,this.assignmentTargetMember(),this.state=3764,this.featureChainMember(),this.state=3765,this.match(_SysMLv2Parser.COLON_EQ),this.state=3766,this.nodeParameterMember()}catch(re){if(re instanceof RecognitionException)this.errorHandler.reportError(this,re),this.errorHandler.recover(this,re);else throw re}finally{this.exitRule()}return localContext}assignmentTargetMember(){let localContext=new AssignmentTargetMemberContext(this.context,this.state);this.enterRule(localContext,732,_SysMLv2Parser.RULE_assignmentTargetMember);try{this.enterOuterAlt(localContext,1),this.state=3768,this.assignmentTargetParameter()}catch(re){if(re instanceof RecognitionException)this.errorHandler.reportError(this,re),this.errorHandler.recover(this,re);else throw re}finally{this.exitRule()}return localContext}assignmentTargetParameter(){let localContext=new AssignmentTargetParameterContext(this.context,this.state);this.enterRule(localContext,734,_SysMLv2Parser.RULE_assignmentTargetParameter);try{this.enterOuterAlt(localContext,1),this.state=3773,this.errorHandler.sync(this),this.interpreter.adaptivePredict(this.tokenStream,387,this.context)===1&&(this.state=3770,this.assignmentTargetBinding(),this.state=3771,this.match(_SysMLv2Parser.DOT))}catch(re){if(re instanceof RecognitionException)this.errorHandler.reportError(this,re),this.errorHandler.recover(this,re);else throw re}finally{this.exitRule()}return localContext}assignmentTargetBinding(){let localContext=new AssignmentTargetBindingContext(this.context,this.state);this.enterRule(localContext,736,_SysMLv2Parser.RULE_assignmentTargetBinding);try{this.enterOuterAlt(localContext,1),this.state=3775,this.nonFeatureChainPrimaryExpression()}catch(re){if(re instanceof RecognitionException)this.errorHandler.reportError(this,re),this.errorHandler.recover(this,re);else throw re}finally{this.exitRule()}return localContext}terminateNode(){let localContext=new TerminateNodeContext(this.context,this.state);this.enterRule(localContext,738,_SysMLv2Parser.RULE_terminateNode);let _la;try{this.enterOuterAlt(localContext,1),this.state=3777,this.occurrenceUsagePrefix(),this.state=3779,this.errorHandler.sync(this),_la=this.tokenStream.LA(1),_la===4&&(this.state=3778,this.actionNodeUsageDeclaration()),this.state=3781,this.match(_SysMLv2Parser.TERMINATE),this.state=3783,this.errorHandler.sync(this),this.interpreter.adaptivePredict(this.tokenStream,389,this.context)===1&&(this.state=3782,this.nodeParameterMember()),this.state=3785,this.actionBody()}catch(re){if(re instanceof RecognitionException)this.errorHandler.reportError(this,re),this.errorHandler.recover(this,re);else throw re}finally{this.exitRule()}return localContext}ifNode(){let localContext=new IfNodeContext(this.context,this.state);this.enterRule(localContext,740,_SysMLv2Parser.RULE_ifNode);try{switch(this.enterOuterAlt(localContext,1),this.state=3787,this.actionNodePrefix(),this.state=3788,this.match(_SysMLv2Parser.IF),this.state=3789,this.expressionParameterMember(),this.state=3790,this.actionBodyParameterMember(),this.state=3796,this.errorHandler.sync(this),this.interpreter.adaptivePredict(this.tokenStream,391,this.context)){case 1:switch(this.state=3791,this.match(_SysMLv2Parser.ELSE),this.state=3794,this.errorHandler.sync(this),this.interpreter.adaptivePredict(this.tokenStream,390,this.context)){case 1:this.state=3792,this.actionBodyParameterMember();break;case 2:this.state=3793,this.ifNodeParameterMember();break}break}}catch(re){if(re instanceof RecognitionException)this.errorHandler.reportError(this,re),this.errorHandler.recover(this,re);else throw re}finally{this.exitRule()}return localContext}expressionParameterMember(){let localContext=new ExpressionParameterMemberContext(this.context,this.state);this.enterRule(localContext,742,_SysMLv2Parser.RULE_expressionParameterMember);try{this.enterOuterAlt(localContext,1),this.state=3798,this.ownedExpression(0)}catch(re){if(re instanceof RecognitionException)this.errorHandler.reportError(this,re),this.errorHandler.recover(this,re);else throw re}finally{this.exitRule()}return localContext}actionBodyParameterMember(){let localContext=new ActionBodyParameterMemberContext(this.context,this.state);this.enterRule(localContext,744,_SysMLv2Parser.RULE_actionBodyParameterMember);try{this.enterOuterAlt(localContext,1),this.state=3800,this.actionBodyParameter()}catch(re){if(re instanceof RecognitionException)this.errorHandler.reportError(this,re),this.errorHandler.recover(this,re);else throw re}finally{this.exitRule()}return localContext}actionBodyParameter(){let localContext=new ActionBodyParameterContext(this.context,this.state);this.enterRule(localContext,746,_SysMLv2Parser.RULE_actionBodyParameter);let _la;try{this.enterOuterAlt(localContext,1);{for(this.state=3806,this.errorHandler.sync(this),_la=this.tokenStream.LA(1),_la===4&&(this.state=3802,this.match(_SysMLv2Parser.ACTION),this.state=3804,this.errorHandler.sync(this),_la=this.tokenStream.LA(1),(_la===42||_la===47||(_la-106&-32)===0&&(1<<_la-106&4718721)!==0||(_la-148&-32)===0&&(1<<_la-148&402654209)!==0||(_la-185&-32)===0&&(1<<_la-185&69730313)!==0||_la===218||_la===219)&&(this.state=3803,this.usageDeclaration())),this.state=3808,this.match(_SysMLv2Parser.LBRACE),this.state=3812,this.errorHandler.sync(this),_la=this.tokenStream.LA(1);(_la&-32)===0&&(1<<_la&1181273756)!==0||(_la-32&-32)===0&&(1<<_la-32&490985265)!==0||(_la-69&-32)===0&&(1<<_la-69&1874951439)!==0||(_la-102&-32)===0&&(1<<_la-102&3069425937)!==0||(_la-135&-32)===0&&(1<<_la-135&3901202631)!==0||(_la-169&-32)===0&&(1<<_la-169&9011403)!==0||(_la-204&-32)===0&&(1<<_la-204&574671)!==0;)this.state=3809,this.actionBodyItem(),this.state=3814,this.errorHandler.sync(this),_la=this.tokenStream.LA(1);this.state=3815,this.match(_SysMLv2Parser.RBRACE)}}catch(re){if(re instanceof RecognitionException)this.errorHandler.reportError(this,re),this.errorHandler.recover(this,re);else throw re}finally{this.exitRule()}return localContext}ifNodeParameterMember(){let localContext=new IfNodeParameterMemberContext(this.context,this.state);this.enterRule(localContext,748,_SysMLv2Parser.RULE_ifNodeParameterMember);try{this.enterOuterAlt(localContext,1),this.state=3817,this.ifNode()}catch(re){if(re instanceof RecognitionException)this.errorHandler.reportError(this,re),this.errorHandler.recover(this,re);else throw re}finally{this.exitRule()}return localContext}whileLoopNode(){let localContext=new WhileLoopNodeContext(this.context,this.state);this.enterRule(localContext,750,_SysMLv2Parser.RULE_whileLoopNode);let _la;try{this.enterOuterAlt(localContext,1);{switch(this.state=3819,this.actionNodePrefix(),this.state=3824,this.errorHandler.sync(this),this.tokenStream.LA(1)){case _SysMLv2Parser.WHILE:this.state=3820,this.match(_SysMLv2Parser.WHILE),this.state=3821,this.expressionParameterMember();break;case _SysMLv2Parser.LOOP:this.state=3822,this.match(_SysMLv2Parser.LOOP),this.state=3823,this.emptyParameterMember();break;default:throw new NoViableAltException(this)}this.state=3826,this.actionBodyParameterMember(),this.state=3831,this.errorHandler.sync(this),_la=this.tokenStream.LA(1),_la===161&&(this.state=3827,this.match(_SysMLv2Parser.UNTIL),this.state=3828,this.expressionParameterMember(),this.state=3829,this.match(_SysMLv2Parser.SEMI))}}catch(re){if(re instanceof RecognitionException)this.errorHandler.reportError(this,re),this.errorHandler.recover(this,re);else throw re}finally{this.exitRule()}return localContext}forLoopNode(){let localContext=new ForLoopNodeContext(this.context,this.state);this.enterRule(localContext,752,_SysMLv2Parser.RULE_forLoopNode);try{this.enterOuterAlt(localContext,1),this.state=3833,this.actionNodePrefix(),this.state=3834,this.match(_SysMLv2Parser.FOR),this.state=3835,this.forVariableDeclarationMember(),this.state=3836,this.match(_SysMLv2Parser.IN),this.state=3837,this.nodeParameterMember(),this.state=3838,this.actionBodyParameterMember()}catch(re){if(re instanceof RecognitionException)this.errorHandler.reportError(this,re),this.errorHandler.recover(this,re);else throw re}finally{this.exitRule()}return localContext}forVariableDeclarationMember(){let localContext=new ForVariableDeclarationMemberContext(this.context,this.state);this.enterRule(localContext,754,_SysMLv2Parser.RULE_forVariableDeclarationMember);let _la;try{this.enterOuterAlt(localContext,1),this.state=3841,this.errorHandler.sync(this),_la=this.tokenStream.LA(1),(_la===42||_la===47||(_la-106&-32)===0&&(1<<_la-106&4718721)!==0||(_la-148&-32)===0&&(1<<_la-148&402654209)!==0||(_la-185&-32)===0&&(1<<_la-185&69730313)!==0||_la===218||_la===219)&&(this.state=3840,this.usageDeclaration())}catch(re){if(re instanceof RecognitionException)this.errorHandler.reportError(this,re),this.errorHandler.recover(this,re);else throw re}finally{this.exitRule()}return localContext}forVariableDeclaration(){let localContext=new ForVariableDeclarationContext(this.context,this.state);this.enterRule(localContext,756,_SysMLv2Parser.RULE_forVariableDeclaration);let _la;try{this.enterOuterAlt(localContext,1),this.state=3844,this.errorHandler.sync(this),_la=this.tokenStream.LA(1),(_la===42||_la===47||(_la-106&-32)===0&&(1<<_la-106&4718721)!==0||(_la-148&-32)===0&&(1<<_la-148&402654209)!==0||(_la-185&-32)===0&&(1<<_la-185&69730313)!==0||_la===218||_la===219)&&(this.state=3843,this.usageDeclaration())}catch(re){if(re instanceof RecognitionException)this.errorHandler.reportError(this,re),this.errorHandler.recover(this,re);else throw re}finally{this.exitRule()}return localContext}actionTargetSuccession(){let localContext=new ActionTargetSuccessionContext(this.context,this.state);this.enterRule(localContext,758,_SysMLv2Parser.RULE_actionTargetSuccession);try{this.enterOuterAlt(localContext,1);{switch(this.state=3849,this.errorHandler.sync(this),this.tokenStream.LA(1)){case _SysMLv2Parser.THEN:case _SysMLv2Parser.LBRACK:this.state=3846,this.targetSuccession();break;case _SysMLv2Parser.IF:this.state=3847,this.guardedTargetSuccession();break;case _SysMLv2Parser.ELSE:this.state=3848,this.defaultTargetSuccession();break;default:throw new NoViableAltException(this)}this.state=3851,this.usageBody()}}catch(re){if(re instanceof RecognitionException)this.errorHandler.reportError(this,re),this.errorHandler.recover(this,re);else throw re}finally{this.exitRule()}return localContext}targetSuccession(){let localContext=new TargetSuccessionContext(this.context,this.state);this.enterRule(localContext,760,_SysMLv2Parser.RULE_targetSuccession);try{this.enterOuterAlt(localContext,1),this.state=3853,this.sourceEndMember(),this.state=3854,this.match(_SysMLv2Parser.THEN),this.state=3855,this.connectorEndMember()}catch(re){if(re instanceof RecognitionException)this.errorHandler.reportError(this,re),this.errorHandler.recover(this,re);else throw re}finally{this.exitRule()}return localContext}guardedTargetSuccession(){let localContext=new GuardedTargetSuccessionContext(this.context,this.state);this.enterRule(localContext,762,_SysMLv2Parser.RULE_guardedTargetSuccession);try{this.enterOuterAlt(localContext,1),this.state=3857,this.guardExpressionMember(),this.state=3858,this.match(_SysMLv2Parser.THEN),this.state=3859,this.transitionSuccessionMember()}catch(re){if(re instanceof RecognitionException)this.errorHandler.reportError(this,re),this.errorHandler.recover(this,re);else throw re}finally{this.exitRule()}return localContext}defaultTargetSuccession(){let localContext=new DefaultTargetSuccessionContext(this.context,this.state);this.enterRule(localContext,764,_SysMLv2Parser.RULE_defaultTargetSuccession);try{this.enterOuterAlt(localContext,1),this.state=3861,this.match(_SysMLv2Parser.ELSE),this.state=3862,this.transitionSuccessionMember()}catch(re){if(re instanceof RecognitionException)this.errorHandler.reportError(this,re),this.errorHandler.recover(this,re);else throw re}finally{this.exitRule()}return localContext}guardedSuccession(){let localContext=new GuardedSuccessionContext(this.context,this.state);this.enterRule(localContext,766,_SysMLv2Parser.RULE_guardedSuccession);let _la;try{this.enterOuterAlt(localContext,1),this.state=3868,this.errorHandler.sync(this),_la=this.tokenStream.LA(1),_la===150&&(this.state=3864,this.match(_SysMLv2Parser.SUCCESSION),this.state=3866,this.errorHandler.sync(this),_la=this.tokenStream.LA(1),(_la===42||_la===47||(_la-106&-32)===0&&(1<<_la-106&4718721)!==0||(_la-148&-32)===0&&(1<<_la-148&402654209)!==0||(_la-185&-32)===0&&(1<<_la-185&69730313)!==0||_la===218||_la===219)&&(this.state=3865,this.usageDeclaration())),this.state=3870,this.match(_SysMLv2Parser.FIRST),this.state=3871,this.featureChainMember(),this.state=3872,this.guardExpressionMember(),this.state=3873,this.match(_SysMLv2Parser.THEN),this.state=3874,this.transitionSuccessionMember(),this.state=3875,this.usageBody()}catch(re){if(re instanceof RecognitionException)this.errorHandler.reportError(this,re),this.errorHandler.recover(this,re);else throw re}finally{this.exitRule()}return localContext}stateDefinition(){let localContext=new StateDefinitionContext(this.context,this.state);this.enterRule(localContext,768,_SysMLv2Parser.RULE_stateDefinition);try{this.enterOuterAlt(localContext,1),this.state=3877,this.occurrenceDefinitionPrefix(),this.state=3878,this.match(_SysMLv2Parser.STATE),this.state=3879,this.match(_SysMLv2Parser.DEF),this.state=3880,this.definitionDeclaration(),this.state=3881,this.stateDefBody()}catch(re){if(re instanceof RecognitionException)this.errorHandler.reportError(this,re),this.errorHandler.recover(this,re);else throw re}finally{this.exitRule()}return localContext}stateDefBody(){let localContext=new StateDefBodyContext(this.context,this.state);this.enterRule(localContext,770,_SysMLv2Parser.RULE_stateDefBody);let _la;try{switch(this.state=3895,this.errorHandler.sync(this),this.tokenStream.LA(1)){case _SysMLv2Parser.SEMI:this.enterOuterAlt(localContext,1),this.state=3883,this.match(_SysMLv2Parser.SEMI);break;case _SysMLv2Parser.PARALLEL:case _SysMLv2Parser.LBRACE:this.enterOuterAlt(localContext,2);{for(this.state=3885,this.errorHandler.sync(this),_la=this.tokenStream.LA(1),_la===116&&(this.state=3884,this.match(_SysMLv2Parser.PARALLEL)),this.state=3887,this.match(_SysMLv2Parser.LBRACE),this.state=3891,this.errorHandler.sync(this),_la=this.tokenStream.LA(1);(_la&-32)===0&&(1<<_la&1181240980)!==0||(_la-32&-32)===0&&(1<<_la-32&1063503665)!==0||(_la-69&-32)===0&&(1<<_la-69&1195473923)!==0||(_la-102&-32)===0&&(1<<_la-102&3069425937)!==0||(_la-135&-32)===0&&(1<<_la-135&3902185669)!==0||(_la-169&-32)===0&&(1<<_la-169&9011395)!==0||(_la-204&-32)===0&&(1<<_la-204&574671)!==0;)this.state=3888,this.stateBodyItem(),this.state=3893,this.errorHandler.sync(this),_la=this.tokenStream.LA(1);this.state=3894,this.match(_SysMLv2Parser.RBRACE)}break;default:throw new NoViableAltException(this)}}catch(re){if(re instanceof RecognitionException)this.errorHandler.reportError(this,re),this.errorHandler.recover(this,re);else throw re}finally{this.exitRule()}return localContext}stateBodyItem(){let localContext=new StateBodyItemContext(this.context,this.state);this.enterRule(localContext,772,_SysMLv2Parser.RULE_stateBodyItem);let _la;try{let alternative;switch(this.state=3918,this.errorHandler.sync(this),this.interpreter.adaptivePredict(this.tokenStream,408,this.context)){case 1:this.enterOuterAlt(localContext,1),this.state=3897,this.nonBehaviorBodyItem();break;case 2:for(this.enterOuterAlt(localContext,2),this.state=3899,this.errorHandler.sync(this),_la=this.tokenStream.LA(1),_la===152&&(this.state=3898,this.sourceSuccessionMember()),this.state=3901,this.behaviorUsageMember(),this.state=3905,this.errorHandler.sync(this),alternative=this.interpreter.adaptivePredict(this.tokenStream,406,this.context);alternative!==2&&alternative!==ATN.INVALID_ALT_NUMBER;)alternative===1&&(this.state=3902,this.targetTransitionUsageMember()),this.state=3907,this.errorHandler.sync(this),alternative=this.interpreter.adaptivePredict(this.tokenStream,406,this.context);break;case 3:this.enterOuterAlt(localContext,3),this.state=3908,this.transitionUsageMember();break;case 4:for(this.enterOuterAlt(localContext,4),this.state=3909,this.entryActionMember(),this.state=3913,this.errorHandler.sync(this),alternative=this.interpreter.adaptivePredict(this.tokenStream,407,this.context);alternative!==2&&alternative!==ATN.INVALID_ALT_NUMBER;)alternative===1&&(this.state=3910,this.entryTransitionMember()),this.state=3915,this.errorHandler.sync(this),alternative=this.interpreter.adaptivePredict(this.tokenStream,407,this.context);break;case 5:this.enterOuterAlt(localContext,5),this.state=3916,this.doActionMember();break;case 6:this.enterOuterAlt(localContext,6),this.state=3917,this.exitActionMember();break}}catch(re){if(re instanceof RecognitionException)this.errorHandler.reportError(this,re),this.errorHandler.recover(this,re);else throw re}finally{this.exitRule()}return localContext}entryActionMember(){let localContext=new EntryActionMemberContext(this.context,this.state);this.enterRule(localContext,774,_SysMLv2Parser.RULE_entryActionMember);try{this.enterOuterAlt(localContext,1),this.state=3920,this.memberPrefix(),this.state=3921,this.match(_SysMLv2Parser.ENTRY),this.state=3922,this.stateActionUsage()}catch(re){if(re instanceof RecognitionException)this.errorHandler.reportError(this,re),this.errorHandler.recover(this,re);else throw re}finally{this.exitRule()}return localContext}doActionMember(){let localContext=new DoActionMemberContext(this.context,this.state);this.enterRule(localContext,776,_SysMLv2Parser.RULE_doActionMember);try{this.enterOuterAlt(localContext,1),this.state=3924,this.memberPrefix(),this.state=3925,this.match(_SysMLv2Parser.DO),this.state=3926,this.stateActionUsage()}catch(re){if(re instanceof RecognitionException)this.errorHandler.reportError(this,re),this.errorHandler.recover(this,re);else throw re}finally{this.exitRule()}return localContext}exitActionMember(){let localContext=new ExitActionMemberContext(this.context,this.state);this.enterRule(localContext,778,_SysMLv2Parser.RULE_exitActionMember);try{this.enterOuterAlt(localContext,1),this.state=3928,this.memberPrefix(),this.state=3929,this.match(_SysMLv2Parser.EXIT),this.state=3930,this.stateActionUsage()}catch(re){if(re instanceof RecognitionException)this.errorHandler.reportError(this,re),this.errorHandler.recover(this,re);else throw re}finally{this.exitRule()}return localContext}entryTransitionMember(){let localContext=new EntryTransitionMemberContext(this.context,this.state);this.enterRule(localContext,780,_SysMLv2Parser.RULE_entryTransitionMember);try{this.enterOuterAlt(localContext,1);{switch(this.state=3932,this.memberPrefix(),this.state=3936,this.errorHandler.sync(this),this.tokenStream.LA(1)){case _SysMLv2Parser.IF:this.state=3933,this.guardedTargetSuccession();break;case _SysMLv2Parser.THEN:this.state=3934,this.match(_SysMLv2Parser.THEN),this.state=3935,this.transitionSuccessionMember();break;default:throw new NoViableAltException(this)}this.state=3938,this.match(_SysMLv2Parser.SEMI)}}catch(re){if(re instanceof RecognitionException)this.errorHandler.reportError(this,re),this.errorHandler.recover(this,re);else throw re}finally{this.exitRule()}return localContext}stateActionUsage(){let localContext=new StateActionUsageContext(this.context,this.state);this.enterRule(localContext,782,_SysMLv2Parser.RULE_stateActionUsage);try{switch(this.state=3947,this.errorHandler.sync(this),this.interpreter.adaptivePredict(this.tokenStream,410,this.context)){case 1:this.enterOuterAlt(localContext,1),this.state=3940,this.emptyActionUsage_(),this.state=3941,this.match(_SysMLv2Parser.SEMI);break;case 2:this.enterOuterAlt(localContext,2),this.state=3943,this.statePerformActionUsage();break;case 3:this.enterOuterAlt(localContext,3),this.state=3944,this.stateAcceptActionUsage();break;case 4:this.enterOuterAlt(localContext,4),this.state=3945,this.stateSendActionUsage();break;case 5:this.enterOuterAlt(localContext,5),this.state=3946,this.stateAssignmentActionUsage();break}}catch(re){if(re instanceof RecognitionException)this.errorHandler.reportError(this,re),this.errorHandler.recover(this,re);else throw re}finally{this.exitRule()}return localContext}statePerformActionUsage(){let localContext=new StatePerformActionUsageContext(this.context,this.state);this.enterRule(localContext,784,_SysMLv2Parser.RULE_statePerformActionUsage);try{this.enterOuterAlt(localContext,1),this.state=3949,this.performActionUsageDeclaration(),this.state=3950,this.actionBody()}catch(re){if(re instanceof RecognitionException)this.errorHandler.reportError(this,re),this.errorHandler.recover(this,re);else throw re}finally{this.exitRule()}return localContext}stateAcceptActionUsage(){let localContext=new StateAcceptActionUsageContext(this.context,this.state);this.enterRule(localContext,786,_SysMLv2Parser.RULE_stateAcceptActionUsage);try{this.enterOuterAlt(localContext,1),this.state=3952,this.acceptNodeDeclaration(),this.state=3953,this.actionBody()}catch(re){if(re instanceof RecognitionException)this.errorHandler.reportError(this,re),this.errorHandler.recover(this,re);else throw re}finally{this.exitRule()}return localContext}stateSendActionUsage(){let localContext=new StateSendActionUsageContext(this.context,this.state);this.enterRule(localContext,788,_SysMLv2Parser.RULE_stateSendActionUsage);try{this.enterOuterAlt(localContext,1),this.state=3955,this.sendNodeDeclaration(),this.state=3956,this.actionBody()}catch(re){if(re instanceof RecognitionException)this.errorHandler.reportError(this,re),this.errorHandler.recover(this,re);else throw re}finally{this.exitRule()}return localContext}stateAssignmentActionUsage(){let localContext=new StateAssignmentActionUsageContext(this.context,this.state);this.enterRule(localContext,790,_SysMLv2Parser.RULE_stateAssignmentActionUsage);try{this.enterOuterAlt(localContext,1),this.state=3958,this.assignmentNodeDeclaration(),this.state=3959,this.actionBody()}catch(re){if(re instanceof RecognitionException)this.errorHandler.reportError(this,re),this.errorHandler.recover(this,re);else throw re}finally{this.exitRule()}return localContext}transitionUsageMember(){let localContext=new TransitionUsageMemberContext(this.context,this.state);this.enterRule(localContext,792,_SysMLv2Parser.RULE_transitionUsageMember);try{this.enterOuterAlt(localContext,1),this.state=3961,this.memberPrefix(),this.state=3962,this.transitionUsage()}catch(re){if(re instanceof RecognitionException)this.errorHandler.reportError(this,re),this.errorHandler.recover(this,re);else throw re}finally{this.exitRule()}return localContext}targetTransitionUsageMember(){let localContext=new TargetTransitionUsageMemberContext(this.context,this.state);this.enterRule(localContext,794,_SysMLv2Parser.RULE_targetTransitionUsageMember);try{this.enterOuterAlt(localContext,1),this.state=3964,this.memberPrefix(),this.state=3965,this.targetTransitionUsage()}catch(re){if(re instanceof RecognitionException)this.errorHandler.reportError(this,re),this.errorHandler.recover(this,re);else throw re}finally{this.exitRule()}return localContext}stateUsage(){let localContext=new StateUsageContext(this.context,this.state);this.enterRule(localContext,796,_SysMLv2Parser.RULE_stateUsage);try{this.enterOuterAlt(localContext,1),this.state=3967,this.occurrenceUsagePrefix(),this.state=3968,this.match(_SysMLv2Parser.STATE),this.state=3969,this.actionUsageDeclaration(),this.state=3970,this.stateUsageBody()}catch(re){if(re instanceof RecognitionException)this.errorHandler.reportError(this,re),this.errorHandler.recover(this,re);else throw re}finally{this.exitRule()}return localContext}stateUsageBody(){let localContext=new StateUsageBodyContext(this.context,this.state);this.enterRule(localContext,798,_SysMLv2Parser.RULE_stateUsageBody);let _la;try{switch(this.state=3984,this.errorHandler.sync(this),this.tokenStream.LA(1)){case _SysMLv2Parser.SEMI:this.enterOuterAlt(localContext,1),this.state=3972,this.match(_SysMLv2Parser.SEMI);break;case _SysMLv2Parser.PARALLEL:case _SysMLv2Parser.LBRACE:this.enterOuterAlt(localContext,2);{for(this.state=3974,this.errorHandler.sync(this),_la=this.tokenStream.LA(1),_la===116&&(this.state=3973,this.match(_SysMLv2Parser.PARALLEL)),this.state=3976,this.match(_SysMLv2Parser.LBRACE),this.state=3980,this.errorHandler.sync(this),_la=this.tokenStream.LA(1);(_la&-32)===0&&(1<<_la&1181240980)!==0||(_la-32&-32)===0&&(1<<_la-32&1063503665)!==0||(_la-69&-32)===0&&(1<<_la-69&1195473923)!==0||(_la-102&-32)===0&&(1<<_la-102&3069425937)!==0||(_la-135&-32)===0&&(1<<_la-135&3902185669)!==0||(_la-169&-32)===0&&(1<<_la-169&9011395)!==0||(_la-204&-32)===0&&(1<<_la-204&574671)!==0;)this.state=3977,this.stateBodyItem(),this.state=3982,this.errorHandler.sync(this),_la=this.tokenStream.LA(1);this.state=3983,this.match(_SysMLv2Parser.RBRACE)}break;default:throw new NoViableAltException(this)}}catch(re){if(re instanceof RecognitionException)this.errorHandler.reportError(this,re),this.errorHandler.recover(this,re);else throw re}finally{this.exitRule()}return localContext}exhibitStateUsage(){let localContext=new ExhibitStateUsageContext(this.context,this.state);this.enterRule(localContext,800,_SysMLv2Parser.RULE_exhibitStateUsage);let _la;try{this.enterOuterAlt(localContext,1);{switch(this.state=3986,this.occurrenceUsagePrefix(),this.state=3987,this.match(_SysMLv2Parser.EXHIBIT),this.state=3996,this.errorHandler.sync(this),this.tokenStream.LA(1)){case _SysMLv2Parser.DOLLAR:case _SysMLv2Parser.IDENTIFIER:case _SysMLv2Parser.STRING:this.state=3988,this.ownedReferenceSubsetting(),this.state=3990,this.errorHandler.sync(this),_la=this.tokenStream.LA(1),(_la===42||_la===47||(_la-106&-32)===0&&(1<<_la-106&4718721)!==0||(_la-148&-32)===0&&(1<<_la-148&402654209)!==0||(_la-185&-32)===0&&(1<<_la-185&67633161)!==0)&&(this.state=3989,this.featureSpecializationPart());break;case _SysMLv2Parser.STATE:this.state=3992,this.match(_SysMLv2Parser.STATE),this.state=3994,this.errorHandler.sync(this),_la=this.tokenStream.LA(1),(_la===42||_la===47||(_la-106&-32)===0&&(1<<_la-106&4718721)!==0||(_la-148&-32)===0&&(1<<_la-148&402654209)!==0||(_la-185&-32)===0&&(1<<_la-185&69730313)!==0||_la===218||_la===219)&&(this.state=3993,this.usageDeclaration());break;default:throw new NoViableAltException(this)}this.state=3999,this.errorHandler.sync(this),_la=this.tokenStream.LA(1),(_la===46||_la===184||_la===207)&&(this.state=3998,this.valuePart()),this.state=4001,this.stateUsageBody()}}catch(re){if(re instanceof RecognitionException)this.errorHandler.reportError(this,re),this.errorHandler.recover(this,re);else throw re}finally{this.exitRule()}return localContext}transitionUsage(){let localContext=new TransitionUsageContext(this.context,this.state);this.enterRule(localContext,802,_SysMLv2Parser.RULE_transitionUsage);let _la;try{this.enterOuterAlt(localContext,1),this.state=4003,this.match(_SysMLv2Parser.TRANSITION),this.state=4008,this.errorHandler.sync(this),this.interpreter.adaptivePredict(this.tokenStream,419,this.context)===1&&(this.state=4005,this.errorHandler.sync(this),_la=this.tokenStream.LA(1),(_la===42||_la===47||(_la-106&-32)===0&&(1<<_la-106&4718721)!==0||(_la-148&-32)===0&&(1<<_la-148&402654209)!==0||(_la-185&-32)===0&&(1<<_la-185&69730313)!==0||_la===218||_la===219)&&(this.state=4004,this.usageDeclaration()),this.state=4007,this.match(_SysMLv2Parser.FIRST)),this.state=4010,this.featureChainMember(),this.state=4011,this.emptyParameterMember(),this.state=4015,this.errorHandler.sync(this),_la=this.tokenStream.LA(1),_la===3&&(this.state=4012,this.emptyParameterMember(),this.state=4013,this.triggerActionMember()),this.state=4018,this.errorHandler.sync(this),_la=this.tokenStream.LA(1),_la===77&&(this.state=4017,this.guardExpressionMember()),this.state=4021,this.errorHandler.sync(this),_la=this.tokenStream.LA(1),_la===53&&(this.state=4020,this.effectBehaviorMember()),this.state=4023,this.match(_SysMLv2Parser.THEN),this.state=4024,this.transitionSuccessionMember(),this.state=4025,this.actionBody()}catch(re){if(re instanceof RecognitionException)this.errorHandler.reportError(this,re),this.errorHandler.recover(this,re);else throw re}finally{this.exitRule()}return localContext}targetTransitionUsage(){let localContext=new TargetTransitionUsageContext(this.context,this.state);this.enterRule(localContext,804,_SysMLv2Parser.RULE_targetTransitionUsage);let _la;try{this.enterOuterAlt(localContext,1);{switch(this.state=4027,this.emptyParameterMember(),this.state=4052,this.errorHandler.sync(this),this.tokenStream.LA(1)){case _SysMLv2Parser.TRANSITION:this.state=4028,this.match(_SysMLv2Parser.TRANSITION),this.state=4032,this.errorHandler.sync(this),_la=this.tokenStream.LA(1),_la===3&&(this.state=4029,this.emptyParameterMember(),this.state=4030,this.triggerActionMember()),this.state=4035,this.errorHandler.sync(this),_la=this.tokenStream.LA(1),_la===77&&(this.state=4034,this.guardExpressionMember()),this.state=4038,this.errorHandler.sync(this),_la=this.tokenStream.LA(1),_la===53&&(this.state=4037,this.effectBehaviorMember());break;case _SysMLv2Parser.ACCEPT:this.state=4040,this.emptyParameterMember(),this.state=4041,this.triggerActionMember(),this.state=4043,this.errorHandler.sync(this),_la=this.tokenStream.LA(1),_la===77&&(this.state=4042,this.guardExpressionMember()),this.state=4046,this.errorHandler.sync(this),_la=this.tokenStream.LA(1),_la===53&&(this.state=4045,this.effectBehaviorMember());break;case _SysMLv2Parser.IF:this.state=4048,this.guardExpressionMember(),this.state=4050,this.errorHandler.sync(this),_la=this.tokenStream.LA(1),_la===53&&(this.state=4049,this.effectBehaviorMember());break;case _SysMLv2Parser.THEN:break;default:break}this.state=4054,this.match(_SysMLv2Parser.THEN),this.state=4055,this.transitionSuccessionMember(),this.state=4056,this.actionBody()}}catch(re){if(re instanceof RecognitionException)this.errorHandler.reportError(this,re),this.errorHandler.recover(this,re);else throw re}finally{this.exitRule()}return localContext}triggerActionMember(){let localContext=new TriggerActionMemberContext(this.context,this.state);this.enterRule(localContext,806,_SysMLv2Parser.RULE_triggerActionMember);try{this.enterOuterAlt(localContext,1),this.state=4058,this.match(_SysMLv2Parser.ACCEPT),this.state=4059,this.triggerAction()}catch(re){if(re instanceof RecognitionException)this.errorHandler.reportError(this,re),this.errorHandler.recover(this,re);else throw re}finally{this.exitRule()}return localContext}triggerAction(){let localContext=new TriggerActionContext(this.context,this.state);this.enterRule(localContext,808,_SysMLv2Parser.RULE_triggerAction);try{this.enterOuterAlt(localContext,1),this.state=4061,this.acceptParameterPart()}catch(re){if(re instanceof RecognitionException)this.errorHandler.reportError(this,re),this.errorHandler.recover(this,re);else throw re}finally{this.exitRule()}return localContext}guardExpressionMember(){let localContext=new GuardExpressionMemberContext(this.context,this.state);this.enterRule(localContext,810,_SysMLv2Parser.RULE_guardExpressionMember);try{this.enterOuterAlt(localContext,1),this.state=4063,this.match(_SysMLv2Parser.IF),this.state=4064,this.ownedExpression(0)}catch(re){if(re instanceof RecognitionException)this.errorHandler.reportError(this,re),this.errorHandler.recover(this,re);else throw re}finally{this.exitRule()}return localContext}effectBehaviorMember(){let localContext=new EffectBehaviorMemberContext(this.context,this.state);this.enterRule(localContext,812,_SysMLv2Parser.RULE_effectBehaviorMember);try{this.enterOuterAlt(localContext,1),this.state=4066,this.match(_SysMLv2Parser.DO),this.state=4067,this.effectBehaviorUsage()}catch(re){if(re instanceof RecognitionException)this.errorHandler.reportError(this,re),this.errorHandler.recover(this,re);else throw re}finally{this.exitRule()}return localContext}effectBehaviorUsage(){let localContext=new EffectBehaviorUsageContext(this.context,this.state);this.enterRule(localContext,814,_SysMLv2Parser.RULE_effectBehaviorUsage);try{switch(this.state=4074,this.errorHandler.sync(this),this.interpreter.adaptivePredict(this.tokenStream,430,this.context)){case 1:this.enterOuterAlt(localContext,1),this.state=4069,this.emptyActionUsage_();break;case 2:this.enterOuterAlt(localContext,2),this.state=4070,this.transitionPerformActionUsage();break;case 3:this.enterOuterAlt(localContext,3),this.state=4071,this.transitionAcceptActionUsage();break;case 4:this.enterOuterAlt(localContext,4),this.state=4072,this.transitionSendActionUsage();break;case 5:this.enterOuterAlt(localContext,5),this.state=4073,this.transitionAssignmentActionUsage();break}}catch(re){if(re instanceof RecognitionException)this.errorHandler.reportError(this,re),this.errorHandler.recover(this,re);else throw re}finally{this.exitRule()}return localContext}transitionPerformActionUsage(){let localContext=new TransitionPerformActionUsageContext(this.context,this.state);this.enterRule(localContext,816,_SysMLv2Parser.RULE_transitionPerformActionUsage);let _la;try{if(this.enterOuterAlt(localContext,1),this.state=4076,this.performActionUsageDeclaration(),this.state=4085,this.errorHandler.sync(this),_la=this.tokenStream.LA(1),_la===214){for(this.state=4077,this.match(_SysMLv2Parser.LBRACE),this.state=4081,this.errorHandler.sync(this),_la=this.tokenStream.LA(1);(_la&-32)===0&&(1<<_la&1181273756)!==0||(_la-32&-32)===0&&(1<<_la-32&490985265)!==0||(_la-69&-32)===0&&(1<<_la-69&1874951439)!==0||(_la-102&-32)===0&&(1<<_la-102&3069425937)!==0||(_la-135&-32)===0&&(1<<_la-135&3901202631)!==0||(_la-169&-32)===0&&(1<<_la-169&9011403)!==0||(_la-204&-32)===0&&(1<<_la-204&574671)!==0;)this.state=4078,this.actionBodyItem(),this.state=4083,this.errorHandler.sync(this),_la=this.tokenStream.LA(1);this.state=4084,this.match(_SysMLv2Parser.RBRACE)}}catch(re){if(re instanceof RecognitionException)this.errorHandler.reportError(this,re),this.errorHandler.recover(this,re);else throw re}finally{this.exitRule()}return localContext}transitionAcceptActionUsage(){let localContext=new TransitionAcceptActionUsageContext(this.context,this.state);this.enterRule(localContext,818,_SysMLv2Parser.RULE_transitionAcceptActionUsage);let _la;try{if(this.enterOuterAlt(localContext,1),this.state=4087,this.acceptNodeDeclaration(),this.state=4096,this.errorHandler.sync(this),_la=this.tokenStream.LA(1),_la===214){for(this.state=4088,this.match(_SysMLv2Parser.LBRACE),this.state=4092,this.errorHandler.sync(this),_la=this.tokenStream.LA(1);(_la&-32)===0&&(1<<_la&1181273756)!==0||(_la-32&-32)===0&&(1<<_la-32&490985265)!==0||(_la-69&-32)===0&&(1<<_la-69&1874951439)!==0||(_la-102&-32)===0&&(1<<_la-102&3069425937)!==0||(_la-135&-32)===0&&(1<<_la-135&3901202631)!==0||(_la-169&-32)===0&&(1<<_la-169&9011403)!==0||(_la-204&-32)===0&&(1<<_la-204&574671)!==0;)this.state=4089,this.actionBodyItem(),this.state=4094,this.errorHandler.sync(this),_la=this.tokenStream.LA(1);this.state=4095,this.match(_SysMLv2Parser.RBRACE)}}catch(re){if(re instanceof RecognitionException)this.errorHandler.reportError(this,re),this.errorHandler.recover(this,re);else throw re}finally{this.exitRule()}return localContext}transitionSendActionUsage(){let localContext=new TransitionSendActionUsageContext(this.context,this.state);this.enterRule(localContext,820,_SysMLv2Parser.RULE_transitionSendActionUsage);let _la;try{if(this.enterOuterAlt(localContext,1),this.state=4098,this.sendNodeDeclaration(),this.state=4107,this.errorHandler.sync(this),_la=this.tokenStream.LA(1),_la===214){for(this.state=4099,this.match(_SysMLv2Parser.LBRACE),this.state=4103,this.errorHandler.sync(this),_la=this.tokenStream.LA(1);(_la&-32)===0&&(1<<_la&1181273756)!==0||(_la-32&-32)===0&&(1<<_la-32&490985265)!==0||(_la-69&-32)===0&&(1<<_la-69&1874951439)!==0||(_la-102&-32)===0&&(1<<_la-102&3069425937)!==0||(_la-135&-32)===0&&(1<<_la-135&3901202631)!==0||(_la-169&-32)===0&&(1<<_la-169&9011403)!==0||(_la-204&-32)===0&&(1<<_la-204&574671)!==0;)this.state=4100,this.actionBodyItem(),this.state=4105,this.errorHandler.sync(this),_la=this.tokenStream.LA(1);this.state=4106,this.match(_SysMLv2Parser.RBRACE)}}catch(re){if(re instanceof RecognitionException)this.errorHandler.reportError(this,re),this.errorHandler.recover(this,re);else throw re}finally{this.exitRule()}return localContext}transitionAssignmentActionUsage(){let localContext=new TransitionAssignmentActionUsageContext(this.context,this.state);this.enterRule(localContext,822,_SysMLv2Parser.RULE_transitionAssignmentActionUsage);let _la;try{if(this.enterOuterAlt(localContext,1),this.state=4109,this.assignmentNodeDeclaration(),this.state=4118,this.errorHandler.sync(this),_la=this.tokenStream.LA(1),_la===214){for(this.state=4110,this.match(_SysMLv2Parser.LBRACE),this.state=4114,this.errorHandler.sync(this),_la=this.tokenStream.LA(1);(_la&-32)===0&&(1<<_la&1181273756)!==0||(_la-32&-32)===0&&(1<<_la-32&490985265)!==0||(_la-69&-32)===0&&(1<<_la-69&1874951439)!==0||(_la-102&-32)===0&&(1<<_la-102&3069425937)!==0||(_la-135&-32)===0&&(1<<_la-135&3901202631)!==0||(_la-169&-32)===0&&(1<<_la-169&9011403)!==0||(_la-204&-32)===0&&(1<<_la-204&574671)!==0;)this.state=4111,this.actionBodyItem(),this.state=4116,this.errorHandler.sync(this),_la=this.tokenStream.LA(1);this.state=4117,this.match(_SysMLv2Parser.RBRACE)}}catch(re){if(re instanceof RecognitionException)this.errorHandler.reportError(this,re),this.errorHandler.recover(this,re);else throw re}finally{this.exitRule()}return localContext}transitionSuccessionMember(){let localContext=new TransitionSuccessionMemberContext(this.context,this.state);this.enterRule(localContext,824,_SysMLv2Parser.RULE_transitionSuccessionMember);try{this.enterOuterAlt(localContext,1),this.state=4120,this.transitionSuccession()}catch(re){if(re instanceof RecognitionException)this.errorHandler.reportError(this,re),this.errorHandler.recover(this,re);else throw re}finally{this.exitRule()}return localContext}transitionSuccession(){let localContext=new TransitionSuccessionContext(this.context,this.state);this.enterRule(localContext,826,_SysMLv2Parser.RULE_transitionSuccession);try{this.enterOuterAlt(localContext,1),this.state=4122,this.emptyEndMember(),this.state=4123,this.connectorEndMember()}catch(re){if(re instanceof RecognitionException)this.errorHandler.reportError(this,re),this.errorHandler.recover(this,re);else throw re}finally{this.exitRule()}return localContext}emptyEndMember(){let localContext=new EmptyEndMemberContext(this.context,this.state);this.enterRule(localContext,828,_SysMLv2Parser.RULE_emptyEndMember);try{this.enterOuterAlt(localContext,1),this.state=4125,this.emptyFeature_()}catch(re){if(re instanceof RecognitionException)this.errorHandler.reportError(this,re),this.errorHandler.recover(this,re);else throw re}finally{this.exitRule()}return localContext}calculationDefinition(){let localContext=new CalculationDefinitionContext(this.context,this.state);this.enterRule(localContext,830,_SysMLv2Parser.RULE_calculationDefinition);try{this.enterOuterAlt(localContext,1),this.state=4127,this.occurrenceDefinitionPrefix(),this.state=4128,this.match(_SysMLv2Parser.CALC),this.state=4129,this.match(_SysMLv2Parser.DEF),this.state=4130,this.definitionDeclaration(),this.state=4131,this.calculationBody()}catch(re){if(re instanceof RecognitionException)this.errorHandler.reportError(this,re),this.errorHandler.recover(this,re);else throw re}finally{this.exitRule()}return localContext}calculationUsage(){let localContext=new CalculationUsageContext(this.context,this.state);this.enterRule(localContext,832,_SysMLv2Parser.RULE_calculationUsage);try{this.enterOuterAlt(localContext,1),this.state=4133,this.occurrenceUsagePrefix(),this.state=4134,this.match(_SysMLv2Parser.CALC),this.state=4135,this.actionUsageDeclaration(),this.state=4136,this.calculationBody()}catch(re){if(re instanceof RecognitionException)this.errorHandler.reportError(this,re),this.errorHandler.recover(this,re);else throw re}finally{this.exitRule()}return localContext}calculationBody(){let localContext=new CalculationBodyContext(this.context,this.state);this.enterRule(localContext,834,_SysMLv2Parser.RULE_calculationBody);try{switch(this.state=4143,this.errorHandler.sync(this),this.tokenStream.LA(1)){case _SysMLv2Parser.SEMI:this.enterOuterAlt(localContext,1),this.state=4138,this.match(_SysMLv2Parser.SEMI);break;case _SysMLv2Parser.LBRACE:this.enterOuterAlt(localContext,2),this.state=4139,this.match(_SysMLv2Parser.LBRACE),this.state=4140,this.calculationBodyPart(),this.state=4141,this.match(_SysMLv2Parser.RBRACE);break;default:throw new NoViableAltException(this)}}catch(re){if(re instanceof RecognitionException)this.errorHandler.reportError(this,re),this.errorHandler.recover(this,re);else throw re}finally{this.exitRule()}return localContext}calculationBodyPart(){let localContext=new CalculationBodyPartContext(this.context,this.state);this.enterRule(localContext,836,_SysMLv2Parser.RULE_calculationBodyPart);let _la;try{let alternative;this.enterOuterAlt(localContext,1);{for(this.state=4148,this.errorHandler.sync(this),alternative=this.interpreter.adaptivePredict(this.tokenStream,440,this.context);alternative!==2&&alternative!==ATN.INVALID_ALT_NUMBER;)alternative===1&&(this.state=4145,this.calculationBodyItem()),this.state=4150,this.errorHandler.sync(this),alternative=this.interpreter.adaptivePredict(this.tokenStream,440,this.context);this.state=4152,this.errorHandler.sync(this),_la=this.tokenStream.LA(1),(_la===8||_la===64||_la===77||(_la-105&-32)===0&&(1<<_la-105&917517)!==0||_la===156||(_la-191&-32)===0&&(1<<_la-191&4236772773)!==0)&&(this.state=4151,this.resultExpressionMember())}}catch(re){if(re instanceof RecognitionException)this.errorHandler.reportError(this,re),this.errorHandler.recover(this,re);else throw re}finally{this.exitRule()}return localContext}calculationBodyItem(){let localContext=new CalculationBodyItemContext(this.context,this.state);this.enterRule(localContext,838,_SysMLv2Parser.RULE_calculationBodyItem);try{switch(this.state=4156,this.errorHandler.sync(this),this.interpreter.adaptivePredict(this.tokenStream,442,this.context)){case 1:this.enterOuterAlt(localContext,1),this.state=4154,this.actionBodyItem();break;case 2:this.enterOuterAlt(localContext,2),this.state=4155,this.returnParameterMember();break}}catch(re){if(re instanceof RecognitionException)this.errorHandler.reportError(this,re),this.errorHandler.recover(this,re);else throw re}finally{this.exitRule()}return localContext}returnParameterMember(){let localContext=new ReturnParameterMemberContext(this.context,this.state);this.enterRule(localContext,840,_SysMLv2Parser.RULE_returnParameterMember);try{this.enterOuterAlt(localContext,1),this.state=4158,this.memberPrefix(),this.state=4159,this.match(_SysMLv2Parser.RETURN),this.state=4160,this.usageElement()}catch(re){if(re instanceof RecognitionException)this.errorHandler.reportError(this,re),this.errorHandler.recover(this,re);else throw re}finally{this.exitRule()}return localContext}constraintDefinition(){let localContext=new ConstraintDefinitionContext(this.context,this.state);this.enterRule(localContext,842,_SysMLv2Parser.RULE_constraintDefinition);try{this.enterOuterAlt(localContext,1),this.state=4162,this.occurrenceDefinitionPrefix(),this.state=4163,this.match(_SysMLv2Parser.CONSTRAINT),this.state=4164,this.match(_SysMLv2Parser.DEF),this.state=4165,this.definitionDeclaration(),this.state=4166,this.calculationBody()}catch(re){if(re instanceof RecognitionException)this.errorHandler.reportError(this,re),this.errorHandler.recover(this,re);else throw re}finally{this.exitRule()}return localContext}constraintUsage(){let localContext=new ConstraintUsageContext(this.context,this.state);this.enterRule(localContext,844,_SysMLv2Parser.RULE_constraintUsage);try{this.enterOuterAlt(localContext,1),this.state=4168,this.occurrenceUsagePrefix(),this.state=4169,this.match(_SysMLv2Parser.CONSTRAINT),this.state=4170,this.constraintUsageDeclaration(),this.state=4171,this.calculationBody()}catch(re){if(re instanceof RecognitionException)this.errorHandler.reportError(this,re),this.errorHandler.recover(this,re);else throw re}finally{this.exitRule()}return localContext}assertConstraintUsage(){let localContext=new AssertConstraintUsageContext(this.context,this.state);this.enterRule(localContext,846,_SysMLv2Parser.RULE_assertConstraintUsage);let _la;try{this.enterOuterAlt(localContext,1);{switch(this.state=4173,this.occurrenceUsagePrefix(),this.state=4174,this.match(_SysMLv2Parser.ASSERT),this.state=4176,this.errorHandler.sync(this),_la=this.tokenStream.LA(1),_la===107&&(this.state=4175,this.match(_SysMLv2Parser.NOT)),this.state=4184,this.errorHandler.sync(this),this.tokenStream.LA(1)){case _SysMLv2Parser.DOLLAR:case _SysMLv2Parser.IDENTIFIER:case _SysMLv2Parser.STRING:this.state=4178,this.ownedReferenceSubsetting(),this.state=4180,this.errorHandler.sync(this),_la=this.tokenStream.LA(1),(_la===42||_la===47||(_la-106&-32)===0&&(1<<_la-106&4718721)!==0||(_la-148&-32)===0&&(1<<_la-148&402654209)!==0||(_la-185&-32)===0&&(1<<_la-185&67633161)!==0)&&(this.state=4179,this.featureSpecializationPart());break;case _SysMLv2Parser.CONSTRAINT:this.state=4182,this.match(_SysMLv2Parser.CONSTRAINT),this.state=4183,this.constraintUsageDeclaration();break;default:throw new NoViableAltException(this)}this.state=4186,this.calculationBody()}}catch(re){if(re instanceof RecognitionException)this.errorHandler.reportError(this,re),this.errorHandler.recover(this,re);else throw re}finally{this.exitRule()}return localContext}constraintUsageDeclaration(){let localContext=new ConstraintUsageDeclarationContext(this.context,this.state);this.enterRule(localContext,848,_SysMLv2Parser.RULE_constraintUsageDeclaration);let _la;try{this.enterOuterAlt(localContext,1),this.state=4189,this.errorHandler.sync(this),_la=this.tokenStream.LA(1),(_la===42||_la===47||(_la-106&-32)===0&&(1<<_la-106&4718721)!==0||(_la-148&-32)===0&&(1<<_la-148&402654209)!==0||(_la-185&-32)===0&&(1<<_la-185&69730313)!==0||_la===218||_la===219)&&(this.state=4188,this.usageDeclaration()),this.state=4192,this.errorHandler.sync(this),_la=this.tokenStream.LA(1),(_la===46||_la===184||_la===207)&&(this.state=4191,this.valuePart())}catch(re){if(re instanceof RecognitionException)this.errorHandler.reportError(this,re),this.errorHandler.recover(this,re);else throw re}finally{this.exitRule()}return localContext}requirementDefinition(){let localContext=new RequirementDefinitionContext(this.context,this.state);this.enterRule(localContext,850,_SysMLv2Parser.RULE_requirementDefinition);try{this.enterOuterAlt(localContext,1),this.state=4194,this.occurrenceDefinitionPrefix(),this.state=4195,this.match(_SysMLv2Parser.REQUIREMENT),this.state=4196,this.match(_SysMLv2Parser.DEF),this.state=4197,this.definitionDeclaration(),this.state=4198,this.requirementBody()}catch(re){if(re instanceof RecognitionException)this.errorHandler.reportError(this,re),this.errorHandler.recover(this,re);else throw re}finally{this.exitRule()}return localContext}requirementBody(){let localContext=new RequirementBodyContext(this.context,this.state);this.enterRule(localContext,852,_SysMLv2Parser.RULE_requirementBody);let _la;try{switch(this.state=4209,this.errorHandler.sync(this),this.tokenStream.LA(1)){case _SysMLv2Parser.SEMI:this.enterOuterAlt(localContext,1),this.state=4200,this.match(_SysMLv2Parser.SEMI);break;case _SysMLv2Parser.LBRACE:this.enterOuterAlt(localContext,2);{for(this.state=4201,this.match(_SysMLv2Parser.LBRACE),this.state=4205,this.errorHandler.sync(this),_la=this.tokenStream.LA(1);(_la&-32)===0&&(1<<_la&1181372084)!==0||(_la-32&-32)===0&&(1<<_la-32&490981169)!==0||(_la-69&-32)===0&&(1<<_la-69&1195473939)!==0||(_la-102&-32)===0&&(1<<_la-102&4143167761)!==0||(_la-135&-32)===0&&(1<<_la-135&3901139173)!==0||(_la-167&-32)===0&&(1<<_la-167&36045581)!==0||(_la-204&-32)===0&&(1<<_la-204&574671)!==0;)this.state=4202,this.requirementBodyItem(),this.state=4207,this.errorHandler.sync(this),_la=this.tokenStream.LA(1);this.state=4208,this.match(_SysMLv2Parser.RBRACE)}break;default:throw new NoViableAltException(this)}}catch(re){if(re instanceof RecognitionException)this.errorHandler.reportError(this,re),this.errorHandler.recover(this,re);else throw re}finally{this.exitRule()}return localContext}requirementBodyItem(){let localContext=new RequirementBodyItemContext(this.context,this.state);this.enterRule(localContext,854,_SysMLv2Parser.RULE_requirementBodyItem);try{switch(this.state=4218,this.errorHandler.sync(this),this.interpreter.adaptivePredict(this.tokenStream,450,this.context)){case 1:this.enterOuterAlt(localContext,1),this.state=4211,this.definitionBodyItem();break;case 2:this.enterOuterAlt(localContext,2),this.state=4212,this.subjectMember();break;case 3:this.enterOuterAlt(localContext,3),this.state=4213,this.requirementConstraintMember();break;case 4:this.enterOuterAlt(localContext,4),this.state=4214,this.framedConcernMember();break;case 5:this.enterOuterAlt(localContext,5),this.state=4215,this.requirementVerificationMember();break;case 6:this.enterOuterAlt(localContext,6),this.state=4216,this.actorMember();break;case 7:this.enterOuterAlt(localContext,7),this.state=4217,this.stakeholderMember();break}}catch(re){if(re instanceof RecognitionException)this.errorHandler.reportError(this,re),this.errorHandler.recover(this,re);else throw re}finally{this.exitRule()}return localContext}subjectMember(){let localContext=new SubjectMemberContext(this.context,this.state);this.enterRule(localContext,856,_SysMLv2Parser.RULE_subjectMember);try{this.enterOuterAlt(localContext,1),this.state=4220,this.memberPrefix(),this.state=4221,this.subjectUsage()}catch(re){if(re instanceof RecognitionException)this.errorHandler.reportError(this,re),this.errorHandler.recover(this,re);else throw re}finally{this.exitRule()}return localContext}subjectUsage(){let localContext=new SubjectUsageContext(this.context,this.state);this.enterRule(localContext,858,_SysMLv2Parser.RULE_subjectUsage);let _la;try{this.enterOuterAlt(localContext,1);{for(this.state=4223,this.match(_SysMLv2Parser.SUBJECT),this.state=4227,this.errorHandler.sync(this),_la=this.tokenStream.LA(1);_la===192;)this.state=4224,this.usageExtensionKeyword(),this.state=4229,this.errorHandler.sync(this),_la=this.tokenStream.LA(1);this.state=4230,this.usage()}}catch(re){if(re instanceof RecognitionException)this.errorHandler.reportError(this,re),this.errorHandler.recover(this,re);else throw re}finally{this.exitRule()}return localContext}requirementConstraintMember(){let localContext=new RequirementConstraintMemberContext(this.context,this.state);this.enterRule(localContext,860,_SysMLv2Parser.RULE_requirementConstraintMember);try{this.enterOuterAlt(localContext,1),this.state=4232,this.memberPrefix(),this.state=4233,this.requirementKind(),this.state=4234,this.requirementConstraintUsage()}catch(re){if(re instanceof RecognitionException)this.errorHandler.reportError(this,re),this.errorHandler.recover(this,re);else throw re}finally{this.exitRule()}return localContext}requirementKind(){let localContext=new RequirementKindContext(this.context,this.state);this.enterRule(localContext,862,_SysMLv2Parser.RULE_requirementKind);let _la;try{this.enterOuterAlt(localContext,1),this.state=4236,_la=this.tokenStream.LA(1),_la===17||_la===132?(this.errorHandler.reportMatch(this),this.consume()):this.errorHandler.recoverInline(this)}catch(re){if(re instanceof RecognitionException)this.errorHandler.reportError(this,re),this.errorHandler.recover(this,re);else throw re}finally{this.exitRule()}return localContext}requirementConstraintUsage(){let localContext=new RequirementConstraintUsageContext(this.context,this.state);this.enterRule(localContext,864,_SysMLv2Parser.RULE_requirementConstraintUsage);let _la;try{switch(this.state=4261,this.errorHandler.sync(this),this.tokenStream.LA(1)){case _SysMLv2Parser.DOLLAR:case _SysMLv2Parser.IDENTIFIER:case _SysMLv2Parser.STRING:this.enterOuterAlt(localContext,1),this.state=4238,this.ownedReferenceSubsetting(),this.state=4240,this.errorHandler.sync(this),_la=this.tokenStream.LA(1),(_la===42||_la===47||(_la-106&-32)===0&&(1<<_la-106&4718721)!==0||(_la-148&-32)===0&&(1<<_la-148&402654209)!==0||(_la-185&-32)===0&&(1<<_la-185&67633161)!==0)&&(this.state=4239,this.featureSpecializationPart()),this.state=4242,this.requirementBody();break;case _SysMLv2Parser.CONSTRAINT:case _SysMLv2Parser.HASH:this.enterOuterAlt(localContext,2);{switch(this.state=4256,this.errorHandler.sync(this),this.interpreter.adaptivePredict(this.tokenStream,455,this.context)){case 1:{for(this.state=4247,this.errorHandler.sync(this),_la=this.tokenStream.LA(1);_la===192;)this.state=4244,this.usageExtensionKeyword(),this.state=4249,this.errorHandler.sync(this),_la=this.tokenStream.LA(1);this.state=4250,this.match(_SysMLv2Parser.CONSTRAINT)}break;case 2:{this.state=4252,this.errorHandler.sync(this),_la=this.tokenStream.LA(1);do this.state=4251,this.usageExtensionKeyword(),this.state=4254,this.errorHandler.sync(this),_la=this.tokenStream.LA(1);while(_la===192)}break}this.state=4258,this.constraintUsageDeclaration(),this.state=4259,this.calculationBody()}break;default:throw new NoViableAltException(this)}}catch(re){if(re instanceof RecognitionException)this.errorHandler.reportError(this,re),this.errorHandler.recover(this,re);else throw re}finally{this.exitRule()}return localContext}framedConcernMember(){let localContext=new FramedConcernMemberContext(this.context,this.state);this.enterRule(localContext,866,_SysMLv2Parser.RULE_framedConcernMember);try{this.enterOuterAlt(localContext,1),this.state=4263,this.memberPrefix(),this.state=4264,this.match(_SysMLv2Parser.FRAME),this.state=4265,this.framedConcernUsage()}catch(re){if(re instanceof RecognitionException)this.errorHandler.reportError(this,re),this.errorHandler.recover(this,re);else throw re}finally{this.exitRule()}return localContext}framedConcernUsage(){let localContext=new FramedConcernUsageContext(this.context,this.state);this.enterRule(localContext,868,_SysMLv2Parser.RULE_framedConcernUsage);let _la;try{switch(this.state=4290,this.errorHandler.sync(this),this.tokenStream.LA(1)){case _SysMLv2Parser.DOLLAR:case _SysMLv2Parser.IDENTIFIER:case _SysMLv2Parser.STRING:this.enterOuterAlt(localContext,1),this.state=4267,this.ownedReferenceSubsetting(),this.state=4269,this.errorHandler.sync(this),_la=this.tokenStream.LA(1),(_la===42||_la===47||(_la-106&-32)===0&&(1<<_la-106&4718721)!==0||(_la-148&-32)===0&&(1<<_la-148&402654209)!==0||(_la-185&-32)===0&&(1<<_la-185&67633161)!==0)&&(this.state=4268,this.featureSpecializationPart()),this.state=4271,this.calculationBody();break;case _SysMLv2Parser.CONCERN:case _SysMLv2Parser.HASH:this.enterOuterAlt(localContext,2);{switch(this.state=4285,this.errorHandler.sync(this),this.interpreter.adaptivePredict(this.tokenStream,460,this.context)){case 1:{for(this.state=4276,this.errorHandler.sync(this),_la=this.tokenStream.LA(1);_la===192;)this.state=4273,this.usageExtensionKeyword(),this.state=4278,this.errorHandler.sync(this),_la=this.tokenStream.LA(1);this.state=4279,this.match(_SysMLv2Parser.CONCERN)}break;case 2:{this.state=4281,this.errorHandler.sync(this),_la=this.tokenStream.LA(1);do this.state=4280,this.usageExtensionKeyword(),this.state=4283,this.errorHandler.sync(this),_la=this.tokenStream.LA(1);while(_la===192)}break}this.state=4287,this.calculationUsageDeclaration(),this.state=4288,this.calculationBody()}break;default:throw new NoViableAltException(this)}}catch(re){if(re instanceof RecognitionException)this.errorHandler.reportError(this,re),this.errorHandler.recover(this,re);else throw re}finally{this.exitRule()}return localContext}actorMember(){let localContext=new ActorMemberContext(this.context,this.state);this.enterRule(localContext,870,_SysMLv2Parser.RULE_actorMember);try{this.enterOuterAlt(localContext,1),this.state=4292,this.memberPrefix(),this.state=4293,this.actorUsage()}catch(re){if(re instanceof RecognitionException)this.errorHandler.reportError(this,re),this.errorHandler.recover(this,re);else throw re}finally{this.exitRule()}return localContext}actorUsage(){let localContext=new ActorUsageContext(this.context,this.state);this.enterRule(localContext,872,_SysMLv2Parser.RULE_actorUsage);let _la;try{this.enterOuterAlt(localContext,1);{for(this.state=4295,this.match(_SysMLv2Parser.ACTOR),this.state=4299,this.errorHandler.sync(this),_la=this.tokenStream.LA(1);_la===192;)this.state=4296,this.usageExtensionKeyword(),this.state=4301,this.errorHandler.sync(this),_la=this.tokenStream.LA(1);this.state=4302,this.usage()}}catch(re){if(re instanceof RecognitionException)this.errorHandler.reportError(this,re),this.errorHandler.recover(this,re);else throw re}finally{this.exitRule()}return localContext}stakeholderMember(){let localContext=new StakeholderMemberContext(this.context,this.state);this.enterRule(localContext,874,_SysMLv2Parser.RULE_stakeholderMember);try{this.enterOuterAlt(localContext,1),this.state=4304,this.memberPrefix(),this.state=4305,this.stakeholderUsage()}catch(re){if(re instanceof RecognitionException)this.errorHandler.reportError(this,re),this.errorHandler.recover(this,re);else throw re}finally{this.exitRule()}return localContext}stakeholderUsage(){let localContext=new StakeholderUsageContext(this.context,this.state);this.enterRule(localContext,876,_SysMLv2Parser.RULE_stakeholderUsage);let _la;try{this.enterOuterAlt(localContext,1);{for(this.state=4307,this.match(_SysMLv2Parser.STAKEHOLDER),this.state=4311,this.errorHandler.sync(this),_la=this.tokenStream.LA(1);_la===192;)this.state=4308,this.usageExtensionKeyword(),this.state=4313,this.errorHandler.sync(this),_la=this.tokenStream.LA(1);this.state=4314,this.usage()}}catch(re){if(re instanceof RecognitionException)this.errorHandler.reportError(this,re),this.errorHandler.recover(this,re);else throw re}finally{this.exitRule()}return localContext}requirementUsage(){let localContext=new RequirementUsageContext(this.context,this.state);this.enterRule(localContext,878,_SysMLv2Parser.RULE_requirementUsage);try{this.enterOuterAlt(localContext,1),this.state=4316,this.occurrenceUsagePrefix(),this.state=4317,this.match(_SysMLv2Parser.REQUIREMENT),this.state=4318,this.constraintUsageDeclaration(),this.state=4319,this.requirementBody()}catch(re){if(re instanceof RecognitionException)this.errorHandler.reportError(this,re),this.errorHandler.recover(this,re);else throw re}finally{this.exitRule()}return localContext}satisfyRequirementUsage(){let localContext=new SatisfyRequirementUsageContext(this.context,this.state);this.enterRule(localContext,880,_SysMLv2Parser.RULE_satisfyRequirementUsage);let _la;try{this.enterOuterAlt(localContext,1);{switch(this.state=4321,this.occurrenceUsagePrefix(),this.state=4326,this.errorHandler.sync(this),_la=this.tokenStream.LA(1),_la===14&&(this.state=4322,this.match(_SysMLv2Parser.ASSERT),this.state=4324,this.errorHandler.sync(this),_la=this.tokenStream.LA(1),_la===107&&(this.state=4323,this.match(_SysMLv2Parser.NOT))),this.state=4328,this.match(_SysMLv2Parser.SATISFY),this.state=4337,this.errorHandler.sync(this),this.tokenStream.LA(1)){case _SysMLv2Parser.DOLLAR:case _SysMLv2Parser.IDENTIFIER:case _SysMLv2Parser.STRING:this.state=4329,this.ownedReferenceSubsetting(),this.state=4331,this.errorHandler.sync(this),_la=this.tokenStream.LA(1),(_la===42||_la===47||(_la-106&-32)===0&&(1<<_la-106&4718721)!==0||(_la-148&-32)===0&&(1<<_la-148&402654209)!==0||(_la-185&-32)===0&&(1<<_la-185&67633161)!==0)&&(this.state=4330,this.featureSpecializationPart());break;case _SysMLv2Parser.REQUIREMENT:this.state=4333,this.match(_SysMLv2Parser.REQUIREMENT),this.state=4335,this.errorHandler.sync(this),_la=this.tokenStream.LA(1),(_la===42||_la===47||(_la-106&-32)===0&&(1<<_la-106&4718721)!==0||(_la-148&-32)===0&&(1<<_la-148&402654209)!==0||(_la-185&-32)===0&&(1<<_la-185&69730313)!==0||_la===218||_la===219)&&(this.state=4334,this.usageDeclaration());break;default:throw new NoViableAltException(this)}this.state=4340,this.errorHandler.sync(this),_la=this.tokenStream.LA(1),(_la===46||_la===184||_la===207)&&(this.state=4339,this.valuePart()),this.state=4344,this.errorHandler.sync(this),_la=this.tokenStream.LA(1),_la===24&&(this.state=4342,this.match(_SysMLv2Parser.BY),this.state=4343,this.satisfactionSubjectMember()),this.state=4346,this.requirementBody()}}catch(re){if(re instanceof RecognitionException)this.errorHandler.reportError(this,re),this.errorHandler.recover(this,re);else throw re}finally{this.exitRule()}return localContext}satisfactionSubjectMember(){let localContext=new SatisfactionSubjectMemberContext(this.context,this.state);this.enterRule(localContext,882,_SysMLv2Parser.RULE_satisfactionSubjectMember);try{this.enterOuterAlt(localContext,1),this.state=4348,this.satisfactionParameter()}catch(re){if(re instanceof RecognitionException)this.errorHandler.reportError(this,re),this.errorHandler.recover(this,re);else throw re}finally{this.exitRule()}return localContext}satisfactionParameter(){let localContext=new SatisfactionParameterContext(this.context,this.state);this.enterRule(localContext,884,_SysMLv2Parser.RULE_satisfactionParameter);try{this.enterOuterAlt(localContext,1),this.state=4350,this.satisfactionFeatureValue()}catch(re){if(re instanceof RecognitionException)this.errorHandler.reportError(this,re),this.errorHandler.recover(this,re);else throw re}finally{this.exitRule()}return localContext}satisfactionFeatureValue(){let localContext=new SatisfactionFeatureValueContext(this.context,this.state);this.enterRule(localContext,886,_SysMLv2Parser.RULE_satisfactionFeatureValue);try{this.enterOuterAlt(localContext,1),this.state=4352,this.satisfactionReferenceExpression()}catch(re){if(re instanceof RecognitionException)this.errorHandler.reportError(this,re),this.errorHandler.recover(this,re);else throw re}finally{this.exitRule()}return localContext}satisfactionReferenceExpression(){let localContext=new SatisfactionReferenceExpressionContext(this.context,this.state);this.enterRule(localContext,888,_SysMLv2Parser.RULE_satisfactionReferenceExpression);try{this.enterOuterAlt(localContext,1),this.state=4354,this.featureChainMember()}catch(re){if(re instanceof RecognitionException)this.errorHandler.reportError(this,re),this.errorHandler.recover(this,re);else throw re}finally{this.exitRule()}return localContext}concernDefinition(){let localContext=new ConcernDefinitionContext(this.context,this.state);this.enterRule(localContext,890,_SysMLv2Parser.RULE_concernDefinition);try{this.enterOuterAlt(localContext,1),this.state=4356,this.occurrenceDefinitionPrefix(),this.state=4357,this.match(_SysMLv2Parser.CONCERN),this.state=4358,this.match(_SysMLv2Parser.DEF),this.state=4359,this.definitionDeclaration(),this.state=4360,this.requirementBody()}catch(re){if(re instanceof RecognitionException)this.errorHandler.reportError(this,re),this.errorHandler.recover(this,re);else throw re}finally{this.exitRule()}return localContext}concernUsage(){let localContext=new ConcernUsageContext(this.context,this.state);this.enterRule(localContext,892,_SysMLv2Parser.RULE_concernUsage);try{this.enterOuterAlt(localContext,1),this.state=4362,this.occurrenceUsagePrefix(),this.state=4363,this.match(_SysMLv2Parser.CONCERN),this.state=4364,this.constraintUsageDeclaration(),this.state=4365,this.requirementBody()}catch(re){if(re instanceof RecognitionException)this.errorHandler.reportError(this,re),this.errorHandler.recover(this,re);else throw re}finally{this.exitRule()}return localContext}caseDefinition(){let localContext=new CaseDefinitionContext(this.context,this.state);this.enterRule(localContext,894,_SysMLv2Parser.RULE_caseDefinition);try{this.enterOuterAlt(localContext,1),this.state=4367,this.occurrenceDefinitionPrefix(),this.state=4368,this.match(_SysMLv2Parser.CASE),this.state=4369,this.match(_SysMLv2Parser.DEF),this.state=4370,this.definitionDeclaration(),this.state=4371,this.caseBody()}catch(re){if(re instanceof RecognitionException)this.errorHandler.reportError(this,re),this.errorHandler.recover(this,re);else throw re}finally{this.exitRule()}return localContext}caseUsage(){let localContext=new CaseUsageContext(this.context,this.state);this.enterRule(localContext,896,_SysMLv2Parser.RULE_caseUsage);try{this.enterOuterAlt(localContext,1),this.state=4373,this.occurrenceUsagePrefix(),this.state=4374,this.match(_SysMLv2Parser.CASE),this.state=4375,this.constraintUsageDeclaration(),this.state=4376,this.caseBody()}catch(re){if(re instanceof RecognitionException)this.errorHandler.reportError(this,re),this.errorHandler.recover(this,re);else throw re}finally{this.exitRule()}return localContext}caseBody(){let localContext=new CaseBodyContext(this.context,this.state);this.enterRule(localContext,898,_SysMLv2Parser.RULE_caseBody);let _la;try{let alternative;switch(this.state=4390,this.errorHandler.sync(this),this.tokenStream.LA(1)){case _SysMLv2Parser.SEMI:this.enterOuterAlt(localContext,1),this.state=4378,this.match(_SysMLv2Parser.SEMI);break;case _SysMLv2Parser.LBRACE:this.enterOuterAlt(localContext,2);{for(this.state=4379,this.match(_SysMLv2Parser.LBRACE),this.state=4383,this.errorHandler.sync(this),alternative=this.interpreter.adaptivePredict(this.tokenStream,471,this.context);alternative!==2&&alternative!==ATN.INVALID_ALT_NUMBER;)alternative===1&&(this.state=4380,this.caseBodyItem()),this.state=4385,this.errorHandler.sync(this),alternative=this.interpreter.adaptivePredict(this.tokenStream,471,this.context);this.state=4387,this.errorHandler.sync(this),_la=this.tokenStream.LA(1),(_la===8||_la===64||_la===77||(_la-105&-32)===0&&(1<<_la-105&917517)!==0||_la===156||(_la-191&-32)===0&&(1<<_la-191&4236772773)!==0)&&(this.state=4386,this.resultExpressionMember()),this.state=4389,this.match(_SysMLv2Parser.RBRACE)}break;default:throw new NoViableAltException(this)}}catch(re){if(re instanceof RecognitionException)this.errorHandler.reportError(this,re),this.errorHandler.recover(this,re);else throw re}finally{this.exitRule()}return localContext}caseBodyItem(){let localContext=new CaseBodyItemContext(this.context,this.state);this.enterRule(localContext,900,_SysMLv2Parser.RULE_caseBodyItem);try{switch(this.state=4397,this.errorHandler.sync(this),this.interpreter.adaptivePredict(this.tokenStream,474,this.context)){case 1:this.enterOuterAlt(localContext,1),this.state=4392,this.actionBodyItem();break;case 2:this.enterOuterAlt(localContext,2),this.state=4393,this.returnParameterMember();break;case 3:this.enterOuterAlt(localContext,3),this.state=4394,this.subjectMember();break;case 4:this.enterOuterAlt(localContext,4),this.state=4395,this.actorMember();break;case 5:this.enterOuterAlt(localContext,5),this.state=4396,this.objectiveMember();break}}catch(re){if(re instanceof RecognitionException)this.errorHandler.reportError(this,re),this.errorHandler.recover(this,re);else throw re}finally{this.exitRule()}return localContext}objectiveMember(){let localContext=new ObjectiveMemberContext(this.context,this.state);this.enterRule(localContext,902,_SysMLv2Parser.RULE_objectiveMember);try{this.enterOuterAlt(localContext,1),this.state=4399,this.memberPrefix(),this.state=4400,this.match(_SysMLv2Parser.OBJECTIVE),this.state=4401,this.objectiveRequirementUsage()}catch(re){if(re instanceof RecognitionException)this.errorHandler.reportError(this,re),this.errorHandler.recover(this,re);else throw re}finally{this.exitRule()}return localContext}objectiveRequirementUsage(){let localContext=new ObjectiveRequirementUsageContext(this.context,this.state);this.enterRule(localContext,904,_SysMLv2Parser.RULE_objectiveRequirementUsage);let _la;try{this.enterOuterAlt(localContext,1);{for(this.state=4406,this.errorHandler.sync(this),_la=this.tokenStream.LA(1);_la===192;)this.state=4403,this.usageExtensionKeyword(),this.state=4408,this.errorHandler.sync(this),_la=this.tokenStream.LA(1);this.state=4409,this.constraintUsageDeclaration(),this.state=4410,this.requirementBody()}}catch(re){if(re instanceof RecognitionException)this.errorHandler.reportError(this,re),this.errorHandler.recover(this,re);else throw re}finally{this.exitRule()}return localContext}analysisCaseDefinition(){let localContext=new AnalysisCaseDefinitionContext(this.context,this.state);this.enterRule(localContext,906,_SysMLv2Parser.RULE_analysisCaseDefinition);try{this.enterOuterAlt(localContext,1),this.state=4412,this.occurrenceDefinitionPrefix(),this.state=4413,this.match(_SysMLv2Parser.ANALYSIS),this.state=4414,this.match(_SysMLv2Parser.DEF),this.state=4415,this.definitionDeclaration(),this.state=4416,this.caseBody()}catch(re){if(re instanceof RecognitionException)this.errorHandler.reportError(this,re),this.errorHandler.recover(this,re);else throw re}finally{this.exitRule()}return localContext}analysisCaseUsage(){let localContext=new AnalysisCaseUsageContext(this.context,this.state);this.enterRule(localContext,908,_SysMLv2Parser.RULE_analysisCaseUsage);try{this.enterOuterAlt(localContext,1),this.state=4418,this.occurrenceUsagePrefix(),this.state=4419,this.match(_SysMLv2Parser.ANALYSIS),this.state=4420,this.constraintUsageDeclaration(),this.state=4421,this.caseBody()}catch(re){if(re instanceof RecognitionException)this.errorHandler.reportError(this,re),this.errorHandler.recover(this,re);else throw re}finally{this.exitRule()}return localContext}verificationCaseDefinition(){let localContext=new VerificationCaseDefinitionContext(this.context,this.state);this.enterRule(localContext,910,_SysMLv2Parser.RULE_verificationCaseDefinition);try{this.enterOuterAlt(localContext,1),this.state=4423,this.occurrenceDefinitionPrefix(),this.state=4424,this.match(_SysMLv2Parser.VERIFICATION),this.state=4425,this.match(_SysMLv2Parser.DEF),this.state=4426,this.definitionDeclaration(),this.state=4427,this.caseBody()}catch(re){if(re instanceof RecognitionException)this.errorHandler.reportError(this,re),this.errorHandler.recover(this,re);else throw re}finally{this.exitRule()}return localContext}verificationCaseUsage(){let localContext=new VerificationCaseUsageContext(this.context,this.state);this.enterRule(localContext,912,_SysMLv2Parser.RULE_verificationCaseUsage);try{this.enterOuterAlt(localContext,1),this.state=4429,this.occurrenceUsagePrefix(),this.state=4430,this.match(_SysMLv2Parser.VERIFICATION),this.state=4431,this.constraintUsageDeclaration(),this.state=4432,this.caseBody()}catch(re){if(re instanceof RecognitionException)this.errorHandler.reportError(this,re),this.errorHandler.recover(this,re);else throw re}finally{this.exitRule()}return localContext}requirementVerificationMember(){let localContext=new RequirementVerificationMemberContext(this.context,this.state);this.enterRule(localContext,914,_SysMLv2Parser.RULE_requirementVerificationMember);try{this.enterOuterAlt(localContext,1),this.state=4434,this.memberPrefix(),this.state=4435,this.match(_SysMLv2Parser.VERIFY),this.state=4436,this.requirementVerificationUsage()}catch(re){if(re instanceof RecognitionException)this.errorHandler.reportError(this,re),this.errorHandler.recover(this,re);else throw re}finally{this.exitRule()}return localContext}requirementVerificationUsage(){let localContext=new RequirementVerificationUsageContext(this.context,this.state);this.enterRule(localContext,916,_SysMLv2Parser.RULE_requirementVerificationUsage);let _la;try{switch(this.state=4464,this.errorHandler.sync(this),this.tokenStream.LA(1)){case _SysMLv2Parser.DOLLAR:case _SysMLv2Parser.IDENTIFIER:case _SysMLv2Parser.STRING:this.enterOuterAlt(localContext,1);{for(this.state=4438,this.ownedReferenceSubsetting(),this.state=4442,this.errorHandler.sync(this),_la=this.tokenStream.LA(1);_la===42||_la===47||(_la-125&-32)===0&&(1<<_la-125&8388617)!==0||(_la-158&-32)===0&&(1<<_la-158&1208352769)!==0||_la===204;)this.state=4439,this.featureSpecialization(),this.state=4444,this.errorHandler.sync(this),_la=this.tokenStream.LA(1);this.state=4445,this.requirementBody()}break;case _SysMLv2Parser.REQUIREMENT:case _SysMLv2Parser.HASH:this.enterOuterAlt(localContext,2);{switch(this.state=4459,this.errorHandler.sync(this),this.interpreter.adaptivePredict(this.tokenStream,479,this.context)){case 1:{for(this.state=4450,this.errorHandler.sync(this),_la=this.tokenStream.LA(1);_la===192;)this.state=4447,this.usageExtensionKeyword(),this.state=4452,this.errorHandler.sync(this),_la=this.tokenStream.LA(1);this.state=4453,this.match(_SysMLv2Parser.REQUIREMENT)}break;case 2:{this.state=4455,this.errorHandler.sync(this),_la=this.tokenStream.LA(1);do this.state=4454,this.usageExtensionKeyword(),this.state=4457,this.errorHandler.sync(this),_la=this.tokenStream.LA(1);while(_la===192)}break}this.state=4461,this.constraintUsageDeclaration(),this.state=4462,this.requirementBody()}break;default:throw new NoViableAltException(this)}}catch(re){if(re instanceof RecognitionException)this.errorHandler.reportError(this,re),this.errorHandler.recover(this,re);else throw re}finally{this.exitRule()}return localContext}useCaseDefinition(){let localContext=new UseCaseDefinitionContext(this.context,this.state);this.enterRule(localContext,918,_SysMLv2Parser.RULE_useCaseDefinition);try{this.enterOuterAlt(localContext,1),this.state=4466,this.occurrenceDefinitionPrefix(),this.state=4467,this.match(_SysMLv2Parser.USE),this.state=4468,this.match(_SysMLv2Parser.CASE),this.state=4469,this.match(_SysMLv2Parser.DEF),this.state=4470,this.definitionDeclaration(),this.state=4471,this.caseBody()}catch(re){if(re instanceof RecognitionException)this.errorHandler.reportError(this,re),this.errorHandler.recover(this,re);else throw re}finally{this.exitRule()}return localContext}useCaseUsage(){let localContext=new UseCaseUsageContext(this.context,this.state);this.enterRule(localContext,920,_SysMLv2Parser.RULE_useCaseUsage);try{this.enterOuterAlt(localContext,1),this.state=4473,this.occurrenceUsagePrefix(),this.state=4474,this.match(_SysMLv2Parser.USE),this.state=4475,this.match(_SysMLv2Parser.CASE),this.state=4476,this.constraintUsageDeclaration(),this.state=4477,this.caseBody()}catch(re){if(re instanceof RecognitionException)this.errorHandler.reportError(this,re),this.errorHandler.recover(this,re);else throw re}finally{this.exitRule()}return localContext}includeUseCaseUsage(){let localContext=new IncludeUseCaseUsageContext(this.context,this.state);this.enterRule(localContext,922,_SysMLv2Parser.RULE_includeUseCaseUsage);let _la;try{this.enterOuterAlt(localContext,1);{switch(this.state=4479,this.occurrenceUsagePrefix(),this.state=4480,this.match(_SysMLv2Parser.INCLUDE),this.state=4490,this.errorHandler.sync(this),this.tokenStream.LA(1)){case _SysMLv2Parser.DOLLAR:case _SysMLv2Parser.IDENTIFIER:case _SysMLv2Parser.STRING:this.state=4481,this.ownedReferenceSubsetting(),this.state=4483,this.errorHandler.sync(this),_la=this.tokenStream.LA(1),(_la===42||_la===47||(_la-106&-32)===0&&(1<<_la-106&4718721)!==0||(_la-148&-32)===0&&(1<<_la-148&402654209)!==0||(_la-185&-32)===0&&(1<<_la-185&67633161)!==0)&&(this.state=4482,this.featureSpecializationPart());break;case _SysMLv2Parser.USE:this.state=4485,this.match(_SysMLv2Parser.USE),this.state=4486,this.match(_SysMLv2Parser.CASE),this.state=4488,this.errorHandler.sync(this),_la=this.tokenStream.LA(1),(_la===42||_la===47||(_la-106&-32)===0&&(1<<_la-106&4718721)!==0||(_la-148&-32)===0&&(1<<_la-148&402654209)!==0||(_la-185&-32)===0&&(1<<_la-185&69730313)!==0||_la===218||_la===219)&&(this.state=4487,this.usageDeclaration());break;default:throw new NoViableAltException(this)}this.state=4493,this.errorHandler.sync(this),_la=this.tokenStream.LA(1),(_la===46||_la===184||_la===207)&&(this.state=4492,this.valuePart()),this.state=4495,this.caseBody()}}catch(re){if(re instanceof RecognitionException)this.errorHandler.reportError(this,re),this.errorHandler.recover(this,re);else throw re}finally{this.exitRule()}return localContext}viewDefinition(){let localContext=new ViewDefinitionContext(this.context,this.state);this.enterRule(localContext,924,_SysMLv2Parser.RULE_viewDefinition);try{this.enterOuterAlt(localContext,1),this.state=4497,this.occurrenceDefinitionPrefix(),this.state=4498,this.match(_SysMLv2Parser.VIEW),this.state=4499,this.match(_SysMLv2Parser.DEF),this.state=4500,this.definitionDeclaration(),this.state=4501,this.viewDefinitionBody()}catch(re){if(re instanceof RecognitionException)this.errorHandler.reportError(this,re),this.errorHandler.recover(this,re);else throw re}finally{this.exitRule()}return localContext}viewDefinitionBody(){let localContext=new ViewDefinitionBodyContext(this.context,this.state);this.enterRule(localContext,926,_SysMLv2Parser.RULE_viewDefinitionBody);let _la;try{switch(this.state=4512,this.errorHandler.sync(this),this.tokenStream.LA(1)){case _SysMLv2Parser.SEMI:this.enterOuterAlt(localContext,1),this.state=4503,this.match(_SysMLv2Parser.SEMI);break;case _SysMLv2Parser.LBRACE:this.enterOuterAlt(localContext,2);{for(this.state=4504,this.match(_SysMLv2Parser.LBRACE),this.state=4508,this.errorHandler.sync(this),_la=this.tokenStream.LA(1);(_la&-32)===0&&(1<<_la&1181240980)!==0||(_la-32&-32)===0&&(1<<_la-32&490981169)!==0||(_la-68&-32)===0&&(1<<_la-68&2390947847)!==0||(_la-102&-32)===0&&(1<<_la-102&3203643665)!==0||(_la-135&-32)===0&&(1<<_la-135&3901137093)!==0||(_la-169&-32)===0&&(1<<_la-169&9011395)!==0||(_la-204&-32)===0&&(1<<_la-204&574671)!==0;)this.state=4505,this.viewDefinitionBodyItem(),this.state=4510,this.errorHandler.sync(this),_la=this.tokenStream.LA(1);this.state=4511,this.match(_SysMLv2Parser.RBRACE)}break;default:throw new NoViableAltException(this)}}catch(re){if(re instanceof RecognitionException)this.errorHandler.reportError(this,re),this.errorHandler.recover(this,re);else throw re}finally{this.exitRule()}return localContext}viewDefinitionBodyItem(){let localContext=new ViewDefinitionBodyItemContext(this.context,this.state);this.enterRule(localContext,928,_SysMLv2Parser.RULE_viewDefinitionBodyItem);try{switch(this.state=4517,this.errorHandler.sync(this),this.interpreter.adaptivePredict(this.tokenStream,487,this.context)){case 1:this.enterOuterAlt(localContext,1),this.state=4514,this.definitionBodyItem();break;case 2:this.enterOuterAlt(localContext,2),this.state=4515,this.elementFilterMember();break;case 3:this.enterOuterAlt(localContext,3),this.state=4516,this.viewRenderingMember();break}}catch(re){if(re instanceof RecognitionException)this.errorHandler.reportError(this,re),this.errorHandler.recover(this,re);else throw re}finally{this.exitRule()}return localContext}viewRenderingMember(){let localContext=new ViewRenderingMemberContext(this.context,this.state);this.enterRule(localContext,930,_SysMLv2Parser.RULE_viewRenderingMember);try{this.enterOuterAlt(localContext,1),this.state=4519,this.memberPrefix(),this.state=4520,this.match(_SysMLv2Parser.RENDER),this.state=4521,this.viewRenderingUsage()}catch(re){if(re instanceof RecognitionException)this.errorHandler.reportError(this,re),this.errorHandler.recover(this,re);else throw re}finally{this.exitRule()}return localContext}viewRenderingUsage(){let localContext=new ViewRenderingUsageContext(this.context,this.state);this.enterRule(localContext,932,_SysMLv2Parser.RULE_viewRenderingUsage);let _la;try{switch(this.state=4544,this.errorHandler.sync(this),this.tokenStream.LA(1)){case _SysMLv2Parser.DOLLAR:case _SysMLv2Parser.IDENTIFIER:case _SysMLv2Parser.STRING:this.enterOuterAlt(localContext,1),this.state=4523,this.ownedReferenceSubsetting(),this.state=4525,this.errorHandler.sync(this),_la=this.tokenStream.LA(1),(_la===42||_la===47||(_la-106&-32)===0&&(1<<_la-106&4718721)!==0||(_la-148&-32)===0&&(1<<_la-148&402654209)!==0||(_la-185&-32)===0&&(1<<_la-185&67633161)!==0)&&(this.state=4524,this.featureSpecializationPart()),this.state=4527,this.usageBody();break;case _SysMLv2Parser.RENDERING:case _SysMLv2Parser.HASH:this.enterOuterAlt(localContext,2);{switch(this.state=4541,this.errorHandler.sync(this),this.interpreter.adaptivePredict(this.tokenStream,491,this.context)){case 1:{for(this.state=4532,this.errorHandler.sync(this),_la=this.tokenStream.LA(1);_la===192;)this.state=4529,this.usageExtensionKeyword(),this.state=4534,this.errorHandler.sync(this),_la=this.tokenStream.LA(1);this.state=4535,this.match(_SysMLv2Parser.RENDERING)}break;case 2:{this.state=4537,this.errorHandler.sync(this),_la=this.tokenStream.LA(1);do this.state=4536,this.usageExtensionKeyword(),this.state=4539,this.errorHandler.sync(this),_la=this.tokenStream.LA(1);while(_la===192)}break}this.state=4543,this.usage()}break;default:throw new NoViableAltException(this)}}catch(re){if(re instanceof RecognitionException)this.errorHandler.reportError(this,re),this.errorHandler.recover(this,re);else throw re}finally{this.exitRule()}return localContext}viewUsage(){let localContext=new ViewUsageContext(this.context,this.state);this.enterRule(localContext,934,_SysMLv2Parser.RULE_viewUsage);let _la;try{this.enterOuterAlt(localContext,1),this.state=4546,this.occurrenceUsagePrefix(),this.state=4547,this.match(_SysMLv2Parser.VIEW),this.state=4549,this.errorHandler.sync(this),_la=this.tokenStream.LA(1),(_la===42||_la===47||(_la-106&-32)===0&&(1<<_la-106&4718721)!==0||(_la-148&-32)===0&&(1<<_la-148&402654209)!==0||(_la-185&-32)===0&&(1<<_la-185&69730313)!==0||_la===218||_la===219)&&(this.state=4548,this.usageDeclaration()),this.state=4552,this.errorHandler.sync(this),_la=this.tokenStream.LA(1),(_la===46||_la===184||_la===207)&&(this.state=4551,this.valuePart()),this.state=4554,this.viewBody()}catch(re){if(re instanceof RecognitionException)this.errorHandler.reportError(this,re),this.errorHandler.recover(this,re);else throw re}finally{this.exitRule()}return localContext}viewBody(){let localContext=new ViewBodyContext(this.context,this.state);this.enterRule(localContext,936,_SysMLv2Parser.RULE_viewBody);let _la;try{switch(this.state=4565,this.errorHandler.sync(this),this.tokenStream.LA(1)){case _SysMLv2Parser.SEMI:this.enterOuterAlt(localContext,1),this.state=4556,this.match(_SysMLv2Parser.SEMI);break;case _SysMLv2Parser.LBRACE:this.enterOuterAlt(localContext,2);{for(this.state=4557,this.match(_SysMLv2Parser.LBRACE),this.state=4561,this.errorHandler.sync(this),_la=this.tokenStream.LA(1);(_la&-32)===0&&(1<<_la&1181240980)!==0||(_la-32&-32)===0&&(1<<_la-32&1564722993)!==0||(_la-68&-32)===0&&(1<<_la-68&2390947847)!==0||(_la-102&-32)===0&&(1<<_la-102&3203643665)!==0||(_la-135&-32)===0&&(1<<_la-135&3901137093)!==0||(_la-169&-32)===0&&(1<<_la-169&9011395)!==0||(_la-204&-32)===0&&(1<<_la-204&574671)!==0;)this.state=4558,this.viewBodyItem(),this.state=4563,this.errorHandler.sync(this),_la=this.tokenStream.LA(1);this.state=4564,this.match(_SysMLv2Parser.RBRACE)}break;default:throw new NoViableAltException(this)}}catch(re){if(re instanceof RecognitionException)this.errorHandler.reportError(this,re),this.errorHandler.recover(this,re);else throw re}finally{this.exitRule()}return localContext}viewBodyItem(){let localContext=new ViewBodyItemContext(this.context,this.state);this.enterRule(localContext,938,_SysMLv2Parser.RULE_viewBodyItem);try{switch(this.state=4571,this.errorHandler.sync(this),this.interpreter.adaptivePredict(this.tokenStream,497,this.context)){case 1:this.enterOuterAlt(localContext,1),this.state=4567,this.definitionBodyItem();break;case 2:this.enterOuterAlt(localContext,2),this.state=4568,this.elementFilterMember();break;case 3:this.enterOuterAlt(localContext,3),this.state=4569,this.viewRenderingMember();break;case 4:this.enterOuterAlt(localContext,4),this.state=4570,this.expose();break}}catch(re){if(re instanceof RecognitionException)this.errorHandler.reportError(this,re),this.errorHandler.recover(this,re);else throw re}finally{this.exitRule()}return localContext}expose(){let localContext=new ExposeContext(this.context,this.state);this.enterRule(localContext,940,_SysMLv2Parser.RULE_expose);try{this.enterOuterAlt(localContext,1);{switch(this.state=4573,this.match(_SysMLv2Parser.EXPOSE),this.state=4576,this.errorHandler.sync(this),this.interpreter.adaptivePredict(this.tokenStream,498,this.context)){case 1:this.state=4574,this.membershipExpose();break;case 2:this.state=4575,this.namespaceExpose();break}this.state=4578,this.relationshipBody()}}catch(re){if(re instanceof RecognitionException)this.errorHandler.reportError(this,re),this.errorHandler.recover(this,re);else throw re}finally{this.exitRule()}return localContext}membershipExpose(){let localContext=new MembershipExposeContext(this.context,this.state);this.enterRule(localContext,942,_SysMLv2Parser.RULE_membershipExpose);try{this.enterOuterAlt(localContext,1),this.state=4580,this.membershipImport()}catch(re){if(re instanceof RecognitionException)this.errorHandler.reportError(this,re),this.errorHandler.recover(this,re);else throw re}finally{this.exitRule()}return localContext}namespaceExpose(){let localContext=new NamespaceExposeContext(this.context,this.state);this.enterRule(localContext,944,_SysMLv2Parser.RULE_namespaceExpose);try{this.enterOuterAlt(localContext,1),this.state=4582,this.namespaceImport()}catch(re){if(re instanceof RecognitionException)this.errorHandler.reportError(this,re),this.errorHandler.recover(this,re);else throw re}finally{this.exitRule()}return localContext}viewpointDefinition(){let localContext=new ViewpointDefinitionContext(this.context,this.state);this.enterRule(localContext,946,_SysMLv2Parser.RULE_viewpointDefinition);try{this.enterOuterAlt(localContext,1),this.state=4584,this.occurrenceDefinitionPrefix(),this.state=4585,this.match(_SysMLv2Parser.VIEWPOINT),this.state=4586,this.match(_SysMLv2Parser.DEF),this.state=4587,this.definitionDeclaration(),this.state=4588,this.requirementBody()}catch(re){if(re instanceof RecognitionException)this.errorHandler.reportError(this,re),this.errorHandler.recover(this,re);else throw re}finally{this.exitRule()}return localContext}viewpointUsage(){let localContext=new ViewpointUsageContext(this.context,this.state);this.enterRule(localContext,948,_SysMLv2Parser.RULE_viewpointUsage);try{this.enterOuterAlt(localContext,1),this.state=4590,this.occurrenceUsagePrefix(),this.state=4591,this.match(_SysMLv2Parser.VIEWPOINT),this.state=4592,this.constraintUsageDeclaration(),this.state=4593,this.requirementBody()}catch(re){if(re instanceof RecognitionException)this.errorHandler.reportError(this,re),this.errorHandler.recover(this,re);else throw re}finally{this.exitRule()}return localContext}renderingDefinition(){let localContext=new RenderingDefinitionContext(this.context,this.state);this.enterRule(localContext,950,_SysMLv2Parser.RULE_renderingDefinition);try{this.enterOuterAlt(localContext,1),this.state=4595,this.occurrenceDefinitionPrefix(),this.state=4596,this.match(_SysMLv2Parser.RENDERING),this.state=4597,this.match(_SysMLv2Parser.DEF),this.state=4598,this.definition()}catch(re){if(re instanceof RecognitionException)this.errorHandler.reportError(this,re),this.errorHandler.recover(this,re);else throw re}finally{this.exitRule()}return localContext}renderingUsage(){let localContext=new RenderingUsageContext(this.context,this.state);this.enterRule(localContext,952,_SysMLv2Parser.RULE_renderingUsage);try{this.enterOuterAlt(localContext,1),this.state=4600,this.occurrenceUsagePrefix(),this.state=4601,this.match(_SysMLv2Parser.RENDERING),this.state=4602,this.usage()}catch(re){if(re instanceof RecognitionException)this.errorHandler.reportError(this,re),this.errorHandler.recover(this,re);else throw re}finally{this.exitRule()}return localContext}metadataDefinition(){let localContext=new MetadataDefinitionContext(this.context,this.state);this.enterRule(localContext,954,_SysMLv2Parser.RULE_metadataDefinition);let _la;try{this.enterOuterAlt(localContext,1);{for(this.state=4605,this.errorHandler.sync(this),_la=this.tokenStream.LA(1),_la===2&&(this.state=4604,this.match(_SysMLv2Parser.ABSTRACT)),this.state=4610,this.errorHandler.sync(this),_la=this.tokenStream.LA(1);_la===192;)this.state=4607,this.definitionExtensionKeyword(),this.state=4612,this.errorHandler.sync(this),_la=this.tokenStream.LA(1);this.state=4613,this.match(_SysMLv2Parser.METADATA),this.state=4614,this.match(_SysMLv2Parser.DEF),this.state=4615,this.definition()}}catch(re){if(re instanceof RecognitionException)this.errorHandler.reportError(this,re),this.errorHandler.recover(this,re);else throw re}finally{this.exitRule()}return localContext}prefixMetadataUsage(){let localContext=new PrefixMetadataUsageContext(this.context,this.state);this.enterRule(localContext,956,_SysMLv2Parser.RULE_prefixMetadataUsage);try{this.enterOuterAlt(localContext,1),this.state=4617,this.ownedFeatureTyping()}catch(re){if(re instanceof RecognitionException)this.errorHandler.reportError(this,re),this.errorHandler.recover(this,re);else throw re}finally{this.exitRule()}return localContext}metadataUsage(){let localContext=new MetadataUsageContext(this.context,this.state);this.enterRule(localContext,958,_SysMLv2Parser.RULE_metadataUsage);let _la;try{this.enterOuterAlt(localContext,1);{for(this.state=4622,this.errorHandler.sync(this),_la=this.tokenStream.LA(1);_la===192;)this.state=4619,this.usageExtensionKeyword(),this.state=4624,this.errorHandler.sync(this),_la=this.tokenStream.LA(1);if(this.state=4625,_la=this.tokenStream.LA(1),_la===102||_la===210?(this.errorHandler.reportMatch(this),this.consume()):this.errorHandler.recoverInline(this),this.state=4626,this.metadataUsageDeclaration(),this.state=4636,this.errorHandler.sync(this),_la=this.tokenStream.LA(1),_la===1)for(this.state=4627,this.match(_SysMLv2Parser.ABOUT),this.state=4628,this.annotation(),this.state=4633,this.errorHandler.sync(this),_la=this.tokenStream.LA(1);_la===200;)this.state=4629,this.match(_SysMLv2Parser.COMMA),this.state=4630,this.annotation(),this.state=4635,this.errorHandler.sync(this),_la=this.tokenStream.LA(1);this.state=4638,this.metadataBody()}}catch(re){if(re instanceof RecognitionException)this.errorHandler.reportError(this,re),this.errorHandler.recover(this,re);else throw re}finally{this.exitRule()}return localContext}metadataUsageDeclaration(){let localContext=new MetadataUsageDeclarationContext(this.context,this.state);this.enterRule(localContext,960,_SysMLv2Parser.RULE_metadataUsageDeclaration);let _la;try{this.enterOuterAlt(localContext,1);{switch(this.state=4648,this.errorHandler.sync(this),this.interpreter.adaptivePredict(this.tokenStream,506,this.context)){case 1:switch(this.state=4641,this.errorHandler.sync(this),_la=this.tokenStream.LA(1),(_la-206&-32)===0&&(1<<_la-206&12289)!==0&&(this.state=4640,this.identification()),this.state=4646,this.errorHandler.sync(this),this.tokenStream.LA(1)){case _SysMLv2Parser.COLON:this.state=4643,this.match(_SysMLv2Parser.COLON);break;case _SysMLv2Parser.TYPED:this.state=4644,this.match(_SysMLv2Parser.TYPED),this.state=4645,this.match(_SysMLv2Parser.BY);break;default:throw new NoViableAltException(this)}break}this.state=4650,this.ownedFeatureTyping()}}catch(re){if(re instanceof RecognitionException)this.errorHandler.reportError(this,re),this.errorHandler.recover(this,re);else throw re}finally{this.exitRule()}return localContext}metadataBodyUsageMember(){let localContext=new MetadataBodyUsageMemberContext(this.context,this.state);this.enterRule(localContext,962,_SysMLv2Parser.RULE_metadataBodyUsageMember);try{this.enterOuterAlt(localContext,1),this.state=4652,this.metadataBodyUsage()}catch(re){if(re instanceof RecognitionException)this.errorHandler.reportError(this,re),this.errorHandler.recover(this,re);else throw re}finally{this.exitRule()}return localContext}metadataBodyUsage(){let localContext=new MetadataBodyUsageContext(this.context,this.state);this.enterRule(localContext,964,_SysMLv2Parser.RULE_metadataBodyUsage);let _la;try{this.enterOuterAlt(localContext,1),this.state=4655,this.errorHandler.sync(this),_la=this.tokenStream.LA(1),_la===127&&(this.state=4654,this.match(_SysMLv2Parser.REF)),this.state=4658,this.errorHandler.sync(this),_la=this.tokenStream.LA(1),(_la===125||_la===176)&&(this.state=4657,_la=this.tokenStream.LA(1),_la===125||_la===176?(this.errorHandler.reportMatch(this),this.consume()):this.errorHandler.recoverInline(this)),this.state=4660,this.ownedRedefinition(),this.state=4662,this.errorHandler.sync(this),_la=this.tokenStream.LA(1),(_la===42||_la===47||(_la-106&-32)===0&&(1<<_la-106&4718721)!==0||(_la-148&-32)===0&&(1<<_la-148&402654209)!==0||(_la-185&-32)===0&&(1<<_la-185&67633161)!==0)&&(this.state=4661,this.featureSpecializationPart()),this.state=4665,this.errorHandler.sync(this),_la=this.tokenStream.LA(1),(_la===46||_la===184||_la===207)&&(this.state=4664,this.valuePart()),this.state=4667,this.metadataBody()}catch(re){if(re instanceof RecognitionException)this.errorHandler.reportError(this,re),this.errorHandler.recover(this,re);else throw re}finally{this.exitRule()}return localContext}extendedDefinition(){let localContext=new ExtendedDefinitionContext(this.context,this.state);this.enterRule(localContext,966,_SysMLv2Parser.RULE_extendedDefinition);let _la;try{this.enterOuterAlt(localContext,1);{this.state=4670,this.errorHandler.sync(this),_la=this.tokenStream.LA(1),(_la===2||_la===165)&&(this.state=4669,this.basicDefinitionPrefix()),this.state=4673,this.errorHandler.sync(this),_la=this.tokenStream.LA(1);do this.state=4672,this.definitionExtensionKeyword(),this.state=4675,this.errorHandler.sync(this),_la=this.tokenStream.LA(1);while(_la===192);this.state=4677,this.match(_SysMLv2Parser.DEF),this.state=4678,this.definition()}}catch(re){if(re instanceof RecognitionException)this.errorHandler.reportError(this,re),this.errorHandler.recover(this,re);else throw re}finally{this.exitRule()}return localContext}extendedUsage(){let localContext=new ExtendedUsageContext(this.context,this.state);this.enterRule(localContext,968,_SysMLv2Parser.RULE_extendedUsage);let _la;try{this.enterOuterAlt(localContext,1);{this.state=4680,this.unextendedUsagePrefix(),this.state=4682,this.errorHandler.sync(this),_la=this.tokenStream.LA(1);do this.state=4681,this.usageExtensionKeyword(),this.state=4684,this.errorHandler.sync(this),_la=this.tokenStream.LA(1);while(_la===192);this.state=4686,this.usage()}}catch(re){if(re instanceof RecognitionException)this.errorHandler.reportError(this,re),this.errorHandler.recover(this,re);else throw re}finally{this.exitRule()}return localContext}filterPackageImportDeclaration(){let localContext=new FilterPackageImportDeclarationContext(this.context,this.state);this.enterRule(localContext,970,_SysMLv2Parser.RULE_filterPackageImportDeclaration);try{switch(this.state=4690,this.errorHandler.sync(this),this.interpreter.adaptivePredict(this.tokenStream,514,this.context)){case 1:this.enterOuterAlt(localContext,1),this.state=4688,this.membershipImport();break;case 2:this.enterOuterAlt(localContext,2),this.state=4689,this.namespaceImportDirect();break}}catch(re){if(re instanceof RecognitionException)this.errorHandler.reportError(this,re),this.errorHandler.recover(this,re);else throw re}finally{this.exitRule()}return localContext}namespaceImportDirect(){let localContext=new NamespaceImportDirectContext(this.context,this.state);this.enterRule(localContext,972,_SysMLv2Parser.RULE_namespaceImportDirect);let _la;try{this.enterOuterAlt(localContext,1),this.state=4692,this.qualifiedName(),this.state=4693,this.match(_SysMLv2Parser.COLON_COLON),this.state=4694,this.match(_SysMLv2Parser.STAR),this.state=4697,this.errorHandler.sync(this),_la=this.tokenStream.LA(1),_la===183&&(this.state=4695,this.match(_SysMLv2Parser.COLON_COLON),this.state=4696,this.match(_SysMLv2Parser.STAR_STAR))}catch(re){if(re instanceof RecognitionException)this.errorHandler.reportError(this,re),this.errorHandler.recover(this,re);else throw re}finally{this.exitRule()}return localContext}calculationUsageDeclaration(){let localContext=new CalculationUsageDeclarationContext(this.context,this.state);this.enterRule(localContext,974,_SysMLv2Parser.RULE_calculationUsageDeclaration);let _la;try{this.enterOuterAlt(localContext,1),this.state=4700,this.errorHandler.sync(this),_la=this.tokenStream.LA(1),(_la===42||_la===47||(_la-106&-32)===0&&(1<<_la-106&4718721)!==0||(_la-148&-32)===0&&(1<<_la-148&402654209)!==0||(_la-185&-32)===0&&(1<<_la-185&69730313)!==0||_la===218||_la===219)&&(this.state=4699,this.usageDeclaration()),this.state=4703,this.errorHandler.sync(this),_la=this.tokenStream.LA(1),(_la===46||_la===184||_la===207)&&(this.state=4702,this.valuePart())}catch(re){if(re instanceof RecognitionException)this.errorHandler.reportError(this,re),this.errorHandler.recover(this,re);else throw re}finally{this.exitRule()}return localContext}emptyActionUsage_(){let localContext=new EmptyActionUsage_Context(this.context,this.state);this.enterRule(localContext,976,_SysMLv2Parser.RULE_emptyActionUsage_);try{this.enterOuterAlt(localContext,1)}catch(re){if(re instanceof RecognitionException)this.errorHandler.reportError(this,re),this.errorHandler.recover(this,re);else throw re}finally{this.exitRule()}return localContext}emptyFeature_(){let localContext=new EmptyFeature_Context(this.context,this.state);this.enterRule(localContext,978,_SysMLv2Parser.RULE_emptyFeature_);try{this.enterOuterAlt(localContext,1)}catch(re){if(re instanceof RecognitionException)this.errorHandler.reportError(this,re),this.errorHandler.recover(this,re);else throw re}finally{this.exitRule()}return localContext}emptyMultiplicity_(){let localContext=new EmptyMultiplicity_Context(this.context,this.state);this.enterRule(localContext,980,_SysMLv2Parser.RULE_emptyMultiplicity_);try{this.enterOuterAlt(localContext,1)}catch(re){if(re instanceof RecognitionException)this.errorHandler.reportError(this,re),this.errorHandler.recover(this,re);else throw re}finally{this.exitRule()}return localContext}emptyUsage_(){let localContext=new EmptyUsage_Context(this.context,this.state);this.enterRule(localContext,982,_SysMLv2Parser.RULE_emptyUsage_);try{this.enterOuterAlt(localContext,1)}catch(re){if(re instanceof RecognitionException)this.errorHandler.reportError(this,re),this.errorHandler.recover(this,re);else throw re}finally{this.exitRule()}return localContext}filterPackageImport(){let localContext=new FilterPackageImportContext(this.context,this.state);this.enterRule(localContext,984,_SysMLv2Parser.RULE_filterPackageImport);try{this.enterOuterAlt(localContext,1),this.state=4713,this.match(_SysMLv2Parser.IDENTIFIER)}catch(re){if(re instanceof RecognitionException)this.errorHandler.reportError(this,re),this.errorHandler.recover(this,re);else throw re}finally{this.exitRule()}return localContext}nonFeatureChainPrimaryExpression(){let localContext=new NonFeatureChainPrimaryExpressionContext(this.context,this.state);this.enterRule(localContext,986,_SysMLv2Parser.RULE_nonFeatureChainPrimaryExpression);try{this.enterOuterAlt(localContext,1),this.state=4715,this.match(_SysMLv2Parser.IDENTIFIER)}catch(re){if(re instanceof RecognitionException)this.errorHandler.reportError(this,re),this.errorHandler.recover(this,re);else throw re}finally{this.exitRule()}return localContext}portConjugation(){let localContext=new PortConjugationContext(this.context,this.state);this.enterRule(localContext,988,_SysMLv2Parser.RULE_portConjugation);try{this.enterOuterAlt(localContext,1)}catch(re){if(re instanceof RecognitionException)this.errorHandler.reportError(this,re),this.errorHandler.recover(this,re);else throw re}finally{this.exitRule()}return localContext}sempred(localContext,ruleIndex,predIndex){return ruleIndex===0?this.ownedExpression_sempred(localContext,predIndex):!0}ownedExpression_sempred(localContext,predIndex){switch(predIndex){case 0:return this.precpred(this.context,27);case 1:return this.precpred(this.context,26);case 2:return this.precpred(this.context,25);case 3:return this.precpred(this.context,24);case 4:return this.precpred(this.context,23);case 5:return this.precpred(this.context,22);case 6:return this.precpred(this.context,21);case 7:return this.precpred(this.context,20);case 8:return this.precpred(this.context,19);case 9:return this.precpred(this.context,18);case 10:return this.precpred(this.context,17);case 11:return this.precpred(this.context,16);case 12:return this.precpred(this.context,15);case 13:return this.precpred(this.context,12);case 14:return this.precpred(this.context,11);case 15:return this.precpred(this.context,10);case 16:return this.precpred(this.context,9);case 17:return this.precpred(this.context,8);case 18:return this.precpred(this.context,7);case 19:return this.precpred(this.context,6);case 20:return this.precpred(this.context,5);case 21:return this.precpred(this.context,4);case 22:return this.precpred(this.context,3)}return!0}static _serializedATN=[4,1,225,4720,2,0,7,0,2,1,7,1,2,2,7,2,2,3,7,3,2,4,7,4,2,5,7,5,2,6,7,6,2,7,7,7,2,8,7,8,2,9,7,9,2,10,7,10,2,11,7,11,2,12,7,12,2,13,7,13,2,14,7,14,2,15,7,15,2,16,7,16,2,17,7,17,2,18,7,18,2,19,7,19,2,20,7,20,2,21,7,21,2,22,7,22,2,23,7,23,2,24,7,24,2,25,7,25,2,26,7,26,2,27,7,27,2,28,7,28,2,29,7,29,2,30,7,30,2,31,7,31,2,32,7,32,2,33,7,33,2,34,7,34,2,35,7,35,2,36,7,36,2,37,7,37,2,38,7,38,2,39,7,39,2,40,7,40,2,41,7,41,2,42,7,42,2,43,7,43,2,44,7,44,2,45,7,45,2,46,7,46,2,47,7,47,2,48,7,48,2,49,7,49,2,50,7,50,2,51,7,51,2,52,7,52,2,53,7,53,2,54,7,54,2,55,7,55,2,56,7,56,2,57,7,57,2,58,7,58,2,59,7,59,2,60,7,60,2,61,7,61,2,62,7,62,2,63,7,63,2,64,7,64,2,65,7,65,2,66,7,66,2,67,7,67,2,68,7,68,2,69,7,69,2,70,7,70,2,71,7,71,2,72,7,72,2,73,7,73,2,74,7,74,2,75,7,75,2,76,7,76,2,77,7,77,2,78,7,78,2,79,7,79,2,80,7,80,2,81,7,81,2,82,7,82,2,83,7,83,2,84,7,84,2,85,7,85,2,86,7,86,2,87,7,87,2,88,7,88,2,89,7,89,2,90,7,90,2,91,7,91,2,92,7,92,2,93,7,93,2,94,7,94,2,95,7,95,2,96,7,96,2,97,7,97,2,98,7,98,2,99,7,99,2,100,7,100,2,101,7,101,2,102,7,102,2,103,7,103,2,104,7,104,2,105,7,105,2,106,7,106,2,107,7,107,2,108,7,108,2,109,7,109,2,110,7,110,2,111,7,111,2,112,7,112,2,113,7,113,2,114,7,114,2,115,7,115,2,116,7,116,2,117,7,117,2,118,7,118,2,119,7,119,2,120,7,120,2,121,7,121,2,122,7,122,2,123,7,123,2,124,7,124,2,125,7,125,2,126,7,126,2,127,7,127,2,128,7,128,2,129,7,129,2,130,7,130,2,131,7,131,2,132,7,132,2,133,7,133,2,134,7,134,2,135,7,135,2,136,7,136,2,137,7,137,2,138,7,138,2,139,7,139,2,140,7,140,2,141,7,141,2,142,7,142,2,143,7,143,2,144,7,144,2,145,7,145,2,146,7,146,2,147,7,147,2,148,7,148,2,149,7,149,2,150,7,150,2,151,7,151,2,152,7,152,2,153,7,153,2,154,7,154,2,155,7,155,2,156,7,156,2,157,7,157,2,158,7,158,2,159,7,159,2,160,7,160,2,161,7,161,2,162,7,162,2,163,7,163,2,164,7,164,2,165,7,165,2,166,7,166,2,167,7,167,2,168,7,168,2,169,7,169,2,170,7,170,2,171,7,171,2,172,7,172,2,173,7,173,2,174,7,174,2,175,7,175,2,176,7,176,2,177,7,177,2,178,7,178,2,179,7,179,2,180,7,180,2,181,7,181,2,182,7,182,2,183,7,183,2,184,7,184,2,185,7,185,2,186,7,186,2,187,7,187,2,188,7,188,2,189,7,189,2,190,7,190,2,191,7,191,2,192,7,192,2,193,7,193,2,194,7,194,2,195,7,195,2,196,7,196,2,197,7,197,2,198,7,198,2,199,7,199,2,200,7,200,2,201,7,201,2,202,7,202,2,203,7,203,2,204,7,204,2,205,7,205,2,206,7,206,2,207,7,207,2,208,7,208,2,209,7,209,2,210,7,210,2,211,7,211,2,212,7,212,2,213,7,213,2,214,7,214,2,215,7,215,2,216,7,216,2,217,7,217,2,218,7,218,2,219,7,219,2,220,7,220,2,221,7,221,2,222,7,222,2,223,7,223,2,224,7,224,2,225,7,225,2,226,7,226,2,227,7,227,2,228,7,228,2,229,7,229,2,230,7,230,2,231,7,231,2,232,7,232,2,233,7,233,2,234,7,234,2,235,7,235,2,236,7,236,2,237,7,237,2,238,7,238,2,239,7,239,2,240,7,240,2,241,7,241,2,242,7,242,2,243,7,243,2,244,7,244,2,245,7,245,2,246,7,246,2,247,7,247,2,248,7,248,2,249,7,249,2,250,7,250,2,251,7,251,2,252,7,252,2,253,7,253,2,254,7,254,2,255,7,255,2,256,7,256,2,257,7,257,2,258,7,258,2,259,7,259,2,260,7,260,2,261,7,261,2,262,7,262,2,263,7,263,2,264,7,264,2,265,7,265,2,266,7,266,2,267,7,267,2,268,7,268,2,269,7,269,2,270,7,270,2,271,7,271,2,272,7,272,2,273,7,273,2,274,7,274,2,275,7,275,2,276,7,276,2,277,7,277,2,278,7,278,2,279,7,279,2,280,7,280,2,281,7,281,2,282,7,282,2,283,7,283,2,284,7,284,2,285,7,285,2,286,7,286,2,287,7,287,2,288,7,288,2,289,7,289,2,290,7,290,2,291,7,291,2,292,7,292,2,293,7,293,2,294,7,294,2,295,7,295,2,296,7,296,2,297,7,297,2,298,7,298,2,299,7,299,2,300,7,300,2,301,7,301,2,302,7,302,2,303,7,303,2,304,7,304,2,305,7,305,2,306,7,306,2,307,7,307,2,308,7,308,2,309,7,309,2,310,7,310,2,311,7,311,2,312,7,312,2,313,7,313,2,314,7,314,2,315,7,315,2,316,7,316,2,317,7,317,2,318,7,318,2,319,7,319,2,320,7,320,2,321,7,321,2,322,7,322,2,323,7,323,2,324,7,324,2,325,7,325,2,326,7,326,2,327,7,327,2,328,7,328,2,329,7,329,2,330,7,330,2,331,7,331,2,332,7,332,2,333,7,333,2,334,7,334,2,335,7,335,2,336,7,336,2,337,7,337,2,338,7,338,2,339,7,339,2,340,7,340,2,341,7,341,2,342,7,342,2,343,7,343,2,344,7,344,2,345,7,345,2,346,7,346,2,347,7,347,2,348,7,348,2,349,7,349,2,350,7,350,2,351,7,351,2,352,7,352,2,353,7,353,2,354,7,354,2,355,7,355,2,356,7,356,2,357,7,357,2,358,7,358,2,359,7,359,2,360,7,360,2,361,7,361,2,362,7,362,2,363,7,363,2,364,7,364,2,365,7,365,2,366,7,366,2,367,7,367,2,368,7,368,2,369,7,369,2,370,7,370,2,371,7,371,2,372,7,372,2,373,7,373,2,374,7,374,2,375,7,375,2,376,7,376,2,377,7,377,2,378,7,378,2,379,7,379,2,380,7,380,2,381,7,381,2,382,7,382,2,383,7,383,2,384,7,384,2,385,7,385,2,386,7,386,2,387,7,387,2,388,7,388,2,389,7,389,2,390,7,390,2,391,7,391,2,392,7,392,2,393,7,393,2,394,7,394,2,395,7,395,2,396,7,396,2,397,7,397,2,398,7,398,2,399,7,399,2,400,7,400,2,401,7,401,2,402,7,402,2,403,7,403,2,404,7,404,2,405,7,405,2,406,7,406,2,407,7,407,2,408,7,408,2,409,7,409,2,410,7,410,2,411,7,411,2,412,7,412,2,413,7,413,2,414,7,414,2,415,7,415,2,416,7,416,2,417,7,417,2,418,7,418,2,419,7,419,2,420,7,420,2,421,7,421,2,422,7,422,2,423,7,423,2,424,7,424,2,425,7,425,2,426,7,426,2,427,7,427,2,428,7,428,2,429,7,429,2,430,7,430,2,431,7,431,2,432,7,432,2,433,7,433,2,434,7,434,2,435,7,435,2,436,7,436,2,437,7,437,2,438,7,438,2,439,7,439,2,440,7,440,2,441,7,441,2,442,7,442,2,443,7,443,2,444,7,444,2,445,7,445,2,446,7,446,2,447,7,447,2,448,7,448,2,449,7,449,2,450,7,450,2,451,7,451,2,452,7,452,2,453,7,453,2,454,7,454,2,455,7,455,2,456,7,456,2,457,7,457,2,458,7,458,2,459,7,459,2,460,7,460,2,461,7,461,2,462,7,462,2,463,7,463,2,464,7,464,2,465,7,465,2,466,7,466,2,467,7,467,2,468,7,468,2,469,7,469,2,470,7,470,2,471,7,471,2,472,7,472,2,473,7,473,2,474,7,474,2,475,7,475,2,476,7,476,2,477,7,477,2,478,7,478,2,479,7,479,2,480,7,480,2,481,7,481,2,482,7,482,2,483,7,483,2,484,7,484,2,485,7,485,2,486,7,486,2,487,7,487,2,488,7,488,2,489,7,489,2,490,7,490,2,491,7,491,2,492,7,492,2,493,7,493,2,494,7,494,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,3,0,1006,8,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,3,0,1062,8,0,1,0,1,0,1,0,1,0,1,0,3,0,1069,8,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,3,0,1085,8,0,5,0,1087,8,0,10,0,12,0,1090,9,0,1,1,1,1,1,2,1,2,1,2,5,2,1097,8,2,10,2,12,2,1100,9,2,1,3,1,3,1,3,1,3,1,3,1,3,3,3,1108,8,3,1,3,1,3,1,3,1,3,3,3,1114,8,3,1,3,3,3,1117,8,3,1,4,1,4,1,4,3,4,1122,8,4,1,5,1,5,1,6,1,6,1,6,1,6,1,7,1,7,1,7,1,8,1,8,1,8,1,8,1,9,1,9,1,9,1,9,1,10,1,10,1,10,3,10,1144,8,10,1,10,1,10,1,11,1,11,1,11,5,11,1151,8,11,10,11,12,11,1154,9,11,1,12,1,12,1,12,5,12,1159,8,12,10,12,12,12,1162,9,12,1,13,1,13,1,13,1,13,1,14,1,14,1,14,1,14,1,14,3,14,1173,8,14,1,15,1,15,1,16,1,16,1,17,1,17,1,18,1,18,1,19,1,19,1,20,1,20,1,21,1,21,1,22,1,22,1,23,1,23,1,23,1,23,1,23,1,23,1,23,1,23,1,23,1,23,3,23,1201,8,23,1,24,1,24,1,24,5,24,1206,8,24,10,24,12,24,1209,9,24,1,24,1,24,1,24,5,24,1214,8,24,10,24,12,24,1217,9,24,1,24,3,24,1220,8,24,1,25,1,25,3,25,1224,8,25,1,26,1,26,3,26,1228,8,26,1,27,5,27,1231,8,27,10,27,12,27,1234,9,27,1,27,1,27,3,27,1238,8,27,1,27,3,27,1241,8,27,1,27,1,27,1,27,5,27,1246,8,27,10,27,12,27,1249,9,27,1,27,1,27,1,27,1,27,5,27,1255,8,27,10,27,12,27,1258,9,27,1,27,1,27,1,27,5,27,1263,8,27,10,27,12,27,1266,9,27,1,27,1,27,1,27,1,27,3,27,1272,8,27,1,28,1,28,1,29,1,29,1,30,1,30,1,30,1,30,3,30,1282,8,30,1,31,1,31,3,31,1286,8,31,1,31,1,31,1,31,1,31,5,31,1292,8,31,10,31,12,31,1295,9,31,3,31,1297,8,31,3,31,1299,8,31,1,31,1,31,3,31,1303,8,31,1,31,1,31,1,32,1,32,3,32,1309,8,32,1,32,1,32,3,32,1313,8,32,1,32,1,32,1,33,1,33,3,33,1319,8,33,3,33,1321,8,33,1,33,1,33,1,33,1,33,1,34,5,34,1328,8,34,10,34,12,34,1331,9,34,1,34,1,34,1,35,5,35,1336,8,35,10,35,12,35,1339,9,35,1,35,1,35,1,35,1,36,1,36,3,36,1346,8,36,1,37,1,37,1,37,5,37,1351,8,37,10,37,12,37,1354,9,37,1,37,3,37,1357,8,37,1,38,1,38,1,38,3,38,1362,8,38,1,39,3,39,1365,8,39,1,40,1,40,1,41,1,41,3,41,1371,8,41,1,42,1,42,1,42,1,43,1,43,1,43,1,44,1,44,1,44,1,44,1,44,1,44,3,44,1385,8,44,1,44,3,44,1388,8,44,1,44,1,44,1,44,1,44,1,45,1,45,3,45,1396,8,45,1,45,1,45,1,45,5,45,1401,8,45,10,45,12,45,1404,9,45,1,45,1,45,1,46,3,46,1409,8,46,1,46,1,46,3,46,1413,8,46,1,46,1,46,1,46,1,47,1,47,3,47,1420,8,47,1,48,1,48,1,48,3,48,1425,8,48,1,49,1,49,1,49,1,49,1,49,3,49,1432,8,49,1,49,3,49,1435,8,49,1,50,1,50,4,50,1439,8,50,11,50,12,50,1440,1,50,1,50,4,50,1445,8,50,11,50,12,50,1446,3,50,1449,8,50,1,51,1,51,1,51,1,51,1,52,1,52,3,52,1457,8,52,1,53,1,53,1,53,1,53,1,53,1,53,1,53,1,53,1,53,1,53,1,53,1,53,1,53,1,53,1,53,1,53,1,53,1,53,1,53,1,53,1,53,1,53,1,53,1,53,1,53,1,53,3,53,1485,8,53,1,54,1,54,1,54,1,54,1,54,1,54,1,54,1,54,1,54,1,54,3,54,1497,8,54,1,55,1,55,1,55,1,55,1,55,1,56,3,56,1505,8,56,1,56,5,56,1508,8,56,10,56,12,56,1511,9,56,1,57,3,57,1514,8,57,1,57,3,57,1517,8,57,1,57,3,57,1520,8,57,1,57,1,57,4,57,1524,8,57,11,57,12,57,1525,1,57,5,57,1529,8,57,10,57,12,57,1532,9,57,1,58,1,58,1,58,1,58,5,58,1538,8,58,10,58,12,58,1541,9,58,1,59,1,59,1,59,1,60,1,60,1,60,1,60,3,60,1550,8,60,1,61,1,61,1,61,1,61,1,61,5,61,1557,8,61,10,61,12,61,1560,9,61,1,62,1,62,1,62,1,62,5,62,1566,8,62,10,62,12,62,1569,9,62,1,63,1,63,1,63,1,63,5,63,1575,8,63,10,63,12,63,1578,9,63,1,64,1,64,1,64,1,64,5,64,1584,8,64,10,64,12,64,1587,9,64,1,65,1,65,1,65,5,65,1592,8,65,10,65,12,65,1595,9,65,1,65,3,65,1598,8,65,1,66,1,66,1,66,1,66,3,66,1604,8,66,1,67,1,67,3,67,1608,8,67,3,67,1610,8,67,1,67,1,67,1,67,1,67,1,67,1,67,1,68,1,68,1,69,1,69,1,69,5,69,1623,8,69,10,69,12,69,1626,9,69,1,70,1,70,1,70,5,70,1631,8,70,10,70,12,70,1634,9,70,1,71,1,71,3,71,1638,8,71,3,71,1640,8,71,1,71,1,71,1,71,1,71,5,71,1646,8,71,10,71,12,71,1649,9,71,1,71,1,71,1,71,1,71,5,71,1655,8,71,10,71,12,71,1658,9,71,1,71,1,71,1,72,1,72,1,72,5,72,1665,8,72,10,72,12,72,1668,9,72,1,73,1,73,3,73,1672,8,73,3,73,1674,8,73,1,73,1,73,1,73,1,73,5,73,1680,8,73,10,73,12,73,1683,9,73,1,73,1,73,1,73,1,73,5,73,1689,8,73,10,73,12,73,1692,9,73,1,73,1,73,1,74,1,74,1,74,5,74,1699,8,74,10,74,12,74,1702,9,74,1,75,1,75,1,75,5,75,1707,8,75,10,75,12,75,1710,9,75,1,76,1,76,1,76,5,76,1715,8,76,10,76,12,76,1718,9,76,1,77,1,77,1,77,5,77,1723,8,77,10,77,12,77,1726,9,77,1,78,1,78,3,78,1730,8,78,1,79,1,79,1,79,1,79,1,80,1,80,1,80,1,81,1,81,1,81,1,81,1,81,1,82,3,82,1745,8,82,1,82,3,82,1748,8,82,1,82,3,82,1751,8,82,1,82,1,82,3,82,1755,8,82,1,82,5,82,1758,8,82,10,82,12,82,1761,9,82,1,83,1,83,1,83,1,83,5,83,1767,8,83,10,83,12,83,1770,9,83,1,84,1,84,3,84,1774,8,84,3,84,1776,8,84,1,84,1,84,1,84,1,84,1,84,1,84,1,85,1,85,1,86,1,86,1,86,3,86,1789,8,86,1,86,3,86,1792,8,86,1,86,1,86,3,86,1796,8,86,1,86,1,86,3,86,1800,8,86,1,86,3,86,1803,8,86,1,86,1,86,1,87,3,87,1808,8,87,1,87,1,87,1,88,3,88,1813,8,88,1,88,3,88,1816,8,88,1,88,3,88,1819,8,88,1,88,3,88,1822,8,88,1,88,3,88,1825,8,88,1,89,1,89,1,89,1,89,3,89,1831,8,89,1,89,5,89,1834,8,89,10,89,12,89,1837,9,89,1,90,1,90,1,91,1,91,1,91,1,91,1,91,3,91,1846,8,91,3,91,1848,8,91,1,92,1,92,1,93,3,93,1853,8,93,1,93,1,93,1,93,3,93,1858,8,93,1,93,1,93,3,93,1862,8,93,1,93,5,93,1865,8,93,10,93,12,93,1868,9,93,1,94,1,94,1,94,1,94,3,94,1874,8,94,1,94,3,94,1877,8,94,1,95,1,95,1,95,1,95,3,95,1883,8,95,1,96,1,96,1,96,1,96,5,96,1889,8,96,10,96,12,96,1892,9,96,1,97,1,97,1,97,1,97,1,98,1,98,1,98,1,98,1,98,5,98,1903,8,98,10,98,12,98,1906,9,98,1,99,4,99,1909,8,99,11,99,12,99,1910,1,99,3,99,1914,8,99,1,99,5,99,1917,8,99,10,99,12,99,1920,9,99,1,99,1,99,5,99,1924,8,99,10,99,12,99,1927,9,99,3,99,1929,8,99,1,100,1,100,1,100,3,100,1934,8,100,1,100,1,100,3,100,1938,8,100,3,100,1940,8,100,1,100,1,100,3,100,1944,8,100,1,100,1,100,3,100,1948,8,100,3,100,1950,8,100,3,100,1952,8,100,1,101,1,101,1,101,1,101,1,101,3,101,1959,8,101,1,102,1,102,1,102,5,102,1964,8,102,10,102,12,102,1967,9,102,1,103,1,103,1,103,1,103,1,103,3,103,1974,8,103,1,103,1,103,1,104,1,104,1,104,5,104,1981,8,104,10,104,12,104,1984,9,104,1,105,1,105,1,105,1,106,1,106,1,106,1,107,1,107,1,107,1,108,1,108,1,108,5,108,1998,8,108,10,108,12,108,2001,9,108,1,109,1,109,1,109,1,110,1,110,3,110,2008,8,110,3,110,2010,8,110,1,110,1,110,1,110,1,110,1,110,3,110,2017,8,110,1,110,1,110,1,110,1,110,1,110,3,110,2024,8,110,1,111,1,111,1,111,5,111,2029,8,111,10,111,12,111,2032,9,111,1,112,1,112,3,112,2036,8,112,3,112,2038,8,112,1,112,1,112,1,112,1,112,1,112,1,112,1,113,1,113,1,113,5,113,2049,8,113,10,113,12,113,2052,9,113,1,114,1,114,1,114,5,114,2057,8,114,10,114,12,114,2060,9,114,1,115,1,115,1,115,5,115,2065,8,115,10,115,12,115,2068,9,115,1,116,1,116,3,116,2072,8,116,3,116,2074,8,116,1,116,1,116,1,116,1,116,1,116,1,116,1,117,1,117,1,117,5,117,2085,8,117,10,117,12,117,2088,9,117,1,118,1,118,1,118,1,118,4,118,2094,8,118,11,118,12,118,2095,3,118,2098,8,118,1,119,1,119,1,119,4,119,2103,8,119,11,119,12,119,2104,1,120,1,120,1,121,1,121,3,121,2111,8,121,3,121,2113,8,121,1,121,1,121,1,121,1,121,5,121,2119,8,121,10,121,12,121,2122,9,121,1,121,1,121,1,121,1,121,5,121,2128,8,121,10,121,12,121,2131,9,121,1,121,1,121,1,122,1,122,1,122,5,122,2138,8,122,10,122,12,122,2141,9,122,1,123,1,123,3,123,2145,8,123,1,123,3,123,2148,8,123,1,123,1,123,1,123,1,123,1,123,1,124,1,124,1,125,1,125,1,125,1,125,1,125,1,126,1,126,1,126,1,126,1,126,1,127,1,127,1,127,1,127,1,127,1,128,1,128,1,128,1,128,1,128,1,129,1,129,1,129,1,129,1,129,1,129,1,130,1,130,1,130,3,130,2186,8,130,1,130,3,130,2189,8,130,1,130,3,130,2192,8,130,1,130,1,130,1,131,1,131,3,131,2198,8,131,1,132,3,132,2201,8,132,1,132,1,132,1,132,3,132,2206,8,132,3,132,2208,8,132,1,132,1,132,1,132,1,132,1,133,3,133,2215,8,133,1,133,1,133,1,133,1,133,1,133,1,133,5,133,2223,8,133,10,133,12,133,2226,9,133,1,133,1,133,1,134,1,134,1,135,3,135,2233,8,135,1,135,1,135,1,135,3,135,2238,8,135,1,135,1,135,1,136,1,136,1,137,1,137,1,138,1,138,1,138,1,138,1,138,1,139,1,139,1,139,1,139,1,139,1,139,3,139,2257,8,139,1,139,3,139,2260,8,139,1,139,3,139,2263,8,139,1,139,1,139,1,139,1,139,3,139,2269,8,139,3,139,2271,8,139,1,140,1,140,1,140,1,140,1,140,1,141,1,141,1,141,1,141,1,141,1,141,3,141,2284,8,141,1,141,3,141,2287,8,141,1,141,3,141,2290,8,141,1,141,1,141,1,141,1,141,3,141,2296,8,141,3,141,2298,8,141,1,142,1,142,1,142,1,142,1,142,1,143,1,143,1,143,1,143,3,143,2309,8,143,1,143,1,143,1,144,1,144,1,144,1,144,1,144,1,145,1,145,1,145,1,145,1,145,3,145,2323,8,145,1,146,1,146,5,146,2327,8,146,10,146,12,146,2330,9,146,1,146,3,146,2333,8,146,1,147,1,147,1,147,1,147,1,148,1,148,1,148,1,149,1,149,1,149,1,149,3,149,2346,8,149,1,149,1,149,1,150,1,150,1,150,1,150,1,150,1,151,1,151,1,151,1,151,3,151,2359,8,151,1,151,1,151,1,152,1,152,1,152,3,152,2366,8,152,1,152,1,152,3,152,2370,8,152,1,152,1,152,1,153,1,153,1,154,1,154,1,155,1,155,1,156,1,156,1,157,1,157,1,158,1,158,1,159,1,159,1,159,1,159,1,160,1,160,1,161,1,161,1,162,1,162,1,163,1,163,1,164,1,164,1,165,1,165,1,166,1,166,1,167,1,167,1,168,1,168,1,169,1,169,1,170,1,170,1,170,5,170,2413,8,170,10,170,12,170,2416,9,170,1,171,1,171,3,171,2420,8,171,1,172,1,172,1,173,1,173,1,174,1,174,1,175,1,175,1,176,1,176,1,177,1,177,1,177,5,177,2435,8,177,10,177,12,177,2438,9,177,1,178,1,178,1,179,1,179,1,180,1,180,1,181,1,181,1,182,1,182,1,182,1,182,1,183,1,183,1,184,3,184,2455,8,184,1,184,1,184,1,184,3,184,2460,8,184,1,185,1,185,1,185,1,185,1,185,1,186,1,186,1,186,1,186,1,186,1,187,1,187,1,187,1,187,1,187,1,187,1,188,1,188,3,188,2480,8,188,1,188,1,188,3,188,2484,8,188,1,188,1,188,1,188,1,188,1,188,3,188,2491,8,188,1,188,3,188,2494,8,188,1,188,1,188,1,188,1,188,1,188,3,188,2501,8,188,1,188,3,188,2504,8,188,1,188,1,188,3,188,2508,8,188,1,188,1,188,1,188,1,188,1,188,3,188,2515,8,188,3,188,2517,8,188,1,189,1,189,1,190,3,190,2522,8,190,1,190,1,190,3,190,2526,8,190,1,190,1,190,3,190,2530,8,190,1,190,1,190,3,190,2534,8,190,1,190,1,190,3,190,2538,8,190,3,190,2540,8,190,1,191,4,191,2543,8,191,11,191,12,191,2544,1,191,3,191,2548,8,191,1,191,5,191,2551,8,191,10,191,12,191,2554,9,191,1,191,1,191,4,191,2558,8,191,11,191,12,191,2559,3,191,2562,8,191,1,192,1,192,1,193,1,193,1,193,5,193,2569,8,193,10,193,12,193,2572,9,193,1,194,1,194,1,195,1,195,1,196,1,196,1,197,1,197,1,198,1,198,1,198,1,198,3,198,2586,8,198,3,198,2588,8,198,1,198,1,198,1,199,1,199,3,199,2594,8,199,1,200,1,200,3,200,2598,8,200,1,200,1,200,1,200,1,201,1,201,3,201,2605,8,201,1,201,1,201,1,201,1,202,1,202,1,203,1,203,1,204,1,204,1,204,1,204,3,204,2618,8,204,1,204,1,204,1,204,1,205,1,205,3,205,2625,8,205,1,206,1,206,1,206,1,206,1,206,1,207,1,207,1,207,1,207,3,207,2636,8,207,1,208,1,208,1,208,1,208,3,208,2642,8,208,1,209,1,209,1,210,5,210,2647,8,210,10,210,12,210,2650,9,210,1,210,1,210,1,210,1,210,1,210,1,210,5,210,2658,8,210,10,210,12,210,2661,9,210,3,210,2663,8,210,1,210,1,210,1,211,3,211,2668,8,211,1,211,1,211,1,211,3,211,2673,8,211,3,211,2675,8,211,1,211,1,211,1,212,1,212,1,212,5,212,2682,8,212,10,212,12,212,2685,9,212,1,212,1,212,1,212,1,212,1,212,1,212,5,212,2693,8,212,10,212,12,212,2696,9,212,1,212,3,212,2699,8,212,1,213,1,213,1,213,1,213,3,213,2705,8,213,1,214,1,214,1,215,3,215,2710,8,215,1,215,3,215,2713,8,215,1,215,1,215,3,215,2717,8,215,1,215,3,215,2720,8,215,1,215,1,215,1,216,5,216,2725,8,216,10,216,12,216,2728,9,216,1,216,1,216,1,216,1,217,3,217,2734,8,217,1,217,1,217,5,217,2738,8,217,10,217,12,217,2741,9,217,1,217,1,217,1,217,1,218,1,218,3,218,2748,8,218,1,219,1,219,1,219,5,219,2753,8,219,10,219,12,219,2756,9,219,1,219,3,219,2759,8,219,1,220,1,220,1,220,1,220,1,220,1,221,3,221,2767,8,221,1,221,3,221,2770,8,221,1,221,1,221,1,221,5,221,2775,8,221,10,221,12,221,2778,9,221,1,221,1,221,1,221,1,221,5,221,2784,8,221,10,221,12,221,2787,9,221,1,222,1,222,1,223,1,223,1,223,1,223,3,223,2795,8,223,1,224,1,224,1,224,3,224,2800,8,224,1,225,1,225,1,225,1,225,1,225,1,225,1,225,1,225,1,225,1,225,1,225,1,225,1,225,1,225,1,225,1,225,1,225,1,225,1,225,1,225,1,225,1,225,1,225,1,225,1,225,1,225,1,225,1,225,1,225,1,225,3,225,2832,8,225,1,226,1,226,3,226,2836,8,226,1,227,1,227,1,228,1,228,1,229,3,229,2843,8,229,1,229,5,229,2846,8,229,10,229,12,229,2849,9,229,1,230,1,230,1,230,1,231,3,231,2855,8,231,1,231,3,231,2858,8,231,1,232,1,232,1,232,5,232,2863,8,232,10,232,12,232,2866,9,232,1,232,3,232,2869,8,232,1,233,1,233,1,233,1,233,1,233,3,233,2876,8,233,1,233,1,233,1,233,3,233,2881,8,233,1,234,1,234,1,234,1,234,1,234,3,234,2888,8,234,1,234,3,234,2891,8,234,1,234,1,234,1,234,1,234,1,234,1,234,1,234,1,234,3,234,2901,8,234,1,235,1,235,1,235,1,236,1,236,1,236,1,236,1,237,1,237,1,237,1,238,1,238,1,238,1,239,1,239,1,239,1,240,1,240,1,240,1,241,3,241,2923,8,241,1,241,3,241,2926,8,241,1,241,3,241,2929,8,241,1,241,3,241,2932,8,241,1,242,1,242,3,242,2936,8,242,1,243,1,243,1,243,1,244,1,244,1,245,1,245,3,245,2945,8,245,1,246,1,246,5,246,2949,8,246,10,246,12,246,2952,9,246,1,247,3,247,2955,8,247,1,247,1,247,1,248,1,248,3,248,2961,8,248,1,248,3,248,2964,8,248,1,249,3,249,2967,8,249,1,249,1,249,1,250,1,250,1,251,1,251,1,251,1,252,1,252,3,252,2978,8,252,1,252,1,252,1,252,1,253,1,253,1,253,1,253,1,254,1,254,5,254,2989,8,254,10,254,12,254,2992,9,254,1,254,1,254,1,255,1,255,1,255,1,255,1,255,1,255,1,255,1,255,3,255,3004,8,255,1,256,1,256,3,256,3008,8,256,1,257,1,257,1,257,1,257,1,257,1,257,1,257,1,257,1,257,1,257,1,257,1,257,1,257,1,257,1,257,3,257,3025,8,257,1,258,1,258,1,258,1,258,1,258,1,258,1,258,1,258,1,258,1,258,1,258,1,258,1,258,1,258,1,258,1,258,3,258,3043,8,258,1,259,1,259,1,259,1,259,1,259,1,259,1,259,1,259,1,259,1,259,1,259,1,259,1,259,1,259,1,259,1,259,1,259,1,259,1,259,1,259,1,259,3,259,3066,8,259,1,260,1,260,1,260,1,260,5,260,3072,8,260,10,260,12,260,3075,9,260,1,261,1,261,1,261,1,261,1,261,1,262,1,262,1,262,1,262,1,263,5,263,3087,8,263,10,263,12,263,3090,9,263,1,263,1,263,1,263,1,263,1,263,1,264,1,264,1,264,1,264,5,264,3101,8,264,10,264,12,264,3104,9,264,1,264,3,264,3107,8,264,1,265,1,265,1,265,1,266,3,266,3113,8,266,1,266,1,266,1,267,1,267,1,267,1,267,1,268,3,268,3122,8,268,1,268,1,268,3,268,3126,8,268,1,268,5,268,3129,8,268,10,268,12,268,3132,9,268,1,269,1,269,1,269,1,269,1,269,1,270,3,270,3140,8,270,1,270,1,270,5,270,3144,8,270,10,270,12,270,3147,9,270,1,270,1,270,1,270,1,270,1,271,1,271,1,272,1,272,3,272,3157,8,272,1,272,3,272,3160,8,272,1,272,5,272,3163,8,272,10,272,12,272,3166,9,272,1,273,1,273,1,273,1,273,1,274,1,274,1,274,5,274,3175,8,274,10,274,12,274,3178,9,274,1,274,1,274,1,275,1,275,3,275,3184,8,275,1,275,1,275,5,275,3188,8,275,10,275,12,275,3191,9,275,1,275,1,275,1,276,1,276,1,277,1,277,1,277,1,277,3,277,3201,8,277,1,277,1,277,3,277,3205,8,277,3,277,3207,8,277,1,277,1,277,1,278,1,278,1,278,1,279,1,279,1,280,1,280,1,281,3,281,3219,8,281,1,282,1,282,1,282,1,282,1,282,1,283,1,283,1,283,1,283,1,284,1,284,1,284,1,284,1,284,1,285,1,285,1,285,1,285,1,286,1,286,1,286,1,286,1,286,1,286,1,287,1,287,1,288,1,288,1,289,1,289,1,289,1,289,1,290,1,290,1,290,1,291,1,291,1,291,1,291,1,291,1,292,1,292,1,292,3,292,3264,8,292,1,292,3,292,3267,8,292,1,292,1,292,3,292,3271,8,292,1,292,1,292,3,292,3275,8,292,1,292,1,292,1,293,1,293,3,293,3281,8,293,1,294,1,294,1,294,1,294,1,295,1,295,1,295,1,295,1,295,1,295,5,295,3293,8,295,10,295,12,295,3296,9,295,1,295,1,295,1,296,1,296,1,296,3,296,3303,8,296,3,296,3305,8,296,1,296,1,296,1,296,1,296,1,296,1,296,1,297,1,297,1,297,3,297,3316,8,297,3,297,3318,8,297,1,297,1,297,1,297,1,297,1,297,1,297,1,298,1,298,1,298,1,298,1,298,1,298,1,299,1,299,1,299,5,299,3335,8,299,10,299,12,299,3338,9,299,1,299,3,299,3341,8,299,1,300,1,300,1,300,1,300,3,300,3347,8,300,1,300,1,300,1,300,3,300,3352,8,300,1,301,1,301,1,301,1,302,1,302,1,302,1,302,1,302,3,302,3362,8,302,1,303,1,303,1,303,1,304,1,304,1,304,3,304,3370,8,304,1,305,1,305,1,305,1,306,1,306,1,306,1,306,1,306,1,307,3,307,3381,8,307,1,307,3,307,3384,8,307,1,307,1,307,3,307,3388,8,307,1,307,3,307,3391,8,307,1,308,1,308,3,308,3395,8,308,1,309,1,309,1,309,1,309,1,310,1,310,1,310,1,310,1,310,1,310,5,310,3407,8,310,10,310,12,310,3410,9,310,1,310,1,310,1,311,1,311,1,312,3,312,3417,8,312,1,312,1,312,1,312,3,312,3422,8,312,1,312,1,312,1,313,1,313,1,313,1,313,1,313,1,314,1,314,1,314,1,314,1,315,1,315,3,315,3437,8,315,1,315,1,315,3,315,3441,8,315,1,315,1,315,3,315,3445,8,315,1,316,1,316,1,316,1,316,1,316,1,317,1,317,1,317,1,317,1,317,1,318,3,318,3458,8,318,1,318,3,318,3461,8,318,1,318,1,318,3,318,3465,8,318,1,318,1,318,1,318,1,318,1,318,3,318,3472,8,318,1,318,1,318,1,318,1,318,3,318,3478,8,318,1,319,1,319,1,320,1,320,1,321,1,321,1,321,1,321,1,321,1,322,1,322,1,322,1,322,1,322,1,322,1,323,1,323,1,324,1,324,1,325,1,325,3,325,3501,8,325,1,326,1,326,1,326,4,326,3506,8,326,11,326,12,326,3507,1,326,1,326,1,326,1,327,1,327,1,327,1,327,1,327,1,327,1,328,1,328,1,328,5,328,3522,8,328,10,328,12,328,3525,9,328,1,328,3,328,3528,8,328,1,329,1,329,1,329,5,329,3533,8,329,10,329,12,329,3536,9,329,1,329,3,329,3539,8,329,1,329,1,329,5,329,3543,8,329,10,329,12,329,3546,9,329,1,329,3,329,3549,8,329,1,330,1,330,1,330,1,330,1,330,1,330,3,330,3557,8,330,1,330,3,330,3560,8,330,1,331,1,331,3,331,3564,8,331,1,332,1,332,1,332,1,332,1,332,1,333,1,333,1,333,1,334,1,334,1,334,1,335,1,335,1,335,1,336,1,336,1,336,1,336,1,336,1,337,3,337,3586,8,337,1,337,3,337,3589,8,337,1,338,1,338,1,338,1,338,1,338,1,339,1,339,3,339,3598,8,339,1,339,1,339,3,339,3602,8,339,3,339,3604,8,339,1,339,3,339,3607,8,339,1,340,1,340,1,340,1,340,1,340,1,340,1,340,1,340,3,340,3617,8,340,1,341,1,341,3,341,3621,8,341,1,342,1,342,3,342,3625,8,342,1,343,1,343,1,343,1,343,3,343,3631,8,343,1,344,1,344,3,344,3635,8,344,1,344,3,344,3638,8,344,1,344,5,344,3641,8,344,10,344,12,344,3644,9,344,1,345,1,345,1,345,3,345,3649,8,345,1,345,1,345,1,346,1,346,1,346,3,346,3656,8,346,1,346,1,346,1,347,1,347,1,347,3,347,3663,8,347,1,347,1,347,1,348,1,348,1,348,3,348,3670,8,348,1,348,1,348,1,349,1,349,1,349,1,349,1,350,3,350,3679,8,350,1,350,1,350,1,350,1,351,1,351,1,351,3,351,3687,8,351,1,352,1,352,1,353,1,353,3,353,3693,8,353,1,353,3,353,3696,8,353,1,353,3,353,3699,8,353,1,354,1,354,1,355,1,355,1,356,1,356,1,356,1,356,3,356,3709,8,356,1,357,1,357,1,357,3,357,3714,8,357,1,357,1,357,1,357,3,357,3719,8,357,1,357,1,357,1,357,3,357,3724,8,357,1,357,1,357,1,358,3,358,3729,8,358,1,358,1,358,1,358,3,358,3734,8,358,1,359,1,359,1,359,1,359,3,359,3740,8,359,1,359,1,359,1,359,1,359,3,359,3746,8,359,1,360,1,360,1,361,1,361,1,362,1,362,1,363,1,363,1,364,1,364,1,364,1,364,1,365,3,365,3761,8,365,1,365,1,365,1,365,1,365,1,365,1,365,1,366,1,366,1,367,1,367,1,367,3,367,3774,8,367,1,368,1,368,1,369,1,369,3,369,3780,8,369,1,369,1,369,3,369,3784,8,369,1,369,1,369,1,370,1,370,1,370,1,370,1,370,1,370,1,370,3,370,3795,8,370,3,370,3797,8,370,1,371,1,371,1,372,1,372,1,373,1,373,3,373,3805,8,373,3,373,3807,8,373,1,373,1,373,5,373,3811,8,373,10,373,12,373,3814,9,373,1,373,1,373,1,374,1,374,1,375,1,375,1,375,1,375,1,375,3,375,3825,8,375,1,375,1,375,1,375,1,375,1,375,3,375,3832,8,375,1,376,1,376,1,376,1,376,1,376,1,376,1,376,1,377,3,377,3842,8,377,1,378,3,378,3845,8,378,1,379,1,379,1,379,3,379,3850,8,379,1,379,1,379,1,380,1,380,1,380,1,380,1,381,1,381,1,381,1,381,1,382,1,382,1,382,1,383,1,383,3,383,3867,8,383,3,383,3869,8,383,1,383,1,383,1,383,1,383,1,383,1,383,1,383,1,384,1,384,1,384,1,384,1,384,1,384,1,385,1,385,3,385,3886,8,385,1,385,1,385,5,385,3890,8,385,10,385,12,385,3893,9,385,1,385,3,385,3896,8,385,1,386,1,386,3,386,3900,8,386,1,386,1,386,5,386,3904,8,386,10,386,12,386,3907,9,386,1,386,1,386,1,386,5,386,3912,8,386,10,386,12,386,3915,9,386,1,386,1,386,3,386,3919,8,386,1,387,1,387,1,387,1,387,1,388,1,388,1,388,1,388,1,389,1,389,1,389,1,389,1,390,1,390,1,390,1,390,3,390,3937,8,390,1,390,1,390,1,391,1,391,1,391,1,391,1,391,1,391,1,391,3,391,3948,8,391,1,392,1,392,1,392,1,393,1,393,1,393,1,394,1,394,1,394,1,395,1,395,1,395,1,396,1,396,1,396,1,397,1,397,1,397,1,398,1,398,1,398,1,398,1,398,1,399,1,399,3,399,3975,8,399,1,399,1,399,5,399,3979,8,399,10,399,12,399,3982,9,399,1,399,3,399,3985,8,399,1,400,1,400,1,400,1,400,3,400,3991,8,400,1,400,1,400,3,400,3995,8,400,3,400,3997,8,400,1,400,3,400,4e3,8,400,1,400,1,400,1,401,1,401,3,401,4006,8,401,1,401,3,401,4009,8,401,1,401,1,401,1,401,1,401,1,401,3,401,4016,8,401,1,401,3,401,4019,8,401,1,401,3,401,4022,8,401,1,401,1,401,1,401,1,401,1,402,1,402,1,402,1,402,1,402,3,402,4033,8,402,1,402,3,402,4036,8,402,1,402,3,402,4039,8,402,1,402,1,402,1,402,3,402,4044,8,402,1,402,3,402,4047,8,402,1,402,1,402,3,402,4051,8,402,3,402,4053,8,402,1,402,1,402,1,402,1,402,1,403,1,403,1,403,1,404,1,404,1,405,1,405,1,405,1,406,1,406,1,406,1,407,1,407,1,407,1,407,1,407,3,407,4075,8,407,1,408,1,408,1,408,5,408,4080,8,408,10,408,12,408,4083,9,408,1,408,3,408,4086,8,408,1,409,1,409,1,409,5,409,4091,8,409,10,409,12,409,4094,9,409,1,409,3,409,4097,8,409,1,410,1,410,1,410,5,410,4102,8,410,10,410,12,410,4105,9,410,1,410,3,410,4108,8,410,1,411,1,411,1,411,5,411,4113,8,411,10,411,12,411,4116,9,411,1,411,3,411,4119,8,411,1,412,1,412,1,413,1,413,1,413,1,414,1,414,1,415,1,415,1,415,1,415,1,415,1,415,1,416,1,416,1,416,1,416,1,416,1,417,1,417,1,417,1,417,1,417,3,417,4144,8,417,1,418,5,418,4147,8,418,10,418,12,418,4150,9,418,1,418,3,418,4153,8,418,1,419,1,419,3,419,4157,8,419,1,420,1,420,1,420,1,420,1,421,1,421,1,421,1,421,1,421,1,421,1,422,1,422,1,422,1,422,1,422,1,423,1,423,1,423,3,423,4177,8,423,1,423,1,423,3,423,4181,8,423,1,423,1,423,3,423,4185,8,423,1,423,1,423,1,424,3,424,4190,8,424,1,424,3,424,4193,8,424,1,425,1,425,1,425,1,425,1,425,1,425,1,426,1,426,1,426,5,426,4204,8,426,10,426,12,426,4207,9,426,1,426,3,426,4210,8,426,1,427,1,427,1,427,1,427,1,427,1,427,1,427,3,427,4219,8,427,1,428,1,428,1,428,1,429,1,429,5,429,4226,8,429,10,429,12,429,4229,9,429,1,429,1,429,1,430,1,430,1,430,1,430,1,431,1,431,1,432,1,432,3,432,4241,8,432,1,432,1,432,1,432,5,432,4246,8,432,10,432,12,432,4249,9,432,1,432,1,432,4,432,4253,8,432,11,432,12,432,4254,3,432,4257,8,432,1,432,1,432,1,432,3,432,4262,8,432,1,433,1,433,1,433,1,433,1,434,1,434,3,434,4270,8,434,1,434,1,434,1,434,5,434,4275,8,434,10,434,12,434,4278,9,434,1,434,1,434,4,434,4282,8,434,11,434,12,434,4283,3,434,4286,8,434,1,434,1,434,1,434,3,434,4291,8,434,1,435,1,435,1,435,1,436,1,436,5,436,4298,8,436,10,436,12,436,4301,9,436,1,436,1,436,1,437,1,437,1,437,1,438,1,438,5,438,4310,8,438,10,438,12,438,4313,9,438,1,438,1,438,1,439,1,439,1,439,1,439,1,439,1,440,1,440,1,440,3,440,4325,8,440,3,440,4327,8,440,1,440,1,440,1,440,3,440,4332,8,440,1,440,1,440,3,440,4336,8,440,3,440,4338,8,440,1,440,3,440,4341,8,440,1,440,1,440,3,440,4345,8,440,1,440,1,440,1,441,1,441,1,442,1,442,1,443,1,443,1,444,1,444,1,445,1,445,1,445,1,445,1,445,1,445,1,446,1,446,1,446,1,446,1,446,1,447,1,447,1,447,1,447,1,447,1,447,1,448,1,448,1,448,1,448,1,448,1,449,1,449,1,449,5,449,4382,8,449,10,449,12,449,4385,9,449,1,449,3,449,4388,8,449,1,449,3,449,4391,8,449,1,450,1,450,1,450,1,450,1,450,3,450,4398,8,450,1,451,1,451,1,451,1,451,1,452,5,452,4405,8,452,10,452,12,452,4408,9,452,1,452,1,452,1,452,1,453,1,453,1,453,1,453,1,453,1,453,1,454,1,454,1,454,1,454,1,454,1,455,1,455,1,455,1,455,1,455,1,455,1,456,1,456,1,456,1,456,1,456,1,457,1,457,1,457,1,457,1,458,1,458,5,458,4441,8,458,10,458,12,458,4444,9,458,1,458,1,458,1,458,5,458,4449,8,458,10,458,12,458,4452,9,458,1,458,1,458,4,458,4456,8,458,11,458,12,458,4457,3,458,4460,8,458,1,458,1,458,1,458,3,458,4465,8,458,1,459,1,459,1,459,1,459,1,459,1,459,1,459,1,460,1,460,1,460,1,460,1,460,1,460,1,461,1,461,1,461,1,461,3,461,4484,8,461,1,461,1,461,1,461,3,461,4489,8,461,3,461,4491,8,461,1,461,3,461,4494,8,461,1,461,1,461,1,462,1,462,1,462,1,462,1,462,1,462,1,463,1,463,1,463,5,463,4507,8,463,10,463,12,463,4510,9,463,1,463,3,463,4513,8,463,1,464,1,464,1,464,3,464,4518,8,464,1,465,1,465,1,465,1,465,1,466,1,466,3,466,4526,8,466,1,466,1,466,1,466,5,466,4531,8,466,10,466,12,466,4534,9,466,1,466,1,466,4,466,4538,8,466,11,466,12,466,4539,3,466,4542,8,466,1,466,3,466,4545,8,466,1,467,1,467,1,467,3,467,4550,8,467,1,467,3,467,4553,8,467,1,467,1,467,1,468,1,468,1,468,5,468,4560,8,468,10,468,12,468,4563,9,468,1,468,3,468,4566,8,468,1,469,1,469,1,469,1,469,3,469,4572,8,469,1,470,1,470,1,470,3,470,4577,8,470,1,470,1,470,1,471,1,471,1,472,1,472,1,473,1,473,1,473,1,473,1,473,1,473,1,474,1,474,1,474,1,474,1,474,1,475,1,475,1,475,1,475,1,475,1,476,1,476,1,476,1,476,1,477,3,477,4606,8,477,1,477,5,477,4609,8,477,10,477,12,477,4612,9,477,1,477,1,477,1,477,1,477,1,478,1,478,1,479,5,479,4621,8,479,10,479,12,479,4624,9,479,1,479,1,479,1,479,1,479,1,479,1,479,5,479,4632,8,479,10,479,12,479,4635,9,479,3,479,4637,8,479,1,479,1,479,1,480,3,480,4642,8,480,1,480,1,480,1,480,3,480,4647,8,480,3,480,4649,8,480,1,480,1,480,1,481,1,481,1,482,3,482,4656,8,482,1,482,3,482,4659,8,482,1,482,1,482,3,482,4663,8,482,1,482,3,482,4666,8,482,1,482,1,482,1,483,3,483,4671,8,483,1,483,4,483,4674,8,483,11,483,12,483,4675,1,483,1,483,1,483,1,484,1,484,4,484,4683,8,484,11,484,12,484,4684,1,484,1,484,1,485,1,485,3,485,4691,8,485,1,486,1,486,1,486,1,486,1,486,3,486,4698,8,486,1,487,3,487,4701,8,487,1,487,3,487,4704,8,487,1,488,1,488,1,489,1,489,1,490,1,490,1,491,1,491,1,492,1,492,1,493,1,493,1,494,1,494,1,494,0,1,0,495,0,2,4,6,8,10,12,14,16,18,20,22,24,26,28,30,32,34,36,38,40,42,44,46,48,50,52,54,56,58,60,62,64,66,68,70,72,74,76,78,80,82,84,86,88,90,92,94,96,98,100,102,104,106,108,110,112,114,116,118,120,122,124,126,128,130,132,134,136,138,140,142,144,146,148,150,152,154,156,158,160,162,164,166,168,170,172,174,176,178,180,182,184,186,188,190,192,194,196,198,200,202,204,206,208,210,212,214,216,218,220,222,224,226,228,230,232,234,236,238,240,242,244,246,248,250,252,254,256,258,260,262,264,266,268,270,272,274,276,278,280,282,284,286,288,290,292,294,296,298,300,302,304,306,308,310,312,314,316,318,320,322,324,326,328,330,332,334,336,338,340,342,344,346,348,350,352,354,356,358,360,362,364,366,368,370,372,374,376,378,380,382,384,386,388,390,392,394,396,398,400,402,404,406,408,410,412,414,416,418,420,422,424,426,428,430,432,434,436,438,440,442,444,446,448,450,452,454,456,458,460,462,464,466,468,470,472,474,476,478,480,482,484,486,488,490,492,494,496,498,500,502,504,506,508,510,512,514,516,518,520,522,524,526,528,530,532,534,536,538,540,542,544,546,548,550,552,554,556,558,560,562,564,566,568,570,572,574,576,578,580,582,584,586,588,590,592,594,596,598,600,602,604,606,608,610,612,614,616,618,620,622,624,626,628,630,632,634,636,638,640,642,644,646,648,650,652,654,656,658,660,662,664,666,668,670,672,674,676,678,680,682,684,686,688,690,692,694,696,698,700,702,704,706,708,710,712,714,716,718,720,722,724,726,728,730,732,734,736,738,740,742,744,746,748,750,752,754,756,758,760,762,764,766,768,770,772,774,776,778,780,782,784,786,788,790,792,794,796,798,800,802,804,806,808,810,812,814,816,818,820,822,824,826,828,830,832,834,836,838,840,842,844,846,848,850,852,854,856,858,860,862,864,866,868,870,872,874,876,878,880,882,884,886,888,890,892,894,896,898,900,902,904,906,908,910,912,914,916,918,920,922,924,926,928,930,932,934,936,938,940,942,944,946,948,950,952,954,956,958,960,962,964,966,968,970,972,974,976,978,980,982,984,986,988,0,27,4,0,107,107,199,199,201,201,217,217,2,0,191,191,210,210,3,0,174,174,177,178,187,187,4,0,186,186,189,189,206,206,208,208,2,0,199,199,201,201,3,0,194,194,198,198,203,203,2,0,179,179,213,213,3,0,76,76,90,90,210,210,2,0,64,64,156,156,1,0,218,219,1,0,122,124,2,0,139,139,185,185,2,0,34,34,217,217,2,0,31,31,120,120,2,0,39,39,163,163,3,0,80,80,83,83,114,114,2,0,148,148,185,185,2,0,128,128,175,175,2,0,42,42,188,188,2,0,125,125,176,176,1,0,221,222,2,0,184,184,207,207,2,0,102,102,210,210,2,0,2,2,165,165,2,0,137,137,153,153,2,0,6,6,18,18,2,0,17,17,132,132,4968,0,1005,1,0,0,0,2,1091,1,0,0,0,4,1093,1,0,0,0,6,1116,1,0,0,0,8,1121,1,0,0,0,10,1123,1,0,0,0,12,1125,1,0,0,0,14,1129,1,0,0,0,16,1132,1,0,0,0,18,1136,1,0,0,0,20,1140,1,0,0,0,22,1147,1,0,0,0,24,1155,1,0,0,0,26,1163,1,0,0,0,28,1172,1,0,0,0,30,1174,1,0,0,0,32,1176,1,0,0,0,34,1178,1,0,0,0,36,1180,1,0,0,0,38,1182,1,0,0,0,40,1184,1,0,0,0,42,1186,1,0,0,0,44,1188,1,0,0,0,46,1200,1,0,0,0,48,1219,1,0,0,0,50,1223,1,0,0,0,52,1227,1,0,0,0,54,1271,1,0,0,0,56,1273,1,0,0,0,58,1275,1,0,0,0,60,1281,1,0,0,0,62,1298,1,0,0,0,64,1306,1,0,0,0,66,1320,1,0,0,0,68,1329,1,0,0,0,70,1337,1,0,0,0,72,1343,1,0,0,0,74,1356,1,0,0,0,76,1361,1,0,0,0,78,1364,1,0,0,0,80,1366,1,0,0,0,82,1370,1,0,0,0,84,1372,1,0,0,0,86,1375,1,0,0,0,88,1378,1,0,0,0,90,1395,1,0,0,0,92,1408,1,0,0,0,94,1419,1,0,0,0,96,1421,1,0,0,0,98,1434,1,0,0,0,100,1448,1,0,0,0,102,1450,1,0,0,0,104,1456,1,0,0,0,106,1484,1,0,0,0,108,1496,1,0,0,0,110,1498,1,0,0,0,112,1504,1,0,0,0,114,1513,1,0,0,0,116,1533,1,0,0,0,118,1542,1,0,0,0,120,1549,1,0,0,0,122,1551,1,0,0,0,124,1561,1,0,0,0,126,1570,1,0,0,0,128,1579,1,0,0,0,130,1597,1,0,0,0,132,1603,1,0,0,0,134,1609,1,0,0,0,136,1617,1,0,0,0,138,1619,1,0,0,0,140,1627,1,0,0,0,142,1639,1,0,0,0,144,1661,1,0,0,0,146,1673,1,0,0,0,148,1695,1,0,0,0,150,1703,1,0,0,0,152,1711,1,0,0,0,154,1719,1,0,0,0,156,1729,1,0,0,0,158,1731,1,0,0,0,160,1735,1,0,0,0,162,1738,1,0,0,0,164,1744,1,0,0,0,166,1762,1,0,0,0,168,1775,1,0,0,0,170,1783,1,0,0,0,172,1799,1,0,0,0,174,1807,1,0,0,0,176,1812,1,0,0,0,178,1830,1,0,0,0,180,1838,1,0,0,0,182,1847,1,0,0,0,184,1849,1,0,0,0,186,1852,1,0,0,0,188,1876,1,0,0,0,190,1882,1,0,0,0,192,1884,1,0,0,0,194,1893,1,0,0,0,196,1897,1,0,0,0,198,1928,1,0,0,0,200,1951,1,0,0,0,202,1958,1,0,0,0,204,1960,1,0,0,0,206,1973,1,0,0,0,208,1977,1,0,0,0,210,1985,1,0,0,0,212,1988,1,0,0,0,214,1991,1,0,0,0,216,1994,1,0,0,0,218,2002,1,0,0,0,220,2023,1,0,0,0,222,2025,1,0,0,0,224,2037,1,0,0,0,226,2045,1,0,0,0,228,2053,1,0,0,0,230,2061,1,0,0,0,232,2073,1,0,0,0,234,2081,1,0,0,0,236,2097,1,0,0,0,238,2099,1,0,0,0,240,2106,1,0,0,0,242,2112,1,0,0,0,244,2134,1,0,0,0,246,2142,1,0,0,0,248,2154,1,0,0,0,250,2156,1,0,0,0,252,2161,1,0,0,0,254,2166,1,0,0,0,256,2171,1,0,0,0,258,2176,1,0,0,0,260,2182,1,0,0,0,262,2197,1,0,0,0,264,2207,1,0,0,0,266,2214,1,0,0,0,268,2229,1,0,0,0,270,2232,1,0,0,0,272,2241,1,0,0,0,274,2243,1,0,0,0,276,2245,1,0,0,0,278,2270,1,0,0,0,280,2272,1,0,0,0,282,2297,1,0,0,0,284,2299,1,0,0,0,286,2304,1,0,0,0,288,2312,1,0,0,0,290,2322,1,0,0,0,292,2328,1,0,0,0,294,2334,1,0,0,0,296,2338,1,0,0,0,298,2341,1,0,0,0,300,2349,1,0,0,0,302,2354,1,0,0,0,304,2362,1,0,0,0,306,2373,1,0,0,0,308,2375,1,0,0,0,310,2377,1,0,0,0,312,2379,1,0,0,0,314,2381,1,0,0,0,316,2383,1,0,0,0,318,2385,1,0,0,0,320,2389,1,0,0,0,322,2391,1,0,0,0,324,2393,1,0,0,0,326,2395,1,0,0,0,328,2397,1,0,0,0,330,2399,1,0,0,0,332,2401,1,0,0,0,334,2403,1,0,0,0,336,2405,1,0,0,0,338,2407,1,0,0,0,340,2409,1,0,0,0,342,2419,1,0,0,0,344,2421,1,0,0,0,346,2423,1,0,0,0,348,2425,1,0,0,0,350,2427,1,0,0,0,352,2429,1,0,0,0,354,2431,1,0,0,0,356,2439,1,0,0,0,358,2441,1,0,0,0,360,2443,1,0,0,0,362,2445,1,0,0,0,364,2447,1,0,0,0,366,2451,1,0,0,0,368,2459,1,0,0,0,370,2461,1,0,0,0,372,2466,1,0,0,0,374,2471,1,0,0,0,376,2516,1,0,0,0,378,2518,1,0,0,0,380,2539,1,0,0,0,382,2561,1,0,0,0,384,2563,1,0,0,0,386,2565,1,0,0,0,388,2573,1,0,0,0,390,2575,1,0,0,0,392,2577,1,0,0,0,394,2579,1,0,0,0,396,2587,1,0,0,0,398,2593,1,0,0,0,400,2595,1,0,0,0,402,2602,1,0,0,0,404,2609,1,0,0,0,406,2611,1,0,0,0,408,2613,1,0,0,0,410,2624,1,0,0,0,412,2626,1,0,0,0,414,2635,1,0,0,0,416,2641,1,0,0,0,418,2643,1,0,0,0,420,2648,1,0,0,0,422,2674,1,0,0,0,424,2698,1,0,0,0,426,2704,1,0,0,0,428,2706,1,0,0,0,430,2709,1,0,0,0,432,2726,1,0,0,0,434,2733,1,0,0,0,436,2745,1,0,0,0,438,2758,1,0,0,0,440,2760,1,0,0,0,442,2769,1,0,0,0,444,2788,1,0,0,0,446,2794,1,0,0,0,448,2796,1,0,0,0,450,2831,1,0,0,0,452,2835,1,0,0,0,454,2837,1,0,0,0,456,2839,1,0,0,0,458,2842,1,0,0,0,460,2850,1,0,0,0,462,2854,1,0,0,0,464,2868,1,0,0,0,466,2880,1,0,0,0,468,2900,1,0,0,0,470,2902,1,0,0,0,472,2905,1,0,0,0,474,2909,1,0,0,0,476,2912,1,0,0,0,478,2915,1,0,0,0,480,2918,1,0,0,0,482,2922,1,0,0,0,484,2933,1,0,0,0,486,2937,1,0,0,0,488,2940,1,0,0,0,490,2944,1,0,0,0,492,2946,1,0,0,0,494,2954,1,0,0,0,496,2963,1,0,0,0,498,2966,1,0,0,0,500,2970,1,0,0,0,502,2972,1,0,0,0,504,2977,1,0,0,0,506,2982,1,0,0,0,508,2986,1,0,0,0,510,3003,1,0,0,0,512,3007,1,0,0,0,514,3024,1,0,0,0,516,3042,1,0,0,0,518,3065,1,0,0,0,520,3067,1,0,0,0,522,3076,1,0,0,0,524,3081,1,0,0,0,526,3088,1,0,0,0,528,3106,1,0,0,0,530,3108,1,0,0,0,532,3112,1,0,0,0,534,3116,1,0,0,0,536,3121,1,0,0,0,538,3133,1,0,0,0,540,3139,1,0,0,0,542,3152,1,0,0,0,544,3154,1,0,0,0,546,3167,1,0,0,0,548,3171,1,0,0,0,550,3181,1,0,0,0,552,3194,1,0,0,0,554,3196,1,0,0,0,556,3210,1,0,0,0,558,3213,1,0,0,0,560,3215,1,0,0,0,562,3218,1,0,0,0,564,3220,1,0,0,0,566,3225,1,0,0,0,568,3229,1,0,0,0,570,3234,1,0,0,0,572,3238,1,0,0,0,574,3244,1,0,0,0,576,3246,1,0,0,0,578,3248,1,0,0,0,580,3252,1,0,0,0,582,3255,1,0,0,0,584,3260,1,0,0,0,586,3280,1,0,0,0,588,3282,1,0,0,0,590,3286,1,0,0,0,592,3299,1,0,0,0,594,3312,1,0,0,0,596,3325,1,0,0,0,598,3340,1,0,0,0,600,3351,1,0,0,0,602,3353,1,0,0,0,604,3361,1,0,0,0,606,3363,1,0,0,0,608,3369,1,0,0,0,610,3371,1,0,0,0,612,3374,1,0,0,0,614,3390,1,0,0,0,616,3394,1,0,0,0,618,3396,1,0,0,0,620,3400,1,0,0,0,622,3413,1,0,0,0,624,3416,1,0,0,0,626,3425,1,0,0,0,628,3430,1,0,0,0,630,3444,1,0,0,0,632,3446,1,0,0,0,634,3451,1,0,0,0,636,3477,1,0,0,0,638,3479,1,0,0,0,640,3481,1,0,0,0,642,3483,1,0,0,0,644,3488,1,0,0,0,646,3494,1,0,0,0,648,3496,1,0,0,0,650,3500,1,0,0,0,652,3505,1,0,0,0,654,3512,1,0,0,0,656,3527,1,0,0,0,658,3548,1,0,0,0,660,3559,1,0,0,0,662,3563,1,0,0,0,664,3565,1,0,0,0,666,3570,1,0,0,0,668,3573,1,0,0,0,670,3576,1,0,0,0,672,3579,1,0,0,0,674,3585,1,0,0,0,676,3590,1,0,0,0,678,3603,1,0,0,0,680,3616,1,0,0,0,682,3618,1,0,0,0,684,3622,1,0,0,0,686,3630,1,0,0,0,688,3632,1,0,0,0,690,3645,1,0,0,0,692,3652,1,0,0,0,694,3659,1,0,0,0,696,3666,1,0,0,0,698,3673,1,0,0,0,700,3678,1,0,0,0,702,3683,1,0,0,0,704,3688,1,0,0,0,706,3698,1,0,0,0,708,3700,1,0,0,0,710,3702,1,0,0,0,712,3708,1,0,0,0,714,3710,1,0,0,0,716,3728,1,0,0,0,718,3745,1,0,0,0,720,3747,1,0,0,0,722,3749,1,0,0,0,724,3751,1,0,0,0,726,3753,1,0,0,0,728,3755,1,0,0,0,730,3760,1,0,0,0,732,3768,1,0,0,0,734,3773,1,0,0,0,736,3775,1,0,0,0,738,3777,1,0,0,0,740,3787,1,0,0,0,742,3798,1,0,0,0,744,3800,1,0,0,0,746,3806,1,0,0,0,748,3817,1,0,0,0,750,3819,1,0,0,0,752,3833,1,0,0,0,754,3841,1,0,0,0,756,3844,1,0,0,0,758,3849,1,0,0,0,760,3853,1,0,0,0,762,3857,1,0,0,0,764,3861,1,0,0,0,766,3868,1,0,0,0,768,3877,1,0,0,0,770,3895,1,0,0,0,772,3918,1,0,0,0,774,3920,1,0,0,0,776,3924,1,0,0,0,778,3928,1,0,0,0,780,3932,1,0,0,0,782,3947,1,0,0,0,784,3949,1,0,0,0,786,3952,1,0,0,0,788,3955,1,0,0,0,790,3958,1,0,0,0,792,3961,1,0,0,0,794,3964,1,0,0,0,796,3967,1,0,0,0,798,3984,1,0,0,0,800,3986,1,0,0,0,802,4003,1,0,0,0,804,4027,1,0,0,0,806,4058,1,0,0,0,808,4061,1,0,0,0,810,4063,1,0,0,0,812,4066,1,0,0,0,814,4074,1,0,0,0,816,4076,1,0,0,0,818,4087,1,0,0,0,820,4098,1,0,0,0,822,4109,1,0,0,0,824,4120,1,0,0,0,826,4122,1,0,0,0,828,4125,1,0,0,0,830,4127,1,0,0,0,832,4133,1,0,0,0,834,4143,1,0,0,0,836,4148,1,0,0,0,838,4156,1,0,0,0,840,4158,1,0,0,0,842,4162,1,0,0,0,844,4168,1,0,0,0,846,4173,1,0,0,0,848,4189,1,0,0,0,850,4194,1,0,0,0,852,4209,1,0,0,0,854,4218,1,0,0,0,856,4220,1,0,0,0,858,4223,1,0,0,0,860,4232,1,0,0,0,862,4236,1,0,0,0,864,4261,1,0,0,0,866,4263,1,0,0,0,868,4290,1,0,0,0,870,4292,1,0,0,0,872,4295,1,0,0,0,874,4304,1,0,0,0,876,4307,1,0,0,0,878,4316,1,0,0,0,880,4321,1,0,0,0,882,4348,1,0,0,0,884,4350,1,0,0,0,886,4352,1,0,0,0,888,4354,1,0,0,0,890,4356,1,0,0,0,892,4362,1,0,0,0,894,4367,1,0,0,0,896,4373,1,0,0,0,898,4390,1,0,0,0,900,4397,1,0,0,0,902,4399,1,0,0,0,904,4406,1,0,0,0,906,4412,1,0,0,0,908,4418,1,0,0,0,910,4423,1,0,0,0,912,4429,1,0,0,0,914,4434,1,0,0,0,916,4464,1,0,0,0,918,4466,1,0,0,0,920,4473,1,0,0,0,922,4479,1,0,0,0,924,4497,1,0,0,0,926,4512,1,0,0,0,928,4517,1,0,0,0,930,4519,1,0,0,0,932,4544,1,0,0,0,934,4546,1,0,0,0,936,4565,1,0,0,0,938,4571,1,0,0,0,940,4573,1,0,0,0,942,4580,1,0,0,0,944,4582,1,0,0,0,946,4584,1,0,0,0,948,4590,1,0,0,0,950,4595,1,0,0,0,952,4600,1,0,0,0,954,4605,1,0,0,0,956,4617,1,0,0,0,958,4622,1,0,0,0,960,4648,1,0,0,0,962,4652,1,0,0,0,964,4655,1,0,0,0,966,4670,1,0,0,0,968,4680,1,0,0,0,970,4690,1,0,0,0,972,4692,1,0,0,0,974,4700,1,0,0,0,976,4705,1,0,0,0,978,4707,1,0,0,0,980,4709,1,0,0,0,982,4711,1,0,0,0,984,4713,1,0,0,0,986,4715,1,0,0,0,988,4717,1,0,0,0,990,991,6,0,-1,0,991,992,5,77,0,0,992,993,3,0,0,0,993,994,5,209,0,0,994,995,3,0,0,0,995,996,5,55,0,0,996,997,3,0,0,28,997,1006,1,0,0,0,998,999,7,0,0,0,999,1006,3,0,0,14,1e3,1001,7,1,0,0,1001,1006,3,2,1,0,1002,1003,5,8,0,0,1003,1006,3,2,1,0,1004,1006,3,6,3,0,1005,990,1,0,0,0,1005,998,1,0,0,0,1005,1e3,1,0,0,0,1005,1002,1,0,0,0,1005,1004,1,0,0,0,1006,1088,1,0,0,0,1007,1008,10,27,0,0,1008,1009,5,190,0,0,1009,1087,3,0,0,28,1010,1011,10,26,0,0,1011,1012,5,78,0,0,1012,1087,3,0,0,27,1013,1014,10,25,0,0,1014,1015,5,112,0,0,1015,1087,3,0,0,26,1016,1017,10,24,0,0,1017,1018,5,12,0,0,1018,1087,3,0,0,25,1019,1020,10,23,0,0,1020,1021,5,173,0,0,1021,1087,3,0,0,24,1022,1023,10,22,0,0,1023,1024,5,215,0,0,1024,1087,3,0,0,23,1025,1026,10,21,0,0,1026,1027,5,195,0,0,1027,1087,3,0,0,22,1028,1029,10,20,0,0,1029,1030,7,2,0,0,1030,1087,3,0,0,21,1031,1032,10,19,0,0,1032,1033,7,3,0,0,1033,1087,3,0,0,20,1034,1035,10,18,0,0,1035,1036,5,181,0,0,1036,1087,3,0,0,19,1037,1038,10,17,0,0,1038,1039,7,4,0,0,1039,1087,3,0,0,18,1040,1041,10,16,0,0,1041,1042,7,5,0,0,1042,1087,3,0,0,17,1043,1044,10,15,0,0,1044,1045,7,6,0,0,1045,1087,3,0,0,15,1046,1047,10,12,0,0,1047,1048,7,7,0,0,1048,1087,3,2,1,0,1049,1050,10,11,0,0,1050,1051,5,13,0,0,1051,1087,3,2,1,0,1052,1053,10,10,0,0,1053,1054,5,191,0,0,1054,1087,3,2,1,0,1055,1056,10,9,0,0,1056,1057,5,100,0,0,1057,1087,3,2,1,0,1058,1059,10,8,0,0,1059,1061,5,211,0,0,1060,1062,3,4,2,0,1061,1060,1,0,0,0,1061,1062,1,0,0,0,1062,1063,1,0,0,0,1063,1087,5,212,0,0,1064,1065,10,7,0,0,1065,1066,5,192,0,0,1066,1068,5,196,0,0,1067,1069,3,4,2,0,1068,1067,1,0,0,0,1068,1069,1,0,0,0,1069,1070,1,0,0,0,1070,1087,5,197,0,0,1071,1072,10,6,0,0,1072,1087,3,20,10,0,1073,1074,10,5,0,0,1074,1075,5,202,0,0,1075,1087,3,90,45,0,1076,1077,10,4,0,0,1077,1078,5,182,0,0,1078,1087,3,18,9,0,1079,1080,10,3,0,0,1080,1081,5,180,0,0,1081,1084,3,90,45,0,1082,1085,3,18,9,0,1083,1085,3,20,10,0,1084,1082,1,0,0,0,1084,1083,1,0,0,0,1085,1087,1,0,0,0,1086,1007,1,0,0,0,1086,1010,1,0,0,0,1086,1013,1,0,0,0,1086,1016,1,0,0,0,1086,1019,1,0,0,0,1086,1022,1,0,0,0,1086,1025,1,0,0,0,1086,1028,1,0,0,0,1086,1031,1,0,0,0,1086,1034,1,0,0,0,1086,1037,1,0,0,0,1086,1040,1,0,0,0,1086,1043,1,0,0,0,1086,1046,1,0,0,0,1086,1049,1,0,0,0,1086,1052,1,0,0,0,1086,1055,1,0,0,0,1086,1058,1,0,0,0,1086,1064,1,0,0,0,1086,1071,1,0,0,0,1086,1073,1,0,0,0,1086,1076,1,0,0,0,1086,1079,1,0,0,0,1087,1090,1,0,0,0,1088,1086,1,0,0,0,1088,1089,1,0,0,0,1089,1,1,0,0,0,1090,1088,1,0,0,0,1091,1092,3,90,45,0,1092,3,1,0,0,0,1093,1098,3,0,0,0,1094,1095,5,200,0,0,1095,1097,3,0,0,0,1096,1094,1,0,0,0,1097,1100,1,0,0,0,1098,1096,1,0,0,0,1098,1099,1,0,0,0,1099,5,1,0,0,0,1100,1098,1,0,0,0,1101,1117,3,8,4,0,1102,1117,3,28,14,0,1103,1107,3,90,45,0,1104,1108,3,20,10,0,1105,1106,5,202,0,0,1106,1108,5,102,0,0,1107,1104,1,0,0,0,1107,1105,1,0,0,0,1107,1108,1,0,0,0,1108,1117,1,0,0,0,1109,1117,3,16,8,0,1110,1117,3,18,9,0,1111,1113,5,196,0,0,1112,1114,3,4,2,0,1113,1112,1,0,0,0,1113,1114,1,0,0,0,1114,1115,1,0,0,0,1115,1117,5,197,0,0,1116,1101,1,0,0,0,1116,1102,1,0,0,0,1116,1103,1,0,0,0,1116,1109,1,0,0,0,1116,1110,1,0,0,0,1116,1111,1,0,0,0,1117,7,1,0,0,0,1118,1122,5,108,0,0,1119,1120,5,196,0,0,1120,1122,5,197,0,0,1121,1118,1,0,0,0,1121,1119,1,0,0,0,1122,9,1,0,0,0,1123,1124,3,90,45,0,1124,11,1,0,0,0,1125,1126,3,90,45,0,1126,1127,5,202,0,0,1127,1128,5,102,0,0,1128,13,1,0,0,0,1129,1130,3,90,45,0,1130,1131,3,20,10,0,1131,15,1,0,0,0,1132,1133,5,105,0,0,1133,1134,3,90,45,0,1134,1135,3,20,10,0,1135,17,1,0,0,0,1136,1137,5,214,0,0,1137,1138,3,292,146,0,1138,1139,5,216,0,0,1139,19,1,0,0,0,1140,1143,5,196,0,0,1141,1144,3,22,11,0,1142,1144,3,24,12,0,1143,1141,1,0,0,0,1143,1142,1,0,0,0,1143,1144,1,0,0,0,1144,1145,1,0,0,0,1145,1146,5,197,0,0,1146,21,1,0,0,0,1147,1152,3,0,0,0,1148,1149,5,200,0,0,1149,1151,3,0,0,0,1150,1148,1,0,0,0,1151,1154,1,0,0,0,1152,1150,1,0,0,0,1152,1153,1,0,0,0,1153,23,1,0,0,0,1154,1152,1,0,0,0,1155,1160,3,26,13,0,1156,1157,5,200,0,0,1157,1159,3,26,13,0,1158,1156,1,0,0,0,1159,1162,1,0,0,0,1160,1158,1,0,0,0,1160,1161,1,0,0,0,1161,25,1,0,0,0,1162,1160,1,0,0,0,1163,1164,3,90,45,0,1164,1165,5,207,0,0,1165,1166,3,0,0,0,1166,27,1,0,0,0,1167,1173,3,30,15,0,1168,1173,3,32,16,0,1169,1173,3,34,17,0,1170,1173,3,36,18,0,1171,1173,3,38,19,0,1172,1167,1,0,0,0,1172,1168,1,0,0,0,1172,1169,1,0,0,0,1172,1170,1,0,0,0,1172,1171,1,0,0,0,1173,29,1,0,0,0,1174,1175,7,8,0,0,1175,31,1,0,0,0,1176,1177,5,220,0,0,1177,33,1,0,0,0,1178,1179,5,221,0,0,1179,35,1,0,0,0,1180,1181,5,222,0,0,1181,37,1,0,0,0,1182,1183,5,198,0,0,1183,39,1,0,0,0,1184,1185,3,0,0,0,1185,41,1,0,0,0,1186,1187,3,0,0,0,1187,43,1,0,0,0,1188,1189,7,9,0,0,1189,45,1,0,0,0,1190,1191,5,206,0,0,1191,1192,3,44,22,0,1192,1193,5,208,0,0,1193,1194,3,44,22,0,1194,1201,1,0,0,0,1195,1196,5,206,0,0,1196,1197,3,44,22,0,1197,1198,5,208,0,0,1198,1201,1,0,0,0,1199,1201,3,44,22,0,1200,1190,1,0,0,0,1200,1195,1,0,0,0,1200,1199,1,0,0,0,1201,47,1,0,0,0,1202,1220,5,205,0,0,1203,1207,5,214,0,0,1204,1206,3,50,25,0,1205,1204,1,0,0,0,1206,1209,1,0,0,0,1207,1205,1,0,0,0,1207,1208,1,0,0,0,1208,1210,1,0,0,0,1209,1207,1,0,0,0,1210,1220,5,216,0,0,1211,1215,5,214,0,0,1212,1214,3,58,29,0,1213,1212,1,0,0,0,1214,1217,1,0,0,0,1215,1213,1,0,0,0,1215,1216,1,0,0,0,1216,1218,1,0,0,0,1217,1215,1,0,0,0,1218,1220,5,216,0,0,1219,1202,1,0,0,0,1219,1203,1,0,0,0,1219,1211,1,0,0,0,1220,49,1,0,0,0,1221,1224,3,52,26,0,1222,1224,3,58,29,0,1223,1221,1,0,0,0,1223,1222,1,0,0,0,1224,51,1,0,0,0,1225,1228,3,106,53,0,1226,1228,3,108,54,0,1227,1225,1,0,0,0,1227,1226,1,0,0,0,1228,53,1,0,0,0,1229,1231,3,414,207,0,1230,1229,1,0,0,0,1231,1234,1,0,0,0,1232,1230,1,0,0,0,1232,1233,1,0,0,0,1233,1235,1,0,0,0,1234,1232,1,0,0,0,1235,1240,5,48,0,0,1236,1238,3,46,23,0,1237,1236,1,0,0,0,1237,1238,1,0,0,0,1238,1239,1,0,0,0,1239,1241,5,74,0,0,1240,1237,1,0,0,0,1240,1241,1,0,0,0,1241,1242,1,0,0,0,1242,1247,3,90,45,0,1243,1244,5,200,0,0,1244,1246,3,90,45,0,1245,1243,1,0,0,0,1246,1249,1,0,0,0,1247,1245,1,0,0,0,1247,1248,1,0,0,0,1248,1250,1,0,0,0,1249,1247,1,0,0,0,1250,1251,5,154,0,0,1251,1256,3,90,45,0,1252,1253,5,200,0,0,1253,1255,3,90,45,0,1254,1252,1,0,0,0,1255,1258,1,0,0,0,1256,1254,1,0,0,0,1256,1257,1,0,0,0,1257,1259,1,0,0,0,1258,1256,1,0,0,0,1259,1260,3,48,24,0,1260,1272,1,0,0,0,1261,1263,3,414,207,0,1262,1261,1,0,0,0,1263,1266,1,0,0,0,1264,1262,1,0,0,0,1264,1265,1,0,0,0,1265,1267,1,0,0,0,1266,1264,1,0,0,0,1267,1268,5,48,0,0,1268,1269,3,442,221,0,1269,1270,3,48,24,0,1270,1272,1,0,0,0,1271,1232,1,0,0,0,1271,1264,1,0,0,0,1272,55,1,0,0,0,1273,1274,3,90,45,0,1274,57,1,0,0,0,1275,1276,3,60,30,0,1276,59,1,0,0,0,1277,1282,3,62,31,0,1278,1282,3,64,32,0,1279,1282,3,66,33,0,1280,1282,3,420,210,0,1281,1277,1,0,0,0,1281,1278,1,0,0,0,1281,1279,1,0,0,0,1281,1280,1,0,0,0,1282,61,1,0,0,0,1283,1285,5,30,0,0,1284,1286,3,46,23,0,1285,1284,1,0,0,0,1285,1286,1,0,0,0,1286,1296,1,0,0,0,1287,1288,5,1,0,0,1288,1293,3,56,28,0,1289,1290,5,200,0,0,1290,1292,3,56,28,0,1291,1289,1,0,0,0,1292,1295,1,0,0,0,1293,1291,1,0,0,0,1293,1294,1,0,0,0,1294,1297,1,0,0,0,1295,1293,1,0,0,0,1296,1287,1,0,0,0,1296,1297,1,0,0,0,1297,1299,1,0,0,0,1298,1283,1,0,0,0,1298,1299,1,0,0,0,1299,1302,1,0,0,0,1300,1301,5,95,0,0,1301,1303,5,220,0,0,1302,1300,1,0,0,0,1302,1303,1,0,0,0,1303,1304,1,0,0,0,1304,1305,5,223,0,0,1305,63,1,0,0,0,1306,1308,5,54,0,0,1307,1309,3,46,23,0,1308,1307,1,0,0,0,1308,1309,1,0,0,0,1309,1312,1,0,0,0,1310,1311,5,95,0,0,1311,1313,5,220,0,0,1312,1310,1,0,0,0,1312,1313,1,0,0,0,1313,1314,1,0,0,0,1314,1315,5,223,0,0,1315,65,1,0,0,0,1316,1318,5,131,0,0,1317,1319,3,46,23,0,1318,1317,1,0,0,0,1318,1319,1,0,0,0,1319,1321,1,0,0,0,1320,1316,1,0,0,0,1320,1321,1,0,0,0,1321,1322,1,0,0,0,1322,1323,5,93,0,0,1323,1324,5,220,0,0,1324,1325,5,223,0,0,1325,67,1,0,0,0,1326,1328,3,446,223,0,1327,1326,1,0,0,0,1328,1331,1,0,0,0,1329,1327,1,0,0,0,1329,1330,1,0,0,0,1330,1332,1,0,0,0,1331,1329,1,0,0,0,1332,1333,5,0,0,1,1333,69,1,0,0,0,1334,1336,3,416,208,0,1335,1334,1,0,0,0,1336,1339,1,0,0,0,1337,1335,1,0,0,0,1337,1338,1,0,0,0,1338,1340,1,0,0,0,1339,1337,1,0,0,0,1340,1341,3,72,36,0,1341,1342,3,74,37,0,1342,71,1,0,0,0,1343,1345,5,104,0,0,1344,1346,3,46,23,0,1345,1344,1,0,0,0,1345,1346,1,0,0,0,1346,73,1,0,0,0,1347,1357,5,205,0,0,1348,1352,5,214,0,0,1349,1351,3,76,38,0,1350,1349,1,0,0,0,1351,1354,1,0,0,0,1352,1350,1,0,0,0,1352,1353,1,0,0,0,1353,1355,1,0,0,0,1354,1352,1,0,0,0,1355,1357,5,216,0,0,1356,1347,1,0,0,0,1356,1348,1,0,0,0,1357,75,1,0,0,0,1358,1362,3,82,41,0,1359,1362,3,88,44,0,1360,1362,3,92,46,0,1361,1358,1,0,0,0,1361,1359,1,0,0,0,1361,1360,1,0,0,0,1362,77,1,0,0,0,1363,1365,3,80,40,0,1364,1363,1,0,0,0,1364,1365,1,0,0,0,1365,79,1,0,0,0,1366,1367,7,10,0,0,1367,81,1,0,0,0,1368,1371,3,84,42,0,1369,1371,3,86,43,0,1370,1368,1,0,0,0,1370,1369,1,0,0,0,1371,83,1,0,0,0,1372,1373,3,78,39,0,1373,1374,3,104,52,0,1374,85,1,0,0,0,1375,1376,3,78,39,0,1376,1377,3,108,54,0,1377,87,1,0,0,0,1378,1379,3,78,39,0,1379,1384,5,7,0,0,1380,1381,5,206,0,0,1381,1382,3,44,22,0,1382,1383,5,208,0,0,1383,1385,1,0,0,0,1384,1380,1,0,0,0,1384,1385,1,0,0,0,1385,1387,1,0,0,0,1386,1388,3,44,22,0,1387,1386,1,0,0,0,1387,1388,1,0,0,0,1388,1389,1,0,0,0,1389,1390,5,71,0,0,1390,1391,3,90,45,0,1391,1392,3,48,24,0,1392,89,1,0,0,0,1393,1394,5,193,0,0,1394,1396,5,183,0,0,1395,1393,1,0,0,0,1395,1396,1,0,0,0,1396,1402,1,0,0,0,1397,1398,3,44,22,0,1398,1399,5,183,0,0,1399,1401,1,0,0,0,1400,1397,1,0,0,0,1401,1404,1,0,0,0,1402,1400,1,0,0,0,1402,1403,1,0,0,0,1403,1405,1,0,0,0,1404,1402,1,0,0,0,1405,1406,3,44,22,0,1406,91,1,0,0,0,1407,1409,3,80,40,0,1408,1407,1,0,0,0,1408,1409,1,0,0,0,1409,1410,1,0,0,0,1410,1412,5,79,0,0,1411,1413,5,8,0,0,1412,1411,1,0,0,0,1412,1413,1,0,0,0,1413,1414,1,0,0,0,1414,1415,3,94,47,0,1415,1416,3,48,24,0,1416,93,1,0,0,0,1417,1420,3,96,48,0,1418,1420,3,98,49,0,1419,1417,1,0,0,0,1419,1418,1,0,0,0,1420,95,1,0,0,0,1421,1424,3,90,45,0,1422,1423,5,183,0,0,1423,1425,5,179,0,0,1424,1422,1,0,0,0,1424,1425,1,0,0,0,1425,97,1,0,0,0,1426,1427,3,90,45,0,1427,1428,5,183,0,0,1428,1431,5,198,0,0,1429,1430,5,183,0,0,1430,1432,5,179,0,0,1431,1429,1,0,0,0,1431,1432,1,0,0,0,1432,1435,1,0,0,0,1433,1435,3,100,50,0,1434,1426,1,0,0,0,1434,1433,1,0,0,0,1435,99,1,0,0,0,1436,1438,3,970,485,0,1437,1439,3,102,51,0,1438,1437,1,0,0,0,1439,1440,1,0,0,0,1440,1438,1,0,0,0,1440,1441,1,0,0,0,1441,1449,1,0,0,0,1442,1444,3,984,492,0,1443,1445,3,102,51,0,1444,1443,1,0,0,0,1445,1446,1,0,0,0,1446,1444,1,0,0,0,1446,1447,1,0,0,0,1447,1449,1,0,0,0,1448,1436,1,0,0,0,1448,1442,1,0,0,0,1449,101,1,0,0,0,1450,1451,5,211,0,0,1451,1452,3,0,0,0,1452,1453,5,212,0,0,1453,103,1,0,0,0,1454,1457,3,60,30,0,1455,1457,3,106,53,0,1456,1454,1,0,0,0,1456,1455,1,0,0,0,1457,105,1,0,0,0,1458,1485,3,54,27,0,1459,1485,3,70,35,0,1460,1485,3,110,55,0,1461,1485,3,162,81,0,1462,1485,3,250,125,0,1463,1485,3,252,126,0,1464,1485,3,254,127,0,1465,1485,3,412,206,0,1466,1485,3,256,128,0,1467,1485,3,258,129,0,1468,1485,3,370,185,0,1469,1485,3,284,142,0,1470,1485,3,288,144,0,1471,1485,3,300,150,0,1472,1485,3,398,199,0,1473,1485,3,432,216,0,1474,1485,3,434,217,0,1475,1485,3,134,67,0,1476,1485,3,142,71,0,1477,1485,3,168,84,0,1478,1485,3,146,73,0,1479,1485,3,242,121,0,1480,1485,3,220,110,0,1481,1485,3,224,112,0,1482,1485,3,232,116,0,1483,1485,3,246,123,0,1484,1458,1,0,0,0,1484,1459,1,0,0,0,1484,1460,1,0,0,0,1484,1461,1,0,0,0,1484,1462,1,0,0,0,1484,1463,1,0,0,0,1484,1464,1,0,0,0,1484,1465,1,0,0,0,1484,1466,1,0,0,0,1484,1467,1,0,0,0,1484,1468,1,0,0,0,1484,1469,1,0,0,0,1484,1470,1,0,0,0,1484,1471,1,0,0,0,1484,1472,1,0,0,0,1484,1473,1,0,0,0,1484,1474,1,0,0,0,1484,1475,1,0,0,0,1484,1476,1,0,0,0,1484,1477,1,0,0,0,1484,1478,1,0,0,0,1484,1479,1,0,0,0,1484,1480,1,0,0,0,1484,1481,1,0,0,0,1484,1482,1,0,0,0,1484,1483,1,0,0,0,1485,107,1,0,0,0,1486,1497,3,172,86,0,1487,1497,3,286,143,0,1488,1497,3,298,149,0,1489,1497,3,302,151,0,1490,1497,3,304,152,0,1491,1497,3,260,130,0,1492,1497,3,276,138,0,1493,1497,3,280,140,0,1494,1497,3,372,186,0,1495,1497,3,374,187,0,1496,1486,1,0,0,0,1496,1487,1,0,0,0,1496,1488,1,0,0,0,1496,1489,1,0,0,0,1496,1490,1,0,0,0,1496,1491,1,0,0,0,1496,1492,1,0,0,0,1496,1493,1,0,0,0,1496,1494,1,0,0,0,1496,1495,1,0,0,0,1497,109,1,0,0,0,1498,1499,3,112,56,0,1499,1500,5,157,0,0,1500,1501,3,114,57,0,1501,1502,3,130,65,0,1502,111,1,0,0,0,1503,1505,5,2,0,0,1504,1503,1,0,0,0,1504,1505,1,0,0,0,1505,1509,1,0,0,0,1506,1508,3,416,208,0,1507,1506,1,0,0,0,1508,1511,1,0,0,0,1509,1507,1,0,0,0,1509,1510,1,0,0,0,1510,113,1,0,0,0,1511,1509,1,0,0,0,1512,1514,5,8,0,0,1513,1512,1,0,0,0,1513,1514,1,0,0,0,1514,1516,1,0,0,0,1515,1517,3,46,23,0,1516,1515,1,0,0,0,1516,1517,1,0,0,0,1517,1519,1,0,0,0,1518,1520,3,404,202,0,1519,1518,1,0,0,0,1519,1520,1,0,0,0,1520,1523,1,0,0,0,1521,1524,3,116,58,0,1522,1524,3,118,59,0,1523,1521,1,0,0,0,1523,1522,1,0,0,0,1524,1525,1,0,0,0,1525,1523,1,0,0,0,1525,1526,1,0,0,0,1526,1530,1,0,0,0,1527,1529,3,120,60,0,1528,1527,1,0,0,0,1529,1532,1,0,0,0,1530,1528,1,0,0,0,1530,1531,1,0,0,0,1531,115,1,0,0,0,1532,1530,1,0,0,0,1533,1534,7,11,0,0,1534,1539,3,136,68,0,1535,1536,5,200,0,0,1536,1538,3,136,68,0,1537,1535,1,0,0,0,1538,1541,1,0,0,0,1539,1537,1,0,0,0,1539,1540,1,0,0,0,1540,117,1,0,0,0,1541,1539,1,0,0,0,1542,1543,7,12,0,0,1543,1544,3,144,72,0,1544,119,1,0,0,0,1545,1550,3,122,61,0,1546,1550,3,124,62,0,1547,1550,3,126,63,0,1548,1550,3,128,64,0,1549,1545,1,0,0,0,1549,1546,1,0,0,0,1549,1547,1,0,0,0,1549,1548,1,0,0,0,1550,121,1,0,0,0,1551,1552,5,52,0,0,1552,1553,5,74,0,0,1553,1558,3,148,74,0,1554,1555,5,200,0,0,1555,1557,3,148,74,0,1556,1554,1,0,0,0,1557,1560,1,0,0,0,1558,1556,1,0,0,0,1558,1559,1,0,0,0,1559,123,1,0,0,0,1560,1558,1,0,0,0,1561,1562,5,160,0,0,1562,1567,3,150,75,0,1563,1564,5,200,0,0,1564,1566,3,150,75,0,1565,1563,1,0,0,0,1566,1569,1,0,0,0,1567,1565,1,0,0,0,1567,1568,1,0,0,0,1568,125,1,0,0,0,1569,1567,1,0,0,0,1570,1571,5,86,0,0,1571,1576,3,152,76,0,1572,1573,5,200,0,0,1573,1575,3,152,76,0,1574,1572,1,0,0,0,1575,1578,1,0,0,0,1576,1574,1,0,0,0,1576,1577,1,0,0,0,1577,127,1,0,0,0,1578,1576,1,0,0,0,1579,1580,5,50,0,0,1580,1585,3,154,77,0,1581,1582,5,200,0,0,1582,1584,3,154,77,0,1583,1581,1,0,0,0,1584,1587,1,0,0,0,1585,1583,1,0,0,0,1585,1586,1,0,0,0,1586,129,1,0,0,0,1587,1585,1,0,0,0,1588,1598,5,205,0,0,1589,1593,5,214,0,0,1590,1592,3,132,66,0,1591,1590,1,0,0,0,1592,1595,1,0,0,0,1593,1591,1,0,0,0,1593,1594,1,0,0,0,1594,1596,1,0,0,0,1595,1593,1,0,0,0,1596,1598,5,216,0,0,1597,1588,1,0,0,0,1597,1589,1,0,0,0,1598,131,1,0,0,0,1599,1604,3,84,42,0,1600,1604,3,156,78,0,1601,1604,3,88,44,0,1602,1604,3,92,46,0,1603,1599,1,0,0,0,1603,1600,1,0,0,0,1603,1601,1,0,0,0,1603,1602,1,0,0,0,1604,133,1,0,0,0,1605,1607,5,138,0,0,1606,1608,3,46,23,0,1607,1606,1,0,0,0,1607,1608,1,0,0,0,1608,1610,1,0,0,0,1609,1605,1,0,0,0,1609,1610,1,0,0,0,1610,1611,1,0,0,0,1611,1612,5,149,0,0,1612,1613,3,138,69,0,1613,1614,7,11,0,0,1614,1615,3,140,70,0,1615,1616,3,48,24,0,1616,135,1,0,0,0,1617,1618,3,140,70,0,1618,137,1,0,0,0,1619,1624,3,90,45,0,1620,1621,5,202,0,0,1621,1623,3,90,45,0,1622,1620,1,0,0,0,1623,1626,1,0,0,0,1624,1622,1,0,0,0,1624,1625,1,0,0,0,1625,139,1,0,0,0,1626,1624,1,0,0,0,1627,1632,3,90,45,0,1628,1629,5,202,0,0,1629,1631,3,90,45,0,1630,1628,1,0,0,0,1631,1634,1,0,0,0,1632,1630,1,0,0,0,1632,1633,1,0,0,0,1633,141,1,0,0,0,1634,1632,1,0,0,0,1635,1637,5,35,0,0,1636,1638,3,46,23,0,1637,1636,1,0,0,0,1637,1638,1,0,0,0,1638,1640,1,0,0,0,1639,1635,1,0,0,0,1639,1640,1,0,0,0,1640,1641,1,0,0,0,1641,1642,5,33,0,0,1642,1647,3,90,45,0,1643,1644,5,202,0,0,1644,1646,3,90,45,0,1645,1643,1,0,0,0,1646,1649,1,0,0,0,1647,1645,1,0,0,0,1647,1648,1,0,0,0,1648,1650,1,0,0,0,1649,1647,1,0,0,0,1650,1651,7,12,0,0,1651,1656,3,90,45,0,1652,1653,5,202,0,0,1653,1655,3,90,45,0,1654,1652,1,0,0,0,1655,1658,1,0,0,0,1656,1654,1,0,0,0,1656,1657,1,0,0,0,1657,1659,1,0,0,0,1658,1656,1,0,0,0,1659,1660,3,48,24,0,1660,143,1,0,0,0,1661,1666,3,90,45,0,1662,1663,5,202,0,0,1663,1665,3,90,45,0,1664,1662,1,0,0,0,1665,1668,1,0,0,0,1666,1664,1,0,0,0,1666,1667,1,0,0,0,1667,145,1,0,0,0,1668,1666,1,0,0,0,1669,1671,5,51,0,0,1670,1672,3,46,23,0,1671,1670,1,0,0,0,1671,1672,1,0,0,0,1672,1674,1,0,0,0,1673,1669,1,0,0,0,1673,1674,1,0,0,0,1674,1675,1,0,0,0,1675,1676,5,52,0,0,1676,1681,3,90,45,0,1677,1678,5,202,0,0,1678,1680,3,90,45,0,1679,1677,1,0,0,0,1680,1683,1,0,0,0,1681,1679,1,0,0,0,1681,1682,1,0,0,0,1682,1684,1,0,0,0,1683,1681,1,0,0,0,1684,1685,5,74,0,0,1685,1690,3,90,45,0,1686,1687,5,202,0,0,1687,1689,3,90,45,0,1688,1686,1,0,0,0,1689,1692,1,0,0,0,1690,1688,1,0,0,0,1690,1691,1,0,0,0,1691,1693,1,0,0,0,1692,1690,1,0,0,0,1693,1694,3,48,24,0,1694,147,1,0,0,0,1695,1700,3,90,45,0,1696,1697,5,202,0,0,1697,1699,3,90,45,0,1698,1696,1,0,0,0,1699,1702,1,0,0,0,1700,1698,1,0,0,0,1700,1701,1,0,0,0,1701,149,1,0,0,0,1702,1700,1,0,0,0,1703,1708,3,90,45,0,1704,1705,5,202,0,0,1705,1707,3,90,45,0,1706,1704,1,0,0,0,1707,1710,1,0,0,0,1708,1706,1,0,0,0,1708,1709,1,0,0,0,1709,151,1,0,0,0,1710,1708,1,0,0,0,1711,1716,3,90,45,0,1712,1713,5,202,0,0,1713,1715,3,90,45,0,1714,1712,1,0,0,0,1715,1718,1,0,0,0,1716,1714,1,0,0,0,1716,1717,1,0,0,0,1717,153,1,0,0,0,1718,1716,1,0,0,0,1719,1724,3,90,45,0,1720,1721,5,202,0,0,1721,1723,3,90,45,0,1722,1720,1,0,0,0,1723,1726,1,0,0,0,1724,1722,1,0,0,0,1724,1725,1,0,0,0,1725,155,1,0,0,0,1726,1724,1,0,0,0,1727,1730,3,158,79,0,1728,1730,3,160,80,0,1729,1727,1,0,0,0,1729,1728,1,0,0,0,1730,157,1,0,0,0,1731,1732,3,78,39,0,1732,1733,5,97,0,0,1733,1734,3,108,54,0,1734,159,1,0,0,0,1735,1736,3,78,39,0,1736,1737,3,108,54,0,1737,161,1,0,0,0,1738,1739,3,112,56,0,1739,1740,5,29,0,0,1740,1741,3,164,82,0,1741,1742,3,130,65,0,1742,163,1,0,0,0,1743,1745,5,8,0,0,1744,1743,1,0,0,0,1744,1745,1,0,0,0,1745,1747,1,0,0,0,1746,1748,3,46,23,0,1747,1746,1,0,0,0,1747,1748,1,0,0,0,1748,1750,1,0,0,0,1749,1751,3,404,202,0,1750,1749,1,0,0,0,1750,1751,1,0,0,0,1751,1754,1,0,0,0,1752,1755,3,166,83,0,1753,1755,3,118,59,0,1754,1752,1,0,0,0,1754,1753,1,0,0,0,1754,1755,1,0,0,0,1755,1759,1,0,0,0,1756,1758,3,120,60,0,1757,1756,1,0,0,0,1758,1761,1,0,0,0,1759,1757,1,0,0,0,1759,1760,1,0,0,0,1760,165,1,0,0,0,1761,1759,1,0,0,0,1762,1763,7,11,0,0,1763,1768,3,170,85,0,1764,1765,5,200,0,0,1765,1767,3,170,85,0,1766,1764,1,0,0,0,1767,1770,1,0,0,0,1768,1766,1,0,0,0,1768,1769,1,0,0,0,1769,167,1,0,0,0,1770,1768,1,0,0,0,1771,1773,5,138,0,0,1772,1774,3,46,23,0,1773,1772,1,0,0,0,1773,1774,1,0,0,0,1774,1776,1,0,0,0,1775,1771,1,0,0,0,1775,1776,1,0,0,0,1776,1777,1,0,0,0,1777,1778,5,145,0,0,1778,1779,3,90,45,0,1779,1780,7,11,0,0,1780,1781,3,90,45,0,1781,1782,3,48,24,0,1782,169,1,0,0,0,1783,1784,3,90,45,0,1784,171,1,0,0,0,1785,1788,3,178,89,0,1786,1789,5,65,0,0,1787,1789,3,416,208,0,1788,1786,1,0,0,0,1788,1787,1,0,0,0,1789,1791,1,0,0,0,1790,1792,3,186,93,0,1791,1790,1,0,0,0,1791,1792,1,0,0,0,1792,1800,1,0,0,0,1793,1796,3,174,87,0,1794,1796,3,176,88,0,1795,1793,1,0,0,0,1795,1794,1,0,0,0,1796,1797,1,0,0,0,1797,1798,3,186,93,0,1798,1800,1,0,0,0,1799,1785,1,0,0,0,1799,1795,1,0,0,0,1800,1802,1,0,0,0,1801,1803,3,394,197,0,1802,1801,1,0,0,0,1802,1803,1,0,0,0,1803,1804,1,0,0,0,1804,1805,3,130,65,0,1805,173,1,0,0,0,1806,1808,5,39,0,0,1807,1806,1,0,0,0,1807,1808,1,0,0,0,1808,1809,1,0,0,0,1809,1810,5,56,0,0,1810,175,1,0,0,0,1811,1813,3,184,92,0,1812,1811,1,0,0,0,1812,1813,1,0,0,0,1813,1815,1,0,0,0,1814,1816,5,49,0,0,1815,1814,1,0,0,0,1815,1816,1,0,0,0,1816,1818,1,0,0,0,1817,1819,5,2,0,0,1818,1817,1,0,0,0,1818,1819,1,0,0,0,1819,1821,1,0,0,0,1820,1822,7,13,0,0,1821,1820,1,0,0,0,1821,1822,1,0,0,0,1822,1824,1,0,0,0,1823,1825,7,14,0,0,1824,1823,1,0,0,0,1824,1825,1,0,0,0,1825,177,1,0,0,0,1826,1827,3,174,87,0,1827,1828,3,180,90,0,1828,1831,1,0,0,0,1829,1831,3,176,88,0,1830,1826,1,0,0,0,1830,1829,1,0,0,0,1831,1835,1,0,0,0,1832,1834,3,416,208,0,1833,1832,1,0,0,0,1834,1837,1,0,0,0,1835,1833,1,0,0,0,1835,1836,1,0,0,0,1836,179,1,0,0,0,1837,1835,1,0,0,0,1838,1839,3,182,91,0,1839,181,1,0,0,0,1840,1841,3,176,88,0,1841,1842,3,186,93,0,1842,1848,1,0,0,0,1843,1845,3,484,242,0,1844,1846,3,496,248,0,1845,1844,1,0,0,0,1845,1846,1,0,0,0,1846,1848,1,0,0,0,1847,1840,1,0,0,0,1847,1843,1,0,0,0,1848,183,1,0,0,0,1849,1850,7,15,0,0,1850,185,1,0,0,0,1851,1853,5,8,0,0,1852,1851,1,0,0,0,1852,1853,1,0,0,0,1853,1861,1,0,0,0,1854,1857,3,188,94,0,1855,1858,3,198,99,0,1856,1858,3,118,59,0,1857,1855,1,0,0,0,1857,1856,1,0,0,0,1857,1858,1,0,0,0,1858,1862,1,0,0,0,1859,1862,3,198,99,0,1860,1862,3,118,59,0,1861,1854,1,0,0,0,1861,1859,1,0,0,0,1861,1860,1,0,0,0,1862,1866,1,0,0,0,1863,1865,3,190,95,0,1864,1863,1,0,0,0,1865,1868,1,0,0,0,1866,1864,1,0,0,0,1866,1867,1,0,0,0,1867,187,1,0,0,0,1868,1866,1,0,0,0,1869,1870,5,206,0,0,1870,1871,3,44,22,0,1871,1873,5,208,0,0,1872,1874,3,44,22,0,1873,1872,1,0,0,0,1873,1874,1,0,0,0,1874,1877,1,0,0,0,1875,1877,3,44,22,0,1876,1869,1,0,0,0,1876,1875,1,0,0,0,1877,189,1,0,0,0,1878,1883,3,120,60,0,1879,1883,3,192,96,0,1880,1883,3,194,97,0,1881,1883,3,196,98,0,1882,1878,1,0,0,0,1882,1879,1,0,0,0,1882,1880,1,0,0,0,1882,1881,1,0,0,0,1883,191,1,0,0,0,1884,1885,5,27,0,0,1885,1890,3,90,45,0,1886,1887,5,202,0,0,1887,1889,3,90,45,0,1888,1886,1,0,0,0,1889,1892,1,0,0,0,1890,1888,1,0,0,0,1890,1891,1,0,0,0,1891,193,1,0,0,0,1892,1890,1,0,0,0,1893,1894,5,88,0,0,1894,1895,5,111,0,0,1895,1896,3,244,122,0,1896,195,1,0,0,0,1897,1898,5,66,0,0,1898,1899,5,24,0,0,1899,1904,3,248,124,0,1900,1901,5,200,0,0,1901,1903,3,248,124,0,1902,1900,1,0,0,0,1903,1906,1,0,0,0,1904,1902,1,0,0,0,1904,1905,1,0,0,0,1905,197,1,0,0,0,1906,1904,1,0,0,0,1907,1909,3,202,101,0,1908,1907,1,0,0,0,1909,1910,1,0,0,0,1910,1908,1,0,0,0,1910,1911,1,0,0,0,1911,1913,1,0,0,0,1912,1914,3,200,100,0,1913,1912,1,0,0,0,1913,1914,1,0,0,0,1914,1918,1,0,0,0,1915,1917,3,202,101,0,1916,1915,1,0,0,0,1917,1920,1,0,0,0,1918,1916,1,0,0,0,1918,1919,1,0,0,0,1919,1929,1,0,0,0,1920,1918,1,0,0,0,1921,1925,3,200,100,0,1922,1924,3,202,101,0,1923,1922,1,0,0,0,1924,1927,1,0,0,0,1925,1923,1,0,0,0,1925,1926,1,0,0,0,1926,1929,1,0,0,0,1927,1925,1,0,0,0,1928,1908,1,0,0,0,1928,1921,1,0,0,0,1929,199,1,0,0,0,1930,1939,3,404,202,0,1931,1933,5,113,0,0,1932,1934,5,106,0,0,1933,1932,1,0,0,0,1933,1934,1,0,0,0,1934,1940,1,0,0,0,1935,1937,5,106,0,0,1936,1938,5,113,0,0,1937,1936,1,0,0,0,1937,1938,1,0,0,0,1938,1940,1,0,0,0,1939,1931,1,0,0,0,1939,1935,1,0,0,0,1939,1940,1,0,0,0,1940,1952,1,0,0,0,1941,1943,5,113,0,0,1942,1944,5,106,0,0,1943,1942,1,0,0,0,1943,1944,1,0,0,0,1944,1950,1,0,0,0,1945,1947,5,106,0,0,1946,1948,5,113,0,0,1947,1946,1,0,0,0,1947,1948,1,0,0,0,1948,1950,1,0,0,0,1949,1941,1,0,0,0,1949,1945,1,0,0,0,1950,1952,1,0,0,0,1951,1930,1,0,0,0,1951,1949,1,0,0,0,1952,201,1,0,0,0,1953,1959,3,204,102,0,1954,1959,3,208,104,0,1955,1959,3,212,106,0,1956,1959,3,214,107,0,1957,1959,3,216,108,0,1958,1953,1,0,0,0,1958,1954,1,0,0,0,1958,1955,1,0,0,0,1958,1956,1,0,0,0,1958,1957,1,0,0,0,1959,203,1,0,0,0,1960,1965,3,206,103,0,1961,1962,5,200,0,0,1962,1964,3,220,110,0,1963,1961,1,0,0,0,1964,1967,1,0,0,0,1965,1963,1,0,0,0,1965,1966,1,0,0,0,1966,205,1,0,0,0,1967,1965,1,0,0,0,1968,1974,5,204,0,0,1969,1970,5,158,0,0,1970,1974,5,24,0,0,1971,1972,5,47,0,0,1972,1974,5,24,0,0,1973,1968,1,0,0,0,1973,1969,1,0,0,0,1973,1971,1,0,0,0,1974,1975,1,0,0,0,1975,1976,3,220,110,0,1976,207,1,0,0,0,1977,1982,3,210,105,0,1978,1979,5,200,0,0,1979,1981,3,226,113,0,1980,1978,1,0,0,0,1981,1984,1,0,0,0,1982,1980,1,0,0,0,1982,1983,1,0,0,0,1983,209,1,0,0,0,1984,1982,1,0,0,0,1985,1986,7,16,0,0,1986,1987,3,226,113,0,1987,211,1,0,0,0,1988,1989,7,17,0,0,1989,1990,3,228,114,0,1990,213,1,0,0,0,1991,1992,7,18,0,0,1992,1993,3,230,115,0,1993,215,1,0,0,0,1994,1999,3,218,109,0,1995,1996,5,200,0,0,1996,1998,3,234,117,0,1997,1995,1,0,0,0,1998,2001,1,0,0,0,1999,1997,1,0,0,0,1999,2e3,1,0,0,0,2e3,217,1,0,0,0,2001,1999,1,0,0,0,2002,2003,7,19,0,0,2003,2004,3,234,117,0,2004,219,1,0,0,0,2005,2007,5,138,0,0,2006,2008,3,46,23,0,2007,2006,1,0,0,0,2007,2008,1,0,0,0,2008,2010,1,0,0,0,2009,2005,1,0,0,0,2009,2010,1,0,0,0,2010,2011,1,0,0,0,2011,2012,5,159,0,0,2012,2016,3,90,45,0,2013,2017,5,204,0,0,2014,2015,5,158,0,0,2015,2017,5,24,0,0,2016,2013,1,0,0,0,2016,2014,1,0,0,0,2017,2018,1,0,0,0,2018,2019,3,140,70,0,2019,2020,3,48,24,0,2020,2024,1,0,0,0,2021,2024,3,222,111,0,2022,2024,3,580,290,0,2023,2009,1,0,0,0,2023,2021,1,0,0,0,2023,2022,1,0,0,0,2024,221,1,0,0,0,2025,2030,3,90,45,0,2026,2027,5,202,0,0,2027,2029,3,90,45,0,2028,2026,1,0,0,0,2029,2032,1,0,0,0,2030,2028,1,0,0,0,2030,2031,1,0,0,0,2031,223,1,0,0,0,2032,2030,1,0,0,0,2033,2035,5,138,0,0,2034,2036,3,46,23,0,2035,2034,1,0,0,0,2035,2036,1,0,0,0,2036,2038,1,0,0,0,2037,2033,1,0,0,0,2037,2038,1,0,0,0,2038,2039,1,0,0,0,2039,2040,5,147,0,0,2040,2041,3,138,69,0,2041,2042,7,16,0,0,2042,2043,3,140,70,0,2043,2044,3,48,24,0,2044,225,1,0,0,0,2045,2050,3,90,45,0,2046,2047,5,202,0,0,2047,2049,3,90,45,0,2048,2046,1,0,0,0,2049,2052,1,0,0,0,2050,2048,1,0,0,0,2050,2051,1,0,0,0,2051,227,1,0,0,0,2052,2050,1,0,0,0,2053,2058,3,90,45,0,2054,2055,5,202,0,0,2055,2057,3,90,45,0,2056,2054,1,0,0,0,2057,2060,1,0,0,0,2058,2056,1,0,0,0,2058,2059,1,0,0,0,2059,229,1,0,0,0,2060,2058,1,0,0,0,2061,2066,3,90,45,0,2062,2063,5,202,0,0,2063,2065,3,90,45,0,2064,2062,1,0,0,0,2065,2068,1,0,0,0,2066,2064,1,0,0,0,2066,2067,1,0,0,0,2067,231,1,0,0,0,2068,2066,1,0,0,0,2069,2071,5,138,0,0,2070,2072,3,46,23,0,2071,2070,1,0,0,0,2071,2072,1,0,0,0,2072,2074,1,0,0,0,2073,2069,1,0,0,0,2073,2074,1,0,0,0,2074,2075,1,0,0,0,2075,2076,5,126,0,0,2076,2077,3,138,69,0,2077,2078,7,19,0,0,2078,2079,3,140,70,0,2079,2080,3,48,24,0,2080,233,1,0,0,0,2081,2086,3,90,45,0,2082,2083,5,202,0,0,2083,2085,3,90,45,0,2084,2082,1,0,0,0,2085,2088,1,0,0,0,2086,2084,1,0,0,0,2086,2087,1,0,0,0,2087,235,1,0,0,0,2088,2086,1,0,0,0,2089,2098,3,238,119,0,2090,2093,3,240,120,0,2091,2092,5,202,0,0,2092,2094,3,240,120,0,2093,2091,1,0,0,0,2094,2095,1,0,0,0,2095,2093,1,0,0,0,2095,2096,1,0,0,0,2096,2098,1,0,0,0,2097,2089,1,0,0,0,2097,2090,1,0,0,0,2098,237,1,0,0,0,2099,2102,3,240,120,0,2100,2101,5,202,0,0,2101,2103,3,240,120,0,2102,2100,1,0,0,0,2103,2104,1,0,0,0,2104,2102,1,0,0,0,2104,2105,1,0,0,0,2105,239,1,0,0,0,2106,2107,3,90,45,0,2107,241,1,0,0,0,2108,2110,5,89,0,0,2109,2111,3,46,23,0,2110,2109,1,0,0,0,2110,2111,1,0,0,0,2111,2113,1,0,0,0,2112,2108,1,0,0,0,2112,2113,1,0,0,0,2113,2114,1,0,0,0,2114,2115,5,88,0,0,2115,2120,3,90,45,0,2116,2117,5,202,0,0,2117,2119,3,90,45,0,2118,2116,1,0,0,0,2119,2122,1,0,0,0,2120,2118,1,0,0,0,2120,2121,1,0,0,0,2121,2123,1,0,0,0,2122,2120,1,0,0,0,2123,2124,5,111,0,0,2124,2129,3,90,45,0,2125,2126,5,202,0,0,2126,2128,3,90,45,0,2127,2125,1,0,0,0,2128,2131,1,0,0,0,2129,2127,1,0,0,0,2129,2130,1,0,0,0,2130,2132,1,0,0,0,2131,2129,1,0,0,0,2132,2133,3,48,24,0,2133,243,1,0,0,0,2134,2139,3,90,45,0,2135,2136,5,202,0,0,2136,2138,3,90,45,0,2137,2135,1,0,0,0,2138,2141,1,0,0,0,2139,2137,1,0,0,0,2139,2140,1,0,0,0,2140,245,1,0,0,0,2141,2139,1,0,0,0,2142,2147,5,67,0,0,2143,2145,3,46,23,0,2144,2143,1,0,0,0,2144,2145,1,0,0,0,2145,2146,1,0,0,0,2146,2148,5,111,0,0,2147,2144,1,0,0,0,2147,2148,1,0,0,0,2148,2149,1,0,0,0,2149,2150,3,90,45,0,2150,2151,5,24,0,0,2151,2152,3,90,45,0,2152,2153,3,48,24,0,2153,247,1,0,0,0,2154,2155,3,90,45,0,2155,249,1,0,0,0,2156,2157,3,112,56,0,2157,2158,5,43,0,0,2158,2159,3,164,82,0,2159,2160,3,130,65,0,2160,251,1,0,0,0,2161,2162,3,112,56,0,2162,2163,5,28,0,0,2163,2164,3,164,82,0,2164,2165,3,130,65,0,2165,253,1,0,0,0,2166,2167,3,112,56,0,2167,2168,5,144,0,0,2168,2169,3,164,82,0,2169,2170,3,130,65,0,2170,255,1,0,0,0,2171,2172,3,112,56,0,2172,2173,5,16,0,0,2173,2174,3,164,82,0,2174,2175,3,130,65,0,2175,257,1,0,0,0,2176,2177,3,112,56,0,2177,2178,5,16,0,0,2178,2179,5,144,0,0,2179,2180,3,164,82,0,2180,2181,3,130,65,0,2181,259,1,0,0,0,2182,2183,3,178,89,0,2183,2191,5,38,0,0,2184,2186,3,186,93,0,2185,2184,1,0,0,0,2185,2186,1,0,0,0,2186,2188,1,0,0,0,2187,2189,3,394,197,0,2188,2187,1,0,0,0,2188,2189,1,0,0,0,2189,2192,1,0,0,0,2190,2192,3,262,131,0,2191,2185,1,0,0,0,2191,2190,1,0,0,0,2192,2193,1,0,0,0,2193,2194,3,130,65,0,2194,261,1,0,0,0,2195,2198,3,264,132,0,2196,2198,3,266,133,0,2197,2195,1,0,0,0,2197,2196,1,0,0,0,2198,263,1,0,0,0,2199,2201,3,186,93,0,2200,2199,1,0,0,0,2200,2201,1,0,0,0,2201,2202,1,0,0,0,2202,2208,5,74,0,0,2203,2205,5,8,0,0,2204,2206,5,74,0,0,2205,2204,1,0,0,0,2205,2206,1,0,0,0,2206,2208,1,0,0,0,2207,2200,1,0,0,0,2207,2203,1,0,0,0,2207,2208,1,0,0,0,2208,2209,1,0,0,0,2209,2210,3,268,134,0,2210,2211,5,154,0,0,2211,2212,3,268,134,0,2212,265,1,0,0,0,2213,2215,3,186,93,0,2214,2213,1,0,0,0,2214,2215,1,0,0,0,2215,2216,1,0,0,0,2216,2217,5,196,0,0,2217,2218,3,268,134,0,2218,2219,5,200,0,0,2219,2224,3,268,134,0,2220,2221,5,200,0,0,2221,2223,3,268,134,0,2222,2220,1,0,0,0,2223,2226,1,0,0,0,2224,2222,1,0,0,0,2224,2225,1,0,0,0,2225,2227,1,0,0,0,2226,2224,1,0,0,0,2227,2228,5,197,0,0,2228,267,1,0,0,0,2229,2230,3,270,135,0,2230,269,1,0,0,0,2231,2233,3,272,136,0,2232,2231,1,0,0,0,2232,2233,1,0,0,0,2233,2237,1,0,0,0,2234,2235,3,44,22,0,2235,2236,7,17,0,0,2236,2238,1,0,0,0,2237,2234,1,0,0,0,2237,2238,1,0,0,0,2238,2239,1,0,0,0,2239,2240,3,228,114,0,2240,271,1,0,0,0,2241,2242,3,274,137,0,2242,273,1,0,0,0,2243,2244,3,404,202,0,2244,275,1,0,0,0,2245,2246,3,178,89,0,2246,2247,5,22,0,0,2247,2248,3,278,139,0,2248,2249,3,130,65,0,2249,277,1,0,0,0,2250,2256,3,186,93,0,2251,2252,5,111,0,0,2252,2253,3,268,134,0,2253,2254,5,207,0,0,2254,2255,3,268,134,0,2255,2257,1,0,0,0,2256,2251,1,0,0,0,2256,2257,1,0,0,0,2257,2271,1,0,0,0,2258,2260,5,8,0,0,2259,2258,1,0,0,0,2259,2260,1,0,0,0,2260,2268,1,0,0,0,2261,2263,5,111,0,0,2262,2261,1,0,0,0,2262,2263,1,0,0,0,2263,2264,1,0,0,0,2264,2265,3,268,134,0,2265,2266,5,207,0,0,2266,2267,3,268,134,0,2267,2269,1,0,0,0,2268,2262,1,0,0,0,2268,2269,1,0,0,0,2269,2271,1,0,0,0,2270,2250,1,0,0,0,2270,2259,1,0,0,0,2271,279,1,0,0,0,2272,2273,3,178,89,0,2273,2274,5,150,0,0,2274,2275,3,282,141,0,2275,2276,3,130,65,0,2276,281,1,0,0,0,2277,2283,3,186,93,0,2278,2279,5,69,0,0,2279,2280,3,268,134,0,2280,2281,5,152,0,0,2281,2282,3,268,134,0,2282,2284,1,0,0,0,2283,2278,1,0,0,0,2283,2284,1,0,0,0,2284,2298,1,0,0,0,2285,2287,5,8,0,0,2286,2285,1,0,0,0,2286,2287,1,0,0,0,2287,2295,1,0,0,0,2288,2290,5,69,0,0,2289,2288,1,0,0,0,2289,2290,1,0,0,0,2290,2291,1,0,0,0,2291,2292,3,268,134,0,2292,2293,5,152,0,0,2293,2294,3,268,134,0,2294,2296,1,0,0,0,2295,2289,1,0,0,0,2295,2296,1,0,0,0,2296,2298,1,0,0,0,2297,2277,1,0,0,0,2297,2286,1,0,0,0,2298,283,1,0,0,0,2299,2300,3,112,56,0,2300,2301,5,20,0,0,2301,2302,3,164,82,0,2302,2303,3,130,65,0,2303,285,1,0,0,0,2304,2305,3,178,89,0,2305,2306,5,143,0,0,2306,2308,3,186,93,0,2307,2309,3,394,197,0,2308,2307,1,0,0,0,2308,2309,1,0,0,0,2309,2310,1,0,0,0,2310,2311,3,130,65,0,2311,287,1,0,0,0,2312,2313,3,112,56,0,2313,2314,5,75,0,0,2314,2315,3,164,82,0,2315,2316,3,290,145,0,2316,289,1,0,0,0,2317,2323,5,205,0,0,2318,2319,5,214,0,0,2319,2320,3,292,146,0,2320,2321,5,216,0,0,2321,2323,1,0,0,0,2322,2317,1,0,0,0,2322,2318,1,0,0,0,2323,291,1,0,0,0,2324,2327,3,132,66,0,2325,2327,3,294,147,0,2326,2324,1,0,0,0,2326,2325,1,0,0,0,2327,2330,1,0,0,0,2328,2326,1,0,0,0,2328,2329,1,0,0,0,2329,2332,1,0,0,0,2330,2328,1,0,0,0,2331,2333,3,296,148,0,2332,2331,1,0,0,0,2332,2333,1,0,0,0,2333,293,1,0,0,0,2334,2335,3,78,39,0,2335,2336,5,134,0,0,2336,2337,3,108,54,0,2337,295,1,0,0,0,2338,2339,3,78,39,0,2339,2340,3,0,0,0,2340,297,1,0,0,0,2341,2342,3,178,89,0,2342,2343,5,63,0,0,2343,2345,3,186,93,0,2344,2346,3,394,197,0,2345,2344,1,0,0,0,2345,2346,1,0,0,0,2346,2347,1,0,0,0,2347,2348,3,290,145,0,2348,299,1,0,0,0,2349,2350,3,112,56,0,2350,2351,5,121,0,0,2351,2352,3,164,82,0,2352,2353,3,290,145,0,2353,301,1,0,0,0,2354,2355,3,178,89,0,2355,2356,5,23,0,0,2356,2358,3,186,93,0,2357,2359,3,394,197,0,2358,2357,1,0,0,0,2358,2359,1,0,0,0,2359,2360,1,0,0,0,2360,2361,3,290,145,0,2361,303,1,0,0,0,2362,2363,3,178,89,0,2363,2365,5,87,0,0,2364,2366,7,8,0,0,2365,2364,1,0,0,0,2365,2366,1,0,0,0,2366,2367,1,0,0,0,2367,2369,3,186,93,0,2368,2370,3,394,197,0,2369,2368,1,0,0,0,2369,2370,1,0,0,0,2370,2371,1,0,0,0,2371,2372,3,290,145,0,2372,305,1,0,0,0,2373,2374,3,0,0,0,2374,307,1,0,0,0,2375,2376,3,348,174,0,2376,309,1,0,0,0,2377,2378,3,2,1,0,2378,311,1,0,0,0,2379,2380,3,2,1,0,2380,313,1,0,0,0,2381,2382,3,90,45,0,2382,315,1,0,0,0,2383,2384,3,978,489,0,2384,317,1,0,0,0,2385,2386,3,306,153,0,2386,2387,5,200,0,0,2387,2388,3,320,160,0,2388,319,1,0,0,0,2389,2390,3,4,2,0,2390,321,1,0,0,0,2391,2392,3,324,162,0,2392,323,1,0,0,0,2393,2394,3,326,163,0,2394,325,1,0,0,0,2395,2396,3,18,9,0,2396,327,1,0,0,0,2397,2398,3,330,165,0,2398,329,1,0,0,0,2399,2400,3,332,166,0,2400,331,1,0,0,0,2401,2402,3,334,167,0,2402,333,1,0,0,0,2403,2404,3,336,168,0,2404,335,1,0,0,0,2405,2406,3,338,169,0,2406,337,1,0,0,0,2407,2408,3,314,157,0,2408,339,1,0,0,0,2409,2414,3,90,45,0,2410,2411,5,202,0,0,2411,2413,3,90,45,0,2412,2410,1,0,0,0,2413,2416,1,0,0,0,2414,2412,1,0,0,0,2414,2415,1,0,0,0,2415,341,1,0,0,0,2416,2414,1,0,0,0,2417,2420,3,238,119,0,2418,2420,3,236,118,0,2419,2417,1,0,0,0,2419,2418,1,0,0,0,2420,343,1,0,0,0,2421,2422,3,346,173,0,2422,345,1,0,0,0,2423,2424,3,90,45,0,2424,347,1,0,0,0,2425,2426,3,90,45,0,2426,349,1,0,0,0,2427,2428,3,352,176,0,2428,351,1,0,0,0,2429,2430,3,20,10,0,2430,353,1,0,0,0,2431,2436,3,90,45,0,2432,2433,5,202,0,0,2433,2435,3,90,45,0,2434,2432,1,0,0,0,2435,2438,1,0,0,0,2436,2434,1,0,0,0,2436,2437,1,0,0,0,2437,355,1,0,0,0,2438,2436,1,0,0,0,2439,2440,3,90,45,0,2440,357,1,0,0,0,2441,2442,3,26,13,0,2442,359,1,0,0,0,2443,2444,3,90,45,0,2444,361,1,0,0,0,2445,2446,3,364,182,0,2446,363,1,0,0,0,2447,2448,5,214,0,0,2448,2449,3,292,146,0,2449,2450,5,216,0,0,2450,365,1,0,0,0,2451,2452,7,8,0,0,2452,367,1,0,0,0,2453,2455,5,221,0,0,2454,2453,1,0,0,0,2454,2455,1,0,0,0,2455,2456,1,0,0,0,2456,2457,5,202,0,0,2457,2460,7,20,0,0,2458,2460,5,222,0,0,2459,2454,1,0,0,0,2459,2458,1,0,0,0,2460,369,1,0,0,0,2461,2462,3,112,56,0,2462,2463,5,84,0,0,2463,2464,3,164,82,0,2464,2465,3,130,65,0,2465,371,1,0,0,0,2466,2467,3,178,89,0,2467,2468,5,70,0,0,2468,2469,3,376,188,0,2469,2470,3,130,65,0,2470,373,1,0,0,0,2471,2472,3,178,89,0,2472,2473,5,150,0,0,2473,2474,5,70,0,0,2474,2475,3,376,188,0,2475,2476,3,130,65,0,2476,375,1,0,0,0,2477,2479,3,186,93,0,2478,2480,3,394,197,0,2479,2478,1,0,0,0,2479,2480,1,0,0,0,2480,2483,1,0,0,0,2481,2482,5,111,0,0,2482,2484,3,378,189,0,2483,2481,1,0,0,0,2483,2484,1,0,0,0,2484,2490,1,0,0,0,2485,2486,5,74,0,0,2486,2487,3,384,192,0,2487,2488,5,154,0,0,2488,2489,3,384,192,0,2489,2491,1,0,0,0,2490,2485,1,0,0,0,2490,2491,1,0,0,0,2491,2517,1,0,0,0,2492,2494,5,8,0,0,2493,2492,1,0,0,0,2493,2494,1,0,0,0,2494,2495,1,0,0,0,2495,2496,3,384,192,0,2496,2497,5,154,0,0,2497,2498,3,384,192,0,2498,2517,1,0,0,0,2499,2501,3,496,248,0,2500,2499,1,0,0,0,2500,2501,1,0,0,0,2501,2503,1,0,0,0,2502,2504,3,394,197,0,2503,2502,1,0,0,0,2503,2504,1,0,0,0,2504,2507,1,0,0,0,2505,2506,5,111,0,0,2506,2508,3,646,323,0,2507,2505,1,0,0,0,2507,2508,1,0,0,0,2508,2514,1,0,0,0,2509,2510,5,74,0,0,2510,2511,3,384,192,0,2511,2512,5,154,0,0,2512,2513,3,384,192,0,2513,2515,1,0,0,0,2514,2509,1,0,0,0,2514,2515,1,0,0,0,2515,2517,1,0,0,0,2516,2477,1,0,0,0,2516,2493,1,0,0,0,2516,2500,1,0,0,0,2517,377,1,0,0,0,2518,2519,3,380,190,0,2519,379,1,0,0,0,2520,2522,3,46,23,0,2521,2520,1,0,0,0,2521,2522,1,0,0,0,2522,2523,1,0,0,0,2523,2540,3,394,197,0,2524,2526,3,46,23,0,2525,2524,1,0,0,0,2525,2526,1,0,0,0,2526,2527,1,0,0,0,2527,2529,3,382,191,0,2528,2530,3,394,197,0,2529,2528,1,0,0,0,2529,2530,1,0,0,0,2530,2540,1,0,0,0,2531,2533,3,222,111,0,2532,2534,3,404,202,0,2533,2532,1,0,0,0,2533,2534,1,0,0,0,2534,2540,1,0,0,0,2535,2537,3,404,202,0,2536,2538,3,222,111,0,2537,2536,1,0,0,0,2537,2538,1,0,0,0,2538,2540,1,0,0,0,2539,2521,1,0,0,0,2539,2525,1,0,0,0,2539,2531,1,0,0,0,2539,2535,1,0,0,0,2540,381,1,0,0,0,2541,2543,3,202,101,0,2542,2541,1,0,0,0,2543,2544,1,0,0,0,2544,2542,1,0,0,0,2544,2545,1,0,0,0,2545,2547,1,0,0,0,2546,2548,3,200,100,0,2547,2546,1,0,0,0,2547,2548,1,0,0,0,2548,2552,1,0,0,0,2549,2551,3,202,101,0,2550,2549,1,0,0,0,2551,2554,1,0,0,0,2552,2550,1,0,0,0,2552,2553,1,0,0,0,2553,2562,1,0,0,0,2554,2552,1,0,0,0,2555,2557,3,200,100,0,2556,2558,3,202,101,0,2557,2556,1,0,0,0,2558,2559,1,0,0,0,2559,2557,1,0,0,0,2559,2560,1,0,0,0,2560,2562,1,0,0,0,2561,2542,1,0,0,0,2561,2555,1,0,0,0,2562,383,1,0,0,0,2563,2564,3,386,193,0,2564,385,1,0,0,0,2565,2570,3,90,45,0,2566,2567,5,202,0,0,2567,2569,3,90,45,0,2568,2566,1,0,0,0,2569,2572,1,0,0,0,2570,2568,1,0,0,0,2570,2571,1,0,0,0,2571,387,1,0,0,0,2572,2570,1,0,0,0,2573,2574,3,390,195,0,2574,389,1,0,0,0,2575,2576,3,392,196,0,2576,391,1,0,0,0,2577,2578,3,90,45,0,2578,393,1,0,0,0,2579,2580,3,396,198,0,2580,395,1,0,0,0,2581,2588,5,207,0,0,2582,2588,5,184,0,0,2583,2585,5,46,0,0,2584,2586,7,21,0,0,2585,2584,1,0,0,0,2585,2586,1,0,0,0,2586,2588,1,0,0,0,2587,2581,1,0,0,0,2587,2582,1,0,0,0,2587,2583,1,0,0,0,2588,2589,1,0,0,0,2589,2590,3,0,0,0,2590,397,1,0,0,0,2591,2594,3,400,200,0,2592,2594,3,402,201,0,2593,2591,1,0,0,0,2593,2592,1,0,0,0,2594,399,1,0,0,0,2595,2597,5,103,0,0,2596,2598,3,46,23,0,2597,2596,1,0,0,0,2597,2598,1,0,0,0,2598,2599,1,0,0,0,2599,2600,3,210,105,0,2600,2601,3,130,65,0,2601,401,1,0,0,0,2602,2604,5,103,0,0,2603,2605,3,46,23,0,2604,2603,1,0,0,0,2604,2605,1,0,0,0,2605,2606,1,0,0,0,2606,2607,3,408,204,0,2607,2608,3,130,65,0,2608,403,1,0,0,0,2609,2610,3,406,203,0,2610,405,1,0,0,0,2611,2612,3,408,204,0,2612,407,1,0,0,0,2613,2617,5,211,0,0,2614,2615,3,410,205,0,2615,2616,5,181,0,0,2616,2618,1,0,0,0,2617,2614,1,0,0,0,2617,2618,1,0,0,0,2618,2619,1,0,0,0,2619,2620,3,410,205,0,2620,2621,5,212,0,0,2621,409,1,0,0,0,2622,2625,3,28,14,0,2623,2625,3,10,5,0,2624,2622,1,0,0,0,2624,2623,1,0,0,0,2625,411,1,0,0,0,2626,2627,3,112,56,0,2627,2628,5,101,0,0,2628,2629,3,164,82,0,2629,2630,3,130,65,0,2630,413,1,0,0,0,2631,2632,5,192,0,0,2632,2636,3,418,209,0,2633,2634,5,192,0,0,2634,2636,3,956,478,0,2635,2631,1,0,0,0,2635,2633,1,0,0,0,2636,415,1,0,0,0,2637,2638,5,192,0,0,2638,2642,3,418,209,0,2639,2640,5,192,0,0,2640,2642,3,956,478,0,2641,2637,1,0,0,0,2641,2639,1,0,0,0,2642,417,1,0,0,0,2643,2644,3,222,111,0,2644,419,1,0,0,0,2645,2647,3,416,208,0,2646,2645,1,0,0,0,2647,2650,1,0,0,0,2648,2646,1,0,0,0,2648,2649,1,0,0,0,2649,2651,1,0,0,0,2650,2648,1,0,0,0,2651,2652,7,22,0,0,2652,2662,3,422,211,0,2653,2654,5,1,0,0,2654,2659,3,56,28,0,2655,2656,5,200,0,0,2656,2658,3,56,28,0,2657,2655,1,0,0,0,2658,2661,1,0,0,0,2659,2657,1,0,0,0,2659,2660,1,0,0,0,2660,2663,1,0,0,0,2661,2659,1,0,0,0,2662,2653,1,0,0,0,2662,2663,1,0,0,0,2663,2664,1,0,0,0,2664,2665,3,424,212,0,2665,421,1,0,0,0,2666,2668,3,46,23,0,2667,2666,1,0,0,0,2667,2668,1,0,0,0,2668,2672,1,0,0,0,2669,2673,5,204,0,0,2670,2671,5,158,0,0,2671,2673,5,24,0,0,2672,2669,1,0,0,0,2672,2670,1,0,0,0,2673,2675,1,0,0,0,2674,2667,1,0,0,0,2674,2675,1,0,0,0,2675,2676,1,0,0,0,2676,2677,3,222,111,0,2677,423,1,0,0,0,2678,2699,5,205,0,0,2679,2683,5,214,0,0,2680,2682,3,426,213,0,2681,2680,1,0,0,0,2682,2685,1,0,0,0,2683,2681,1,0,0,0,2683,2684,1,0,0,0,2684,2686,1,0,0,0,2685,2683,1,0,0,0,2686,2699,5,216,0,0,2687,2694,5,214,0,0,2688,2693,3,470,235,0,2689,2693,3,962,481,0,2690,2693,3,88,44,0,2691,2693,3,92,46,0,2692,2688,1,0,0,0,2692,2689,1,0,0,0,2692,2690,1,0,0,0,2692,2691,1,0,0,0,2693,2696,1,0,0,0,2694,2692,1,0,0,0,2694,2695,1,0,0,0,2695,2697,1,0,0,0,2696,2694,1,0,0,0,2697,2699,5,216,0,0,2698,2678,1,0,0,0,2698,2679,1,0,0,0,2698,2687,1,0,0,0,2699,425,1,0,0,0,2700,2705,3,84,42,0,2701,2705,3,428,214,0,2702,2705,3,88,44,0,2703,2705,3,92,46,0,2704,2700,1,0,0,0,2704,2701,1,0,0,0,2704,2702,1,0,0,0,2704,2703,1,0,0,0,2705,427,1,0,0,0,2706,2707,3,430,215,0,2707,429,1,0,0,0,2708,2710,5,65,0,0,2709,2708,1,0,0,0,2709,2710,1,0,0,0,2710,2712,1,0,0,0,2711,2713,7,19,0,0,2712,2711,1,0,0,0,2712,2713,1,0,0,0,2713,2714,1,0,0,0,2714,2716,3,234,117,0,2715,2717,3,198,99,0,2716,2715,1,0,0,0,2716,2717,1,0,0,0,2717,2719,1,0,0,0,2718,2720,3,394,197,0,2719,2718,1,0,0,0,2719,2720,1,0,0,0,2720,2721,1,0,0,0,2721,2722,3,424,212,0,2722,431,1,0,0,0,2723,2725,3,416,208,0,2724,2723,1,0,0,0,2725,2728,1,0,0,0,2726,2724,1,0,0,0,2726,2727,1,0,0,0,2727,2729,1,0,0,0,2728,2726,1,0,0,0,2729,2730,3,436,218,0,2730,2731,3,438,219,0,2731,433,1,0,0,0,2732,2734,5,141,0,0,2733,2732,1,0,0,0,2733,2734,1,0,0,0,2734,2735,1,0,0,0,2735,2739,5,94,0,0,2736,2738,3,416,208,0,2737,2736,1,0,0,0,2738,2741,1,0,0,0,2739,2737,1,0,0,0,2739,2740,1,0,0,0,2740,2742,1,0,0,0,2741,2739,1,0,0,0,2742,2743,3,436,218,0,2743,2744,3,438,219,0,2744,435,1,0,0,0,2745,2747,5,115,0,0,2746,2748,3,46,23,0,2747,2746,1,0,0,0,2747,2748,1,0,0,0,2748,437,1,0,0,0,2749,2759,5,205,0,0,2750,2754,5,214,0,0,2751,2753,3,446,223,0,2752,2751,1,0,0,0,2753,2756,1,0,0,0,2754,2752,1,0,0,0,2754,2755,1,0,0,0,2755,2757,1,0,0,0,2756,2754,1,0,0,0,2757,2759,5,216,0,0,2758,2749,1,0,0,0,2758,2750,1,0,0,0,2759,439,1,0,0,0,2760,2761,3,78,39,0,2761,2762,5,68,0,0,2762,2763,3,0,0,0,2763,2764,5,205,0,0,2764,441,1,0,0,0,2765,2767,3,46,23,0,2766,2765,1,0,0,0,2766,2767,1,0,0,0,2767,2768,1,0,0,0,2768,2770,5,74,0,0,2769,2766,1,0,0,0,2769,2770,1,0,0,0,2770,2771,1,0,0,0,2771,2776,3,90,45,0,2772,2773,5,200,0,0,2773,2775,3,90,45,0,2774,2772,1,0,0,0,2775,2778,1,0,0,0,2776,2774,1,0,0,0,2776,2777,1,0,0,0,2777,2779,1,0,0,0,2778,2776,1,0,0,0,2779,2780,5,154,0,0,2780,2785,3,90,45,0,2781,2782,5,200,0,0,2782,2784,3,90,45,0,2783,2781,1,0,0,0,2784,2787,1,0,0,0,2785,2783,1,0,0,0,2785,2786,1,0,0,0,2786,443,1,0,0,0,2787,2785,1,0,0,0,2788,2789,3,60,30,0,2789,445,1,0,0,0,2790,2795,3,448,224,0,2791,2795,3,440,220,0,2792,2795,3,88,44,0,2793,2795,3,92,46,0,2794,2790,1,0,0,0,2794,2791,1,0,0,0,2794,2792,1,0,0,0,2794,2793,1,0,0,0,2795,447,1,0,0,0,2796,2799,3,78,39,0,2797,2800,3,450,225,0,2798,2800,3,452,226,0,2799,2797,1,0,0,0,2799,2798,1,0,0,0,2800,449,1,0,0,0,2801,2832,3,432,216,0,2802,2832,3,434,217,0,2803,2832,3,60,30,0,2804,2832,3,54,27,0,2805,2832,3,522,261,0,2806,2832,3,526,263,0,2807,2832,3,538,269,0,2808,2832,3,540,270,0,2809,2832,3,564,282,0,2810,2832,3,568,284,0,2811,2832,3,582,291,0,2812,2832,3,632,316,0,2813,2832,3,596,298,0,2814,2832,3,572,286,0,2815,2832,3,654,327,0,2816,2832,3,830,415,0,2817,2832,3,768,384,0,2818,2832,3,842,421,0,2819,2832,3,850,425,0,2820,2832,3,890,445,0,2821,2832,3,894,447,0,2822,2832,3,906,453,0,2823,2832,3,910,455,0,2824,2832,3,918,459,0,2825,2832,3,924,462,0,2826,2832,3,946,473,0,2827,2832,3,950,475,0,2828,2832,3,954,477,0,2829,2832,3,626,313,0,2830,2832,3,966,483,0,2831,2801,1,0,0,0,2831,2802,1,0,0,0,2831,2803,1,0,0,0,2831,2804,1,0,0,0,2831,2805,1,0,0,0,2831,2806,1,0,0,0,2831,2807,1,0,0,0,2831,2808,1,0,0,0,2831,2809,1,0,0,0,2831,2810,1,0,0,0,2831,2811,1,0,0,0,2831,2812,1,0,0,0,2831,2813,1,0,0,0,2831,2814,1,0,0,0,2831,2815,1,0,0,0,2831,2816,1,0,0,0,2831,2817,1,0,0,0,2831,2818,1,0,0,0,2831,2819,1,0,0,0,2831,2820,1,0,0,0,2831,2821,1,0,0,0,2831,2822,1,0,0,0,2831,2823,1,0,0,0,2831,2824,1,0,0,0,2831,2825,1,0,0,0,2831,2826,1,0,0,0,2831,2827,1,0,0,0,2831,2828,1,0,0,0,2831,2829,1,0,0,0,2831,2830,1,0,0,0,2832,451,1,0,0,0,2833,2836,3,510,255,0,2834,2836,3,512,256,0,2835,2833,1,0,0,0,2835,2834,1,0,0,0,2836,453,1,0,0,0,2837,2838,7,23,0,0,2838,455,1,0,0,0,2839,2840,3,416,208,0,2840,457,1,0,0,0,2841,2843,3,454,227,0,2842,2841,1,0,0,0,2842,2843,1,0,0,0,2843,2847,1,0,0,0,2844,2846,3,456,228,0,2845,2844,1,0,0,0,2846,2849,1,0,0,0,2847,2845,1,0,0,0,2847,2848,1,0,0,0,2848,459,1,0,0,0,2849,2847,1,0,0,0,2850,2851,3,462,231,0,2851,2852,3,464,232,0,2852,461,1,0,0,0,2853,2855,3,46,23,0,2854,2853,1,0,0,0,2854,2855,1,0,0,0,2855,2857,1,0,0,0,2856,2858,3,520,260,0,2857,2856,1,0,0,0,2857,2858,1,0,0,0,2858,463,1,0,0,0,2859,2869,5,205,0,0,2860,2864,5,214,0,0,2861,2863,3,466,233,0,2862,2861,1,0,0,0,2863,2866,1,0,0,0,2864,2862,1,0,0,0,2864,2865,1,0,0,0,2865,2867,1,0,0,0,2866,2864,1,0,0,0,2867,2869,5,216,0,0,2868,2859,1,0,0,0,2868,2860,1,0,0,0,2869,465,1,0,0,0,2870,2881,3,92,46,0,2871,2872,3,78,39,0,2872,2873,3,468,234,0,2873,2881,1,0,0,0,2874,2876,3,556,278,0,2875,2874,1,0,0,0,2875,2876,1,0,0,0,2876,2877,1,0,0,0,2877,2878,3,78,39,0,2878,2879,3,512,256,0,2879,2881,1,0,0,0,2880,2870,1,0,0,0,2880,2871,1,0,0,0,2880,2875,1,0,0,0,2881,467,1,0,0,0,2882,2887,5,7,0,0,2883,2884,5,206,0,0,2884,2885,3,44,22,0,2885,2886,5,208,0,0,2886,2888,1,0,0,0,2887,2883,1,0,0,0,2887,2888,1,0,0,0,2888,2890,1,0,0,0,2889,2891,3,44,22,0,2890,2889,1,0,0,0,2890,2891,1,0,0,0,2891,2892,1,0,0,0,2892,2893,5,71,0,0,2893,2894,3,90,45,0,2894,2895,3,48,24,0,2895,2901,1,0,0,0,2896,2897,5,164,0,0,2897,2901,3,518,259,0,2898,2901,3,450,225,0,2899,2901,3,510,255,0,2900,2882,1,0,0,0,2900,2896,1,0,0,0,2900,2898,1,0,0,0,2900,2899,1,0,0,0,2901,469,1,0,0,0,2902,2903,3,78,39,0,2903,2904,3,450,225,0,2904,471,1,0,0,0,2905,2906,3,78,39,0,2906,2907,5,164,0,0,2907,2908,3,518,259,0,2908,473,1,0,0,0,2909,2910,3,78,39,0,2910,2911,3,510,255,0,2911,475,1,0,0,0,2912,2913,3,78,39,0,2913,2914,3,512,256,0,2914,477,1,0,0,0,2915,2916,3,78,39,0,2916,2917,3,514,257,0,2917,479,1,0,0,0,2918,2919,3,78,39,0,2919,2920,3,516,258,0,2920,481,1,0,0,0,2921,2923,3,184,92,0,2922,2921,1,0,0,0,2922,2923,1,0,0,0,2923,2925,1,0,0,0,2924,2926,5,49,0,0,2925,2924,1,0,0,0,2925,2926,1,0,0,0,2926,2928,1,0,0,0,2927,2929,7,23,0,0,2928,2927,1,0,0,0,2928,2929,1,0,0,0,2929,2931,1,0,0,0,2930,2932,5,40,0,0,2931,2930,1,0,0,0,2931,2932,1,0,0,0,2932,483,1,0,0,0,2933,2935,3,482,241,0,2934,2936,5,127,0,0,2935,2934,1,0,0,0,2935,2936,1,0,0,0,2936,485,1,0,0,0,2937,2938,5,56,0,0,2938,2939,3,180,90,0,2939,487,1,0,0,0,2940,2941,3,416,208,0,2941,489,1,0,0,0,2942,2945,3,486,243,0,2943,2945,3,484,242,0,2944,2942,1,0,0,0,2944,2943,1,0,0,0,2945,491,1,0,0,0,2946,2950,3,490,245,0,2947,2949,3,488,244,0,2948,2947,1,0,0,0,2949,2952,1,0,0,0,2950,2948,1,0,0,0,2950,2951,1,0,0,0,2951,493,1,0,0,0,2952,2950,1,0,0,0,2953,2955,3,496,248,0,2954,2953,1,0,0,0,2954,2955,1,0,0,0,2955,2956,1,0,0,0,2956,2957,3,498,249,0,2957,495,1,0,0,0,2958,2960,3,46,23,0,2959,2961,3,198,99,0,2960,2959,1,0,0,0,2960,2961,1,0,0,0,2961,2964,1,0,0,0,2962,2964,3,198,99,0,2963,2958,1,0,0,0,2963,2962,1,0,0,0,2964,497,1,0,0,0,2965,2967,3,394,197,0,2966,2965,1,0,0,0,2966,2967,1,0,0,0,2967,2968,1,0,0,0,2968,2969,3,500,250,0,2969,499,1,0,0,0,2970,2971,3,464,232,0,2971,501,1,0,0,0,2972,2973,3,482,241,0,2973,2974,3,494,247,0,2974,503,1,0,0,0,2975,2978,3,486,243,0,2976,2978,3,482,241,0,2977,2975,1,0,0,0,2977,2976,1,0,0,0,2978,2979,1,0,0,0,2979,2980,5,127,0,0,2980,2981,3,494,247,0,2981,505,1,0,0,0,2982,2983,3,486,243,0,2983,2984,3,186,93,0,2984,2985,3,498,249,0,2985,507,1,0,0,0,2986,2990,3,228,114,0,2987,2989,3,202,101,0,2988,2987,1,0,0,0,2989,2992,1,0,0,0,2990,2988,1,0,0,0,2990,2991,1,0,0,0,2991,2993,1,0,0,0,2992,2990,1,0,0,0,2993,2994,3,500,250,0,2994,509,1,0,0,0,2995,3004,3,504,252,0,2996,3004,3,506,253,0,2997,3004,3,524,262,0,2998,3004,3,534,267,0,2999,3004,3,592,296,0,3e3,3004,3,594,297,0,3001,3004,3,968,484,0,3002,3004,3,502,251,0,3003,2995,1,0,0,0,3003,2996,1,0,0,0,3003,2997,1,0,0,0,3003,2998,1,0,0,0,3003,2999,1,0,0,0,3003,3e3,1,0,0,0,3003,3001,1,0,0,0,3003,3002,1,0,0,0,3004,511,1,0,0,0,3005,3008,3,514,257,0,3006,3008,3,516,258,0,3007,3005,1,0,0,0,3007,3006,1,0,0,0,3008,513,1,0,0,0,3009,3025,3,546,273,0,3010,3025,3,548,274,0,3011,3025,3,550,275,0,3012,3025,3,554,277,0,3013,3025,3,566,283,0,3014,3025,3,570,285,0,3015,3025,3,934,467,0,3016,3025,3,952,476,0,3017,3025,3,578,289,0,3018,3025,3,584,292,0,3019,3025,3,612,306,0,3020,3025,3,628,314,0,3021,3025,3,634,317,0,3022,3025,3,642,321,0,3023,3025,3,644,322,0,3024,3009,1,0,0,0,3024,3010,1,0,0,0,3024,3011,1,0,0,0,3024,3012,1,0,0,0,3024,3013,1,0,0,0,3024,3014,1,0,0,0,3024,3015,1,0,0,0,3024,3016,1,0,0,0,3024,3017,1,0,0,0,3024,3018,1,0,0,0,3024,3019,1,0,0,0,3024,3020,1,0,0,0,3024,3021,1,0,0,0,3024,3022,1,0,0,0,3024,3023,1,0,0,0,3025,515,1,0,0,0,3026,3043,3,672,336,0,3027,3043,3,832,416,0,3028,3043,3,796,398,0,3029,3043,3,844,422,0,3030,3043,3,878,439,0,3031,3043,3,892,446,0,3032,3043,3,896,448,0,3033,3043,3,908,454,0,3034,3043,3,912,456,0,3035,3043,3,920,460,0,3036,3043,3,948,474,0,3037,3043,3,676,338,0,3038,3043,3,800,400,0,3039,3043,3,922,461,0,3040,3043,3,846,423,0,3041,3043,3,880,440,0,3042,3026,1,0,0,0,3042,3027,1,0,0,0,3042,3028,1,0,0,0,3042,3029,1,0,0,0,3042,3030,1,0,0,0,3042,3031,1,0,0,0,3042,3032,1,0,0,0,3042,3033,1,0,0,0,3042,3034,1,0,0,0,3042,3035,1,0,0,0,3042,3036,1,0,0,0,3042,3037,1,0,0,0,3042,3038,1,0,0,0,3042,3039,1,0,0,0,3042,3040,1,0,0,0,3042,3041,1,0,0,0,3043,517,1,0,0,0,3044,3066,3,508,254,0,3045,3066,3,504,252,0,3046,3066,3,524,262,0,3047,3066,3,592,296,0,3048,3066,3,594,297,0,3049,3066,3,546,273,0,3050,3066,3,548,274,0,3051,3066,3,550,275,0,3052,3066,3,554,277,0,3053,3066,3,566,283,0,3054,3066,3,570,285,0,3055,3066,3,934,467,0,3056,3066,3,952,476,0,3057,3066,3,578,289,0,3058,3066,3,584,292,0,3059,3066,3,612,306,0,3060,3066,3,628,314,0,3061,3066,3,634,317,0,3062,3066,3,642,321,0,3063,3066,3,644,322,0,3064,3066,3,516,258,0,3065,3044,1,0,0,0,3065,3045,1,0,0,0,3065,3046,1,0,0,0,3065,3047,1,0,0,0,3065,3048,1,0,0,0,3065,3049,1,0,0,0,3065,3050,1,0,0,0,3065,3051,1,0,0,0,3065,3052,1,0,0,0,3065,3053,1,0,0,0,3065,3054,1,0,0,0,3065,3055,1,0,0,0,3065,3056,1,0,0,0,3065,3057,1,0,0,0,3065,3058,1,0,0,0,3065,3059,1,0,0,0,3065,3060,1,0,0,0,3065,3061,1,0,0,0,3065,3062,1,0,0,0,3065,3063,1,0,0,0,3065,3064,1,0,0,0,3066,519,1,0,0,0,3067,3068,7,11,0,0,3068,3073,3,170,85,0,3069,3070,5,200,0,0,3070,3072,3,170,85,0,3071,3069,1,0,0,0,3072,3075,1,0,0,0,3073,3071,1,0,0,0,3073,3074,1,0,0,0,3074,521,1,0,0,0,3075,3073,1,0,0,0,3076,3077,3,458,229,0,3077,3078,5,19,0,0,3078,3079,5,45,0,0,3079,3080,3,460,230,0,3080,523,1,0,0,0,3081,3082,3,492,246,0,3082,3083,5,19,0,0,3083,3084,3,494,247,0,3084,525,1,0,0,0,3085,3087,3,456,228,0,3086,3085,1,0,0,0,3087,3090,1,0,0,0,3088,3086,1,0,0,0,3088,3089,1,0,0,0,3089,3091,1,0,0,0,3090,3088,1,0,0,0,3091,3092,5,58,0,0,3092,3093,5,45,0,0,3093,3094,3,462,231,0,3094,3095,3,528,264,0,3095,527,1,0,0,0,3096,3107,5,205,0,0,3097,3102,5,214,0,0,3098,3101,3,444,222,0,3099,3101,3,530,265,0,3100,3098,1,0,0,0,3100,3099,1,0,0,0,3101,3104,1,0,0,0,3102,3100,1,0,0,0,3102,3103,1,0,0,0,3103,3105,1,0,0,0,3104,3102,1,0,0,0,3105,3107,5,216,0,0,3106,3096,1,0,0,0,3106,3097,1,0,0,0,3107,529,1,0,0,0,3108,3109,3,78,39,0,3109,3110,3,532,266,0,3110,531,1,0,0,0,3111,3113,5,58,0,0,3112,3111,1,0,0,0,3112,3113,1,0,0,0,3113,3114,1,0,0,0,3114,3115,3,494,247,0,3115,533,1,0,0,0,3116,3117,3,492,246,0,3117,3118,5,58,0,0,3118,3119,3,494,247,0,3119,535,1,0,0,0,3120,3122,3,454,227,0,3121,3120,1,0,0,0,3121,3122,1,0,0,0,3122,3125,1,0,0,0,3123,3124,5,82,0,0,3124,3126,3,542,271,0,3125,3123,1,0,0,0,3125,3126,1,0,0,0,3126,3130,1,0,0,0,3127,3129,3,456,228,0,3128,3127,1,0,0,0,3129,3132,1,0,0,0,3130,3128,1,0,0,0,3130,3131,1,0,0,0,3131,537,1,0,0,0,3132,3130,1,0,0,0,3133,3134,3,536,268,0,3134,3135,5,110,0,0,3135,3136,5,45,0,0,3136,3137,3,460,230,0,3137,539,1,0,0,0,3138,3140,3,454,227,0,3139,3138,1,0,0,0,3139,3140,1,0,0,0,3140,3141,1,0,0,0,3141,3145,5,82,0,0,3142,3144,3,456,228,0,3143,3142,1,0,0,0,3144,3147,1,0,0,0,3145,3143,1,0,0,0,3145,3146,1,0,0,0,3146,3148,1,0,0,0,3147,3145,1,0,0,0,3148,3149,5,45,0,0,3149,3150,3,460,230,0,3150,3151,3,542,271,0,3151,541,1,0,0,0,3152,3153,3,980,490,0,3153,543,1,0,0,0,3154,3156,3,484,242,0,3155,3157,5,82,0,0,3156,3155,1,0,0,0,3156,3157,1,0,0,0,3157,3159,1,0,0,0,3158,3160,3,552,276,0,3159,3158,1,0,0,0,3159,3160,1,0,0,0,3160,3164,1,0,0,0,3161,3163,3,488,244,0,3162,3161,1,0,0,0,3163,3166,1,0,0,0,3164,3162,1,0,0,0,3164,3165,1,0,0,0,3165,545,1,0,0,0,3166,3164,1,0,0,0,3167,3168,3,544,272,0,3168,3169,5,110,0,0,3169,3170,3,494,247,0,3170,547,1,0,0,0,3171,3172,3,484,242,0,3172,3176,5,82,0,0,3173,3175,3,488,244,0,3174,3173,1,0,0,0,3175,3178,1,0,0,0,3176,3174,1,0,0,0,3176,3177,1,0,0,0,3177,3179,1,0,0,0,3178,3176,1,0,0,0,3179,3180,3,494,247,0,3180,549,1,0,0,0,3181,3183,3,484,242,0,3182,3184,5,82,0,0,3183,3182,1,0,0,0,3183,3184,1,0,0,0,3184,3185,1,0,0,0,3185,3189,3,552,276,0,3186,3188,3,488,244,0,3187,3186,1,0,0,0,3188,3191,1,0,0,0,3189,3187,1,0,0,0,3189,3190,1,0,0,0,3190,3192,1,0,0,0,3191,3189,1,0,0,0,3192,3193,3,494,247,0,3193,551,1,0,0,0,3194,3195,7,24,0,0,3195,553,1,0,0,0,3196,3197,3,544,272,0,3197,3206,5,59,0,0,3198,3200,3,228,114,0,3199,3201,3,198,99,0,3200,3199,1,0,0,0,3200,3201,1,0,0,0,3201,3207,1,0,0,0,3202,3204,5,110,0,0,3203,3205,3,496,248,0,3204,3203,1,0,0,0,3204,3205,1,0,0,0,3205,3207,1,0,0,0,3206,3198,1,0,0,0,3206,3202,1,0,0,0,3207,3208,1,0,0,0,3208,3209,3,498,249,0,3209,555,1,0,0,0,3210,3211,5,152,0,0,3211,3212,3,558,279,0,3212,557,1,0,0,0,3213,3214,3,560,280,0,3214,559,1,0,0,0,3215,3216,3,562,281,0,3216,561,1,0,0,0,3217,3219,3,404,202,0,3218,3217,1,0,0,0,3218,3219,1,0,0,0,3219,563,1,0,0,0,3220,3221,3,536,268,0,3221,3222,5,91,0,0,3222,3223,5,45,0,0,3223,3224,3,460,230,0,3224,565,1,0,0,0,3225,3226,3,544,272,0,3226,3227,5,91,0,0,3227,3228,3,494,247,0,3228,567,1,0,0,0,3229,3230,3,536,268,0,3230,3231,5,117,0,0,3231,3232,5,45,0,0,3232,3233,3,460,230,0,3233,569,1,0,0,0,3234,3235,3,544,272,0,3235,3236,5,117,0,0,3236,3237,3,494,247,0,3237,571,1,0,0,0,3238,3239,3,458,229,0,3239,3240,5,119,0,0,3240,3241,5,45,0,0,3241,3242,3,460,230,0,3242,3243,3,574,287,0,3243,573,1,0,0,0,3244,3245,3,576,288,0,3245,575,1,0,0,0,3246,3247,3,988,494,0,3247,577,1,0,0,0,3248,3249,3,544,272,0,3249,3250,5,119,0,0,3250,3251,3,494,247,0,3251,579,1,0,0,0,3252,3253,5,217,0,0,3253,3254,3,90,45,0,3254,581,1,0,0,0,3255,3256,3,536,268,0,3256,3257,5,37,0,0,3257,3258,5,45,0,0,3258,3259,3,460,230,0,3259,583,1,0,0,0,3260,3274,3,544,272,0,3261,3263,5,37,0,0,3262,3264,3,496,248,0,3263,3262,1,0,0,0,3263,3264,1,0,0,0,3264,3266,1,0,0,0,3265,3267,3,394,197,0,3266,3265,1,0,0,0,3266,3267,1,0,0,0,3267,3270,1,0,0,0,3268,3269,5,36,0,0,3269,3271,3,586,293,0,3270,3268,1,0,0,0,3270,3271,1,0,0,0,3271,3275,1,0,0,0,3272,3273,5,36,0,0,3273,3275,3,586,293,0,3274,3261,1,0,0,0,3274,3272,1,0,0,0,3275,3276,1,0,0,0,3276,3277,3,500,250,0,3277,585,1,0,0,0,3278,3281,3,588,294,0,3279,3281,3,590,295,0,3280,3278,1,0,0,0,3280,3279,1,0,0,0,3281,587,1,0,0,0,3282,3283,3,268,134,0,3283,3284,5,154,0,0,3284,3285,3,268,134,0,3285,589,1,0,0,0,3286,3287,5,196,0,0,3287,3288,3,268,134,0,3288,3289,5,200,0,0,3289,3294,3,268,134,0,3290,3291,5,200,0,0,3291,3293,3,268,134,0,3292,3290,1,0,0,0,3293,3296,1,0,0,0,3294,3292,1,0,0,0,3294,3295,1,0,0,0,3295,3297,1,0,0,0,3296,3294,1,0,0,0,3297,3298,5,197,0,0,3298,591,1,0,0,0,3299,3304,3,492,246,0,3300,3302,5,22,0,0,3301,3303,3,496,248,0,3302,3301,1,0,0,0,3302,3303,1,0,0,0,3303,3305,1,0,0,0,3304,3300,1,0,0,0,3304,3305,1,0,0,0,3305,3306,1,0,0,0,3306,3307,5,21,0,0,3307,3308,3,268,134,0,3308,3309,5,207,0,0,3309,3310,3,268,134,0,3310,3311,3,500,250,0,3311,593,1,0,0,0,3312,3317,3,492,246,0,3313,3315,5,150,0,0,3314,3316,3,496,248,0,3315,3314,1,0,0,0,3315,3316,1,0,0,0,3316,3318,1,0,0,0,3317,3313,1,0,0,0,3317,3318,1,0,0,0,3318,3319,1,0,0,0,3319,3320,5,69,0,0,3320,3321,3,268,134,0,3321,3322,5,152,0,0,3322,3323,3,268,134,0,3323,3324,3,500,250,0,3324,595,1,0,0,0,3325,3326,3,536,268,0,3326,3327,5,85,0,0,3327,3328,5,45,0,0,3328,3329,3,462,231,0,3329,3330,3,598,299,0,3330,597,1,0,0,0,3331,3341,5,205,0,0,3332,3336,5,214,0,0,3333,3335,3,600,300,0,3334,3333,1,0,0,0,3335,3338,1,0,0,0,3336,3334,1,0,0,0,3336,3337,1,0,0,0,3337,3339,1,0,0,0,3338,3336,1,0,0,0,3339,3341,5,216,0,0,3340,3331,1,0,0,0,3340,3332,1,0,0,0,3341,599,1,0,0,0,3342,3352,3,470,235,0,3343,3352,3,472,236,0,3344,3352,3,602,301,0,3345,3347,3,556,278,0,3346,3345,1,0,0,0,3346,3347,1,0,0,0,3347,3348,1,0,0,0,3348,3352,3,606,303,0,3349,3352,3,88,44,0,3350,3352,3,92,46,0,3351,3342,1,0,0,0,3351,3343,1,0,0,0,3351,3344,1,0,0,0,3351,3346,1,0,0,0,3351,3349,1,0,0,0,3351,3350,1,0,0,0,3352,601,1,0,0,0,3353,3354,3,78,39,0,3354,3355,3,604,302,0,3355,603,1,0,0,0,3356,3362,3,504,252,0,3357,3362,3,524,262,0,3358,3362,3,534,267,0,3359,3362,3,592,296,0,3360,3362,3,594,297,0,3361,3356,1,0,0,0,3361,3357,1,0,0,0,3361,3358,1,0,0,0,3361,3359,1,0,0,0,3361,3360,1,0,0,0,3362,605,1,0,0,0,3363,3364,3,78,39,0,3364,3365,3,608,304,0,3365,607,1,0,0,0,3366,3370,3,610,305,0,3367,3370,3,514,257,0,3368,3370,3,516,258,0,3369,3366,1,0,0,0,3369,3367,1,0,0,0,3369,3368,1,0,0,0,3370,609,1,0,0,0,3371,3372,5,56,0,0,3372,3373,3,494,247,0,3373,611,1,0,0,0,3374,3375,3,544,272,0,3375,3376,5,85,0,0,3376,3377,3,614,307,0,3377,3378,3,598,299,0,3378,613,1,0,0,0,3379,3381,3,496,248,0,3380,3379,1,0,0,0,3380,3381,1,0,0,0,3381,3383,1,0,0,0,3382,3384,3,394,197,0,3383,3382,1,0,0,0,3383,3384,1,0,0,0,3384,3387,1,0,0,0,3385,3386,5,36,0,0,3386,3388,3,616,308,0,3387,3385,1,0,0,0,3387,3388,1,0,0,0,3388,3391,1,0,0,0,3389,3391,3,616,308,0,3390,3380,1,0,0,0,3390,3389,1,0,0,0,3391,615,1,0,0,0,3392,3395,3,618,309,0,3393,3395,3,620,310,0,3394,3392,1,0,0,0,3394,3393,1,0,0,0,3395,617,1,0,0,0,3396,3397,3,622,311,0,3397,3398,5,154,0,0,3398,3399,3,622,311,0,3399,619,1,0,0,0,3400,3401,5,196,0,0,3401,3402,3,622,311,0,3402,3403,5,200,0,0,3403,3408,3,622,311,0,3404,3405,5,200,0,0,3405,3407,3,622,311,0,3406,3404,1,0,0,0,3407,3410,1,0,0,0,3408,3406,1,0,0,0,3408,3409,1,0,0,0,3409,3411,1,0,0,0,3410,3408,1,0,0,0,3411,3412,5,197,0,0,3412,621,1,0,0,0,3413,3414,3,624,312,0,3414,623,1,0,0,0,3415,3417,3,272,136,0,3416,3415,1,0,0,0,3416,3417,1,0,0,0,3417,3421,1,0,0,0,3418,3419,3,44,22,0,3419,3420,7,17,0,0,3420,3422,1,0,0,0,3421,3418,1,0,0,0,3421,3422,1,0,0,0,3422,3423,1,0,0,0,3423,3424,3,228,114,0,3424,625,1,0,0,0,3425,3426,3,536,268,0,3426,3427,5,10,0,0,3427,3428,5,45,0,0,3428,3429,3,460,230,0,3429,627,1,0,0,0,3430,3431,3,544,272,0,3431,3432,3,630,315,0,3432,3433,3,500,250,0,3433,629,1,0,0,0,3434,3436,5,10,0,0,3435,3437,3,496,248,0,3436,3435,1,0,0,0,3436,3437,1,0,0,0,3437,3440,1,0,0,0,3438,3439,5,9,0,0,3439,3441,3,586,293,0,3440,3438,1,0,0,0,3440,3441,1,0,0,0,3441,3445,1,0,0,0,3442,3443,5,9,0,0,3443,3445,3,586,293,0,3444,3434,1,0,0,0,3444,3442,1,0,0,0,3445,631,1,0,0,0,3446,3447,3,536,268,0,3447,3448,5,70,0,0,3448,3449,5,45,0,0,3449,3450,3,460,230,0,3450,633,1,0,0,0,3451,3452,3,544,272,0,3452,3453,5,99,0,0,3453,3454,3,636,318,0,3454,3455,3,464,232,0,3455,635,1,0,0,0,3456,3458,3,496,248,0,3457,3456,1,0,0,0,3457,3458,1,0,0,0,3458,3460,1,0,0,0,3459,3461,3,394,197,0,3460,3459,1,0,0,0,3460,3461,1,0,0,0,3461,3464,1,0,0,0,3462,3463,5,111,0,0,3463,3465,3,646,323,0,3464,3462,1,0,0,0,3464,3465,1,0,0,0,3465,3471,1,0,0,0,3466,3467,5,74,0,0,3467,3468,3,638,319,0,3468,3469,5,154,0,0,3469,3470,3,638,319,0,3470,3472,1,0,0,0,3471,3466,1,0,0,0,3471,3472,1,0,0,0,3472,3478,1,0,0,0,3473,3474,3,638,319,0,3474,3475,5,154,0,0,3475,3476,3,638,319,0,3476,3478,1,0,0,0,3477,3457,1,0,0,0,3477,3473,1,0,0,0,3478,637,1,0,0,0,3479,3480,3,640,320,0,3480,639,1,0,0,0,3481,3482,3,228,114,0,3482,641,1,0,0,0,3483,3484,3,544,272,0,3484,3485,5,70,0,0,3485,3486,3,376,188,0,3486,3487,3,464,232,0,3487,643,1,0,0,0,3488,3489,3,544,272,0,3489,3490,5,150,0,0,3490,3491,5,70,0,0,3491,3492,3,376,188,0,3492,3493,3,464,232,0,3493,645,1,0,0,0,3494,3495,3,648,324,0,3495,647,1,0,0,0,3496,3497,3,380,190,0,3497,649,1,0,0,0,3498,3501,3,90,45,0,3499,3501,3,652,326,0,3500,3498,1,0,0,0,3500,3499,1,0,0,0,3501,651,1,0,0,0,3502,3503,3,240,120,0,3503,3504,5,202,0,0,3504,3506,1,0,0,0,3505,3502,1,0,0,0,3506,3507,1,0,0,0,3507,3505,1,0,0,0,3507,3508,1,0,0,0,3508,3509,1,0,0,0,3509,3510,3,240,120,0,3510,3511,5,202,0,0,3511,653,1,0,0,0,3512,3513,3,536,268,0,3513,3514,5,4,0,0,3514,3515,5,45,0,0,3515,3516,3,462,231,0,3516,3517,3,656,328,0,3517,655,1,0,0,0,3518,3528,5,205,0,0,3519,3523,5,214,0,0,3520,3522,3,658,329,0,3521,3520,1,0,0,0,3522,3525,1,0,0,0,3523,3521,1,0,0,0,3523,3524,1,0,0,0,3524,3526,1,0,0,0,3525,3523,1,0,0,0,3526,3528,5,216,0,0,3527,3518,1,0,0,0,3527,3519,1,0,0,0,3528,657,1,0,0,0,3529,3549,3,660,330,0,3530,3534,3,664,332,0,3531,3533,3,668,334,0,3532,3531,1,0,0,0,3533,3536,1,0,0,0,3534,3532,1,0,0,0,3534,3535,1,0,0,0,3535,3549,1,0,0,0,3536,3534,1,0,0,0,3537,3539,3,556,278,0,3538,3537,1,0,0,0,3538,3539,1,0,0,0,3539,3540,1,0,0,0,3540,3544,3,662,331,0,3541,3543,3,668,334,0,3542,3541,1,0,0,0,3543,3546,1,0,0,0,3544,3542,1,0,0,0,3544,3545,1,0,0,0,3545,3549,1,0,0,0,3546,3544,1,0,0,0,3547,3549,3,670,335,0,3548,3529,1,0,0,0,3548,3530,1,0,0,0,3548,3538,1,0,0,0,3548,3547,1,0,0,0,3549,659,1,0,0,0,3550,3560,3,92,46,0,3551,3560,3,88,44,0,3552,3560,3,470,235,0,3553,3560,3,472,236,0,3554,3560,3,474,237,0,3555,3557,3,556,278,0,3556,3555,1,0,0,0,3556,3557,1,0,0,0,3557,3558,1,0,0,0,3558,3560,3,478,239,0,3559,3550,1,0,0,0,3559,3551,1,0,0,0,3559,3552,1,0,0,0,3559,3553,1,0,0,0,3559,3554,1,0,0,0,3559,3556,1,0,0,0,3560,661,1,0,0,0,3561,3564,3,480,240,0,3562,3564,3,666,333,0,3563,3561,1,0,0,0,3563,3562,1,0,0,0,3564,663,1,0,0,0,3565,3566,3,78,39,0,3566,3567,5,69,0,0,3567,3568,3,90,45,0,3568,3569,3,48,24,0,3569,665,1,0,0,0,3570,3571,3,78,39,0,3571,3572,3,680,340,0,3572,667,1,0,0,0,3573,3574,3,78,39,0,3574,3575,3,758,379,0,3575,669,1,0,0,0,3576,3577,3,78,39,0,3577,3578,3,766,383,0,3578,671,1,0,0,0,3579,3580,3,544,272,0,3580,3581,5,4,0,0,3581,3582,3,674,337,0,3582,3583,3,656,328,0,3583,673,1,0,0,0,3584,3586,3,496,248,0,3585,3584,1,0,0,0,3585,3586,1,0,0,0,3586,3588,1,0,0,0,3587,3589,3,394,197,0,3588,3587,1,0,0,0,3588,3589,1,0,0,0,3589,675,1,0,0,0,3590,3591,3,544,272,0,3591,3592,5,118,0,0,3592,3593,3,678,339,0,3593,3594,3,656,328,0,3594,677,1,0,0,0,3595,3597,3,228,114,0,3596,3598,3,198,99,0,3597,3596,1,0,0,0,3597,3598,1,0,0,0,3598,3604,1,0,0,0,3599,3601,5,4,0,0,3600,3602,3,496,248,0,3601,3600,1,0,0,0,3601,3602,1,0,0,0,3602,3604,1,0,0,0,3603,3595,1,0,0,0,3603,3599,1,0,0,0,3604,3606,1,0,0,0,3605,3607,3,394,197,0,3606,3605,1,0,0,0,3606,3607,1,0,0,0,3607,679,1,0,0,0,3608,3617,3,686,343,0,3609,3617,3,714,357,0,3610,3617,3,698,349,0,3611,3617,3,728,364,0,3612,3617,3,738,369,0,3613,3617,3,740,370,0,3614,3617,3,750,375,0,3615,3617,3,752,376,0,3616,3608,1,0,0,0,3616,3609,1,0,0,0,3616,3610,1,0,0,0,3616,3611,1,0,0,0,3616,3612,1,0,0,0,3616,3613,1,0,0,0,3616,3614,1,0,0,0,3616,3615,1,0,0,0,3617,681,1,0,0,0,3618,3620,5,4,0,0,3619,3621,3,496,248,0,3620,3619,1,0,0,0,3620,3621,1,0,0,0,3621,683,1,0,0,0,3622,3624,3,544,272,0,3623,3625,3,682,341,0,3624,3623,1,0,0,0,3624,3625,1,0,0,0,3625,685,1,0,0,0,3626,3631,3,690,345,0,3627,3631,3,692,346,0,3628,3631,3,694,347,0,3629,3631,3,696,348,0,3630,3626,1,0,0,0,3630,3627,1,0,0,0,3630,3628,1,0,0,0,3630,3629,1,0,0,0,3631,687,1,0,0,0,3632,3634,3,482,241,0,3633,3635,5,82,0,0,3634,3633,1,0,0,0,3634,3635,1,0,0,0,3635,3637,1,0,0,0,3636,3638,3,552,276,0,3637,3636,1,0,0,0,3637,3638,1,0,0,0,3638,3642,1,0,0,0,3639,3641,3,488,244,0,3640,3639,1,0,0,0,3641,3644,1,0,0,0,3642,3640,1,0,0,0,3642,3643,1,0,0,0,3643,689,1,0,0,0,3644,3642,1,0,0,0,3645,3646,3,688,344,0,3646,3648,5,98,0,0,3647,3649,3,496,248,0,3648,3647,1,0,0,0,3648,3649,1,0,0,0,3649,3650,1,0,0,0,3650,3651,3,656,328,0,3651,691,1,0,0,0,3652,3653,3,688,344,0,3653,3655,5,44,0,0,3654,3656,3,496,248,0,3655,3654,1,0,0,0,3655,3656,1,0,0,0,3656,3657,1,0,0,0,3657,3658,3,656,328,0,3658,693,1,0,0,0,3659,3660,3,688,344,0,3660,3662,5,92,0,0,3661,3663,3,496,248,0,3662,3661,1,0,0,0,3662,3663,1,0,0,0,3663,3664,1,0,0,0,3664,3665,3,656,328,0,3665,695,1,0,0,0,3666,3667,3,688,344,0,3667,3669,5,72,0,0,3668,3670,3,496,248,0,3669,3668,1,0,0,0,3669,3670,1,0,0,0,3670,3671,1,0,0,0,3671,3672,3,656,328,0,3672,697,1,0,0,0,3673,3674,3,544,272,0,3674,3675,3,700,350,0,3675,3676,3,656,328,0,3676,699,1,0,0,0,3677,3679,3,682,341,0,3678,3677,1,0,0,0,3678,3679,1,0,0,0,3679,3680,1,0,0,0,3680,3681,5,3,0,0,3681,3682,3,702,351,0,3682,701,1,0,0,0,3683,3686,3,704,352,0,3684,3685,5,168,0,0,3685,3687,3,720,360,0,3686,3684,1,0,0,0,3686,3687,1,0,0,0,3687,703,1,0,0,0,3688,3689,3,706,353,0,3689,705,1,0,0,0,3690,3699,3,380,190,0,3691,3693,3,46,23,0,3692,3691,1,0,0,0,3692,3693,1,0,0,0,3693,3695,1,0,0,0,3694,3696,3,382,191,0,3695,3694,1,0,0,0,3695,3696,1,0,0,0,3696,3697,1,0,0,0,3697,3699,3,708,354,0,3698,3690,1,0,0,0,3698,3692,1,0,0,0,3699,707,1,0,0,0,3700,3701,3,710,355,0,3701,709,1,0,0,0,3702,3703,3,712,356,0,3703,711,1,0,0,0,3704,3705,7,25,0,0,3705,3709,3,40,20,0,3706,3707,5,171,0,0,3707,3709,3,42,21,0,3708,3704,1,0,0,0,3708,3706,1,0,0,0,3709,713,1,0,0,0,3710,3713,3,544,272,0,3711,3714,3,682,341,0,3712,3714,3,674,337,0,3713,3711,1,0,0,0,3713,3712,1,0,0,0,3714,3715,1,0,0,0,3715,3723,5,136,0,0,3716,3718,3,720,360,0,3717,3719,3,718,359,0,3718,3717,1,0,0,0,3718,3719,1,0,0,0,3719,3724,1,0,0,0,3720,3721,3,726,363,0,3721,3722,3,718,359,0,3722,3724,1,0,0,0,3723,3716,1,0,0,0,3723,3720,1,0,0,0,3724,3725,1,0,0,0,3725,3726,3,656,328,0,3726,715,1,0,0,0,3727,3729,3,682,341,0,3728,3727,1,0,0,0,3728,3729,1,0,0,0,3729,3730,1,0,0,0,3730,3731,5,136,0,0,3731,3733,3,720,360,0,3732,3734,3,718,359,0,3733,3732,1,0,0,0,3733,3734,1,0,0,0,3734,717,1,0,0,0,3735,3736,5,168,0,0,3736,3739,3,720,360,0,3737,3738,5,154,0,0,3738,3740,3,720,360,0,3739,3737,1,0,0,0,3739,3740,1,0,0,0,3740,3746,1,0,0,0,3741,3742,3,726,363,0,3742,3743,5,154,0,0,3743,3744,3,720,360,0,3744,3746,1,0,0,0,3745,3735,1,0,0,0,3745,3741,1,0,0,0,3746,719,1,0,0,0,3747,3748,3,722,361,0,3748,721,1,0,0,0,3749,3750,3,724,362,0,3750,723,1,0,0,0,3751,3752,3,0,0,0,3752,725,1,0,0,0,3753,3754,3,982,491,0,3754,727,1,0,0,0,3755,3756,3,544,272,0,3756,3757,3,730,365,0,3757,3758,3,656,328,0,3758,729,1,0,0,0,3759,3761,3,682,341,0,3760,3759,1,0,0,0,3760,3761,1,0,0,0,3761,3762,1,0,0,0,3762,3763,5,15,0,0,3763,3764,3,732,366,0,3764,3765,3,340,170,0,3765,3766,5,184,0,0,3766,3767,3,720,360,0,3767,731,1,0,0,0,3768,3769,3,734,367,0,3769,733,1,0,0,0,3770,3771,3,736,368,0,3771,3772,5,202,0,0,3772,3774,1,0,0,0,3773,3770,1,0,0,0,3773,3774,1,0,0,0,3774,735,1,0,0,0,3775,3776,3,986,493,0,3776,737,1,0,0,0,3777,3779,3,544,272,0,3778,3780,3,682,341,0,3779,3778,1,0,0,0,3779,3780,1,0,0,0,3780,3781,1,0,0,0,3781,3783,5,151,0,0,3782,3784,3,720,360,0,3783,3782,1,0,0,0,3783,3784,1,0,0,0,3784,3785,1,0,0,0,3785,3786,3,656,328,0,3786,739,1,0,0,0,3787,3788,3,684,342,0,3788,3789,5,77,0,0,3789,3790,3,742,371,0,3790,3796,3,744,372,0,3791,3794,5,55,0,0,3792,3795,3,744,372,0,3793,3795,3,748,374,0,3794,3792,1,0,0,0,3794,3793,1,0,0,0,3795,3797,1,0,0,0,3796,3791,1,0,0,0,3796,3797,1,0,0,0,3797,741,1,0,0,0,3798,3799,3,0,0,0,3799,743,1,0,0,0,3800,3801,3,746,373,0,3801,745,1,0,0,0,3802,3804,5,4,0,0,3803,3805,3,496,248,0,3804,3803,1,0,0,0,3804,3805,1,0,0,0,3805,3807,1,0,0,0,3806,3802,1,0,0,0,3806,3807,1,0,0,0,3807,3808,1,0,0,0,3808,3812,5,214,0,0,3809,3811,3,658,329,0,3810,3809,1,0,0,0,3811,3814,1,0,0,0,3812,3810,1,0,0,0,3812,3813,1,0,0,0,3813,3815,1,0,0,0,3814,3812,1,0,0,0,3815,3816,5,216,0,0,3816,747,1,0,0,0,3817,3818,3,740,370,0,3818,749,1,0,0,0,3819,3824,3,684,342,0,3820,3821,5,172,0,0,3821,3825,3,742,371,0,3822,3823,5,96,0,0,3823,3825,3,726,363,0,3824,3820,1,0,0,0,3824,3822,1,0,0,0,3825,3826,1,0,0,0,3826,3831,3,744,372,0,3827,3828,5,161,0,0,3828,3829,3,742,371,0,3829,3830,5,205,0,0,3830,3832,1,0,0,0,3831,3827,1,0,0,0,3831,3832,1,0,0,0,3832,751,1,0,0,0,3833,3834,3,684,342,0,3834,3835,5,71,0,0,3835,3836,3,754,377,0,3836,3837,5,80,0,0,3837,3838,3,720,360,0,3838,3839,3,744,372,0,3839,753,1,0,0,0,3840,3842,3,496,248,0,3841,3840,1,0,0,0,3841,3842,1,0,0,0,3842,755,1,0,0,0,3843,3845,3,496,248,0,3844,3843,1,0,0,0,3844,3845,1,0,0,0,3845,757,1,0,0,0,3846,3850,3,760,380,0,3847,3850,3,762,381,0,3848,3850,3,764,382,0,3849,3846,1,0,0,0,3849,3847,1,0,0,0,3849,3848,1,0,0,0,3850,3851,1,0,0,0,3851,3852,3,500,250,0,3852,759,1,0,0,0,3853,3854,3,560,280,0,3854,3855,5,152,0,0,3855,3856,3,268,134,0,3856,761,1,0,0,0,3857,3858,3,810,405,0,3858,3859,5,152,0,0,3859,3860,3,824,412,0,3860,763,1,0,0,0,3861,3862,5,55,0,0,3862,3863,3,824,412,0,3863,765,1,0,0,0,3864,3866,5,150,0,0,3865,3867,3,496,248,0,3866,3865,1,0,0,0,3866,3867,1,0,0,0,3867,3869,1,0,0,0,3868,3864,1,0,0,0,3868,3869,1,0,0,0,3869,3870,1,0,0,0,3870,3871,5,69,0,0,3871,3872,3,340,170,0,3872,3873,3,810,405,0,3873,3874,5,152,0,0,3874,3875,3,824,412,0,3875,3876,3,500,250,0,3876,767,1,0,0,0,3877,3878,3,536,268,0,3878,3879,5,142,0,0,3879,3880,5,45,0,0,3880,3881,3,462,231,0,3881,3882,3,770,385,0,3882,769,1,0,0,0,3883,3896,5,205,0,0,3884,3886,5,116,0,0,3885,3884,1,0,0,0,3885,3886,1,0,0,0,3886,3887,1,0,0,0,3887,3891,5,214,0,0,3888,3890,3,772,386,0,3889,3888,1,0,0,0,3890,3893,1,0,0,0,3891,3889,1,0,0,0,3891,3892,1,0,0,0,3892,3894,1,0,0,0,3893,3891,1,0,0,0,3894,3896,5,216,0,0,3895,3883,1,0,0,0,3895,3885,1,0,0,0,3896,771,1,0,0,0,3897,3919,3,660,330,0,3898,3900,3,556,278,0,3899,3898,1,0,0,0,3899,3900,1,0,0,0,3900,3901,1,0,0,0,3901,3905,3,480,240,0,3902,3904,3,794,397,0,3903,3902,1,0,0,0,3904,3907,1,0,0,0,3905,3903,1,0,0,0,3905,3906,1,0,0,0,3906,3919,1,0,0,0,3907,3905,1,0,0,0,3908,3919,3,792,396,0,3909,3913,3,774,387,0,3910,3912,3,780,390,0,3911,3910,1,0,0,0,3912,3915,1,0,0,0,3913,3911,1,0,0,0,3913,3914,1,0,0,0,3914,3919,1,0,0,0,3915,3913,1,0,0,0,3916,3919,3,776,388,0,3917,3919,3,778,389,0,3918,3897,1,0,0,0,3918,3899,1,0,0,0,3918,3908,1,0,0,0,3918,3909,1,0,0,0,3918,3916,1,0,0,0,3918,3917,1,0,0,0,3919,773,1,0,0,0,3920,3921,3,78,39,0,3921,3922,5,57,0,0,3922,3923,3,782,391,0,3923,775,1,0,0,0,3924,3925,3,78,39,0,3925,3926,5,53,0,0,3926,3927,3,782,391,0,3927,777,1,0,0,0,3928,3929,3,78,39,0,3929,3930,5,61,0,0,3930,3931,3,782,391,0,3931,779,1,0,0,0,3932,3936,3,78,39,0,3933,3937,3,762,381,0,3934,3935,5,152,0,0,3935,3937,3,824,412,0,3936,3933,1,0,0,0,3936,3934,1,0,0,0,3937,3938,1,0,0,0,3938,3939,5,205,0,0,3939,781,1,0,0,0,3940,3941,3,976,488,0,3941,3942,5,205,0,0,3942,3948,1,0,0,0,3943,3948,3,784,392,0,3944,3948,3,786,393,0,3945,3948,3,788,394,0,3946,3948,3,790,395,0,3947,3940,1,0,0,0,3947,3943,1,0,0,0,3947,3944,1,0,0,0,3947,3945,1,0,0,0,3947,3946,1,0,0,0,3948,783,1,0,0,0,3949,3950,3,678,339,0,3950,3951,3,656,328,0,3951,785,1,0,0,0,3952,3953,3,700,350,0,3953,3954,3,656,328,0,3954,787,1,0,0,0,3955,3956,3,716,358,0,3956,3957,3,656,328,0,3957,789,1,0,0,0,3958,3959,3,730,365,0,3959,3960,3,656,328,0,3960,791,1,0,0,0,3961,3962,3,78,39,0,3962,3963,3,802,401,0,3963,793,1,0,0,0,3964,3965,3,78,39,0,3965,3966,3,804,402,0,3966,795,1,0,0,0,3967,3968,3,544,272,0,3968,3969,5,142,0,0,3969,3970,3,674,337,0,3970,3971,3,798,399,0,3971,797,1,0,0,0,3972,3985,5,205,0,0,3973,3975,5,116,0,0,3974,3973,1,0,0,0,3974,3975,1,0,0,0,3975,3976,1,0,0,0,3976,3980,5,214,0,0,3977,3979,3,772,386,0,3978,3977,1,0,0,0,3979,3982,1,0,0,0,3980,3978,1,0,0,0,3980,3981,1,0,0,0,3981,3983,1,0,0,0,3982,3980,1,0,0,0,3983,3985,5,216,0,0,3984,3972,1,0,0,0,3984,3974,1,0,0,0,3985,799,1,0,0,0,3986,3987,3,544,272,0,3987,3996,5,60,0,0,3988,3990,3,228,114,0,3989,3991,3,198,99,0,3990,3989,1,0,0,0,3990,3991,1,0,0,0,3991,3997,1,0,0,0,3992,3994,5,142,0,0,3993,3995,3,496,248,0,3994,3993,1,0,0,0,3994,3995,1,0,0,0,3995,3997,1,0,0,0,3996,3988,1,0,0,0,3996,3992,1,0,0,0,3997,3999,1,0,0,0,3998,4e3,3,394,197,0,3999,3998,1,0,0,0,3999,4e3,1,0,0,0,4e3,4001,1,0,0,0,4001,4002,3,798,399,0,4002,801,1,0,0,0,4003,4008,5,155,0,0,4004,4006,3,496,248,0,4005,4004,1,0,0,0,4005,4006,1,0,0,0,4006,4007,1,0,0,0,4007,4009,5,69,0,0,4008,4005,1,0,0,0,4008,4009,1,0,0,0,4009,4010,1,0,0,0,4010,4011,3,340,170,0,4011,4015,3,726,363,0,4012,4013,3,726,363,0,4013,4014,3,806,403,0,4014,4016,1,0,0,0,4015,4012,1,0,0,0,4015,4016,1,0,0,0,4016,4018,1,0,0,0,4017,4019,3,810,405,0,4018,4017,1,0,0,0,4018,4019,1,0,0,0,4019,4021,1,0,0,0,4020,4022,3,812,406,0,4021,4020,1,0,0,0,4021,4022,1,0,0,0,4022,4023,1,0,0,0,4023,4024,5,152,0,0,4024,4025,3,824,412,0,4025,4026,3,656,328,0,4026,803,1,0,0,0,4027,4052,3,726,363,0,4028,4032,5,155,0,0,4029,4030,3,726,363,0,4030,4031,3,806,403,0,4031,4033,1,0,0,0,4032,4029,1,0,0,0,4032,4033,1,0,0,0,4033,4035,1,0,0,0,4034,4036,3,810,405,0,4035,4034,1,0,0,0,4035,4036,1,0,0,0,4036,4038,1,0,0,0,4037,4039,3,812,406,0,4038,4037,1,0,0,0,4038,4039,1,0,0,0,4039,4053,1,0,0,0,4040,4041,3,726,363,0,4041,4043,3,806,403,0,4042,4044,3,810,405,0,4043,4042,1,0,0,0,4043,4044,1,0,0,0,4044,4046,1,0,0,0,4045,4047,3,812,406,0,4046,4045,1,0,0,0,4046,4047,1,0,0,0,4047,4053,1,0,0,0,4048,4050,3,810,405,0,4049,4051,3,812,406,0,4050,4049,1,0,0,0,4050,4051,1,0,0,0,4051,4053,1,0,0,0,4052,4028,1,0,0,0,4052,4040,1,0,0,0,4052,4048,1,0,0,0,4052,4053,1,0,0,0,4053,4054,1,0,0,0,4054,4055,5,152,0,0,4055,4056,3,824,412,0,4056,4057,3,656,328,0,4057,805,1,0,0,0,4058,4059,5,3,0,0,4059,4060,3,808,404,0,4060,807,1,0,0,0,4061,4062,3,702,351,0,4062,809,1,0,0,0,4063,4064,5,77,0,0,4064,4065,3,0,0,0,4065,811,1,0,0,0,4066,4067,5,53,0,0,4067,4068,3,814,407,0,4068,813,1,0,0,0,4069,4075,3,976,488,0,4070,4075,3,816,408,0,4071,4075,3,818,409,0,4072,4075,3,820,410,0,4073,4075,3,822,411,0,4074,4069,1,0,0,0,4074,4070,1,0,0,0,4074,4071,1,0,0,0,4074,4072,1,0,0,0,4074,4073,1,0,0,0,4075,815,1,0,0,0,4076,4085,3,678,339,0,4077,4081,5,214,0,0,4078,4080,3,658,329,0,4079,4078,1,0,0,0,4080,4083,1,0,0,0,4081,4079,1,0,0,0,4081,4082,1,0,0,0,4082,4084,1,0,0,0,4083,4081,1,0,0,0,4084,4086,5,216,0,0,4085,4077,1,0,0,0,4085,4086,1,0,0,0,4086,817,1,0,0,0,4087,4096,3,700,350,0,4088,4092,5,214,0,0,4089,4091,3,658,329,0,4090,4089,1,0,0,0,4091,4094,1,0,0,0,4092,4090,1,0,0,0,4092,4093,1,0,0,0,4093,4095,1,0,0,0,4094,4092,1,0,0,0,4095,4097,5,216,0,0,4096,4088,1,0,0,0,4096,4097,1,0,0,0,4097,819,1,0,0,0,4098,4107,3,716,358,0,4099,4103,5,214,0,0,4100,4102,3,658,329,0,4101,4100,1,0,0,0,4102,4105,1,0,0,0,4103,4101,1,0,0,0,4103,4104,1,0,0,0,4104,4106,1,0,0,0,4105,4103,1,0,0,0,4106,4108,5,216,0,0,4107,4099,1,0,0,0,4107,4108,1,0,0,0,4108,821,1,0,0,0,4109,4118,3,730,365,0,4110,4114,5,214,0,0,4111,4113,3,658,329,0,4112,4111,1,0,0,0,4113,4116,1,0,0,0,4114,4112,1,0,0,0,4114,4115,1,0,0,0,4115,4117,1,0,0,0,4116,4114,1,0,0,0,4117,4119,5,216,0,0,4118,4110,1,0,0,0,4118,4119,1,0,0,0,4119,823,1,0,0,0,4120,4121,3,826,413,0,4121,825,1,0,0,0,4122,4123,3,828,414,0,4123,4124,3,268,134,0,4124,827,1,0,0,0,4125,4126,3,978,489,0,4126,829,1,0,0,0,4127,4128,3,536,268,0,4128,4129,5,25,0,0,4129,4130,5,45,0,0,4130,4131,3,462,231,0,4131,4132,3,834,417,0,4132,831,1,0,0,0,4133,4134,3,544,272,0,4134,4135,5,25,0,0,4135,4136,3,674,337,0,4136,4137,3,834,417,0,4137,833,1,0,0,0,4138,4144,5,205,0,0,4139,4140,5,214,0,0,4140,4141,3,836,418,0,4141,4142,5,216,0,0,4142,4144,1,0,0,0,4143,4138,1,0,0,0,4143,4139,1,0,0,0,4144,835,1,0,0,0,4145,4147,3,838,419,0,4146,4145,1,0,0,0,4147,4150,1,0,0,0,4148,4146,1,0,0,0,4148,4149,1,0,0,0,4149,4152,1,0,0,0,4150,4148,1,0,0,0,4151,4153,3,296,148,0,4152,4151,1,0,0,0,4152,4153,1,0,0,0,4153,837,1,0,0,0,4154,4157,3,658,329,0,4155,4157,3,840,420,0,4156,4154,1,0,0,0,4156,4155,1,0,0,0,4157,839,1,0,0,0,4158,4159,3,78,39,0,4159,4160,5,134,0,0,4160,4161,3,452,226,0,4161,841,1,0,0,0,4162,4163,3,536,268,0,4163,4164,5,41,0,0,4164,4165,5,45,0,0,4165,4166,3,462,231,0,4166,4167,3,834,417,0,4167,843,1,0,0,0,4168,4169,3,544,272,0,4169,4170,5,41,0,0,4170,4171,3,848,424,0,4171,4172,3,834,417,0,4172,845,1,0,0,0,4173,4174,3,544,272,0,4174,4176,5,14,0,0,4175,4177,5,107,0,0,4176,4175,1,0,0,0,4176,4177,1,0,0,0,4177,4184,1,0,0,0,4178,4180,3,228,114,0,4179,4181,3,198,99,0,4180,4179,1,0,0,0,4180,4181,1,0,0,0,4181,4185,1,0,0,0,4182,4183,5,41,0,0,4183,4185,3,848,424,0,4184,4178,1,0,0,0,4184,4182,1,0,0,0,4185,4186,1,0,0,0,4186,4187,3,834,417,0,4187,847,1,0,0,0,4188,4190,3,496,248,0,4189,4188,1,0,0,0,4189,4190,1,0,0,0,4190,4192,1,0,0,0,4191,4193,3,394,197,0,4192,4191,1,0,0,0,4192,4193,1,0,0,0,4193,849,1,0,0,0,4194,4195,3,536,268,0,4195,4196,5,133,0,0,4196,4197,5,45,0,0,4197,4198,3,462,231,0,4198,4199,3,852,426,0,4199,851,1,0,0,0,4200,4210,5,205,0,0,4201,4205,5,214,0,0,4202,4204,3,854,427,0,4203,4202,1,0,0,0,4204,4207,1,0,0,0,4205,4203,1,0,0,0,4205,4206,1,0,0,0,4206,4208,1,0,0,0,4207,4205,1,0,0,0,4208,4210,5,216,0,0,4209,4200,1,0,0,0,4209,4201,1,0,0,0,4210,853,1,0,0,0,4211,4219,3,466,233,0,4212,4219,3,856,428,0,4213,4219,3,860,430,0,4214,4219,3,866,433,0,4215,4219,3,914,457,0,4216,4219,3,870,435,0,4217,4219,3,874,437,0,4218,4211,1,0,0,0,4218,4212,1,0,0,0,4218,4213,1,0,0,0,4218,4214,1,0,0,0,4218,4215,1,0,0,0,4218,4216,1,0,0,0,4218,4217,1,0,0,0,4219,855,1,0,0,0,4220,4221,3,78,39,0,4221,4222,3,858,429,0,4222,857,1,0,0,0,4223,4227,5,146,0,0,4224,4226,3,488,244,0,4225,4224,1,0,0,0,4226,4229,1,0,0,0,4227,4225,1,0,0,0,4227,4228,1,0,0,0,4228,4230,1,0,0,0,4229,4227,1,0,0,0,4230,4231,3,494,247,0,4231,859,1,0,0,0,4232,4233,3,78,39,0,4233,4234,3,862,431,0,4234,4235,3,864,432,0,4235,861,1,0,0,0,4236,4237,7,26,0,0,4237,863,1,0,0,0,4238,4240,3,228,114,0,4239,4241,3,198,99,0,4240,4239,1,0,0,0,4240,4241,1,0,0,0,4241,4242,1,0,0,0,4242,4243,3,852,426,0,4243,4262,1,0,0,0,4244,4246,3,488,244,0,4245,4244,1,0,0,0,4246,4249,1,0,0,0,4247,4245,1,0,0,0,4247,4248,1,0,0,0,4248,4250,1,0,0,0,4249,4247,1,0,0,0,4250,4257,5,41,0,0,4251,4253,3,488,244,0,4252,4251,1,0,0,0,4253,4254,1,0,0,0,4254,4252,1,0,0,0,4254,4255,1,0,0,0,4255,4257,1,0,0,0,4256,4247,1,0,0,0,4256,4252,1,0,0,0,4257,4258,1,0,0,0,4258,4259,3,848,424,0,4259,4260,3,834,417,0,4260,4262,1,0,0,0,4261,4238,1,0,0,0,4261,4256,1,0,0,0,4262,865,1,0,0,0,4263,4264,3,78,39,0,4264,4265,5,73,0,0,4265,4266,3,868,434,0,4266,867,1,0,0,0,4267,4269,3,228,114,0,4268,4270,3,198,99,0,4269,4268,1,0,0,0,4269,4270,1,0,0,0,4270,4271,1,0,0,0,4271,4272,3,834,417,0,4272,4291,1,0,0,0,4273,4275,3,488,244,0,4274,4273,1,0,0,0,4275,4278,1,0,0,0,4276,4274,1,0,0,0,4276,4277,1,0,0,0,4277,4279,1,0,0,0,4278,4276,1,0,0,0,4279,4286,5,32,0,0,4280,4282,3,488,244,0,4281,4280,1,0,0,0,4282,4283,1,0,0,0,4283,4281,1,0,0,0,4283,4284,1,0,0,0,4284,4286,1,0,0,0,4285,4276,1,0,0,0,4285,4281,1,0,0,0,4286,4287,1,0,0,0,4287,4288,3,974,487,0,4288,4289,3,834,417,0,4289,4291,1,0,0,0,4290,4267,1,0,0,0,4290,4285,1,0,0,0,4291,869,1,0,0,0,4292,4293,3,78,39,0,4293,4294,3,872,436,0,4294,871,1,0,0,0,4295,4299,5,5,0,0,4296,4298,3,488,244,0,4297,4296,1,0,0,0,4298,4301,1,0,0,0,4299,4297,1,0,0,0,4299,4300,1,0,0,0,4300,4302,1,0,0,0,4301,4299,1,0,0,0,4302,4303,3,494,247,0,4303,873,1,0,0,0,4304,4305,3,78,39,0,4305,4306,3,876,438,0,4306,875,1,0,0,0,4307,4311,5,140,0,0,4308,4310,3,488,244,0,4309,4308,1,0,0,0,4310,4313,1,0,0,0,4311,4309,1,0,0,0,4311,4312,1,0,0,0,4312,4314,1,0,0,0,4313,4311,1,0,0,0,4314,4315,3,494,247,0,4315,877,1,0,0,0,4316,4317,3,544,272,0,4317,4318,5,133,0,0,4318,4319,3,848,424,0,4319,4320,3,852,426,0,4320,879,1,0,0,0,4321,4326,3,544,272,0,4322,4324,5,14,0,0,4323,4325,5,107,0,0,4324,4323,1,0,0,0,4324,4325,1,0,0,0,4325,4327,1,0,0,0,4326,4322,1,0,0,0,4326,4327,1,0,0,0,4327,4328,1,0,0,0,4328,4337,5,135,0,0,4329,4331,3,228,114,0,4330,4332,3,198,99,0,4331,4330,1,0,0,0,4331,4332,1,0,0,0,4332,4338,1,0,0,0,4333,4335,5,133,0,0,4334,4336,3,496,248,0,4335,4334,1,0,0,0,4335,4336,1,0,0,0,4336,4338,1,0,0,0,4337,4329,1,0,0,0,4337,4333,1,0,0,0,4338,4340,1,0,0,0,4339,4341,3,394,197,0,4340,4339,1,0,0,0,4340,4341,1,0,0,0,4341,4344,1,0,0,0,4342,4343,5,24,0,0,4343,4345,3,882,441,0,4344,4342,1,0,0,0,4344,4345,1,0,0,0,4345,4346,1,0,0,0,4346,4347,3,852,426,0,4347,881,1,0,0,0,4348,4349,3,884,442,0,4349,883,1,0,0,0,4350,4351,3,886,443,0,4351,885,1,0,0,0,4352,4353,3,888,444,0,4353,887,1,0,0,0,4354,4355,3,340,170,0,4355,889,1,0,0,0,4356,4357,3,536,268,0,4357,4358,5,32,0,0,4358,4359,5,45,0,0,4359,4360,3,462,231,0,4360,4361,3,852,426,0,4361,891,1,0,0,0,4362,4363,3,544,272,0,4363,4364,5,32,0,0,4364,4365,3,848,424,0,4365,4366,3,852,426,0,4366,893,1,0,0,0,4367,4368,3,536,268,0,4368,4369,5,26,0,0,4369,4370,5,45,0,0,4370,4371,3,462,231,0,4371,4372,3,898,449,0,4372,895,1,0,0,0,4373,4374,3,544,272,0,4374,4375,5,26,0,0,4375,4376,3,848,424,0,4376,4377,3,898,449,0,4377,897,1,0,0,0,4378,4391,5,205,0,0,4379,4383,5,214,0,0,4380,4382,3,900,450,0,4381,4380,1,0,0,0,4382,4385,1,0,0,0,4383,4381,1,0,0,0,4383,4384,1,0,0,0,4384,4387,1,0,0,0,4385,4383,1,0,0,0,4386,4388,3,296,148,0,4387,4386,1,0,0,0,4387,4388,1,0,0,0,4388,4389,1,0,0,0,4389,4391,5,216,0,0,4390,4378,1,0,0,0,4390,4379,1,0,0,0,4391,899,1,0,0,0,4392,4398,3,658,329,0,4393,4398,3,840,420,0,4394,4398,3,856,428,0,4395,4398,3,870,435,0,4396,4398,3,902,451,0,4397,4392,1,0,0,0,4397,4393,1,0,0,0,4397,4394,1,0,0,0,4397,4395,1,0,0,0,4397,4396,1,0,0,0,4398,901,1,0,0,0,4399,4400,3,78,39,0,4400,4401,5,109,0,0,4401,4402,3,904,452,0,4402,903,1,0,0,0,4403,4405,3,488,244,0,4404,4403,1,0,0,0,4405,4408,1,0,0,0,4406,4404,1,0,0,0,4406,4407,1,0,0,0,4407,4409,1,0,0,0,4408,4406,1,0,0,0,4409,4410,3,848,424,0,4410,4411,3,852,426,0,4411,905,1,0,0,0,4412,4413,3,536,268,0,4413,4414,5,11,0,0,4414,4415,5,45,0,0,4415,4416,3,462,231,0,4416,4417,3,898,449,0,4417,907,1,0,0,0,4418,4419,3,544,272,0,4419,4420,5,11,0,0,4420,4421,3,848,424,0,4421,4422,3,898,449,0,4422,909,1,0,0,0,4423,4424,3,536,268,0,4424,4425,5,166,0,0,4425,4426,5,45,0,0,4426,4427,3,462,231,0,4427,4428,3,898,449,0,4428,911,1,0,0,0,4429,4430,3,544,272,0,4430,4431,5,166,0,0,4431,4432,3,848,424,0,4432,4433,3,898,449,0,4433,913,1,0,0,0,4434,4435,3,78,39,0,4435,4436,5,167,0,0,4436,4437,3,916,458,0,4437,915,1,0,0,0,4438,4442,3,228,114,0,4439,4441,3,202,101,0,4440,4439,1,0,0,0,4441,4444,1,0,0,0,4442,4440,1,0,0,0,4442,4443,1,0,0,0,4443,4445,1,0,0,0,4444,4442,1,0,0,0,4445,4446,3,852,426,0,4446,4465,1,0,0,0,4447,4449,3,488,244,0,4448,4447,1,0,0,0,4449,4452,1,0,0,0,4450,4448,1,0,0,0,4450,4451,1,0,0,0,4451,4453,1,0,0,0,4452,4450,1,0,0,0,4453,4460,5,133,0,0,4454,4456,3,488,244,0,4455,4454,1,0,0,0,4456,4457,1,0,0,0,4457,4455,1,0,0,0,4457,4458,1,0,0,0,4458,4460,1,0,0,0,4459,4450,1,0,0,0,4459,4455,1,0,0,0,4460,4461,1,0,0,0,4461,4462,3,848,424,0,4462,4463,3,852,426,0,4463,4465,1,0,0,0,4464,4438,1,0,0,0,4464,4459,1,0,0,0,4465,917,1,0,0,0,4466,4467,3,536,268,0,4467,4468,5,162,0,0,4468,4469,5,26,0,0,4469,4470,5,45,0,0,4470,4471,3,462,231,0,4471,4472,3,898,449,0,4472,919,1,0,0,0,4473,4474,3,544,272,0,4474,4475,5,162,0,0,4475,4476,5,26,0,0,4476,4477,3,848,424,0,4477,4478,3,898,449,0,4478,921,1,0,0,0,4479,4480,3,544,272,0,4480,4490,5,81,0,0,4481,4483,3,228,114,0,4482,4484,3,198,99,0,4483,4482,1,0,0,0,4483,4484,1,0,0,0,4484,4491,1,0,0,0,4485,4486,5,162,0,0,4486,4488,5,26,0,0,4487,4489,3,496,248,0,4488,4487,1,0,0,0,4488,4489,1,0,0,0,4489,4491,1,0,0,0,4490,4481,1,0,0,0,4490,4485,1,0,0,0,4491,4493,1,0,0,0,4492,4494,3,394,197,0,4493,4492,1,0,0,0,4493,4494,1,0,0,0,4494,4495,1,0,0,0,4495,4496,3,898,449,0,4496,923,1,0,0,0,4497,4498,3,536,268,0,4498,4499,5,169,0,0,4499,4500,5,45,0,0,4500,4501,3,462,231,0,4501,4502,3,926,463,0,4502,925,1,0,0,0,4503,4513,5,205,0,0,4504,4508,5,214,0,0,4505,4507,3,928,464,0,4506,4505,1,0,0,0,4507,4510,1,0,0,0,4508,4506,1,0,0,0,4508,4509,1,0,0,0,4509,4511,1,0,0,0,4510,4508,1,0,0,0,4511,4513,5,216,0,0,4512,4503,1,0,0,0,4512,4504,1,0,0,0,4513,927,1,0,0,0,4514,4518,3,466,233,0,4515,4518,3,440,220,0,4516,4518,3,930,465,0,4517,4514,1,0,0,0,4517,4515,1,0,0,0,4517,4516,1,0,0,0,4518,929,1,0,0,0,4519,4520,3,78,39,0,4520,4521,5,129,0,0,4521,4522,3,932,466,0,4522,931,1,0,0,0,4523,4525,3,228,114,0,4524,4526,3,198,99,0,4525,4524,1,0,0,0,4525,4526,1,0,0,0,4526,4527,1,0,0,0,4527,4528,3,500,250,0,4528,4545,1,0,0,0,4529,4531,3,488,244,0,4530,4529,1,0,0,0,4531,4534,1,0,0,0,4532,4530,1,0,0,0,4532,4533,1,0,0,0,4533,4535,1,0,0,0,4534,4532,1,0,0,0,4535,4542,5,130,0,0,4536,4538,3,488,244,0,4537,4536,1,0,0,0,4538,4539,1,0,0,0,4539,4537,1,0,0,0,4539,4540,1,0,0,0,4540,4542,1,0,0,0,4541,4532,1,0,0,0,4541,4537,1,0,0,0,4542,4543,1,0,0,0,4543,4545,3,494,247,0,4544,4523,1,0,0,0,4544,4541,1,0,0,0,4545,933,1,0,0,0,4546,4547,3,544,272,0,4547,4549,5,169,0,0,4548,4550,3,496,248,0,4549,4548,1,0,0,0,4549,4550,1,0,0,0,4550,4552,1,0,0,0,4551,4553,3,394,197,0,4552,4551,1,0,0,0,4552,4553,1,0,0,0,4553,4554,1,0,0,0,4554,4555,3,936,468,0,4555,935,1,0,0,0,4556,4566,5,205,0,0,4557,4561,5,214,0,0,4558,4560,3,938,469,0,4559,4558,1,0,0,0,4560,4563,1,0,0,0,4561,4559,1,0,0,0,4561,4562,1,0,0,0,4562,4564,1,0,0,0,4563,4561,1,0,0,0,4564,4566,5,216,0,0,4565,4556,1,0,0,0,4565,4557,1,0,0,0,4566,937,1,0,0,0,4567,4572,3,466,233,0,4568,4572,3,440,220,0,4569,4572,3,930,465,0,4570,4572,3,940,470,0,4571,4567,1,0,0,0,4571,4568,1,0,0,0,4571,4569,1,0,0,0,4571,4570,1,0,0,0,4572,939,1,0,0,0,4573,4576,5,62,0,0,4574,4577,3,942,471,0,4575,4577,3,944,472,0,4576,4574,1,0,0,0,4576,4575,1,0,0,0,4577,4578,1,0,0,0,4578,4579,3,48,24,0,4579,941,1,0,0,0,4580,4581,3,96,48,0,4581,943,1,0,0,0,4582,4583,3,98,49,0,4583,945,1,0,0,0,4584,4585,3,536,268,0,4585,4586,5,170,0,0,4586,4587,5,45,0,0,4587,4588,3,462,231,0,4588,4589,3,852,426,0,4589,947,1,0,0,0,4590,4591,3,544,272,0,4591,4592,5,170,0,0,4592,4593,3,848,424,0,4593,4594,3,852,426,0,4594,949,1,0,0,0,4595,4596,3,536,268,0,4596,4597,5,130,0,0,4597,4598,5,45,0,0,4598,4599,3,460,230,0,4599,951,1,0,0,0,4600,4601,3,544,272,0,4601,4602,5,130,0,0,4602,4603,3,494,247,0,4603,953,1,0,0,0,4604,4606,5,2,0,0,4605,4604,1,0,0,0,4605,4606,1,0,0,0,4606,4610,1,0,0,0,4607,4609,3,456,228,0,4608,4607,1,0,0,0,4609,4612,1,0,0,0,4610,4608,1,0,0,0,4610,4611,1,0,0,0,4611,4613,1,0,0,0,4612,4610,1,0,0,0,4613,4614,5,102,0,0,4614,4615,5,45,0,0,4615,4616,3,460,230,0,4616,955,1,0,0,0,4617,4618,3,222,111,0,4618,957,1,0,0,0,4619,4621,3,488,244,0,4620,4619,1,0,0,0,4621,4624,1,0,0,0,4622,4620,1,0,0,0,4622,4623,1,0,0,0,4623,4625,1,0,0,0,4624,4622,1,0,0,0,4625,4626,7,22,0,0,4626,4636,3,960,480,0,4627,4628,5,1,0,0,4628,4633,3,56,28,0,4629,4630,5,200,0,0,4630,4632,3,56,28,0,4631,4629,1,0,0,0,4632,4635,1,0,0,0,4633,4631,1,0,0,0,4633,4634,1,0,0,0,4634,4637,1,0,0,0,4635,4633,1,0,0,0,4636,4627,1,0,0,0,4636,4637,1,0,0,0,4637,4638,1,0,0,0,4638,4639,3,424,212,0,4639,959,1,0,0,0,4640,4642,3,46,23,0,4641,4640,1,0,0,0,4641,4642,1,0,0,0,4642,4646,1,0,0,0,4643,4647,5,204,0,0,4644,4645,5,158,0,0,4645,4647,5,24,0,0,4646,4643,1,0,0,0,4646,4644,1,0,0,0,4647,4649,1,0,0,0,4648,4641,1,0,0,0,4648,4649,1,0,0,0,4649,4650,1,0,0,0,4650,4651,3,222,111,0,4651,961,1,0,0,0,4652,4653,3,964,482,0,4653,963,1,0,0,0,4654,4656,5,127,0,0,4655,4654,1,0,0,0,4655,4656,1,0,0,0,4656,4658,1,0,0,0,4657,4659,7,19,0,0,4658,4657,1,0,0,0,4658,4659,1,0,0,0,4659,4660,1,0,0,0,4660,4662,3,234,117,0,4661,4663,3,198,99,0,4662,4661,1,0,0,0,4662,4663,1,0,0,0,4663,4665,1,0,0,0,4664,4666,3,394,197,0,4665,4664,1,0,0,0,4665,4666,1,0,0,0,4666,4667,1,0,0,0,4667,4668,3,424,212,0,4668,965,1,0,0,0,4669,4671,3,454,227,0,4670,4669,1,0,0,0,4670,4671,1,0,0,0,4671,4673,1,0,0,0,4672,4674,3,456,228,0,4673,4672,1,0,0,0,4674,4675,1,0,0,0,4675,4673,1,0,0,0,4675,4676,1,0,0,0,4676,4677,1,0,0,0,4677,4678,5,45,0,0,4678,4679,3,460,230,0,4679,967,1,0,0,0,4680,4682,3,490,245,0,4681,4683,3,488,244,0,4682,4681,1,0,0,0,4683,4684,1,0,0,0,4684,4682,1,0,0,0,4684,4685,1,0,0,0,4685,4686,1,0,0,0,4686,4687,3,494,247,0,4687,969,1,0,0,0,4688,4691,3,96,48,0,4689,4691,3,972,486,0,4690,4688,1,0,0,0,4690,4689,1,0,0,0,4691,971,1,0,0,0,4692,4693,3,90,45,0,4693,4694,5,183,0,0,4694,4697,5,198,0,0,4695,4696,5,183,0,0,4696,4698,5,179,0,0,4697,4695,1,0,0,0,4697,4698,1,0,0,0,4698,973,1,0,0,0,4699,4701,3,496,248,0,4700,4699,1,0,0,0,4700,4701,1,0,0,0,4701,4703,1,0,0,0,4702,4704,3,394,197,0,4703,4702,1,0,0,0,4703,4704,1,0,0,0,4704,975,1,0,0,0,4705,4706,1,0,0,0,4706,977,1,0,0,0,4707,4708,1,0,0,0,4708,979,1,0,0,0,4709,4710,1,0,0,0,4710,981,1,0,0,0,4711,4712,1,0,0,0,4712,983,1,0,0,0,4713,4714,5,218,0,0,4714,985,1,0,0,0,4715,4716,5,218,0,0,4716,987,1,0,0,0,4717,4718,1,0,0,0,4718,989,1,0,0,0,518,1005,1061,1068,1084,1086,1088,1098,1107,1113,1116,1121,1143,1152,1160,1172,1200,1207,1215,1219,1223,1227,1232,1237,1240,1247,1256,1264,1271,1281,1285,1293,1296,1298,1302,1308,1312,1318,1320,1329,1337,1345,1352,1356,1361,1364,1370,1384,1387,1395,1402,1408,1412,1419,1424,1431,1434,1440,1446,1448,1456,1484,1496,1504,1509,1513,1516,1519,1523,1525,1530,1539,1549,1558,1567,1576,1585,1593,1597,1603,1607,1609,1624,1632,1637,1639,1647,1656,1666,1671,1673,1681,1690,1700,1708,1716,1724,1729,1744,1747,1750,1754,1759,1768,1773,1775,1788,1791,1795,1799,1802,1807,1812,1815,1818,1821,1824,1830,1835,1845,1847,1852,1857,1861,1866,1873,1876,1882,1890,1904,1910,1913,1918,1925,1928,1933,1937,1939,1943,1947,1949,1951,1958,1965,1973,1982,1999,2007,2009,2016,2023,2030,2035,2037,2050,2058,2066,2071,2073,2086,2095,2097,2104,2110,2112,2120,2129,2139,2144,2147,2185,2188,2191,2197,2200,2205,2207,2214,2224,2232,2237,2256,2259,2262,2268,2270,2283,2286,2289,2295,2297,2308,2322,2326,2328,2332,2345,2358,2365,2369,2414,2419,2436,2454,2459,2479,2483,2490,2493,2500,2503,2507,2514,2516,2521,2525,2529,2533,2537,2539,2544,2547,2552,2559,2561,2570,2585,2587,2593,2597,2604,2617,2624,2635,2641,2648,2659,2662,2667,2672,2674,2683,2692,2694,2698,2704,2709,2712,2716,2719,2726,2733,2739,2747,2754,2758,2766,2769,2776,2785,2794,2799,2831,2835,2842,2847,2854,2857,2864,2868,2875,2880,2887,2890,2900,2922,2925,2928,2931,2935,2944,2950,2954,2960,2963,2966,2977,2990,3003,3007,3024,3042,3065,3073,3088,3100,3102,3106,3112,3121,3125,3130,3139,3145,3156,3159,3164,3176,3183,3189,3200,3204,3206,3218,3263,3266,3270,3274,3280,3294,3302,3304,3315,3317,3336,3340,3346,3351,3361,3369,3380,3383,3387,3390,3394,3408,3416,3421,3436,3440,3444,3457,3460,3464,3471,3477,3500,3507,3523,3527,3534,3538,3544,3548,3556,3559,3563,3585,3588,3597,3601,3603,3606,3616,3620,3624,3630,3634,3637,3642,3648,3655,3662,3669,3678,3686,3692,3695,3698,3708,3713,3718,3723,3728,3733,3739,3745,3760,3773,3779,3783,3794,3796,3804,3806,3812,3824,3831,3841,3844,3849,3866,3868,3885,3891,3895,3899,3905,3913,3918,3936,3947,3974,3980,3984,3990,3994,3996,3999,4005,4008,4015,4018,4021,4032,4035,4038,4043,4046,4050,4052,4074,4081,4085,4092,4096,4103,4107,4114,4118,4143,4148,4152,4156,4176,4180,4184,4189,4192,4205,4209,4218,4227,4240,4247,4254,4256,4261,4269,4276,4283,4285,4290,4299,4311,4324,4326,4331,4335,4337,4340,4344,4383,4387,4390,4397,4406,4442,4450,4457,4459,4464,4483,4488,4490,4493,4508,4512,4517,4525,4532,4539,4541,4544,4549,4552,4561,4565,4571,4576,4605,4610,4622,4633,4636,4641,4646,4648,4655,4658,4662,4665,4670,4675,4684,4690,4697,4700,4703];static __ATN;static get _ATN(){return _SysMLv2Parser.__ATN||(_SysMLv2Parser.__ATN=new ATNDeserializer().deserialize(_SysMLv2Parser._serializedATN)),_SysMLv2Parser.__ATN}static vocabulary=new Vocabulary(_SysMLv2Parser.literalNames,_SysMLv2Parser.symbolicNames,[]);get vocabulary(){return _SysMLv2Parser.vocabulary}static decisionsToDFA=_SysMLv2Parser._ATN.decisionToState.map((ds,index2)=>new DFA(ds,index2))},OwnedExpressionContext=class _OwnedExpressionContext extends ParserRuleContext{constructor(parent,invokingState){super(parent,invokingState)}IF(){return this.getToken(SysMLv2Parser.IF,0)}ownedExpression(i){return i===void 0?this.getRuleContexts(_OwnedExpressionContext):this.getRuleContext(i,_OwnedExpressionContext)}QUESTION(){return this.getToken(SysMLv2Parser.QUESTION,0)}ELSE(){return this.getToken(SysMLv2Parser.ELSE,0)}PLUS(){return this.getToken(SysMLv2Parser.PLUS,0)}MINUS(){return this.getToken(SysMLv2Parser.MINUS,0)}TILDE(){return this.getToken(SysMLv2Parser.TILDE,0)}NOT(){return this.getToken(SysMLv2Parser.NOT,0)}typeReference(){return this.getRuleContext(0,TypeReferenceContext)}AT_SIGN(){return this.getToken(SysMLv2Parser.AT_SIGN,0)}AT_AT(){return this.getToken(SysMLv2Parser.AT_AT,0)}ALL(){return this.getToken(SysMLv2Parser.ALL,0)}baseExpression(){return this.getRuleContext(0,BaseExpressionContext)}QUESTION_QUESTION(){return this.getToken(SysMLv2Parser.QUESTION_QUESTION,0)}IMPLIES(){return this.getToken(SysMLv2Parser.IMPLIES,0)}OR(){return this.getToken(SysMLv2Parser.OR,0)}AND(){return this.getToken(SysMLv2Parser.AND,0)}XOR(){return this.getToken(SysMLv2Parser.XOR,0)}PIPE(){return this.getToken(SysMLv2Parser.PIPE,0)}AMP(){return this.getToken(SysMLv2Parser.AMP,0)}EQ_EQ(){return this.getToken(SysMLv2Parser.EQ_EQ,0)}BANG_EQ(){return this.getToken(SysMLv2Parser.BANG_EQ,0)}EQ_EQ_EQ(){return this.getToken(SysMLv2Parser.EQ_EQ_EQ,0)}BANG_EQ_EQ(){return this.getToken(SysMLv2Parser.BANG_EQ_EQ,0)}LT(){return this.getToken(SysMLv2Parser.LT,0)}GT(){return this.getToken(SysMLv2Parser.GT,0)}LE(){return this.getToken(SysMLv2Parser.LE,0)}GE(){return this.getToken(SysMLv2Parser.GE,0)}DOT_DOT(){return this.getToken(SysMLv2Parser.DOT_DOT,0)}STAR(){return this.getToken(SysMLv2Parser.STAR,0)}SLASH(){return this.getToken(SysMLv2Parser.SLASH,0)}PERCENT(){return this.getToken(SysMLv2Parser.PERCENT,0)}STAR_STAR(){return this.getToken(SysMLv2Parser.STAR_STAR,0)}CARET(){return this.getToken(SysMLv2Parser.CARET,0)}ISTYPE(){return this.getToken(SysMLv2Parser.ISTYPE,0)}HASTYPE(){return this.getToken(SysMLv2Parser.HASTYPE,0)}AS(){return this.getToken(SysMLv2Parser.AS,0)}META(){return this.getToken(SysMLv2Parser.META,0)}LBRACK(){return this.getToken(SysMLv2Parser.LBRACK,0)}RBRACK(){return this.getToken(SysMLv2Parser.RBRACK,0)}sequenceExpressionList(){return this.getRuleContext(0,SequenceExpressionListContext)}HASH(){return this.getToken(SysMLv2Parser.HASH,0)}LPAREN(){return this.getToken(SysMLv2Parser.LPAREN,0)}RPAREN(){return this.getToken(SysMLv2Parser.RPAREN,0)}argumentList(){return this.getRuleContext(0,ArgumentListContext)}DOT(){return this.getToken(SysMLv2Parser.DOT,0)}qualifiedName(){return this.getRuleContext(0,QualifiedNameContext)}DOT_QUESTION(){return this.getToken(SysMLv2Parser.DOT_QUESTION,0)}bodyExpression(){return this.getRuleContext(0,BodyExpressionContext)}ARROW(){return this.getToken(SysMLv2Parser.ARROW,0)}get ruleIndex(){return SysMLv2Parser.RULE_ownedExpression}enterRule(listener){listener.enterOwnedExpression&&listener.enterOwnedExpression(this)}exitRule(listener){listener.exitOwnedExpression&&listener.exitOwnedExpression(this)}accept(visitor){return visitor.visitOwnedExpression?visitor.visitOwnedExpression(this):visitor.visitChildren(this)}},TypeReferenceContext=class extends ParserRuleContext{constructor(parent,invokingState){super(parent,invokingState)}qualifiedName(){return this.getRuleContext(0,QualifiedNameContext)}get ruleIndex(){return SysMLv2Parser.RULE_typeReference}enterRule(listener){listener.enterTypeReference&&listener.enterTypeReference(this)}exitRule(listener){listener.exitTypeReference&&listener.exitTypeReference(this)}accept(visitor){return visitor.visitTypeReference?visitor.visitTypeReference(this):visitor.visitChildren(this)}},SequenceExpressionListContext=class extends ParserRuleContext{constructor(parent,invokingState){super(parent,invokingState)}ownedExpression(i){return i===void 0?this.getRuleContexts(OwnedExpressionContext):this.getRuleContext(i,OwnedExpressionContext)}COMMA(i){return i===void 0?this.getTokens(SysMLv2Parser.COMMA):this.getToken(SysMLv2Parser.COMMA,i)}get ruleIndex(){return SysMLv2Parser.RULE_sequenceExpressionList}enterRule(listener){listener.enterSequenceExpressionList&&listener.enterSequenceExpressionList(this)}exitRule(listener){listener.exitSequenceExpressionList&&listener.exitSequenceExpressionList(this)}accept(visitor){return visitor.visitSequenceExpressionList?visitor.visitSequenceExpressionList(this):visitor.visitChildren(this)}},BaseExpressionContext=class extends ParserRuleContext{constructor(parent,invokingState){super(parent,invokingState)}nullExpression(){return this.getRuleContext(0,NullExpressionContext)}literalExpression(){return this.getRuleContext(0,LiteralExpressionContext)}qualifiedName(){return this.getRuleContext(0,QualifiedNameContext)}argumentList(){return this.getRuleContext(0,ArgumentListContext)}DOT(){return this.getToken(SysMLv2Parser.DOT,0)}METADATA(){return this.getToken(SysMLv2Parser.METADATA,0)}constructorExpression(){return this.getRuleContext(0,ConstructorExpressionContext)}bodyExpression(){return this.getRuleContext(0,BodyExpressionContext)}LPAREN(){return this.getToken(SysMLv2Parser.LPAREN,0)}RPAREN(){return this.getToken(SysMLv2Parser.RPAREN,0)}sequenceExpressionList(){return this.getRuleContext(0,SequenceExpressionListContext)}get ruleIndex(){return SysMLv2Parser.RULE_baseExpression}enterRule(listener){listener.enterBaseExpression&&listener.enterBaseExpression(this)}exitRule(listener){listener.exitBaseExpression&&listener.exitBaseExpression(this)}accept(visitor){return visitor.visitBaseExpression?visitor.visitBaseExpression(this):visitor.visitChildren(this)}},NullExpressionContext=class extends ParserRuleContext{constructor(parent,invokingState){super(parent,invokingState)}NULL(){return this.getToken(SysMLv2Parser.NULL,0)}LPAREN(){return this.getToken(SysMLv2Parser.LPAREN,0)}RPAREN(){return this.getToken(SysMLv2Parser.RPAREN,0)}get ruleIndex(){return SysMLv2Parser.RULE_nullExpression}enterRule(listener){listener.enterNullExpression&&listener.enterNullExpression(this)}exitRule(listener){listener.exitNullExpression&&listener.exitNullExpression(this)}accept(visitor){return visitor.visitNullExpression?visitor.visitNullExpression(this):visitor.visitChildren(this)}},FeatureReferenceExpressionContext=class extends ParserRuleContext{constructor(parent,invokingState){super(parent,invokingState)}qualifiedName(){return this.getRuleContext(0,QualifiedNameContext)}get ruleIndex(){return SysMLv2Parser.RULE_featureReferenceExpression}enterRule(listener){listener.enterFeatureReferenceExpression&&listener.enterFeatureReferenceExpression(this)}exitRule(listener){listener.exitFeatureReferenceExpression&&listener.exitFeatureReferenceExpression(this)}accept(visitor){return visitor.visitFeatureReferenceExpression?visitor.visitFeatureReferenceExpression(this):visitor.visitChildren(this)}},MetadataAccessExpressionContext=class extends ParserRuleContext{constructor(parent,invokingState){super(parent,invokingState)}qualifiedName(){return this.getRuleContext(0,QualifiedNameContext)}DOT(){return this.getToken(SysMLv2Parser.DOT,0)}METADATA(){return this.getToken(SysMLv2Parser.METADATA,0)}get ruleIndex(){return SysMLv2Parser.RULE_metadataAccessExpression}enterRule(listener){listener.enterMetadataAccessExpression&&listener.enterMetadataAccessExpression(this)}exitRule(listener){listener.exitMetadataAccessExpression&&listener.exitMetadataAccessExpression(this)}accept(visitor){return visitor.visitMetadataAccessExpression?visitor.visitMetadataAccessExpression(this):visitor.visitChildren(this)}},InvocationExpressionContext=class extends ParserRuleContext{constructor(parent,invokingState){super(parent,invokingState)}qualifiedName(){return this.getRuleContext(0,QualifiedNameContext)}argumentList(){return this.getRuleContext(0,ArgumentListContext)}get ruleIndex(){return SysMLv2Parser.RULE_invocationExpression}enterRule(listener){listener.enterInvocationExpression&&listener.enterInvocationExpression(this)}exitRule(listener){listener.exitInvocationExpression&&listener.exitInvocationExpression(this)}accept(visitor){return visitor.visitInvocationExpression?visitor.visitInvocationExpression(this):visitor.visitChildren(this)}},ConstructorExpressionContext=class extends ParserRuleContext{constructor(parent,invokingState){super(parent,invokingState)}NEW(){return this.getToken(SysMLv2Parser.NEW,0)}qualifiedName(){return this.getRuleContext(0,QualifiedNameContext)}argumentList(){return this.getRuleContext(0,ArgumentListContext)}get ruleIndex(){return SysMLv2Parser.RULE_constructorExpression}enterRule(listener){listener.enterConstructorExpression&&listener.enterConstructorExpression(this)}exitRule(listener){listener.exitConstructorExpression&&listener.exitConstructorExpression(this)}accept(visitor){return visitor.visitConstructorExpression?visitor.visitConstructorExpression(this):visitor.visitChildren(this)}},BodyExpressionContext=class extends ParserRuleContext{constructor(parent,invokingState){super(parent,invokingState)}LBRACE(){return this.getToken(SysMLv2Parser.LBRACE,0)}functionBodyPart(){return this.getRuleContext(0,FunctionBodyPartContext)}RBRACE(){return this.getToken(SysMLv2Parser.RBRACE,0)}get ruleIndex(){return SysMLv2Parser.RULE_bodyExpression}enterRule(listener){listener.enterBodyExpression&&listener.enterBodyExpression(this)}exitRule(listener){listener.exitBodyExpression&&listener.exitBodyExpression(this)}accept(visitor){return visitor.visitBodyExpression?visitor.visitBodyExpression(this):visitor.visitChildren(this)}},ArgumentListContext=class extends ParserRuleContext{constructor(parent,invokingState){super(parent,invokingState)}LPAREN(){return this.getToken(SysMLv2Parser.LPAREN,0)}RPAREN(){return this.getToken(SysMLv2Parser.RPAREN,0)}positionalArgumentList(){return this.getRuleContext(0,PositionalArgumentListContext)}namedArgumentList(){return this.getRuleContext(0,NamedArgumentListContext)}get ruleIndex(){return SysMLv2Parser.RULE_argumentList}enterRule(listener){listener.enterArgumentList&&listener.enterArgumentList(this)}exitRule(listener){listener.exitArgumentList&&listener.exitArgumentList(this)}accept(visitor){return visitor.visitArgumentList?visitor.visitArgumentList(this):visitor.visitChildren(this)}},PositionalArgumentListContext=class extends ParserRuleContext{constructor(parent,invokingState){super(parent,invokingState)}ownedExpression(i){return i===void 0?this.getRuleContexts(OwnedExpressionContext):this.getRuleContext(i,OwnedExpressionContext)}COMMA(i){return i===void 0?this.getTokens(SysMLv2Parser.COMMA):this.getToken(SysMLv2Parser.COMMA,i)}get ruleIndex(){return SysMLv2Parser.RULE_positionalArgumentList}enterRule(listener){listener.enterPositionalArgumentList&&listener.enterPositionalArgumentList(this)}exitRule(listener){listener.exitPositionalArgumentList&&listener.exitPositionalArgumentList(this)}accept(visitor){return visitor.visitPositionalArgumentList?visitor.visitPositionalArgumentList(this):visitor.visitChildren(this)}},NamedArgumentListContext=class extends ParserRuleContext{constructor(parent,invokingState){super(parent,invokingState)}namedArgument(i){return i===void 0?this.getRuleContexts(NamedArgumentContext):this.getRuleContext(i,NamedArgumentContext)}COMMA(i){return i===void 0?this.getTokens(SysMLv2Parser.COMMA):this.getToken(SysMLv2Parser.COMMA,i)}get ruleIndex(){return SysMLv2Parser.RULE_namedArgumentList}enterRule(listener){listener.enterNamedArgumentList&&listener.enterNamedArgumentList(this)}exitRule(listener){listener.exitNamedArgumentList&&listener.exitNamedArgumentList(this)}accept(visitor){return visitor.visitNamedArgumentList?visitor.visitNamedArgumentList(this):visitor.visitChildren(this)}},NamedArgumentContext=class extends ParserRuleContext{constructor(parent,invokingState){super(parent,invokingState)}qualifiedName(){return this.getRuleContext(0,QualifiedNameContext)}EQ(){return this.getToken(SysMLv2Parser.EQ,0)}ownedExpression(){return this.getRuleContext(0,OwnedExpressionContext)}get ruleIndex(){return SysMLv2Parser.RULE_namedArgument}enterRule(listener){listener.enterNamedArgument&&listener.enterNamedArgument(this)}exitRule(listener){listener.exitNamedArgument&&listener.exitNamedArgument(this)}accept(visitor){return visitor.visitNamedArgument?visitor.visitNamedArgument(this):visitor.visitChildren(this)}},LiteralExpressionContext=class extends ParserRuleContext{constructor(parent,invokingState){super(parent,invokingState)}literalBoolean(){return this.getRuleContext(0,LiteralBooleanContext)}literalString(){return this.getRuleContext(0,LiteralStringContext)}literalInteger(){return this.getRuleContext(0,LiteralIntegerContext)}literalReal(){return this.getRuleContext(0,LiteralRealContext)}literalInfinity(){return this.getRuleContext(0,LiteralInfinityContext)}get ruleIndex(){return SysMLv2Parser.RULE_literalExpression}enterRule(listener){listener.enterLiteralExpression&&listener.enterLiteralExpression(this)}exitRule(listener){listener.exitLiteralExpression&&listener.exitLiteralExpression(this)}accept(visitor){return visitor.visitLiteralExpression?visitor.visitLiteralExpression(this):visitor.visitChildren(this)}},LiteralBooleanContext=class extends ParserRuleContext{constructor(parent,invokingState){super(parent,invokingState)}TRUE(){return this.getToken(SysMLv2Parser.TRUE,0)}FALSE(){return this.getToken(SysMLv2Parser.FALSE,0)}get ruleIndex(){return SysMLv2Parser.RULE_literalBoolean}enterRule(listener){listener.enterLiteralBoolean&&listener.enterLiteralBoolean(this)}exitRule(listener){listener.exitLiteralBoolean&&listener.exitLiteralBoolean(this)}accept(visitor){return visitor.visitLiteralBoolean?visitor.visitLiteralBoolean(this):visitor.visitChildren(this)}},LiteralStringContext=class extends ParserRuleContext{constructor(parent,invokingState){super(parent,invokingState)}DOUBLE_STRING(){return this.getToken(SysMLv2Parser.DOUBLE_STRING,0)}get ruleIndex(){return SysMLv2Parser.RULE_literalString}enterRule(listener){listener.enterLiteralString&&listener.enterLiteralString(this)}exitRule(listener){listener.exitLiteralString&&listener.exitLiteralString(this)}accept(visitor){return visitor.visitLiteralString?visitor.visitLiteralString(this):visitor.visitChildren(this)}},LiteralIntegerContext=class extends ParserRuleContext{constructor(parent,invokingState){super(parent,invokingState)}INTEGER(){return this.getToken(SysMLv2Parser.INTEGER,0)}get ruleIndex(){return SysMLv2Parser.RULE_literalInteger}enterRule(listener){listener.enterLiteralInteger&&listener.enterLiteralInteger(this)}exitRule(listener){listener.exitLiteralInteger&&listener.exitLiteralInteger(this)}accept(visitor){return visitor.visitLiteralInteger?visitor.visitLiteralInteger(this):visitor.visitChildren(this)}},LiteralRealContext=class extends ParserRuleContext{constructor(parent,invokingState){super(parent,invokingState)}REAL(){return this.getToken(SysMLv2Parser.REAL,0)}get ruleIndex(){return SysMLv2Parser.RULE_literalReal}enterRule(listener){listener.enterLiteralReal&&listener.enterLiteralReal(this)}exitRule(listener){listener.exitLiteralReal&&listener.exitLiteralReal(this)}accept(visitor){return visitor.visitLiteralReal?visitor.visitLiteralReal(this):visitor.visitChildren(this)}},LiteralInfinityContext=class extends ParserRuleContext{constructor(parent,invokingState){super(parent,invokingState)}STAR(){return this.getToken(SysMLv2Parser.STAR,0)}get ruleIndex(){return SysMLv2Parser.RULE_literalInfinity}enterRule(listener){listener.enterLiteralInfinity&&listener.enterLiteralInfinity(this)}exitRule(listener){listener.exitLiteralInfinity&&listener.exitLiteralInfinity(this)}accept(visitor){return visitor.visitLiteralInfinity?visitor.visitLiteralInfinity(this):visitor.visitChildren(this)}},ArgumentMemberContext=class extends ParserRuleContext{constructor(parent,invokingState){super(parent,invokingState)}ownedExpression(){return this.getRuleContext(0,OwnedExpressionContext)}get ruleIndex(){return SysMLv2Parser.RULE_argumentMember}enterRule(listener){listener.enterArgumentMember&&listener.enterArgumentMember(this)}exitRule(listener){listener.exitArgumentMember&&listener.exitArgumentMember(this)}accept(visitor){return visitor.visitArgumentMember?visitor.visitArgumentMember(this):visitor.visitChildren(this)}},ArgumentExpressionMemberContext=class extends ParserRuleContext{constructor(parent,invokingState){super(parent,invokingState)}ownedExpression(){return this.getRuleContext(0,OwnedExpressionContext)}get ruleIndex(){return SysMLv2Parser.RULE_argumentExpressionMember}enterRule(listener){listener.enterArgumentExpressionMember&&listener.enterArgumentExpressionMember(this)}exitRule(listener){listener.exitArgumentExpressionMember&&listener.exitArgumentExpressionMember(this)}accept(visitor){return visitor.visitArgumentExpressionMember?visitor.visitArgumentExpressionMember(this):visitor.visitChildren(this)}},NameContext=class extends ParserRuleContext{constructor(parent,invokingState){super(parent,invokingState)}IDENTIFIER(){return this.getToken(SysMLv2Parser.IDENTIFIER,0)}STRING(){return this.getToken(SysMLv2Parser.STRING,0)}get ruleIndex(){return SysMLv2Parser.RULE_name}enterRule(listener){listener.enterName&&listener.enterName(this)}exitRule(listener){listener.exitName&&listener.exitName(this)}accept(visitor){return visitor.visitName?visitor.visitName(this):visitor.visitChildren(this)}},IdentificationContext=class extends ParserRuleContext{constructor(parent,invokingState){super(parent,invokingState)}LT(){return this.getToken(SysMLv2Parser.LT,0)}name(i){return i===void 0?this.getRuleContexts(NameContext):this.getRuleContext(i,NameContext)}GT(){return this.getToken(SysMLv2Parser.GT,0)}get ruleIndex(){return SysMLv2Parser.RULE_identification}enterRule(listener){listener.enterIdentification&&listener.enterIdentification(this)}exitRule(listener){listener.exitIdentification&&listener.exitIdentification(this)}accept(visitor){return visitor.visitIdentification?visitor.visitIdentification(this):visitor.visitChildren(this)}},RelationshipBodyContext=class extends ParserRuleContext{constructor(parent,invokingState){super(parent,invokingState)}SEMI(){return this.getToken(SysMLv2Parser.SEMI,0)}LBRACE(){return this.getToken(SysMLv2Parser.LBRACE,0)}RBRACE(){return this.getToken(SysMLv2Parser.RBRACE,0)}relationshipOwnedElement(i){return i===void 0?this.getRuleContexts(RelationshipOwnedElementContext):this.getRuleContext(i,RelationshipOwnedElementContext)}ownedAnnotation(i){return i===void 0?this.getRuleContexts(OwnedAnnotationContext):this.getRuleContext(i,OwnedAnnotationContext)}get ruleIndex(){return SysMLv2Parser.RULE_relationshipBody}enterRule(listener){listener.enterRelationshipBody&&listener.enterRelationshipBody(this)}exitRule(listener){listener.exitRelationshipBody&&listener.exitRelationshipBody(this)}accept(visitor){return visitor.visitRelationshipBody?visitor.visitRelationshipBody(this):visitor.visitChildren(this)}},RelationshipOwnedElementContext=class extends ParserRuleContext{constructor(parent,invokingState){super(parent,invokingState)}ownedRelatedElement(){return this.getRuleContext(0,OwnedRelatedElementContext)}ownedAnnotation(){return this.getRuleContext(0,OwnedAnnotationContext)}get ruleIndex(){return SysMLv2Parser.RULE_relationshipOwnedElement}enterRule(listener){listener.enterRelationshipOwnedElement&&listener.enterRelationshipOwnedElement(this)}exitRule(listener){listener.exitRelationshipOwnedElement&&listener.exitRelationshipOwnedElement(this)}accept(visitor){return visitor.visitRelationshipOwnedElement?visitor.visitRelationshipOwnedElement(this):visitor.visitChildren(this)}},OwnedRelatedElementContext=class extends ParserRuleContext{constructor(parent,invokingState){super(parent,invokingState)}nonFeatureElement(){return this.getRuleContext(0,NonFeatureElementContext)}featureElement(){return this.getRuleContext(0,FeatureElementContext)}get ruleIndex(){return SysMLv2Parser.RULE_ownedRelatedElement}enterRule(listener){listener.enterOwnedRelatedElement&&listener.enterOwnedRelatedElement(this)}exitRule(listener){listener.exitOwnedRelatedElement&&listener.exitOwnedRelatedElement(this)}accept(visitor){return visitor.visitOwnedRelatedElement?visitor.visitOwnedRelatedElement(this):visitor.visitChildren(this)}},DependencyContext=class extends ParserRuleContext{constructor(parent,invokingState){super(parent,invokingState)}DEPENDENCY(){return this.getToken(SysMLv2Parser.DEPENDENCY,0)}qualifiedName(i){return i===void 0?this.getRuleContexts(QualifiedNameContext):this.getRuleContext(i,QualifiedNameContext)}TO(){return this.getToken(SysMLv2Parser.TO,0)}relationshipBody(){return this.getRuleContext(0,RelationshipBodyContext)}prefixMetadataAnnotation(i){return i===void 0?this.getRuleContexts(PrefixMetadataAnnotationContext):this.getRuleContext(i,PrefixMetadataAnnotationContext)}FROM(){return this.getToken(SysMLv2Parser.FROM,0)}COMMA(i){return i===void 0?this.getTokens(SysMLv2Parser.COMMA):this.getToken(SysMLv2Parser.COMMA,i)}identification(){return this.getRuleContext(0,IdentificationContext)}dependencyDeclaration(){return this.getRuleContext(0,DependencyDeclarationContext)}get ruleIndex(){return SysMLv2Parser.RULE_dependency}enterRule(listener){listener.enterDependency&&listener.enterDependency(this)}exitRule(listener){listener.exitDependency&&listener.exitDependency(this)}accept(visitor){return visitor.visitDependency?visitor.visitDependency(this):visitor.visitChildren(this)}},AnnotationContext=class extends ParserRuleContext{constructor(parent,invokingState){super(parent,invokingState)}qualifiedName(){return this.getRuleContext(0,QualifiedNameContext)}get ruleIndex(){return SysMLv2Parser.RULE_annotation}enterRule(listener){listener.enterAnnotation&&listener.enterAnnotation(this)}exitRule(listener){listener.exitAnnotation&&listener.exitAnnotation(this)}accept(visitor){return visitor.visitAnnotation?visitor.visitAnnotation(this):visitor.visitChildren(this)}},OwnedAnnotationContext=class extends ParserRuleContext{constructor(parent,invokingState){super(parent,invokingState)}annotatingElement(){return this.getRuleContext(0,AnnotatingElementContext)}get ruleIndex(){return SysMLv2Parser.RULE_ownedAnnotation}enterRule(listener){listener.enterOwnedAnnotation&&listener.enterOwnedAnnotation(this)}exitRule(listener){listener.exitOwnedAnnotation&&listener.exitOwnedAnnotation(this)}accept(visitor){return visitor.visitOwnedAnnotation?visitor.visitOwnedAnnotation(this):visitor.visitChildren(this)}},AnnotatingElementContext=class extends ParserRuleContext{constructor(parent,invokingState){super(parent,invokingState)}comment(){return this.getRuleContext(0,CommentContext)}documentation(){return this.getRuleContext(0,DocumentationContext)}textualRepresentation(){return this.getRuleContext(0,TextualRepresentationContext)}metadataFeature(){return this.getRuleContext(0,MetadataFeatureContext)}get ruleIndex(){return SysMLv2Parser.RULE_annotatingElement}enterRule(listener){listener.enterAnnotatingElement&&listener.enterAnnotatingElement(this)}exitRule(listener){listener.exitAnnotatingElement&&listener.exitAnnotatingElement(this)}accept(visitor){return visitor.visitAnnotatingElement?visitor.visitAnnotatingElement(this):visitor.visitChildren(this)}},CommentContext=class extends ParserRuleContext{constructor(parent,invokingState){super(parent,invokingState)}REGULAR_COMMENT(){return this.getToken(SysMLv2Parser.REGULAR_COMMENT,0)}COMMENT(){return this.getToken(SysMLv2Parser.COMMENT,0)}LOCALE(){return this.getToken(SysMLv2Parser.LOCALE,0)}DOUBLE_STRING(){return this.getToken(SysMLv2Parser.DOUBLE_STRING,0)}identification(){return this.getRuleContext(0,IdentificationContext)}ABOUT(){return this.getToken(SysMLv2Parser.ABOUT,0)}annotation(i){return i===void 0?this.getRuleContexts(AnnotationContext):this.getRuleContext(i,AnnotationContext)}COMMA(i){return i===void 0?this.getTokens(SysMLv2Parser.COMMA):this.getToken(SysMLv2Parser.COMMA,i)}get ruleIndex(){return SysMLv2Parser.RULE_comment}enterRule(listener){listener.enterComment&&listener.enterComment(this)}exitRule(listener){listener.exitComment&&listener.exitComment(this)}accept(visitor){return visitor.visitComment?visitor.visitComment(this):visitor.visitChildren(this)}},DocumentationContext=class extends ParserRuleContext{constructor(parent,invokingState){super(parent,invokingState)}DOC(){return this.getToken(SysMLv2Parser.DOC,0)}REGULAR_COMMENT(){return this.getToken(SysMLv2Parser.REGULAR_COMMENT,0)}identification(){return this.getRuleContext(0,IdentificationContext)}LOCALE(){return this.getToken(SysMLv2Parser.LOCALE,0)}DOUBLE_STRING(){return this.getToken(SysMLv2Parser.DOUBLE_STRING,0)}get ruleIndex(){return SysMLv2Parser.RULE_documentation}enterRule(listener){listener.enterDocumentation&&listener.enterDocumentation(this)}exitRule(listener){listener.exitDocumentation&&listener.exitDocumentation(this)}accept(visitor){return visitor.visitDocumentation?visitor.visitDocumentation(this):visitor.visitChildren(this)}},TextualRepresentationContext=class extends ParserRuleContext{constructor(parent,invokingState){super(parent,invokingState)}LANGUAGE(){return this.getToken(SysMLv2Parser.LANGUAGE,0)}DOUBLE_STRING(){return this.getToken(SysMLv2Parser.DOUBLE_STRING,0)}REGULAR_COMMENT(){return this.getToken(SysMLv2Parser.REGULAR_COMMENT,0)}REP(){return this.getToken(SysMLv2Parser.REP,0)}identification(){return this.getRuleContext(0,IdentificationContext)}get ruleIndex(){return SysMLv2Parser.RULE_textualRepresentation}enterRule(listener){listener.enterTextualRepresentation&&listener.enterTextualRepresentation(this)}exitRule(listener){listener.exitTextualRepresentation&&listener.exitTextualRepresentation(this)}accept(visitor){return visitor.visitTextualRepresentation?visitor.visitTextualRepresentation(this):visitor.visitChildren(this)}},RootNamespaceContext=class extends ParserRuleContext{constructor(parent,invokingState){super(parent,invokingState)}EOF(){return this.getToken(SysMLv2Parser.EOF,0)}packageBodyElement(i){return i===void 0?this.getRuleContexts(PackageBodyElementContext):this.getRuleContext(i,PackageBodyElementContext)}get ruleIndex(){return SysMLv2Parser.RULE_rootNamespace}enterRule(listener){listener.enterRootNamespace&&listener.enterRootNamespace(this)}exitRule(listener){listener.exitRootNamespace&&listener.exitRootNamespace(this)}accept(visitor){return visitor.visitRootNamespace?visitor.visitRootNamespace(this):visitor.visitChildren(this)}},NamespaceContext=class extends ParserRuleContext{constructor(parent,invokingState){super(parent,invokingState)}namespaceDeclaration(){return this.getRuleContext(0,NamespaceDeclarationContext)}namespaceBody(){return this.getRuleContext(0,NamespaceBodyContext)}prefixMetadataMember(i){return i===void 0?this.getRuleContexts(PrefixMetadataMemberContext):this.getRuleContext(i,PrefixMetadataMemberContext)}get ruleIndex(){return SysMLv2Parser.RULE_namespace}enterRule(listener){listener.enterNamespace&&listener.enterNamespace(this)}exitRule(listener){listener.exitNamespace&&listener.exitNamespace(this)}accept(visitor){return visitor.visitNamespace?visitor.visitNamespace(this):visitor.visitChildren(this)}},NamespaceDeclarationContext=class extends ParserRuleContext{constructor(parent,invokingState){super(parent,invokingState)}NAMESPACE(){return this.getToken(SysMLv2Parser.NAMESPACE,0)}identification(){return this.getRuleContext(0,IdentificationContext)}get ruleIndex(){return SysMLv2Parser.RULE_namespaceDeclaration}enterRule(listener){listener.enterNamespaceDeclaration&&listener.enterNamespaceDeclaration(this)}exitRule(listener){listener.exitNamespaceDeclaration&&listener.exitNamespaceDeclaration(this)}accept(visitor){return visitor.visitNamespaceDeclaration?visitor.visitNamespaceDeclaration(this):visitor.visitChildren(this)}},NamespaceBodyContext=class extends ParserRuleContext{constructor(parent,invokingState){super(parent,invokingState)}SEMI(){return this.getToken(SysMLv2Parser.SEMI,0)}LBRACE(){return this.getToken(SysMLv2Parser.LBRACE,0)}RBRACE(){return this.getToken(SysMLv2Parser.RBRACE,0)}namespaceBodyElement(i){return i===void 0?this.getRuleContexts(NamespaceBodyElementContext):this.getRuleContext(i,NamespaceBodyElementContext)}get ruleIndex(){return SysMLv2Parser.RULE_namespaceBody}enterRule(listener){listener.enterNamespaceBody&&listener.enterNamespaceBody(this)}exitRule(listener){listener.exitNamespaceBody&&listener.exitNamespaceBody(this)}accept(visitor){return visitor.visitNamespaceBody?visitor.visitNamespaceBody(this):visitor.visitChildren(this)}},NamespaceBodyElementContext=class extends ParserRuleContext{constructor(parent,invokingState){super(parent,invokingState)}namespaceMember(){return this.getRuleContext(0,NamespaceMemberContext)}aliasMember(){return this.getRuleContext(0,AliasMemberContext)}importRule(){return this.getRuleContext(0,ImportRuleContext)}get ruleIndex(){return SysMLv2Parser.RULE_namespaceBodyElement}enterRule(listener){listener.enterNamespaceBodyElement&&listener.enterNamespaceBodyElement(this)}exitRule(listener){listener.exitNamespaceBodyElement&&listener.exitNamespaceBodyElement(this)}accept(visitor){return visitor.visitNamespaceBodyElement?visitor.visitNamespaceBodyElement(this):visitor.visitChildren(this)}},MemberPrefixContext=class extends ParserRuleContext{constructor(parent,invokingState){super(parent,invokingState)}visibilityIndicator(){return this.getRuleContext(0,VisibilityIndicatorContext)}get ruleIndex(){return SysMLv2Parser.RULE_memberPrefix}enterRule(listener){listener.enterMemberPrefix&&listener.enterMemberPrefix(this)}exitRule(listener){listener.exitMemberPrefix&&listener.exitMemberPrefix(this)}accept(visitor){return visitor.visitMemberPrefix?visitor.visitMemberPrefix(this):visitor.visitChildren(this)}},VisibilityIndicatorContext=class extends ParserRuleContext{constructor(parent,invokingState){super(parent,invokingState)}PUBLIC(){return this.getToken(SysMLv2Parser.PUBLIC,0)}PRIVATE(){return this.getToken(SysMLv2Parser.PRIVATE,0)}PROTECTED(){return this.getToken(SysMLv2Parser.PROTECTED,0)}get ruleIndex(){return SysMLv2Parser.RULE_visibilityIndicator}enterRule(listener){listener.enterVisibilityIndicator&&listener.enterVisibilityIndicator(this)}exitRule(listener){listener.exitVisibilityIndicator&&listener.exitVisibilityIndicator(this)}accept(visitor){return visitor.visitVisibilityIndicator?visitor.visitVisibilityIndicator(this):visitor.visitChildren(this)}},NamespaceMemberContext=class extends ParserRuleContext{constructor(parent,invokingState){super(parent,invokingState)}nonFeatureMember(){return this.getRuleContext(0,NonFeatureMemberContext)}namespaceFeatureMember(){return this.getRuleContext(0,NamespaceFeatureMemberContext)}get ruleIndex(){return SysMLv2Parser.RULE_namespaceMember}enterRule(listener){listener.enterNamespaceMember&&listener.enterNamespaceMember(this)}exitRule(listener){listener.exitNamespaceMember&&listener.exitNamespaceMember(this)}accept(visitor){return visitor.visitNamespaceMember?visitor.visitNamespaceMember(this):visitor.visitChildren(this)}},NonFeatureMemberContext=class extends ParserRuleContext{constructor(parent,invokingState){super(parent,invokingState)}memberPrefix(){return this.getRuleContext(0,MemberPrefixContext)}memberElement(){return this.getRuleContext(0,MemberElementContext)}get ruleIndex(){return SysMLv2Parser.RULE_nonFeatureMember}enterRule(listener){listener.enterNonFeatureMember&&listener.enterNonFeatureMember(this)}exitRule(listener){listener.exitNonFeatureMember&&listener.exitNonFeatureMember(this)}accept(visitor){return visitor.visitNonFeatureMember?visitor.visitNonFeatureMember(this):visitor.visitChildren(this)}},NamespaceFeatureMemberContext=class extends ParserRuleContext{constructor(parent,invokingState){super(parent,invokingState)}memberPrefix(){return this.getRuleContext(0,MemberPrefixContext)}featureElement(){return this.getRuleContext(0,FeatureElementContext)}get ruleIndex(){return SysMLv2Parser.RULE_namespaceFeatureMember}enterRule(listener){listener.enterNamespaceFeatureMember&&listener.enterNamespaceFeatureMember(this)}exitRule(listener){listener.exitNamespaceFeatureMember&&listener.exitNamespaceFeatureMember(this)}accept(visitor){return visitor.visitNamespaceFeatureMember?visitor.visitNamespaceFeatureMember(this):visitor.visitChildren(this)}},AliasMemberContext=class extends ParserRuleContext{constructor(parent,invokingState){super(parent,invokingState)}memberPrefix(){return this.getRuleContext(0,MemberPrefixContext)}ALIAS(){return this.getToken(SysMLv2Parser.ALIAS,0)}FOR(){return this.getToken(SysMLv2Parser.FOR,0)}qualifiedName(){return this.getRuleContext(0,QualifiedNameContext)}relationshipBody(){return this.getRuleContext(0,RelationshipBodyContext)}LT(){return this.getToken(SysMLv2Parser.LT,0)}name(i){return i===void 0?this.getRuleContexts(NameContext):this.getRuleContext(i,NameContext)}GT(){return this.getToken(SysMLv2Parser.GT,0)}get ruleIndex(){return SysMLv2Parser.RULE_aliasMember}enterRule(listener){listener.enterAliasMember&&listener.enterAliasMember(this)}exitRule(listener){listener.exitAliasMember&&listener.exitAliasMember(this)}accept(visitor){return visitor.visitAliasMember?visitor.visitAliasMember(this):visitor.visitChildren(this)}},QualifiedNameContext=class extends ParserRuleContext{constructor(parent,invokingState){super(parent,invokingState)}name(i){return i===void 0?this.getRuleContexts(NameContext):this.getRuleContext(i,NameContext)}DOLLAR(){return this.getToken(SysMLv2Parser.DOLLAR,0)}COLON_COLON(i){return i===void 0?this.getTokens(SysMLv2Parser.COLON_COLON):this.getToken(SysMLv2Parser.COLON_COLON,i)}get ruleIndex(){return SysMLv2Parser.RULE_qualifiedName}enterRule(listener){listener.enterQualifiedName&&listener.enterQualifiedName(this)}exitRule(listener){listener.exitQualifiedName&&listener.exitQualifiedName(this)}accept(visitor){return visitor.visitQualifiedName?visitor.visitQualifiedName(this):visitor.visitChildren(this)}},ImportRuleContext=class extends ParserRuleContext{constructor(parent,invokingState){super(parent,invokingState)}IMPORT(){return this.getToken(SysMLv2Parser.IMPORT,0)}importDeclaration(){return this.getRuleContext(0,ImportDeclarationContext)}relationshipBody(){return this.getRuleContext(0,RelationshipBodyContext)}visibilityIndicator(){return this.getRuleContext(0,VisibilityIndicatorContext)}ALL(){return this.getToken(SysMLv2Parser.ALL,0)}get ruleIndex(){return SysMLv2Parser.RULE_importRule}enterRule(listener){listener.enterImportRule&&listener.enterImportRule(this)}exitRule(listener){listener.exitImportRule&&listener.exitImportRule(this)}accept(visitor){return visitor.visitImportRule?visitor.visitImportRule(this):visitor.visitChildren(this)}},ImportDeclarationContext=class extends ParserRuleContext{constructor(parent,invokingState){super(parent,invokingState)}membershipImport(){return this.getRuleContext(0,MembershipImportContext)}namespaceImport(){return this.getRuleContext(0,NamespaceImportContext)}get ruleIndex(){return SysMLv2Parser.RULE_importDeclaration}enterRule(listener){listener.enterImportDeclaration&&listener.enterImportDeclaration(this)}exitRule(listener){listener.exitImportDeclaration&&listener.exitImportDeclaration(this)}accept(visitor){return visitor.visitImportDeclaration?visitor.visitImportDeclaration(this):visitor.visitChildren(this)}},MembershipImportContext=class extends ParserRuleContext{constructor(parent,invokingState){super(parent,invokingState)}qualifiedName(){return this.getRuleContext(0,QualifiedNameContext)}COLON_COLON(){return this.getToken(SysMLv2Parser.COLON_COLON,0)}STAR_STAR(){return this.getToken(SysMLv2Parser.STAR_STAR,0)}get ruleIndex(){return SysMLv2Parser.RULE_membershipImport}enterRule(listener){listener.enterMembershipImport&&listener.enterMembershipImport(this)}exitRule(listener){listener.exitMembershipImport&&listener.exitMembershipImport(this)}accept(visitor){return visitor.visitMembershipImport?visitor.visitMembershipImport(this):visitor.visitChildren(this)}},NamespaceImportContext=class extends ParserRuleContext{constructor(parent,invokingState){super(parent,invokingState)}qualifiedName(){return this.getRuleContext(0,QualifiedNameContext)}COLON_COLON(i){return i===void 0?this.getTokens(SysMLv2Parser.COLON_COLON):this.getToken(SysMLv2Parser.COLON_COLON,i)}STAR(){return this.getToken(SysMLv2Parser.STAR,0)}STAR_STAR(){return this.getToken(SysMLv2Parser.STAR_STAR,0)}filterPackage(){return this.getRuleContext(0,FilterPackageContext)}get ruleIndex(){return SysMLv2Parser.RULE_namespaceImport}enterRule(listener){listener.enterNamespaceImport&&listener.enterNamespaceImport(this)}exitRule(listener){listener.exitNamespaceImport&&listener.exitNamespaceImport(this)}accept(visitor){return visitor.visitNamespaceImport?visitor.visitNamespaceImport(this):visitor.visitChildren(this)}},FilterPackageContext=class extends ParserRuleContext{constructor(parent,invokingState){super(parent,invokingState)}filterPackageImportDeclaration(){return this.getRuleContext(0,FilterPackageImportDeclarationContext)}filterPackageMember(i){return i===void 0?this.getRuleContexts(FilterPackageMemberContext):this.getRuleContext(i,FilterPackageMemberContext)}filterPackageImport(){return this.getRuleContext(0,FilterPackageImportContext)}get ruleIndex(){return SysMLv2Parser.RULE_filterPackage}enterRule(listener){listener.enterFilterPackage&&listener.enterFilterPackage(this)}exitRule(listener){listener.exitFilterPackage&&listener.exitFilterPackage(this)}accept(visitor){return visitor.visitFilterPackage?visitor.visitFilterPackage(this):visitor.visitChildren(this)}},FilterPackageMemberContext=class extends ParserRuleContext{constructor(parent,invokingState){super(parent,invokingState)}LBRACK(){return this.getToken(SysMLv2Parser.LBRACK,0)}ownedExpression(){return this.getRuleContext(0,OwnedExpressionContext)}RBRACK(){return this.getToken(SysMLv2Parser.RBRACK,0)}get ruleIndex(){return SysMLv2Parser.RULE_filterPackageMember}enterRule(listener){listener.enterFilterPackageMember&&listener.enterFilterPackageMember(this)}exitRule(listener){listener.exitFilterPackageMember&&listener.exitFilterPackageMember(this)}accept(visitor){return visitor.visitFilterPackageMember?visitor.visitFilterPackageMember(this):visitor.visitChildren(this)}},MemberElementContext=class extends ParserRuleContext{constructor(parent,invokingState){super(parent,invokingState)}annotatingElement(){return this.getRuleContext(0,AnnotatingElementContext)}nonFeatureElement(){return this.getRuleContext(0,NonFeatureElementContext)}get ruleIndex(){return SysMLv2Parser.RULE_memberElement}enterRule(listener){listener.enterMemberElement&&listener.enterMemberElement(this)}exitRule(listener){listener.exitMemberElement&&listener.exitMemberElement(this)}accept(visitor){return visitor.visitMemberElement?visitor.visitMemberElement(this):visitor.visitChildren(this)}},NonFeatureElementContext=class extends ParserRuleContext{constructor(parent,invokingState){super(parent,invokingState)}dependency(){return this.getRuleContext(0,DependencyContext)}namespace(){return this.getRuleContext(0,NamespaceContext)}type(){return this.getRuleContext(0,TypeContext)}classifier(){return this.getRuleContext(0,ClassifierContext)}dataType(){return this.getRuleContext(0,DataTypeContext)}class(){return this.getRuleContext(0,ClassContext)}structure(){return this.getRuleContext(0,StructureContext)}metaclass(){return this.getRuleContext(0,MetaclassContext)}association(){return this.getRuleContext(0,AssociationContext)}associationStructure(){return this.getRuleContext(0,AssociationStructureContext)}interaction(){return this.getRuleContext(0,InteractionContext)}behavior(){return this.getRuleContext(0,BehaviorContext)}function(){return this.getRuleContext(0,FunctionContext)}predicate(){return this.getRuleContext(0,PredicateContext)}multiplicity(){return this.getRuleContext(0,MultiplicityContext)}package(){return this.getRuleContext(0,PackageContext)}libraryPackage(){return this.getRuleContext(0,LibraryPackageContext)}specialization(){return this.getRuleContext(0,SpecializationContext)}conjugation(){return this.getRuleContext(0,ConjugationContext)}subclassification(){return this.getRuleContext(0,SubclassificationContext)}disjoining(){return this.getRuleContext(0,DisjoiningContext)}featureInverting(){return this.getRuleContext(0,FeatureInvertingContext)}featureTyping(){return this.getRuleContext(0,FeatureTypingContext)}subsetting(){return this.getRuleContext(0,SubsettingContext)}redefinition(){return this.getRuleContext(0,RedefinitionContext)}typeFeaturing(){return this.getRuleContext(0,TypeFeaturingContext)}get ruleIndex(){return SysMLv2Parser.RULE_nonFeatureElement}enterRule(listener){listener.enterNonFeatureElement&&listener.enterNonFeatureElement(this)}exitRule(listener){listener.exitNonFeatureElement&&listener.exitNonFeatureElement(this)}accept(visitor){return visitor.visitNonFeatureElement?visitor.visitNonFeatureElement(this):visitor.visitChildren(this)}},FeatureElementContext=class extends ParserRuleContext{constructor(parent,invokingState){super(parent,invokingState)}feature(){return this.getRuleContext(0,FeatureContext)}step(){return this.getRuleContext(0,StepContext)}expression(){return this.getRuleContext(0,ExpressionContext)}booleanExpression(){return this.getRuleContext(0,BooleanExpressionContext)}invariant(){return this.getRuleContext(0,InvariantContext)}connector(){return this.getRuleContext(0,ConnectorContext)}bindingConnector(){return this.getRuleContext(0,BindingConnectorContext)}succession(){return this.getRuleContext(0,SuccessionContext)}flow(){return this.getRuleContext(0,FlowContext)}successionFlow(){return this.getRuleContext(0,SuccessionFlowContext)}get ruleIndex(){return SysMLv2Parser.RULE_featureElement}enterRule(listener){listener.enterFeatureElement&&listener.enterFeatureElement(this)}exitRule(listener){listener.exitFeatureElement&&listener.exitFeatureElement(this)}accept(visitor){return visitor.visitFeatureElement?visitor.visitFeatureElement(this):visitor.visitChildren(this)}},TypeContext=class extends ParserRuleContext{constructor(parent,invokingState){super(parent,invokingState)}typePrefix(){return this.getRuleContext(0,TypePrefixContext)}TYPE(){return this.getToken(SysMLv2Parser.TYPE,0)}typeDeclaration(){return this.getRuleContext(0,TypeDeclarationContext)}typeBody(){return this.getRuleContext(0,TypeBodyContext)}get ruleIndex(){return SysMLv2Parser.RULE_type}enterRule(listener){listener.enterType&&listener.enterType(this)}exitRule(listener){listener.exitType&&listener.exitType(this)}accept(visitor){return visitor.visitType?visitor.visitType(this):visitor.visitChildren(this)}},TypePrefixContext=class extends ParserRuleContext{constructor(parent,invokingState){super(parent,invokingState)}ABSTRACT(){return this.getToken(SysMLv2Parser.ABSTRACT,0)}prefixMetadataMember(i){return i===void 0?this.getRuleContexts(PrefixMetadataMemberContext):this.getRuleContext(i,PrefixMetadataMemberContext)}get ruleIndex(){return SysMLv2Parser.RULE_typePrefix}enterRule(listener){listener.enterTypePrefix&&listener.enterTypePrefix(this)}exitRule(listener){listener.exitTypePrefix&&listener.exitTypePrefix(this)}accept(visitor){return visitor.visitTypePrefix?visitor.visitTypePrefix(this):visitor.visitChildren(this)}},TypeDeclarationContext=class extends ParserRuleContext{constructor(parent,invokingState){super(parent,invokingState)}ALL(){return this.getToken(SysMLv2Parser.ALL,0)}identification(){return this.getRuleContext(0,IdentificationContext)}ownedMultiplicity(){return this.getRuleContext(0,OwnedMultiplicityContext)}specializationPart(i){return i===void 0?this.getRuleContexts(SpecializationPartContext):this.getRuleContext(i,SpecializationPartContext)}conjugationPart(i){return i===void 0?this.getRuleContexts(ConjugationPartContext):this.getRuleContext(i,ConjugationPartContext)}typeRelationshipPart(i){return i===void 0?this.getRuleContexts(TypeRelationshipPartContext):this.getRuleContext(i,TypeRelationshipPartContext)}get ruleIndex(){return SysMLv2Parser.RULE_typeDeclaration}enterRule(listener){listener.enterTypeDeclaration&&listener.enterTypeDeclaration(this)}exitRule(listener){listener.exitTypeDeclaration&&listener.exitTypeDeclaration(this)}accept(visitor){return visitor.visitTypeDeclaration?visitor.visitTypeDeclaration(this):visitor.visitChildren(this)}},SpecializationPartContext=class extends ParserRuleContext{constructor(parent,invokingState){super(parent,invokingState)}ownedSpecialization(i){return i===void 0?this.getRuleContexts(OwnedSpecializationContext):this.getRuleContext(i,OwnedSpecializationContext)}COLON_GT(){return this.getToken(SysMLv2Parser.COLON_GT,0)}SPECIALIZES(){return this.getToken(SysMLv2Parser.SPECIALIZES,0)}COMMA(i){return i===void 0?this.getTokens(SysMLv2Parser.COMMA):this.getToken(SysMLv2Parser.COMMA,i)}get ruleIndex(){return SysMLv2Parser.RULE_specializationPart}enterRule(listener){listener.enterSpecializationPart&&listener.enterSpecializationPart(this)}exitRule(listener){listener.exitSpecializationPart&&listener.exitSpecializationPart(this)}accept(visitor){return visitor.visitSpecializationPart?visitor.visitSpecializationPart(this):visitor.visitChildren(this)}},ConjugationPartContext=class extends ParserRuleContext{constructor(parent,invokingState){super(parent,invokingState)}ownedConjugation(){return this.getRuleContext(0,OwnedConjugationContext)}TILDE(){return this.getToken(SysMLv2Parser.TILDE,0)}CONJUGATES(){return this.getToken(SysMLv2Parser.CONJUGATES,0)}get ruleIndex(){return SysMLv2Parser.RULE_conjugationPart}enterRule(listener){listener.enterConjugationPart&&listener.enterConjugationPart(this)}exitRule(listener){listener.exitConjugationPart&&listener.exitConjugationPart(this)}accept(visitor){return visitor.visitConjugationPart?visitor.visitConjugationPart(this):visitor.visitChildren(this)}},TypeRelationshipPartContext=class extends ParserRuleContext{constructor(parent,invokingState){super(parent,invokingState)}disjoiningPart(){return this.getRuleContext(0,DisjoiningPartContext)}unioningPart(){return this.getRuleContext(0,UnioningPartContext)}intersectingPart(){return this.getRuleContext(0,IntersectingPartContext)}differencingPart(){return this.getRuleContext(0,DifferencingPartContext)}get ruleIndex(){return SysMLv2Parser.RULE_typeRelationshipPart}enterRule(listener){listener.enterTypeRelationshipPart&&listener.enterTypeRelationshipPart(this)}exitRule(listener){listener.exitTypeRelationshipPart&&listener.exitTypeRelationshipPart(this)}accept(visitor){return visitor.visitTypeRelationshipPart?visitor.visitTypeRelationshipPart(this):visitor.visitChildren(this)}},DisjoiningPartContext=class extends ParserRuleContext{constructor(parent,invokingState){super(parent,invokingState)}DISJOINT(){return this.getToken(SysMLv2Parser.DISJOINT,0)}FROM(){return this.getToken(SysMLv2Parser.FROM,0)}ownedDisjoining(i){return i===void 0?this.getRuleContexts(OwnedDisjoiningContext):this.getRuleContext(i,OwnedDisjoiningContext)}COMMA(i){return i===void 0?this.getTokens(SysMLv2Parser.COMMA):this.getToken(SysMLv2Parser.COMMA,i)}get ruleIndex(){return SysMLv2Parser.RULE_disjoiningPart}enterRule(listener){listener.enterDisjoiningPart&&listener.enterDisjoiningPart(this)}exitRule(listener){listener.exitDisjoiningPart&&listener.exitDisjoiningPart(this)}accept(visitor){return visitor.visitDisjoiningPart?visitor.visitDisjoiningPart(this):visitor.visitChildren(this)}},UnioningPartContext=class extends ParserRuleContext{constructor(parent,invokingState){super(parent,invokingState)}UNIONS(){return this.getToken(SysMLv2Parser.UNIONS,0)}unioning(i){return i===void 0?this.getRuleContexts(UnioningContext):this.getRuleContext(i,UnioningContext)}COMMA(i){return i===void 0?this.getTokens(SysMLv2Parser.COMMA):this.getToken(SysMLv2Parser.COMMA,i)}get ruleIndex(){return SysMLv2Parser.RULE_unioningPart}enterRule(listener){listener.enterUnioningPart&&listener.enterUnioningPart(this)}exitRule(listener){listener.exitUnioningPart&&listener.exitUnioningPart(this)}accept(visitor){return visitor.visitUnioningPart?visitor.visitUnioningPart(this):visitor.visitChildren(this)}},IntersectingPartContext=class extends ParserRuleContext{constructor(parent,invokingState){super(parent,invokingState)}INTERSECTS(){return this.getToken(SysMLv2Parser.INTERSECTS,0)}intersecting(i){return i===void 0?this.getRuleContexts(IntersectingContext):this.getRuleContext(i,IntersectingContext)}COMMA(i){return i===void 0?this.getTokens(SysMLv2Parser.COMMA):this.getToken(SysMLv2Parser.COMMA,i)}get ruleIndex(){return SysMLv2Parser.RULE_intersectingPart}enterRule(listener){listener.enterIntersectingPart&&listener.enterIntersectingPart(this)}exitRule(listener){listener.exitIntersectingPart&&listener.exitIntersectingPart(this)}accept(visitor){return visitor.visitIntersectingPart?visitor.visitIntersectingPart(this):visitor.visitChildren(this)}},DifferencingPartContext=class extends ParserRuleContext{constructor(parent,invokingState){super(parent,invokingState)}DIFFERENCES(){return this.getToken(SysMLv2Parser.DIFFERENCES,0)}differencing(i){return i===void 0?this.getRuleContexts(DifferencingContext):this.getRuleContext(i,DifferencingContext)}COMMA(i){return i===void 0?this.getTokens(SysMLv2Parser.COMMA):this.getToken(SysMLv2Parser.COMMA,i)}get ruleIndex(){return SysMLv2Parser.RULE_differencingPart}enterRule(listener){listener.enterDifferencingPart&&listener.enterDifferencingPart(this)}exitRule(listener){listener.exitDifferencingPart&&listener.exitDifferencingPart(this)}accept(visitor){return visitor.visitDifferencingPart?visitor.visitDifferencingPart(this):visitor.visitChildren(this)}},TypeBodyContext=class extends ParserRuleContext{constructor(parent,invokingState){super(parent,invokingState)}SEMI(){return this.getToken(SysMLv2Parser.SEMI,0)}LBRACE(){return this.getToken(SysMLv2Parser.LBRACE,0)}RBRACE(){return this.getToken(SysMLv2Parser.RBRACE,0)}typeBodyElement(i){return i===void 0?this.getRuleContexts(TypeBodyElementContext):this.getRuleContext(i,TypeBodyElementContext)}get ruleIndex(){return SysMLv2Parser.RULE_typeBody}enterRule(listener){listener.enterTypeBody&&listener.enterTypeBody(this)}exitRule(listener){listener.exitTypeBody&&listener.exitTypeBody(this)}accept(visitor){return visitor.visitTypeBody?visitor.visitTypeBody(this):visitor.visitChildren(this)}},TypeBodyElementContext=class extends ParserRuleContext{constructor(parent,invokingState){super(parent,invokingState)}nonFeatureMember(){return this.getRuleContext(0,NonFeatureMemberContext)}featureMember(){return this.getRuleContext(0,FeatureMemberContext)}aliasMember(){return this.getRuleContext(0,AliasMemberContext)}importRule(){return this.getRuleContext(0,ImportRuleContext)}get ruleIndex(){return SysMLv2Parser.RULE_typeBodyElement}enterRule(listener){listener.enterTypeBodyElement&&listener.enterTypeBodyElement(this)}exitRule(listener){listener.exitTypeBodyElement&&listener.exitTypeBodyElement(this)}accept(visitor){return visitor.visitTypeBodyElement?visitor.visitTypeBodyElement(this):visitor.visitChildren(this)}},SpecializationContext=class extends ParserRuleContext{constructor(parent,invokingState){super(parent,invokingState)}SUBTYPE(){return this.getToken(SysMLv2Parser.SUBTYPE,0)}specificType(){return this.getRuleContext(0,SpecificTypeContext)}generalType(){return this.getRuleContext(0,GeneralTypeContext)}relationshipBody(){return this.getRuleContext(0,RelationshipBodyContext)}COLON_GT(){return this.getToken(SysMLv2Parser.COLON_GT,0)}SPECIALIZES(){return this.getToken(SysMLv2Parser.SPECIALIZES,0)}SPECIALIZATION(){return this.getToken(SysMLv2Parser.SPECIALIZATION,0)}identification(){return this.getRuleContext(0,IdentificationContext)}get ruleIndex(){return SysMLv2Parser.RULE_specialization}enterRule(listener){listener.enterSpecialization&&listener.enterSpecialization(this)}exitRule(listener){listener.exitSpecialization&&listener.exitSpecialization(this)}accept(visitor){return visitor.visitSpecialization?visitor.visitSpecialization(this):visitor.visitChildren(this)}},OwnedSpecializationContext=class extends ParserRuleContext{constructor(parent,invokingState){super(parent,invokingState)}generalType(){return this.getRuleContext(0,GeneralTypeContext)}get ruleIndex(){return SysMLv2Parser.RULE_ownedSpecialization}enterRule(listener){listener.enterOwnedSpecialization&&listener.enterOwnedSpecialization(this)}exitRule(listener){listener.exitOwnedSpecialization&&listener.exitOwnedSpecialization(this)}accept(visitor){return visitor.visitOwnedSpecialization?visitor.visitOwnedSpecialization(this):visitor.visitChildren(this)}},SpecificTypeContext=class extends ParserRuleContext{constructor(parent,invokingState){super(parent,invokingState)}qualifiedName(i){return i===void 0?this.getRuleContexts(QualifiedNameContext):this.getRuleContext(i,QualifiedNameContext)}DOT(i){return i===void 0?this.getTokens(SysMLv2Parser.DOT):this.getToken(SysMLv2Parser.DOT,i)}get ruleIndex(){return SysMLv2Parser.RULE_specificType}enterRule(listener){listener.enterSpecificType&&listener.enterSpecificType(this)}exitRule(listener){listener.exitSpecificType&&listener.exitSpecificType(this)}accept(visitor){return visitor.visitSpecificType?visitor.visitSpecificType(this):visitor.visitChildren(this)}},GeneralTypeContext=class extends ParserRuleContext{constructor(parent,invokingState){super(parent,invokingState)}qualifiedName(i){return i===void 0?this.getRuleContexts(QualifiedNameContext):this.getRuleContext(i,QualifiedNameContext)}DOT(i){return i===void 0?this.getTokens(SysMLv2Parser.DOT):this.getToken(SysMLv2Parser.DOT,i)}get ruleIndex(){return SysMLv2Parser.RULE_generalType}enterRule(listener){listener.enterGeneralType&&listener.enterGeneralType(this)}exitRule(listener){listener.exitGeneralType&&listener.exitGeneralType(this)}accept(visitor){return visitor.visitGeneralType?visitor.visitGeneralType(this):visitor.visitChildren(this)}},ConjugationContext=class extends ParserRuleContext{constructor(parent,invokingState){super(parent,invokingState)}CONJUGATE(){return this.getToken(SysMLv2Parser.CONJUGATE,0)}qualifiedName(i){return i===void 0?this.getRuleContexts(QualifiedNameContext):this.getRuleContext(i,QualifiedNameContext)}relationshipBody(){return this.getRuleContext(0,RelationshipBodyContext)}TILDE(){return this.getToken(SysMLv2Parser.TILDE,0)}CONJUGATES(){return this.getToken(SysMLv2Parser.CONJUGATES,0)}CONJUGATION(){return this.getToken(SysMLv2Parser.CONJUGATION,0)}DOT(i){return i===void 0?this.getTokens(SysMLv2Parser.DOT):this.getToken(SysMLv2Parser.DOT,i)}identification(){return this.getRuleContext(0,IdentificationContext)}get ruleIndex(){return SysMLv2Parser.RULE_conjugation}enterRule(listener){listener.enterConjugation&&listener.enterConjugation(this)}exitRule(listener){listener.exitConjugation&&listener.exitConjugation(this)}accept(visitor){return visitor.visitConjugation?visitor.visitConjugation(this):visitor.visitChildren(this)}},OwnedConjugationContext=class extends ParserRuleContext{constructor(parent,invokingState){super(parent,invokingState)}qualifiedName(i){return i===void 0?this.getRuleContexts(QualifiedNameContext):this.getRuleContext(i,QualifiedNameContext)}DOT(i){return i===void 0?this.getTokens(SysMLv2Parser.DOT):this.getToken(SysMLv2Parser.DOT,i)}get ruleIndex(){return SysMLv2Parser.RULE_ownedConjugation}enterRule(listener){listener.enterOwnedConjugation&&listener.enterOwnedConjugation(this)}exitRule(listener){listener.exitOwnedConjugation&&listener.exitOwnedConjugation(this)}accept(visitor){return visitor.visitOwnedConjugation?visitor.visitOwnedConjugation(this):visitor.visitChildren(this)}},DisjoiningContext=class extends ParserRuleContext{constructor(parent,invokingState){super(parent,invokingState)}DISJOINT(){return this.getToken(SysMLv2Parser.DISJOINT,0)}qualifiedName(i){return i===void 0?this.getRuleContexts(QualifiedNameContext):this.getRuleContext(i,QualifiedNameContext)}FROM(){return this.getToken(SysMLv2Parser.FROM,0)}relationshipBody(){return this.getRuleContext(0,RelationshipBodyContext)}DISJOINING(){return this.getToken(SysMLv2Parser.DISJOINING,0)}DOT(i){return i===void 0?this.getTokens(SysMLv2Parser.DOT):this.getToken(SysMLv2Parser.DOT,i)}identification(){return this.getRuleContext(0,IdentificationContext)}get ruleIndex(){return SysMLv2Parser.RULE_disjoining}enterRule(listener){listener.enterDisjoining&&listener.enterDisjoining(this)}exitRule(listener){listener.exitDisjoining&&listener.exitDisjoining(this)}accept(visitor){return visitor.visitDisjoining?visitor.visitDisjoining(this):visitor.visitChildren(this)}},OwnedDisjoiningContext=class extends ParserRuleContext{constructor(parent,invokingState){super(parent,invokingState)}qualifiedName(i){return i===void 0?this.getRuleContexts(QualifiedNameContext):this.getRuleContext(i,QualifiedNameContext)}DOT(i){return i===void 0?this.getTokens(SysMLv2Parser.DOT):this.getToken(SysMLv2Parser.DOT,i)}get ruleIndex(){return SysMLv2Parser.RULE_ownedDisjoining}enterRule(listener){listener.enterOwnedDisjoining&&listener.enterOwnedDisjoining(this)}exitRule(listener){listener.exitOwnedDisjoining&&listener.exitOwnedDisjoining(this)}accept(visitor){return visitor.visitOwnedDisjoining?visitor.visitOwnedDisjoining(this):visitor.visitChildren(this)}},UnioningContext=class extends ParserRuleContext{constructor(parent,invokingState){super(parent,invokingState)}qualifiedName(i){return i===void 0?this.getRuleContexts(QualifiedNameContext):this.getRuleContext(i,QualifiedNameContext)}DOT(i){return i===void 0?this.getTokens(SysMLv2Parser.DOT):this.getToken(SysMLv2Parser.DOT,i)}get ruleIndex(){return SysMLv2Parser.RULE_unioning}enterRule(listener){listener.enterUnioning&&listener.enterUnioning(this)}exitRule(listener){listener.exitUnioning&&listener.exitUnioning(this)}accept(visitor){return visitor.visitUnioning?visitor.visitUnioning(this):visitor.visitChildren(this)}},IntersectingContext=class extends ParserRuleContext{constructor(parent,invokingState){super(parent,invokingState)}qualifiedName(i){return i===void 0?this.getRuleContexts(QualifiedNameContext):this.getRuleContext(i,QualifiedNameContext)}DOT(i){return i===void 0?this.getTokens(SysMLv2Parser.DOT):this.getToken(SysMLv2Parser.DOT,i)}get ruleIndex(){return SysMLv2Parser.RULE_intersecting}enterRule(listener){listener.enterIntersecting&&listener.enterIntersecting(this)}exitRule(listener){listener.exitIntersecting&&listener.exitIntersecting(this)}accept(visitor){return visitor.visitIntersecting?visitor.visitIntersecting(this):visitor.visitChildren(this)}},DifferencingContext=class extends ParserRuleContext{constructor(parent,invokingState){super(parent,invokingState)}qualifiedName(i){return i===void 0?this.getRuleContexts(QualifiedNameContext):this.getRuleContext(i,QualifiedNameContext)}DOT(i){return i===void 0?this.getTokens(SysMLv2Parser.DOT):this.getToken(SysMLv2Parser.DOT,i)}get ruleIndex(){return SysMLv2Parser.RULE_differencing}enterRule(listener){listener.enterDifferencing&&listener.enterDifferencing(this)}exitRule(listener){listener.exitDifferencing&&listener.exitDifferencing(this)}accept(visitor){return visitor.visitDifferencing?visitor.visitDifferencing(this):visitor.visitChildren(this)}},FeatureMemberContext=class extends ParserRuleContext{constructor(parent,invokingState){super(parent,invokingState)}typeFeatureMember(){return this.getRuleContext(0,TypeFeatureMemberContext)}ownedFeatureMember(){return this.getRuleContext(0,OwnedFeatureMemberContext)}get ruleIndex(){return SysMLv2Parser.RULE_featureMember}enterRule(listener){listener.enterFeatureMember&&listener.enterFeatureMember(this)}exitRule(listener){listener.exitFeatureMember&&listener.exitFeatureMember(this)}accept(visitor){return visitor.visitFeatureMember?visitor.visitFeatureMember(this):visitor.visitChildren(this)}},TypeFeatureMemberContext=class extends ParserRuleContext{constructor(parent,invokingState){super(parent,invokingState)}memberPrefix(){return this.getRuleContext(0,MemberPrefixContext)}MEMBER(){return this.getToken(SysMLv2Parser.MEMBER,0)}featureElement(){return this.getRuleContext(0,FeatureElementContext)}get ruleIndex(){return SysMLv2Parser.RULE_typeFeatureMember}enterRule(listener){listener.enterTypeFeatureMember&&listener.enterTypeFeatureMember(this)}exitRule(listener){listener.exitTypeFeatureMember&&listener.exitTypeFeatureMember(this)}accept(visitor){return visitor.visitTypeFeatureMember?visitor.visitTypeFeatureMember(this):visitor.visitChildren(this)}},OwnedFeatureMemberContext=class extends ParserRuleContext{constructor(parent,invokingState){super(parent,invokingState)}memberPrefix(){return this.getRuleContext(0,MemberPrefixContext)}featureElement(){return this.getRuleContext(0,FeatureElementContext)}get ruleIndex(){return SysMLv2Parser.RULE_ownedFeatureMember}enterRule(listener){listener.enterOwnedFeatureMember&&listener.enterOwnedFeatureMember(this)}exitRule(listener){listener.exitOwnedFeatureMember&&listener.exitOwnedFeatureMember(this)}accept(visitor){return visitor.visitOwnedFeatureMember?visitor.visitOwnedFeatureMember(this):visitor.visitChildren(this)}},ClassifierContext=class extends ParserRuleContext{constructor(parent,invokingState){super(parent,invokingState)}typePrefix(){return this.getRuleContext(0,TypePrefixContext)}CLASSIFIER(){return this.getToken(SysMLv2Parser.CLASSIFIER,0)}classifierDeclaration(){return this.getRuleContext(0,ClassifierDeclarationContext)}typeBody(){return this.getRuleContext(0,TypeBodyContext)}get ruleIndex(){return SysMLv2Parser.RULE_classifier}enterRule(listener){listener.enterClassifier&&listener.enterClassifier(this)}exitRule(listener){listener.exitClassifier&&listener.exitClassifier(this)}accept(visitor){return visitor.visitClassifier?visitor.visitClassifier(this):visitor.visitChildren(this)}},ClassifierDeclarationContext=class extends ParserRuleContext{constructor(parent,invokingState){super(parent,invokingState)}ALL(){return this.getToken(SysMLv2Parser.ALL,0)}identification(){return this.getRuleContext(0,IdentificationContext)}ownedMultiplicity(){return this.getRuleContext(0,OwnedMultiplicityContext)}superclassingPart(){return this.getRuleContext(0,SuperclassingPartContext)}conjugationPart(){return this.getRuleContext(0,ConjugationPartContext)}typeRelationshipPart(i){return i===void 0?this.getRuleContexts(TypeRelationshipPartContext):this.getRuleContext(i,TypeRelationshipPartContext)}get ruleIndex(){return SysMLv2Parser.RULE_classifierDeclaration}enterRule(listener){listener.enterClassifierDeclaration&&listener.enterClassifierDeclaration(this)}exitRule(listener){listener.exitClassifierDeclaration&&listener.exitClassifierDeclaration(this)}accept(visitor){return visitor.visitClassifierDeclaration?visitor.visitClassifierDeclaration(this):visitor.visitChildren(this)}},SuperclassingPartContext=class extends ParserRuleContext{constructor(parent,invokingState){super(parent,invokingState)}ownedSubclassification(i){return i===void 0?this.getRuleContexts(OwnedSubclassificationContext):this.getRuleContext(i,OwnedSubclassificationContext)}COLON_GT(){return this.getToken(SysMLv2Parser.COLON_GT,0)}SPECIALIZES(){return this.getToken(SysMLv2Parser.SPECIALIZES,0)}COMMA(i){return i===void 0?this.getTokens(SysMLv2Parser.COMMA):this.getToken(SysMLv2Parser.COMMA,i)}get ruleIndex(){return SysMLv2Parser.RULE_superclassingPart}enterRule(listener){listener.enterSuperclassingPart&&listener.enterSuperclassingPart(this)}exitRule(listener){listener.exitSuperclassingPart&&listener.exitSuperclassingPart(this)}accept(visitor){return visitor.visitSuperclassingPart?visitor.visitSuperclassingPart(this):visitor.visitChildren(this)}},SubclassificationContext=class extends ParserRuleContext{constructor(parent,invokingState){super(parent,invokingState)}SUBCLASSIFIER(){return this.getToken(SysMLv2Parser.SUBCLASSIFIER,0)}qualifiedName(i){return i===void 0?this.getRuleContexts(QualifiedNameContext):this.getRuleContext(i,QualifiedNameContext)}relationshipBody(){return this.getRuleContext(0,RelationshipBodyContext)}COLON_GT(){return this.getToken(SysMLv2Parser.COLON_GT,0)}SPECIALIZES(){return this.getToken(SysMLv2Parser.SPECIALIZES,0)}SPECIALIZATION(){return this.getToken(SysMLv2Parser.SPECIALIZATION,0)}identification(){return this.getRuleContext(0,IdentificationContext)}get ruleIndex(){return SysMLv2Parser.RULE_subclassification}enterRule(listener){listener.enterSubclassification&&listener.enterSubclassification(this)}exitRule(listener){listener.exitSubclassification&&listener.exitSubclassification(this)}accept(visitor){return visitor.visitSubclassification?visitor.visitSubclassification(this):visitor.visitChildren(this)}},OwnedSubclassificationContext=class extends ParserRuleContext{constructor(parent,invokingState){super(parent,invokingState)}qualifiedName(){return this.getRuleContext(0,QualifiedNameContext)}get ruleIndex(){return SysMLv2Parser.RULE_ownedSubclassification}enterRule(listener){listener.enterOwnedSubclassification&&listener.enterOwnedSubclassification(this)}exitRule(listener){listener.exitOwnedSubclassification&&listener.exitOwnedSubclassification(this)}accept(visitor){return visitor.visitOwnedSubclassification?visitor.visitOwnedSubclassification(this):visitor.visitChildren(this)}},FeatureContext=class extends ParserRuleContext{constructor(parent,invokingState){super(parent,invokingState)}typeBody(){return this.getRuleContext(0,TypeBodyContext)}featurePrefix(){return this.getRuleContext(0,FeaturePrefixContext)}featureDeclaration(){return this.getRuleContext(0,FeatureDeclarationContext)}valuePart(){return this.getRuleContext(0,ValuePartContext)}FEATURE(){return this.getToken(SysMLv2Parser.FEATURE,0)}prefixMetadataMember(){return this.getRuleContext(0,PrefixMetadataMemberContext)}endFeaturePrefix(){return this.getRuleContext(0,EndFeaturePrefixContext)}basicFeaturePrefix(){return this.getRuleContext(0,BasicFeaturePrefixContext)}get ruleIndex(){return SysMLv2Parser.RULE_feature}enterRule(listener){listener.enterFeature&&listener.enterFeature(this)}exitRule(listener){listener.exitFeature&&listener.exitFeature(this)}accept(visitor){return visitor.visitFeature?visitor.visitFeature(this):visitor.visitChildren(this)}},EndFeaturePrefixContext=class extends ParserRuleContext{constructor(parent,invokingState){super(parent,invokingState)}END(){return this.getToken(SysMLv2Parser.END,0)}CONST(){return this.getToken(SysMLv2Parser.CONST,0)}get ruleIndex(){return SysMLv2Parser.RULE_endFeaturePrefix}enterRule(listener){listener.enterEndFeaturePrefix&&listener.enterEndFeaturePrefix(this)}exitRule(listener){listener.exitEndFeaturePrefix&&listener.exitEndFeaturePrefix(this)}accept(visitor){return visitor.visitEndFeaturePrefix?visitor.visitEndFeaturePrefix(this):visitor.visitChildren(this)}},BasicFeaturePrefixContext=class extends ParserRuleContext{constructor(parent,invokingState){super(parent,invokingState)}featureDirection(){return this.getRuleContext(0,FeatureDirectionContext)}DERIVED(){return this.getToken(SysMLv2Parser.DERIVED,0)}ABSTRACT(){return this.getToken(SysMLv2Parser.ABSTRACT,0)}COMPOSITE(){return this.getToken(SysMLv2Parser.COMPOSITE,0)}PORTION(){return this.getToken(SysMLv2Parser.PORTION,0)}VAR(){return this.getToken(SysMLv2Parser.VAR,0)}CONST(){return this.getToken(SysMLv2Parser.CONST,0)}get ruleIndex(){return SysMLv2Parser.RULE_basicFeaturePrefix}enterRule(listener){listener.enterBasicFeaturePrefix&&listener.enterBasicFeaturePrefix(this)}exitRule(listener){listener.exitBasicFeaturePrefix&&listener.exitBasicFeaturePrefix(this)}accept(visitor){return visitor.visitBasicFeaturePrefix?visitor.visitBasicFeaturePrefix(this):visitor.visitChildren(this)}},FeaturePrefixContext=class extends ParserRuleContext{constructor(parent,invokingState){super(parent,invokingState)}endFeaturePrefix(){return this.getRuleContext(0,EndFeaturePrefixContext)}ownedCrossFeatureMember(){return this.getRuleContext(0,OwnedCrossFeatureMemberContext)}basicFeaturePrefix(){return this.getRuleContext(0,BasicFeaturePrefixContext)}prefixMetadataMember(i){return i===void 0?this.getRuleContexts(PrefixMetadataMemberContext):this.getRuleContext(i,PrefixMetadataMemberContext)}get ruleIndex(){return SysMLv2Parser.RULE_featurePrefix}enterRule(listener){listener.enterFeaturePrefix&&listener.enterFeaturePrefix(this)}exitRule(listener){listener.exitFeaturePrefix&&listener.exitFeaturePrefix(this)}accept(visitor){return visitor.visitFeaturePrefix?visitor.visitFeaturePrefix(this):visitor.visitChildren(this)}},OwnedCrossFeatureMemberContext=class extends ParserRuleContext{constructor(parent,invokingState){super(parent,invokingState)}ownedCrossFeature(){return this.getRuleContext(0,OwnedCrossFeatureContext)}get ruleIndex(){return SysMLv2Parser.RULE_ownedCrossFeatureMember}enterRule(listener){listener.enterOwnedCrossFeatureMember&&listener.enterOwnedCrossFeatureMember(this)}exitRule(listener){listener.exitOwnedCrossFeatureMember&&listener.exitOwnedCrossFeatureMember(this)}accept(visitor){return visitor.visitOwnedCrossFeatureMember?visitor.visitOwnedCrossFeatureMember(this):visitor.visitChildren(this)}},OwnedCrossFeatureContext=class extends ParserRuleContext{constructor(parent,invokingState){super(parent,invokingState)}basicFeaturePrefix(){return this.getRuleContext(0,BasicFeaturePrefixContext)}featureDeclaration(){return this.getRuleContext(0,FeatureDeclarationContext)}basicUsagePrefix(){return this.getRuleContext(0,BasicUsagePrefixContext)}usageDeclaration(){return this.getRuleContext(0,UsageDeclarationContext)}get ruleIndex(){return SysMLv2Parser.RULE_ownedCrossFeature}enterRule(listener){listener.enterOwnedCrossFeature&&listener.enterOwnedCrossFeature(this)}exitRule(listener){listener.exitOwnedCrossFeature&&listener.exitOwnedCrossFeature(this)}accept(visitor){return visitor.visitOwnedCrossFeature?visitor.visitOwnedCrossFeature(this):visitor.visitChildren(this)}},FeatureDirectionContext=class extends ParserRuleContext{constructor(parent,invokingState){super(parent,invokingState)}IN(){return this.getToken(SysMLv2Parser.IN,0)}OUT(){return this.getToken(SysMLv2Parser.OUT,0)}INOUT(){return this.getToken(SysMLv2Parser.INOUT,0)}get ruleIndex(){return SysMLv2Parser.RULE_featureDirection}enterRule(listener){listener.enterFeatureDirection&&listener.enterFeatureDirection(this)}exitRule(listener){listener.exitFeatureDirection&&listener.exitFeatureDirection(this)}accept(visitor){return visitor.visitFeatureDirection?visitor.visitFeatureDirection(this):visitor.visitChildren(this)}},FeatureDeclarationContext=class extends ParserRuleContext{constructor(parent,invokingState){super(parent,invokingState)}featureIdentification(){return this.getRuleContext(0,FeatureIdentificationContext)}featureSpecializationPart(){return this.getRuleContext(0,FeatureSpecializationPartContext)}conjugationPart(){return this.getRuleContext(0,ConjugationPartContext)}ALL(){return this.getToken(SysMLv2Parser.ALL,0)}featureRelationshipPart(i){return i===void 0?this.getRuleContexts(FeatureRelationshipPartContext):this.getRuleContext(i,FeatureRelationshipPartContext)}get ruleIndex(){return SysMLv2Parser.RULE_featureDeclaration}enterRule(listener){listener.enterFeatureDeclaration&&listener.enterFeatureDeclaration(this)}exitRule(listener){listener.exitFeatureDeclaration&&listener.exitFeatureDeclaration(this)}accept(visitor){return visitor.visitFeatureDeclaration?visitor.visitFeatureDeclaration(this):visitor.visitChildren(this)}},FeatureIdentificationContext=class extends ParserRuleContext{constructor(parent,invokingState){super(parent,invokingState)}LT(){return this.getToken(SysMLv2Parser.LT,0)}name(i){return i===void 0?this.getRuleContexts(NameContext):this.getRuleContext(i,NameContext)}GT(){return this.getToken(SysMLv2Parser.GT,0)}get ruleIndex(){return SysMLv2Parser.RULE_featureIdentification}enterRule(listener){listener.enterFeatureIdentification&&listener.enterFeatureIdentification(this)}exitRule(listener){listener.exitFeatureIdentification&&listener.exitFeatureIdentification(this)}accept(visitor){return visitor.visitFeatureIdentification?visitor.visitFeatureIdentification(this):visitor.visitChildren(this)}},FeatureRelationshipPartContext=class extends ParserRuleContext{constructor(parent,invokingState){super(parent,invokingState)}typeRelationshipPart(){return this.getRuleContext(0,TypeRelationshipPartContext)}chainingPart(){return this.getRuleContext(0,ChainingPartContext)}invertingPart(){return this.getRuleContext(0,InvertingPartContext)}typeFeaturingPart(){return this.getRuleContext(0,TypeFeaturingPartContext)}get ruleIndex(){return SysMLv2Parser.RULE_featureRelationshipPart}enterRule(listener){listener.enterFeatureRelationshipPart&&listener.enterFeatureRelationshipPart(this)}exitRule(listener){listener.exitFeatureRelationshipPart&&listener.exitFeatureRelationshipPart(this)}accept(visitor){return visitor.visitFeatureRelationshipPart?visitor.visitFeatureRelationshipPart(this):visitor.visitChildren(this)}},ChainingPartContext=class extends ParserRuleContext{constructor(parent,invokingState){super(parent,invokingState)}CHAINS(){return this.getToken(SysMLv2Parser.CHAINS,0)}qualifiedName(i){return i===void 0?this.getRuleContexts(QualifiedNameContext):this.getRuleContext(i,QualifiedNameContext)}DOT(i){return i===void 0?this.getTokens(SysMLv2Parser.DOT):this.getToken(SysMLv2Parser.DOT,i)}get ruleIndex(){return SysMLv2Parser.RULE_chainingPart}enterRule(listener){listener.enterChainingPart&&listener.enterChainingPart(this)}exitRule(listener){listener.exitChainingPart&&listener.exitChainingPart(this)}accept(visitor){return visitor.visitChainingPart?visitor.visitChainingPart(this):visitor.visitChildren(this)}},InvertingPartContext=class extends ParserRuleContext{constructor(parent,invokingState){super(parent,invokingState)}INVERSE(){return this.getToken(SysMLv2Parser.INVERSE,0)}OF(){return this.getToken(SysMLv2Parser.OF,0)}ownedFeatureInverting(){return this.getRuleContext(0,OwnedFeatureInvertingContext)}get ruleIndex(){return SysMLv2Parser.RULE_invertingPart}enterRule(listener){listener.enterInvertingPart&&listener.enterInvertingPart(this)}exitRule(listener){listener.exitInvertingPart&&listener.exitInvertingPart(this)}accept(visitor){return visitor.visitInvertingPart?visitor.visitInvertingPart(this):visitor.visitChildren(this)}},TypeFeaturingPartContext=class extends ParserRuleContext{constructor(parent,invokingState){super(parent,invokingState)}FEATURED(){return this.getToken(SysMLv2Parser.FEATURED,0)}BY(){return this.getToken(SysMLv2Parser.BY,0)}ownedTypeFeaturing(i){return i===void 0?this.getRuleContexts(OwnedTypeFeaturingContext):this.getRuleContext(i,OwnedTypeFeaturingContext)}COMMA(i){return i===void 0?this.getTokens(SysMLv2Parser.COMMA):this.getToken(SysMLv2Parser.COMMA,i)}get ruleIndex(){return SysMLv2Parser.RULE_typeFeaturingPart}enterRule(listener){listener.enterTypeFeaturingPart&&listener.enterTypeFeaturingPart(this)}exitRule(listener){listener.exitTypeFeaturingPart&&listener.exitTypeFeaturingPart(this)}accept(visitor){return visitor.visitTypeFeaturingPart?visitor.visitTypeFeaturingPart(this):visitor.visitChildren(this)}},FeatureSpecializationPartContext=class extends ParserRuleContext{constructor(parent,invokingState){super(parent,invokingState)}featureSpecialization(i){return i===void 0?this.getRuleContexts(FeatureSpecializationContext):this.getRuleContext(i,FeatureSpecializationContext)}multiplicityPart(){return this.getRuleContext(0,MultiplicityPartContext)}get ruleIndex(){return SysMLv2Parser.RULE_featureSpecializationPart}enterRule(listener){listener.enterFeatureSpecializationPart&&listener.enterFeatureSpecializationPart(this)}exitRule(listener){listener.exitFeatureSpecializationPart&&listener.exitFeatureSpecializationPart(this)}accept(visitor){return visitor.visitFeatureSpecializationPart?visitor.visitFeatureSpecializationPart(this):visitor.visitChildren(this)}},MultiplicityPartContext=class extends ParserRuleContext{constructor(parent,invokingState){super(parent,invokingState)}ownedMultiplicity(){return this.getRuleContext(0,OwnedMultiplicityContext)}ORDERED(){return this.getToken(SysMLv2Parser.ORDERED,0)}NONUNIQUE(){return this.getToken(SysMLv2Parser.NONUNIQUE,0)}get ruleIndex(){return SysMLv2Parser.RULE_multiplicityPart}enterRule(listener){listener.enterMultiplicityPart&&listener.enterMultiplicityPart(this)}exitRule(listener){listener.exitMultiplicityPart&&listener.exitMultiplicityPart(this)}accept(visitor){return visitor.visitMultiplicityPart?visitor.visitMultiplicityPart(this):visitor.visitChildren(this)}},FeatureSpecializationContext=class extends ParserRuleContext{constructor(parent,invokingState){super(parent,invokingState)}typings(){return this.getRuleContext(0,TypingsContext)}subsettings(){return this.getRuleContext(0,SubsettingsContext)}references(){return this.getRuleContext(0,ReferencesContext)}crosses(){return this.getRuleContext(0,CrossesContext)}redefinitions(){return this.getRuleContext(0,RedefinitionsContext)}get ruleIndex(){return SysMLv2Parser.RULE_featureSpecialization}enterRule(listener){listener.enterFeatureSpecialization&&listener.enterFeatureSpecialization(this)}exitRule(listener){listener.exitFeatureSpecialization&&listener.exitFeatureSpecialization(this)}accept(visitor){return visitor.visitFeatureSpecialization?visitor.visitFeatureSpecialization(this):visitor.visitChildren(this)}},TypingsContext=class extends ParserRuleContext{constructor(parent,invokingState){super(parent,invokingState)}typedBy(){return this.getRuleContext(0,TypedByContext)}COMMA(i){return i===void 0?this.getTokens(SysMLv2Parser.COMMA):this.getToken(SysMLv2Parser.COMMA,i)}featureTyping(i){return i===void 0?this.getRuleContexts(FeatureTypingContext):this.getRuleContext(i,FeatureTypingContext)}get ruleIndex(){return SysMLv2Parser.RULE_typings}enterRule(listener){listener.enterTypings&&listener.enterTypings(this)}exitRule(listener){listener.exitTypings&&listener.exitTypings(this)}accept(visitor){return visitor.visitTypings?visitor.visitTypings(this):visitor.visitChildren(this)}},TypedByContext=class extends ParserRuleContext{constructor(parent,invokingState){super(parent,invokingState)}featureTyping(){return this.getRuleContext(0,FeatureTypingContext)}COLON(){return this.getToken(SysMLv2Parser.COLON,0)}TYPED(){return this.getToken(SysMLv2Parser.TYPED,0)}BY(){return this.getToken(SysMLv2Parser.BY,0)}DEFINED(){return this.getToken(SysMLv2Parser.DEFINED,0)}get ruleIndex(){return SysMLv2Parser.RULE_typedBy}enterRule(listener){listener.enterTypedBy&&listener.enterTypedBy(this)}exitRule(listener){listener.exitTypedBy&&listener.exitTypedBy(this)}accept(visitor){return visitor.visitTypedBy?visitor.visitTypedBy(this):visitor.visitChildren(this)}},SubsettingsContext=class extends ParserRuleContext{constructor(parent,invokingState){super(parent,invokingState)}subsets(){return this.getRuleContext(0,SubsetsContext)}COMMA(i){return i===void 0?this.getTokens(SysMLv2Parser.COMMA):this.getToken(SysMLv2Parser.COMMA,i)}ownedSubsetting(i){return i===void 0?this.getRuleContexts(OwnedSubsettingContext):this.getRuleContext(i,OwnedSubsettingContext)}get ruleIndex(){return SysMLv2Parser.RULE_subsettings}enterRule(listener){listener.enterSubsettings&&listener.enterSubsettings(this)}exitRule(listener){listener.exitSubsettings&&listener.exitSubsettings(this)}accept(visitor){return visitor.visitSubsettings?visitor.visitSubsettings(this):visitor.visitChildren(this)}},SubsetsContext=class extends ParserRuleContext{constructor(parent,invokingState){super(parent,invokingState)}ownedSubsetting(){return this.getRuleContext(0,OwnedSubsettingContext)}COLON_GT(){return this.getToken(SysMLv2Parser.COLON_GT,0)}SUBSETS(){return this.getToken(SysMLv2Parser.SUBSETS,0)}get ruleIndex(){return SysMLv2Parser.RULE_subsets}enterRule(listener){listener.enterSubsets&&listener.enterSubsets(this)}exitRule(listener){listener.exitSubsets&&listener.exitSubsets(this)}accept(visitor){return visitor.visitSubsets?visitor.visitSubsets(this):visitor.visitChildren(this)}},ReferencesContext=class extends ParserRuleContext{constructor(parent,invokingState){super(parent,invokingState)}ownedReferenceSubsetting(){return this.getRuleContext(0,OwnedReferenceSubsettingContext)}COLON_COLON_GT(){return this.getToken(SysMLv2Parser.COLON_COLON_GT,0)}REFERENCES(){return this.getToken(SysMLv2Parser.REFERENCES,0)}get ruleIndex(){return SysMLv2Parser.RULE_references}enterRule(listener){listener.enterReferences&&listener.enterReferences(this)}exitRule(listener){listener.exitReferences&&listener.exitReferences(this)}accept(visitor){return visitor.visitReferences?visitor.visitReferences(this):visitor.visitChildren(this)}},CrossesContext=class extends ParserRuleContext{constructor(parent,invokingState){super(parent,invokingState)}ownedCrossSubsetting(){return this.getRuleContext(0,OwnedCrossSubsettingContext)}FAT_ARROW(){return this.getToken(SysMLv2Parser.FAT_ARROW,0)}CROSSES(){return this.getToken(SysMLv2Parser.CROSSES,0)}get ruleIndex(){return SysMLv2Parser.RULE_crosses}enterRule(listener){listener.enterCrosses&&listener.enterCrosses(this)}exitRule(listener){listener.exitCrosses&&listener.exitCrosses(this)}accept(visitor){return visitor.visitCrosses?visitor.visitCrosses(this):visitor.visitChildren(this)}},RedefinitionsContext=class extends ParserRuleContext{constructor(parent,invokingState){super(parent,invokingState)}redefines(){return this.getRuleContext(0,RedefinesContext)}COMMA(i){return i===void 0?this.getTokens(SysMLv2Parser.COMMA):this.getToken(SysMLv2Parser.COMMA,i)}ownedRedefinition(i){return i===void 0?this.getRuleContexts(OwnedRedefinitionContext):this.getRuleContext(i,OwnedRedefinitionContext)}get ruleIndex(){return SysMLv2Parser.RULE_redefinitions}enterRule(listener){listener.enterRedefinitions&&listener.enterRedefinitions(this)}exitRule(listener){listener.exitRedefinitions&&listener.exitRedefinitions(this)}accept(visitor){return visitor.visitRedefinitions?visitor.visitRedefinitions(this):visitor.visitChildren(this)}},RedefinesContext=class extends ParserRuleContext{constructor(parent,invokingState){super(parent,invokingState)}ownedRedefinition(){return this.getRuleContext(0,OwnedRedefinitionContext)}COLON_GT_GT(){return this.getToken(SysMLv2Parser.COLON_GT_GT,0)}REDEFINES(){return this.getToken(SysMLv2Parser.REDEFINES,0)}get ruleIndex(){return SysMLv2Parser.RULE_redefines}enterRule(listener){listener.enterRedefines&&listener.enterRedefines(this)}exitRule(listener){listener.exitRedefines&&listener.exitRedefines(this)}accept(visitor){return visitor.visitRedefines?visitor.visitRedefines(this):visitor.visitChildren(this)}},FeatureTypingContext=class extends ParserRuleContext{constructor(parent,invokingState){super(parent,invokingState)}TYPING(){return this.getToken(SysMLv2Parser.TYPING,0)}qualifiedName(){return this.getRuleContext(0,QualifiedNameContext)}generalType(){return this.getRuleContext(0,GeneralTypeContext)}relationshipBody(){return this.getRuleContext(0,RelationshipBodyContext)}COLON(){return this.getToken(SysMLv2Parser.COLON,0)}TYPED(){return this.getToken(SysMLv2Parser.TYPED,0)}BY(){return this.getToken(SysMLv2Parser.BY,0)}SPECIALIZATION(){return this.getToken(SysMLv2Parser.SPECIALIZATION,0)}identification(){return this.getRuleContext(0,IdentificationContext)}ownedFeatureTyping(){return this.getRuleContext(0,OwnedFeatureTypingContext)}conjugatedPortTyping(){return this.getRuleContext(0,ConjugatedPortTypingContext)}get ruleIndex(){return SysMLv2Parser.RULE_featureTyping}enterRule(listener){listener.enterFeatureTyping&&listener.enterFeatureTyping(this)}exitRule(listener){listener.exitFeatureTyping&&listener.exitFeatureTyping(this)}accept(visitor){return visitor.visitFeatureTyping?visitor.visitFeatureTyping(this):visitor.visitChildren(this)}},OwnedFeatureTypingContext=class extends ParserRuleContext{constructor(parent,invokingState){super(parent,invokingState)}qualifiedName(i){return i===void 0?this.getRuleContexts(QualifiedNameContext):this.getRuleContext(i,QualifiedNameContext)}DOT(i){return i===void 0?this.getTokens(SysMLv2Parser.DOT):this.getToken(SysMLv2Parser.DOT,i)}get ruleIndex(){return SysMLv2Parser.RULE_ownedFeatureTyping}enterRule(listener){listener.enterOwnedFeatureTyping&&listener.enterOwnedFeatureTyping(this)}exitRule(listener){listener.exitOwnedFeatureTyping&&listener.exitOwnedFeatureTyping(this)}accept(visitor){return visitor.visitOwnedFeatureTyping?visitor.visitOwnedFeatureTyping(this):visitor.visitChildren(this)}},SubsettingContext=class extends ParserRuleContext{constructor(parent,invokingState){super(parent,invokingState)}SUBSET(){return this.getToken(SysMLv2Parser.SUBSET,0)}specificType(){return this.getRuleContext(0,SpecificTypeContext)}generalType(){return this.getRuleContext(0,GeneralTypeContext)}relationshipBody(){return this.getRuleContext(0,RelationshipBodyContext)}COLON_GT(){return this.getToken(SysMLv2Parser.COLON_GT,0)}SUBSETS(){return this.getToken(SysMLv2Parser.SUBSETS,0)}SPECIALIZATION(){return this.getToken(SysMLv2Parser.SPECIALIZATION,0)}identification(){return this.getRuleContext(0,IdentificationContext)}get ruleIndex(){return SysMLv2Parser.RULE_subsetting}enterRule(listener){listener.enterSubsetting&&listener.enterSubsetting(this)}exitRule(listener){listener.exitSubsetting&&listener.exitSubsetting(this)}accept(visitor){return visitor.visitSubsetting?visitor.visitSubsetting(this):visitor.visitChildren(this)}},OwnedSubsettingContext=class extends ParserRuleContext{constructor(parent,invokingState){super(parent,invokingState)}qualifiedName(i){return i===void 0?this.getRuleContexts(QualifiedNameContext):this.getRuleContext(i,QualifiedNameContext)}DOT(i){return i===void 0?this.getTokens(SysMLv2Parser.DOT):this.getToken(SysMLv2Parser.DOT,i)}get ruleIndex(){return SysMLv2Parser.RULE_ownedSubsetting}enterRule(listener){listener.enterOwnedSubsetting&&listener.enterOwnedSubsetting(this)}exitRule(listener){listener.exitOwnedSubsetting&&listener.exitOwnedSubsetting(this)}accept(visitor){return visitor.visitOwnedSubsetting?visitor.visitOwnedSubsetting(this):visitor.visitChildren(this)}},OwnedReferenceSubsettingContext=class extends ParserRuleContext{constructor(parent,invokingState){super(parent,invokingState)}qualifiedName(i){return i===void 0?this.getRuleContexts(QualifiedNameContext):this.getRuleContext(i,QualifiedNameContext)}DOT(i){return i===void 0?this.getTokens(SysMLv2Parser.DOT):this.getToken(SysMLv2Parser.DOT,i)}get ruleIndex(){return SysMLv2Parser.RULE_ownedReferenceSubsetting}enterRule(listener){listener.enterOwnedReferenceSubsetting&&listener.enterOwnedReferenceSubsetting(this)}exitRule(listener){listener.exitOwnedReferenceSubsetting&&listener.exitOwnedReferenceSubsetting(this)}accept(visitor){return visitor.visitOwnedReferenceSubsetting?visitor.visitOwnedReferenceSubsetting(this):visitor.visitChildren(this)}},OwnedCrossSubsettingContext=class extends ParserRuleContext{constructor(parent,invokingState){super(parent,invokingState)}qualifiedName(i){return i===void 0?this.getRuleContexts(QualifiedNameContext):this.getRuleContext(i,QualifiedNameContext)}DOT(i){return i===void 0?this.getTokens(SysMLv2Parser.DOT):this.getToken(SysMLv2Parser.DOT,i)}get ruleIndex(){return SysMLv2Parser.RULE_ownedCrossSubsetting}enterRule(listener){listener.enterOwnedCrossSubsetting&&listener.enterOwnedCrossSubsetting(this)}exitRule(listener){listener.exitOwnedCrossSubsetting&&listener.exitOwnedCrossSubsetting(this)}accept(visitor){return visitor.visitOwnedCrossSubsetting?visitor.visitOwnedCrossSubsetting(this):visitor.visitChildren(this)}},RedefinitionContext=class extends ParserRuleContext{constructor(parent,invokingState){super(parent,invokingState)}REDEFINITION(){return this.getToken(SysMLv2Parser.REDEFINITION,0)}specificType(){return this.getRuleContext(0,SpecificTypeContext)}generalType(){return this.getRuleContext(0,GeneralTypeContext)}relationshipBody(){return this.getRuleContext(0,RelationshipBodyContext)}COLON_GT_GT(){return this.getToken(SysMLv2Parser.COLON_GT_GT,0)}REDEFINES(){return this.getToken(SysMLv2Parser.REDEFINES,0)}SPECIALIZATION(){return this.getToken(SysMLv2Parser.SPECIALIZATION,0)}identification(){return this.getRuleContext(0,IdentificationContext)}get ruleIndex(){return SysMLv2Parser.RULE_redefinition}enterRule(listener){listener.enterRedefinition&&listener.enterRedefinition(this)}exitRule(listener){listener.exitRedefinition&&listener.exitRedefinition(this)}accept(visitor){return visitor.visitRedefinition?visitor.visitRedefinition(this):visitor.visitChildren(this)}},OwnedRedefinitionContext=class extends ParserRuleContext{constructor(parent,invokingState){super(parent,invokingState)}qualifiedName(i){return i===void 0?this.getRuleContexts(QualifiedNameContext):this.getRuleContext(i,QualifiedNameContext)}DOT(i){return i===void 0?this.getTokens(SysMLv2Parser.DOT):this.getToken(SysMLv2Parser.DOT,i)}get ruleIndex(){return SysMLv2Parser.RULE_ownedRedefinition}enterRule(listener){listener.enterOwnedRedefinition&&listener.enterOwnedRedefinition(this)}exitRule(listener){listener.exitOwnedRedefinition&&listener.exitOwnedRedefinition(this)}accept(visitor){return visitor.visitOwnedRedefinition?visitor.visitOwnedRedefinition(this):visitor.visitChildren(this)}},OwnedFeatureChainContext=class extends ParserRuleContext{constructor(parent,invokingState){super(parent,invokingState)}featureChain(){return this.getRuleContext(0,FeatureChainContext)}ownedFeatureChaining(i){return i===void 0?this.getRuleContexts(OwnedFeatureChainingContext):this.getRuleContext(i,OwnedFeatureChainingContext)}DOT(i){return i===void 0?this.getTokens(SysMLv2Parser.DOT):this.getToken(SysMLv2Parser.DOT,i)}get ruleIndex(){return SysMLv2Parser.RULE_ownedFeatureChain}enterRule(listener){listener.enterOwnedFeatureChain&&listener.enterOwnedFeatureChain(this)}exitRule(listener){listener.exitOwnedFeatureChain&&listener.exitOwnedFeatureChain(this)}accept(visitor){return visitor.visitOwnedFeatureChain?visitor.visitOwnedFeatureChain(this):visitor.visitChildren(this)}},FeatureChainContext=class extends ParserRuleContext{constructor(parent,invokingState){super(parent,invokingState)}ownedFeatureChaining(i){return i===void 0?this.getRuleContexts(OwnedFeatureChainingContext):this.getRuleContext(i,OwnedFeatureChainingContext)}DOT(i){return i===void 0?this.getTokens(SysMLv2Parser.DOT):this.getToken(SysMLv2Parser.DOT,i)}get ruleIndex(){return SysMLv2Parser.RULE_featureChain}enterRule(listener){listener.enterFeatureChain&&listener.enterFeatureChain(this)}exitRule(listener){listener.exitFeatureChain&&listener.exitFeatureChain(this)}accept(visitor){return visitor.visitFeatureChain?visitor.visitFeatureChain(this):visitor.visitChildren(this)}},OwnedFeatureChainingContext=class extends ParserRuleContext{constructor(parent,invokingState){super(parent,invokingState)}qualifiedName(){return this.getRuleContext(0,QualifiedNameContext)}get ruleIndex(){return SysMLv2Parser.RULE_ownedFeatureChaining}enterRule(listener){listener.enterOwnedFeatureChaining&&listener.enterOwnedFeatureChaining(this)}exitRule(listener){listener.exitOwnedFeatureChaining&&listener.exitOwnedFeatureChaining(this)}accept(visitor){return visitor.visitOwnedFeatureChaining?visitor.visitOwnedFeatureChaining(this):visitor.visitChildren(this)}},FeatureInvertingContext=class extends ParserRuleContext{constructor(parent,invokingState){super(parent,invokingState)}INVERSE(){return this.getToken(SysMLv2Parser.INVERSE,0)}qualifiedName(i){return i===void 0?this.getRuleContexts(QualifiedNameContext):this.getRuleContext(i,QualifiedNameContext)}OF(){return this.getToken(SysMLv2Parser.OF,0)}relationshipBody(){return this.getRuleContext(0,RelationshipBodyContext)}INVERTING(){return this.getToken(SysMLv2Parser.INVERTING,0)}DOT(i){return i===void 0?this.getTokens(SysMLv2Parser.DOT):this.getToken(SysMLv2Parser.DOT,i)}identification(){return this.getRuleContext(0,IdentificationContext)}get ruleIndex(){return SysMLv2Parser.RULE_featureInverting}enterRule(listener){listener.enterFeatureInverting&&listener.enterFeatureInverting(this)}exitRule(listener){listener.exitFeatureInverting&&listener.exitFeatureInverting(this)}accept(visitor){return visitor.visitFeatureInverting?visitor.visitFeatureInverting(this):visitor.visitChildren(this)}},OwnedFeatureInvertingContext=class extends ParserRuleContext{constructor(parent,invokingState){super(parent,invokingState)}qualifiedName(i){return i===void 0?this.getRuleContexts(QualifiedNameContext):this.getRuleContext(i,QualifiedNameContext)}DOT(i){return i===void 0?this.getTokens(SysMLv2Parser.DOT):this.getToken(SysMLv2Parser.DOT,i)}get ruleIndex(){return SysMLv2Parser.RULE_ownedFeatureInverting}enterRule(listener){listener.enterOwnedFeatureInverting&&listener.enterOwnedFeatureInverting(this)}exitRule(listener){listener.exitOwnedFeatureInverting&&listener.exitOwnedFeatureInverting(this)}accept(visitor){return visitor.visitOwnedFeatureInverting?visitor.visitOwnedFeatureInverting(this):visitor.visitChildren(this)}},TypeFeaturingContext=class extends ParserRuleContext{constructor(parent,invokingState){super(parent,invokingState)}FEATURING(){return this.getToken(SysMLv2Parser.FEATURING,0)}qualifiedName(i){return i===void 0?this.getRuleContexts(QualifiedNameContext):this.getRuleContext(i,QualifiedNameContext)}BY(){return this.getToken(SysMLv2Parser.BY,0)}relationshipBody(){return this.getRuleContext(0,RelationshipBodyContext)}OF(){return this.getToken(SysMLv2Parser.OF,0)}identification(){return this.getRuleContext(0,IdentificationContext)}get ruleIndex(){return SysMLv2Parser.RULE_typeFeaturing}enterRule(listener){listener.enterTypeFeaturing&&listener.enterTypeFeaturing(this)}exitRule(listener){listener.exitTypeFeaturing&&listener.exitTypeFeaturing(this)}accept(visitor){return visitor.visitTypeFeaturing?visitor.visitTypeFeaturing(this):visitor.visitChildren(this)}},OwnedTypeFeaturingContext=class extends ParserRuleContext{constructor(parent,invokingState){super(parent,invokingState)}qualifiedName(){return this.getRuleContext(0,QualifiedNameContext)}get ruleIndex(){return SysMLv2Parser.RULE_ownedTypeFeaturing}enterRule(listener){listener.enterOwnedTypeFeaturing&&listener.enterOwnedTypeFeaturing(this)}exitRule(listener){listener.exitOwnedTypeFeaturing&&listener.exitOwnedTypeFeaturing(this)}accept(visitor){return visitor.visitOwnedTypeFeaturing?visitor.visitOwnedTypeFeaturing(this):visitor.visitChildren(this)}},DataTypeContext=class extends ParserRuleContext{constructor(parent,invokingState){super(parent,invokingState)}typePrefix(){return this.getRuleContext(0,TypePrefixContext)}DATATYPE(){return this.getToken(SysMLv2Parser.DATATYPE,0)}classifierDeclaration(){return this.getRuleContext(0,ClassifierDeclarationContext)}typeBody(){return this.getRuleContext(0,TypeBodyContext)}get ruleIndex(){return SysMLv2Parser.RULE_dataType}enterRule(listener){listener.enterDataType&&listener.enterDataType(this)}exitRule(listener){listener.exitDataType&&listener.exitDataType(this)}accept(visitor){return visitor.visitDataType?visitor.visitDataType(this):visitor.visitChildren(this)}},ClassContext=class extends ParserRuleContext{constructor(parent,invokingState){super(parent,invokingState)}typePrefix(){return this.getRuleContext(0,TypePrefixContext)}CLASS(){return this.getToken(SysMLv2Parser.CLASS,0)}classifierDeclaration(){return this.getRuleContext(0,ClassifierDeclarationContext)}typeBody(){return this.getRuleContext(0,TypeBodyContext)}get ruleIndex(){return SysMLv2Parser.RULE_class}enterRule(listener){listener.enterClass&&listener.enterClass(this)}exitRule(listener){listener.exitClass&&listener.exitClass(this)}accept(visitor){return visitor.visitClass?visitor.visitClass(this):visitor.visitChildren(this)}},StructureContext=class extends ParserRuleContext{constructor(parent,invokingState){super(parent,invokingState)}typePrefix(){return this.getRuleContext(0,TypePrefixContext)}STRUCT(){return this.getToken(SysMLv2Parser.STRUCT,0)}classifierDeclaration(){return this.getRuleContext(0,ClassifierDeclarationContext)}typeBody(){return this.getRuleContext(0,TypeBodyContext)}get ruleIndex(){return SysMLv2Parser.RULE_structure}enterRule(listener){listener.enterStructure&&listener.enterStructure(this)}exitRule(listener){listener.exitStructure&&listener.exitStructure(this)}accept(visitor){return visitor.visitStructure?visitor.visitStructure(this):visitor.visitChildren(this)}},AssociationContext=class extends ParserRuleContext{constructor(parent,invokingState){super(parent,invokingState)}typePrefix(){return this.getRuleContext(0,TypePrefixContext)}ASSOC(){return this.getToken(SysMLv2Parser.ASSOC,0)}classifierDeclaration(){return this.getRuleContext(0,ClassifierDeclarationContext)}typeBody(){return this.getRuleContext(0,TypeBodyContext)}get ruleIndex(){return SysMLv2Parser.RULE_association}enterRule(listener){listener.enterAssociation&&listener.enterAssociation(this)}exitRule(listener){listener.exitAssociation&&listener.exitAssociation(this)}accept(visitor){return visitor.visitAssociation?visitor.visitAssociation(this):visitor.visitChildren(this)}},AssociationStructureContext=class extends ParserRuleContext{constructor(parent,invokingState){super(parent,invokingState)}typePrefix(){return this.getRuleContext(0,TypePrefixContext)}ASSOC(){return this.getToken(SysMLv2Parser.ASSOC,0)}STRUCT(){return this.getToken(SysMLv2Parser.STRUCT,0)}classifierDeclaration(){return this.getRuleContext(0,ClassifierDeclarationContext)}typeBody(){return this.getRuleContext(0,TypeBodyContext)}get ruleIndex(){return SysMLv2Parser.RULE_associationStructure}enterRule(listener){listener.enterAssociationStructure&&listener.enterAssociationStructure(this)}exitRule(listener){listener.exitAssociationStructure&&listener.exitAssociationStructure(this)}accept(visitor){return visitor.visitAssociationStructure?visitor.visitAssociationStructure(this):visitor.visitChildren(this)}},ConnectorContext=class extends ParserRuleContext{constructor(parent,invokingState){super(parent,invokingState)}featurePrefix(){return this.getRuleContext(0,FeaturePrefixContext)}CONNECTOR(){return this.getToken(SysMLv2Parser.CONNECTOR,0)}typeBody(){return this.getRuleContext(0,TypeBodyContext)}connectorDeclaration(){return this.getRuleContext(0,ConnectorDeclarationContext)}featureDeclaration(){return this.getRuleContext(0,FeatureDeclarationContext)}valuePart(){return this.getRuleContext(0,ValuePartContext)}get ruleIndex(){return SysMLv2Parser.RULE_connector}enterRule(listener){listener.enterConnector&&listener.enterConnector(this)}exitRule(listener){listener.exitConnector&&listener.exitConnector(this)}accept(visitor){return visitor.visitConnector?visitor.visitConnector(this):visitor.visitChildren(this)}},ConnectorDeclarationContext=class extends ParserRuleContext{constructor(parent,invokingState){super(parent,invokingState)}binaryConnectorDeclaration(){return this.getRuleContext(0,BinaryConnectorDeclarationContext)}naryConnectorDeclaration(){return this.getRuleContext(0,NaryConnectorDeclarationContext)}get ruleIndex(){return SysMLv2Parser.RULE_connectorDeclaration}enterRule(listener){listener.enterConnectorDeclaration&&listener.enterConnectorDeclaration(this)}exitRule(listener){listener.exitConnectorDeclaration&&listener.exitConnectorDeclaration(this)}accept(visitor){return visitor.visitConnectorDeclaration?visitor.visitConnectorDeclaration(this):visitor.visitChildren(this)}},BinaryConnectorDeclarationContext=class extends ParserRuleContext{constructor(parent,invokingState){super(parent,invokingState)}connectorEndMember(i){return i===void 0?this.getRuleContexts(ConnectorEndMemberContext):this.getRuleContext(i,ConnectorEndMemberContext)}TO(){return this.getToken(SysMLv2Parser.TO,0)}FROM(){return this.getToken(SysMLv2Parser.FROM,0)}ALL(){return this.getToken(SysMLv2Parser.ALL,0)}featureDeclaration(){return this.getRuleContext(0,FeatureDeclarationContext)}get ruleIndex(){return SysMLv2Parser.RULE_binaryConnectorDeclaration}enterRule(listener){listener.enterBinaryConnectorDeclaration&&listener.enterBinaryConnectorDeclaration(this)}exitRule(listener){listener.exitBinaryConnectorDeclaration&&listener.exitBinaryConnectorDeclaration(this)}accept(visitor){return visitor.visitBinaryConnectorDeclaration?visitor.visitBinaryConnectorDeclaration(this):visitor.visitChildren(this)}},NaryConnectorDeclarationContext=class extends ParserRuleContext{constructor(parent,invokingState){super(parent,invokingState)}LPAREN(){return this.getToken(SysMLv2Parser.LPAREN,0)}connectorEndMember(i){return i===void 0?this.getRuleContexts(ConnectorEndMemberContext):this.getRuleContext(i,ConnectorEndMemberContext)}COMMA(i){return i===void 0?this.getTokens(SysMLv2Parser.COMMA):this.getToken(SysMLv2Parser.COMMA,i)}RPAREN(){return this.getToken(SysMLv2Parser.RPAREN,0)}featureDeclaration(){return this.getRuleContext(0,FeatureDeclarationContext)}get ruleIndex(){return SysMLv2Parser.RULE_naryConnectorDeclaration}enterRule(listener){listener.enterNaryConnectorDeclaration&&listener.enterNaryConnectorDeclaration(this)}exitRule(listener){listener.exitNaryConnectorDeclaration&&listener.exitNaryConnectorDeclaration(this)}accept(visitor){return visitor.visitNaryConnectorDeclaration?visitor.visitNaryConnectorDeclaration(this):visitor.visitChildren(this)}},ConnectorEndMemberContext=class extends ParserRuleContext{constructor(parent,invokingState){super(parent,invokingState)}connectorEnd(){return this.getRuleContext(0,ConnectorEndContext)}get ruleIndex(){return SysMLv2Parser.RULE_connectorEndMember}enterRule(listener){listener.enterConnectorEndMember&&listener.enterConnectorEndMember(this)}exitRule(listener){listener.exitConnectorEndMember&&listener.exitConnectorEndMember(this)}accept(visitor){return visitor.visitConnectorEndMember?visitor.visitConnectorEndMember(this):visitor.visitChildren(this)}},ConnectorEndContext=class extends ParserRuleContext{constructor(parent,invokingState){super(parent,invokingState)}ownedReferenceSubsetting(){return this.getRuleContext(0,OwnedReferenceSubsettingContext)}ownedCrossMultiplicityMember(){return this.getRuleContext(0,OwnedCrossMultiplicityMemberContext)}name(){return this.getRuleContext(0,NameContext)}COLON_COLON_GT(){return this.getToken(SysMLv2Parser.COLON_COLON_GT,0)}REFERENCES(){return this.getToken(SysMLv2Parser.REFERENCES,0)}get ruleIndex(){return SysMLv2Parser.RULE_connectorEnd}enterRule(listener){listener.enterConnectorEnd&&listener.enterConnectorEnd(this)}exitRule(listener){listener.exitConnectorEnd&&listener.exitConnectorEnd(this)}accept(visitor){return visitor.visitConnectorEnd?visitor.visitConnectorEnd(this):visitor.visitChildren(this)}},OwnedCrossMultiplicityMemberContext=class extends ParserRuleContext{constructor(parent,invokingState){super(parent,invokingState)}ownedCrossMultiplicity(){return this.getRuleContext(0,OwnedCrossMultiplicityContext)}get ruleIndex(){return SysMLv2Parser.RULE_ownedCrossMultiplicityMember}enterRule(listener){listener.enterOwnedCrossMultiplicityMember&&listener.enterOwnedCrossMultiplicityMember(this)}exitRule(listener){listener.exitOwnedCrossMultiplicityMember&&listener.exitOwnedCrossMultiplicityMember(this)}accept(visitor){return visitor.visitOwnedCrossMultiplicityMember?visitor.visitOwnedCrossMultiplicityMember(this):visitor.visitChildren(this)}},OwnedCrossMultiplicityContext=class extends ParserRuleContext{constructor(parent,invokingState){super(parent,invokingState)}ownedMultiplicity(){return this.getRuleContext(0,OwnedMultiplicityContext)}get ruleIndex(){return SysMLv2Parser.RULE_ownedCrossMultiplicity}enterRule(listener){listener.enterOwnedCrossMultiplicity&&listener.enterOwnedCrossMultiplicity(this)}exitRule(listener){listener.exitOwnedCrossMultiplicity&&listener.exitOwnedCrossMultiplicity(this)}accept(visitor){return visitor.visitOwnedCrossMultiplicity?visitor.visitOwnedCrossMultiplicity(this):visitor.visitChildren(this)}},BindingConnectorContext=class extends ParserRuleContext{constructor(parent,invokingState){super(parent,invokingState)}featurePrefix(){return this.getRuleContext(0,FeaturePrefixContext)}BINDING(){return this.getToken(SysMLv2Parser.BINDING,0)}bindingConnectorDeclaration(){return this.getRuleContext(0,BindingConnectorDeclarationContext)}typeBody(){return this.getRuleContext(0,TypeBodyContext)}get ruleIndex(){return SysMLv2Parser.RULE_bindingConnector}enterRule(listener){listener.enterBindingConnector&&listener.enterBindingConnector(this)}exitRule(listener){listener.exitBindingConnector&&listener.exitBindingConnector(this)}accept(visitor){return visitor.visitBindingConnector?visitor.visitBindingConnector(this):visitor.visitChildren(this)}},BindingConnectorDeclarationContext=class extends ParserRuleContext{constructor(parent,invokingState){super(parent,invokingState)}featureDeclaration(){return this.getRuleContext(0,FeatureDeclarationContext)}OF(){return this.getToken(SysMLv2Parser.OF,0)}connectorEndMember(i){return i===void 0?this.getRuleContexts(ConnectorEndMemberContext):this.getRuleContext(i,ConnectorEndMemberContext)}EQ(){return this.getToken(SysMLv2Parser.EQ,0)}ALL(){return this.getToken(SysMLv2Parser.ALL,0)}get ruleIndex(){return SysMLv2Parser.RULE_bindingConnectorDeclaration}enterRule(listener){listener.enterBindingConnectorDeclaration&&listener.enterBindingConnectorDeclaration(this)}exitRule(listener){listener.exitBindingConnectorDeclaration&&listener.exitBindingConnectorDeclaration(this)}accept(visitor){return visitor.visitBindingConnectorDeclaration?visitor.visitBindingConnectorDeclaration(this):visitor.visitChildren(this)}},SuccessionContext=class extends ParserRuleContext{constructor(parent,invokingState){super(parent,invokingState)}featurePrefix(){return this.getRuleContext(0,FeaturePrefixContext)}SUCCESSION(){return this.getToken(SysMLv2Parser.SUCCESSION,0)}successionDeclaration(){return this.getRuleContext(0,SuccessionDeclarationContext)}typeBody(){return this.getRuleContext(0,TypeBodyContext)}get ruleIndex(){return SysMLv2Parser.RULE_succession}enterRule(listener){listener.enterSuccession&&listener.enterSuccession(this)}exitRule(listener){listener.exitSuccession&&listener.exitSuccession(this)}accept(visitor){return visitor.visitSuccession?visitor.visitSuccession(this):visitor.visitChildren(this)}},SuccessionDeclarationContext=class extends ParserRuleContext{constructor(parent,invokingState){super(parent,invokingState)}featureDeclaration(){return this.getRuleContext(0,FeatureDeclarationContext)}FIRST(){return this.getToken(SysMLv2Parser.FIRST,0)}connectorEndMember(i){return i===void 0?this.getRuleContexts(ConnectorEndMemberContext):this.getRuleContext(i,ConnectorEndMemberContext)}THEN(){return this.getToken(SysMLv2Parser.THEN,0)}ALL(){return this.getToken(SysMLv2Parser.ALL,0)}get ruleIndex(){return SysMLv2Parser.RULE_successionDeclaration}enterRule(listener){listener.enterSuccessionDeclaration&&listener.enterSuccessionDeclaration(this)}exitRule(listener){listener.exitSuccessionDeclaration&&listener.exitSuccessionDeclaration(this)}accept(visitor){return visitor.visitSuccessionDeclaration?visitor.visitSuccessionDeclaration(this):visitor.visitChildren(this)}},BehaviorContext=class extends ParserRuleContext{constructor(parent,invokingState){super(parent,invokingState)}typePrefix(){return this.getRuleContext(0,TypePrefixContext)}BEHAVIOR(){return this.getToken(SysMLv2Parser.BEHAVIOR,0)}classifierDeclaration(){return this.getRuleContext(0,ClassifierDeclarationContext)}typeBody(){return this.getRuleContext(0,TypeBodyContext)}get ruleIndex(){return SysMLv2Parser.RULE_behavior}enterRule(listener){listener.enterBehavior&&listener.enterBehavior(this)}exitRule(listener){listener.exitBehavior&&listener.exitBehavior(this)}accept(visitor){return visitor.visitBehavior?visitor.visitBehavior(this):visitor.visitChildren(this)}},StepContext=class extends ParserRuleContext{constructor(parent,invokingState){super(parent,invokingState)}featurePrefix(){return this.getRuleContext(0,FeaturePrefixContext)}STEP(){return this.getToken(SysMLv2Parser.STEP,0)}featureDeclaration(){return this.getRuleContext(0,FeatureDeclarationContext)}typeBody(){return this.getRuleContext(0,TypeBodyContext)}valuePart(){return this.getRuleContext(0,ValuePartContext)}get ruleIndex(){return SysMLv2Parser.RULE_step}enterRule(listener){listener.enterStep&&listener.enterStep(this)}exitRule(listener){listener.exitStep&&listener.exitStep(this)}accept(visitor){return visitor.visitStep?visitor.visitStep(this):visitor.visitChildren(this)}},FunctionContext=class extends ParserRuleContext{constructor(parent,invokingState){super(parent,invokingState)}typePrefix(){return this.getRuleContext(0,TypePrefixContext)}FUNCTION(){return this.getToken(SysMLv2Parser.FUNCTION,0)}classifierDeclaration(){return this.getRuleContext(0,ClassifierDeclarationContext)}functionBody(){return this.getRuleContext(0,FunctionBodyContext)}get ruleIndex(){return SysMLv2Parser.RULE_function}enterRule(listener){listener.enterFunction&&listener.enterFunction(this)}exitRule(listener){listener.exitFunction&&listener.exitFunction(this)}accept(visitor){return visitor.visitFunction?visitor.visitFunction(this):visitor.visitChildren(this)}},FunctionBodyContext=class extends ParserRuleContext{constructor(parent,invokingState){super(parent,invokingState)}SEMI(){return this.getToken(SysMLv2Parser.SEMI,0)}LBRACE(){return this.getToken(SysMLv2Parser.LBRACE,0)}functionBodyPart(){return this.getRuleContext(0,FunctionBodyPartContext)}RBRACE(){return this.getToken(SysMLv2Parser.RBRACE,0)}get ruleIndex(){return SysMLv2Parser.RULE_functionBody}enterRule(listener){listener.enterFunctionBody&&listener.enterFunctionBody(this)}exitRule(listener){listener.exitFunctionBody&&listener.exitFunctionBody(this)}accept(visitor){return visitor.visitFunctionBody?visitor.visitFunctionBody(this):visitor.visitChildren(this)}},FunctionBodyPartContext=class extends ParserRuleContext{constructor(parent,invokingState){super(parent,invokingState)}typeBodyElement(i){return i===void 0?this.getRuleContexts(TypeBodyElementContext):this.getRuleContext(i,TypeBodyElementContext)}returnFeatureMember(i){return i===void 0?this.getRuleContexts(ReturnFeatureMemberContext):this.getRuleContext(i,ReturnFeatureMemberContext)}resultExpressionMember(){return this.getRuleContext(0,ResultExpressionMemberContext)}get ruleIndex(){return SysMLv2Parser.RULE_functionBodyPart}enterRule(listener){listener.enterFunctionBodyPart&&listener.enterFunctionBodyPart(this)}exitRule(listener){listener.exitFunctionBodyPart&&listener.exitFunctionBodyPart(this)}accept(visitor){return visitor.visitFunctionBodyPart?visitor.visitFunctionBodyPart(this):visitor.visitChildren(this)}},ReturnFeatureMemberContext=class extends ParserRuleContext{constructor(parent,invokingState){super(parent,invokingState)}memberPrefix(){return this.getRuleContext(0,MemberPrefixContext)}RETURN(){return this.getToken(SysMLv2Parser.RETURN,0)}featureElement(){return this.getRuleContext(0,FeatureElementContext)}get ruleIndex(){return SysMLv2Parser.RULE_returnFeatureMember}enterRule(listener){listener.enterReturnFeatureMember&&listener.enterReturnFeatureMember(this)}exitRule(listener){listener.exitReturnFeatureMember&&listener.exitReturnFeatureMember(this)}accept(visitor){return visitor.visitReturnFeatureMember?visitor.visitReturnFeatureMember(this):visitor.visitChildren(this)}},ResultExpressionMemberContext=class extends ParserRuleContext{constructor(parent,invokingState){super(parent,invokingState)}memberPrefix(){return this.getRuleContext(0,MemberPrefixContext)}ownedExpression(){return this.getRuleContext(0,OwnedExpressionContext)}get ruleIndex(){return SysMLv2Parser.RULE_resultExpressionMember}enterRule(listener){listener.enterResultExpressionMember&&listener.enterResultExpressionMember(this)}exitRule(listener){listener.exitResultExpressionMember&&listener.exitResultExpressionMember(this)}accept(visitor){return visitor.visitResultExpressionMember?visitor.visitResultExpressionMember(this):visitor.visitChildren(this)}},ExpressionContext=class extends ParserRuleContext{constructor(parent,invokingState){super(parent,invokingState)}featurePrefix(){return this.getRuleContext(0,FeaturePrefixContext)}EXPR(){return this.getToken(SysMLv2Parser.EXPR,0)}featureDeclaration(){return this.getRuleContext(0,FeatureDeclarationContext)}functionBody(){return this.getRuleContext(0,FunctionBodyContext)}valuePart(){return this.getRuleContext(0,ValuePartContext)}get ruleIndex(){return SysMLv2Parser.RULE_expression}enterRule(listener){listener.enterExpression&&listener.enterExpression(this)}exitRule(listener){listener.exitExpression&&listener.exitExpression(this)}accept(visitor){return visitor.visitExpression?visitor.visitExpression(this):visitor.visitChildren(this)}},PredicateContext=class extends ParserRuleContext{constructor(parent,invokingState){super(parent,invokingState)}typePrefix(){return this.getRuleContext(0,TypePrefixContext)}PREDICATE(){return this.getToken(SysMLv2Parser.PREDICATE,0)}classifierDeclaration(){return this.getRuleContext(0,ClassifierDeclarationContext)}functionBody(){return this.getRuleContext(0,FunctionBodyContext)}get ruleIndex(){return SysMLv2Parser.RULE_predicate}enterRule(listener){listener.enterPredicate&&listener.enterPredicate(this)}exitRule(listener){listener.exitPredicate&&listener.exitPredicate(this)}accept(visitor){return visitor.visitPredicate?visitor.visitPredicate(this):visitor.visitChildren(this)}},BooleanExpressionContext=class extends ParserRuleContext{constructor(parent,invokingState){super(parent,invokingState)}featurePrefix(){return this.getRuleContext(0,FeaturePrefixContext)}BOOL(){return this.getToken(SysMLv2Parser.BOOL,0)}featureDeclaration(){return this.getRuleContext(0,FeatureDeclarationContext)}functionBody(){return this.getRuleContext(0,FunctionBodyContext)}valuePart(){return this.getRuleContext(0,ValuePartContext)}get ruleIndex(){return SysMLv2Parser.RULE_booleanExpression}enterRule(listener){listener.enterBooleanExpression&&listener.enterBooleanExpression(this)}exitRule(listener){listener.exitBooleanExpression&&listener.exitBooleanExpression(this)}accept(visitor){return visitor.visitBooleanExpression?visitor.visitBooleanExpression(this):visitor.visitChildren(this)}},InvariantContext=class extends ParserRuleContext{constructor(parent,invokingState){super(parent,invokingState)}featurePrefix(){return this.getRuleContext(0,FeaturePrefixContext)}INV(){return this.getToken(SysMLv2Parser.INV,0)}featureDeclaration(){return this.getRuleContext(0,FeatureDeclarationContext)}functionBody(){return this.getRuleContext(0,FunctionBodyContext)}valuePart(){return this.getRuleContext(0,ValuePartContext)}TRUE(){return this.getToken(SysMLv2Parser.TRUE,0)}FALSE(){return this.getToken(SysMLv2Parser.FALSE,0)}get ruleIndex(){return SysMLv2Parser.RULE_invariant}enterRule(listener){listener.enterInvariant&&listener.enterInvariant(this)}exitRule(listener){listener.exitInvariant&&listener.exitInvariant(this)}accept(visitor){return visitor.visitInvariant?visitor.visitInvariant(this):visitor.visitChildren(this)}},OwnedExpressionMemberContext=class extends ParserRuleContext{constructor(parent,invokingState){super(parent,invokingState)}ownedExpression(){return this.getRuleContext(0,OwnedExpressionContext)}get ruleIndex(){return SysMLv2Parser.RULE_ownedExpressionMember}enterRule(listener){listener.enterOwnedExpressionMember&&listener.enterOwnedExpressionMember(this)}exitRule(listener){listener.exitOwnedExpressionMember&&listener.exitOwnedExpressionMember(this)}accept(visitor){return visitor.visitOwnedExpressionMember?visitor.visitOwnedExpressionMember(this):visitor.visitChildren(this)}},MetadataReferenceContext=class extends ParserRuleContext{constructor(parent,invokingState){super(parent,invokingState)}elementReferenceMember(){return this.getRuleContext(0,ElementReferenceMemberContext)}get ruleIndex(){return SysMLv2Parser.RULE_metadataReference}enterRule(listener){listener.enterMetadataReference&&listener.enterMetadataReference(this)}exitRule(listener){listener.exitMetadataReference&&listener.exitMetadataReference(this)}accept(visitor){return visitor.visitMetadataReference?visitor.visitMetadataReference(this):visitor.visitChildren(this)}},TypeReferenceMemberContext=class extends ParserRuleContext{constructor(parent,invokingState){super(parent,invokingState)}typeReference(){return this.getRuleContext(0,TypeReferenceContext)}get ruleIndex(){return SysMLv2Parser.RULE_typeReferenceMember}enterRule(listener){listener.enterTypeReferenceMember&&listener.enterTypeReferenceMember(this)}exitRule(listener){listener.exitTypeReferenceMember&&listener.exitTypeReferenceMember(this)}accept(visitor){return visitor.visitTypeReferenceMember?visitor.visitTypeReferenceMember(this):visitor.visitChildren(this)}},TypeResultMemberContext=class extends ParserRuleContext{constructor(parent,invokingState){super(parent,invokingState)}typeReference(){return this.getRuleContext(0,TypeReferenceContext)}get ruleIndex(){return SysMLv2Parser.RULE_typeResultMember}enterRule(listener){listener.enterTypeResultMember&&listener.enterTypeResultMember(this)}exitRule(listener){listener.exitTypeResultMember&&listener.exitTypeResultMember(this)}accept(visitor){return visitor.visitTypeResultMember?visitor.visitTypeResultMember(this):visitor.visitChildren(this)}},ReferenceTypingContext=class extends ParserRuleContext{constructor(parent,invokingState){super(parent,invokingState)}qualifiedName(){return this.getRuleContext(0,QualifiedNameContext)}get ruleIndex(){return SysMLv2Parser.RULE_referenceTyping}enterRule(listener){listener.enterReferenceTyping&&listener.enterReferenceTyping(this)}exitRule(listener){listener.exitReferenceTyping&&listener.exitReferenceTyping(this)}accept(visitor){return visitor.visitReferenceTyping?visitor.visitReferenceTyping(this):visitor.visitChildren(this)}},EmptyResultMemberContext=class extends ParserRuleContext{constructor(parent,invokingState){super(parent,invokingState)}emptyFeature_(){return this.getRuleContext(0,EmptyFeature_Context)}get ruleIndex(){return SysMLv2Parser.RULE_emptyResultMember}enterRule(listener){listener.enterEmptyResultMember&&listener.enterEmptyResultMember(this)}exitRule(listener){listener.exitEmptyResultMember&&listener.exitEmptyResultMember(this)}accept(visitor){return visitor.visitEmptyResultMember?visitor.visitEmptyResultMember(this):visitor.visitChildren(this)}},SequenceOperatorExpressionContext=class extends ParserRuleContext{constructor(parent,invokingState){super(parent,invokingState)}ownedExpressionMember(){return this.getRuleContext(0,OwnedExpressionMemberContext)}COMMA(){return this.getToken(SysMLv2Parser.COMMA,0)}sequenceExpressionListMember(){return this.getRuleContext(0,SequenceExpressionListMemberContext)}get ruleIndex(){return SysMLv2Parser.RULE_sequenceOperatorExpression}enterRule(listener){listener.enterSequenceOperatorExpression&&listener.enterSequenceOperatorExpression(this)}exitRule(listener){listener.exitSequenceOperatorExpression&&listener.exitSequenceOperatorExpression(this)}accept(visitor){return visitor.visitSequenceOperatorExpression?visitor.visitSequenceOperatorExpression(this):visitor.visitChildren(this)}},SequenceExpressionListMemberContext=class extends ParserRuleContext{constructor(parent,invokingState){super(parent,invokingState)}sequenceExpressionList(){return this.getRuleContext(0,SequenceExpressionListContext)}get ruleIndex(){return SysMLv2Parser.RULE_sequenceExpressionListMember}enterRule(listener){listener.enterSequenceExpressionListMember&&listener.enterSequenceExpressionListMember(this)}exitRule(listener){listener.exitSequenceExpressionListMember&&listener.exitSequenceExpressionListMember(this)}accept(visitor){return visitor.visitSequenceExpressionListMember?visitor.visitSequenceExpressionListMember(this):visitor.visitChildren(this)}},BodyArgumentMemberContext=class extends ParserRuleContext{constructor(parent,invokingState){super(parent,invokingState)}bodyArgument(){return this.getRuleContext(0,BodyArgumentContext)}get ruleIndex(){return SysMLv2Parser.RULE_bodyArgumentMember}enterRule(listener){listener.enterBodyArgumentMember&&listener.enterBodyArgumentMember(this)}exitRule(listener){listener.exitBodyArgumentMember&&listener.exitBodyArgumentMember(this)}accept(visitor){return visitor.visitBodyArgumentMember?visitor.visitBodyArgumentMember(this):visitor.visitChildren(this)}},BodyArgumentContext=class extends ParserRuleContext{constructor(parent,invokingState){super(parent,invokingState)}bodyArgumentValue(){return this.getRuleContext(0,BodyArgumentValueContext)}get ruleIndex(){return SysMLv2Parser.RULE_bodyArgument}enterRule(listener){listener.enterBodyArgument&&listener.enterBodyArgument(this)}exitRule(listener){listener.exitBodyArgument&&listener.exitBodyArgument(this)}accept(visitor){return visitor.visitBodyArgument?visitor.visitBodyArgument(this):visitor.visitChildren(this)}},BodyArgumentValueContext=class extends ParserRuleContext{constructor(parent,invokingState){super(parent,invokingState)}bodyExpression(){return this.getRuleContext(0,BodyExpressionContext)}get ruleIndex(){return SysMLv2Parser.RULE_bodyArgumentValue}enterRule(listener){listener.enterBodyArgumentValue&&listener.enterBodyArgumentValue(this)}exitRule(listener){listener.exitBodyArgumentValue&&listener.exitBodyArgumentValue(this)}accept(visitor){return visitor.visitBodyArgumentValue?visitor.visitBodyArgumentValue(this):visitor.visitChildren(this)}},FunctionReferenceArgumentMemberContext=class extends ParserRuleContext{constructor(parent,invokingState){super(parent,invokingState)}functionReferenceArgument(){return this.getRuleContext(0,FunctionReferenceArgumentContext)}get ruleIndex(){return SysMLv2Parser.RULE_functionReferenceArgumentMember}enterRule(listener){listener.enterFunctionReferenceArgumentMember&&listener.enterFunctionReferenceArgumentMember(this)}exitRule(listener){listener.exitFunctionReferenceArgumentMember&&listener.exitFunctionReferenceArgumentMember(this)}accept(visitor){return visitor.visitFunctionReferenceArgumentMember?visitor.visitFunctionReferenceArgumentMember(this):visitor.visitChildren(this)}},FunctionReferenceArgumentContext=class extends ParserRuleContext{constructor(parent,invokingState){super(parent,invokingState)}functionReferenceArgumentValue(){return this.getRuleContext(0,FunctionReferenceArgumentValueContext)}get ruleIndex(){return SysMLv2Parser.RULE_functionReferenceArgument}enterRule(listener){listener.enterFunctionReferenceArgument&&listener.enterFunctionReferenceArgument(this)}exitRule(listener){listener.exitFunctionReferenceArgument&&listener.exitFunctionReferenceArgument(this)}accept(visitor){return visitor.visitFunctionReferenceArgument?visitor.visitFunctionReferenceArgument(this):visitor.visitChildren(this)}},FunctionReferenceArgumentValueContext=class extends ParserRuleContext{constructor(parent,invokingState){super(parent,invokingState)}functionReferenceExpression(){return this.getRuleContext(0,FunctionReferenceExpressionContext)}get ruleIndex(){return SysMLv2Parser.RULE_functionReferenceArgumentValue}enterRule(listener){listener.enterFunctionReferenceArgumentValue&&listener.enterFunctionReferenceArgumentValue(this)}exitRule(listener){listener.exitFunctionReferenceArgumentValue&&listener.exitFunctionReferenceArgumentValue(this)}accept(visitor){return visitor.visitFunctionReferenceArgumentValue?visitor.visitFunctionReferenceArgumentValue(this):visitor.visitChildren(this)}},FunctionReferenceExpressionContext=class extends ParserRuleContext{constructor(parent,invokingState){super(parent,invokingState)}functionReferenceMember(){return this.getRuleContext(0,FunctionReferenceMemberContext)}get ruleIndex(){return SysMLv2Parser.RULE_functionReferenceExpression}enterRule(listener){listener.enterFunctionReferenceExpression&&listener.enterFunctionReferenceExpression(this)}exitRule(listener){listener.exitFunctionReferenceExpression&&listener.exitFunctionReferenceExpression(this)}accept(visitor){return visitor.visitFunctionReferenceExpression?visitor.visitFunctionReferenceExpression(this):visitor.visitChildren(this)}},FunctionReferenceMemberContext=class extends ParserRuleContext{constructor(parent,invokingState){super(parent,invokingState)}functionReference(){return this.getRuleContext(0,FunctionReferenceContext)}get ruleIndex(){return SysMLv2Parser.RULE_functionReferenceMember}enterRule(listener){listener.enterFunctionReferenceMember&&listener.enterFunctionReferenceMember(this)}exitRule(listener){listener.exitFunctionReferenceMember&&listener.exitFunctionReferenceMember(this)}accept(visitor){return visitor.visitFunctionReferenceMember?visitor.visitFunctionReferenceMember(this):visitor.visitChildren(this)}},FunctionReferenceContext=class extends ParserRuleContext{constructor(parent,invokingState){super(parent,invokingState)}referenceTyping(){return this.getRuleContext(0,ReferenceTypingContext)}get ruleIndex(){return SysMLv2Parser.RULE_functionReference}enterRule(listener){listener.enterFunctionReference&&listener.enterFunctionReference(this)}exitRule(listener){listener.exitFunctionReference&&listener.exitFunctionReference(this)}accept(visitor){return visitor.visitFunctionReference?visitor.visitFunctionReference(this):visitor.visitChildren(this)}},FeatureChainMemberContext=class extends ParserRuleContext{constructor(parent,invokingState){super(parent,invokingState)}qualifiedName(i){return i===void 0?this.getRuleContexts(QualifiedNameContext):this.getRuleContext(i,QualifiedNameContext)}DOT(i){return i===void 0?this.getTokens(SysMLv2Parser.DOT):this.getToken(SysMLv2Parser.DOT,i)}get ruleIndex(){return SysMLv2Parser.RULE_featureChainMember}enterRule(listener){listener.enterFeatureChainMember&&listener.enterFeatureChainMember(this)}exitRule(listener){listener.exitFeatureChainMember&&listener.exitFeatureChainMember(this)}accept(visitor){return visitor.visitFeatureChainMember?visitor.visitFeatureChainMember(this):visitor.visitChildren(this)}},OwnedFeatureChainMemberContext=class extends ParserRuleContext{constructor(parent,invokingState){super(parent,invokingState)}featureChain(){return this.getRuleContext(0,FeatureChainContext)}ownedFeatureChain(){return this.getRuleContext(0,OwnedFeatureChainContext)}get ruleIndex(){return SysMLv2Parser.RULE_ownedFeatureChainMember}enterRule(listener){listener.enterOwnedFeatureChainMember&&listener.enterOwnedFeatureChainMember(this)}exitRule(listener){listener.exitOwnedFeatureChainMember&&listener.exitOwnedFeatureChainMember(this)}accept(visitor){return visitor.visitOwnedFeatureChainMember?visitor.visitOwnedFeatureChainMember(this):visitor.visitChildren(this)}},FeatureReferenceMemberContext=class extends ParserRuleContext{constructor(parent,invokingState){super(parent,invokingState)}featureReference(){return this.getRuleContext(0,FeatureReferenceContext)}get ruleIndex(){return SysMLv2Parser.RULE_featureReferenceMember}enterRule(listener){listener.enterFeatureReferenceMember&&listener.enterFeatureReferenceMember(this)}exitRule(listener){listener.exitFeatureReferenceMember&&listener.exitFeatureReferenceMember(this)}accept(visitor){return visitor.visitFeatureReferenceMember?visitor.visitFeatureReferenceMember(this):visitor.visitChildren(this)}},FeatureReferenceContext=class extends ParserRuleContext{constructor(parent,invokingState){super(parent,invokingState)}qualifiedName(){return this.getRuleContext(0,QualifiedNameContext)}get ruleIndex(){return SysMLv2Parser.RULE_featureReference}enterRule(listener){listener.enterFeatureReference&&listener.enterFeatureReference(this)}exitRule(listener){listener.exitFeatureReference&&listener.exitFeatureReference(this)}accept(visitor){return visitor.visitFeatureReference?visitor.visitFeatureReference(this):visitor.visitChildren(this)}},ElementReferenceMemberContext=class extends ParserRuleContext{constructor(parent,invokingState){super(parent,invokingState)}qualifiedName(){return this.getRuleContext(0,QualifiedNameContext)}get ruleIndex(){return SysMLv2Parser.RULE_elementReferenceMember}enterRule(listener){listener.enterElementReferenceMember&&listener.enterElementReferenceMember(this)}exitRule(listener){listener.exitElementReferenceMember&&listener.exitElementReferenceMember(this)}accept(visitor){return visitor.visitElementReferenceMember?visitor.visitElementReferenceMember(this):visitor.visitChildren(this)}},ConstructorResultMemberContext=class extends ParserRuleContext{constructor(parent,invokingState){super(parent,invokingState)}constructorResult(){return this.getRuleContext(0,ConstructorResultContext)}get ruleIndex(){return SysMLv2Parser.RULE_constructorResultMember}enterRule(listener){listener.enterConstructorResultMember&&listener.enterConstructorResultMember(this)}exitRule(listener){listener.exitConstructorResultMember&&listener.exitConstructorResultMember(this)}accept(visitor){return visitor.visitConstructorResultMember?visitor.visitConstructorResultMember(this):visitor.visitChildren(this)}},ConstructorResultContext=class extends ParserRuleContext{constructor(parent,invokingState){super(parent,invokingState)}argumentList(){return this.getRuleContext(0,ArgumentListContext)}get ruleIndex(){return SysMLv2Parser.RULE_constructorResult}enterRule(listener){listener.enterConstructorResult&&listener.enterConstructorResult(this)}exitRule(listener){listener.exitConstructorResult&&listener.exitConstructorResult(this)}accept(visitor){return visitor.visitConstructorResult?visitor.visitConstructorResult(this):visitor.visitChildren(this)}},InstantiatedTypeMemberContext=class extends ParserRuleContext{constructor(parent,invokingState){super(parent,invokingState)}qualifiedName(i){return i===void 0?this.getRuleContexts(QualifiedNameContext):this.getRuleContext(i,QualifiedNameContext)}DOT(i){return i===void 0?this.getTokens(SysMLv2Parser.DOT):this.getToken(SysMLv2Parser.DOT,i)}get ruleIndex(){return SysMLv2Parser.RULE_instantiatedTypeMember}enterRule(listener){listener.enterInstantiatedTypeMember&&listener.enterInstantiatedTypeMember(this)}exitRule(listener){listener.exitInstantiatedTypeMember&&listener.exitInstantiatedTypeMember(this)}accept(visitor){return visitor.visitInstantiatedTypeMember?visitor.visitInstantiatedTypeMember(this):visitor.visitChildren(this)}},InstantiatedTypeReferenceContext=class extends ParserRuleContext{constructor(parent,invokingState){super(parent,invokingState)}qualifiedName(){return this.getRuleContext(0,QualifiedNameContext)}get ruleIndex(){return SysMLv2Parser.RULE_instantiatedTypeReference}enterRule(listener){listener.enterInstantiatedTypeReference&&listener.enterInstantiatedTypeReference(this)}exitRule(listener){listener.exitInstantiatedTypeReference&&listener.exitInstantiatedTypeReference(this)}accept(visitor){return visitor.visitInstantiatedTypeReference?visitor.visitInstantiatedTypeReference(this):visitor.visitChildren(this)}},NamedArgumentMemberContext=class extends ParserRuleContext{constructor(parent,invokingState){super(parent,invokingState)}namedArgument(){return this.getRuleContext(0,NamedArgumentContext)}get ruleIndex(){return SysMLv2Parser.RULE_namedArgumentMember}enterRule(listener){listener.enterNamedArgumentMember&&listener.enterNamedArgumentMember(this)}exitRule(listener){listener.exitNamedArgumentMember&&listener.exitNamedArgumentMember(this)}accept(visitor){return visitor.visitNamedArgumentMember?visitor.visitNamedArgumentMember(this):visitor.visitChildren(this)}},ParameterRedefinitionContext=class extends ParserRuleContext{constructor(parent,invokingState){super(parent,invokingState)}qualifiedName(){return this.getRuleContext(0,QualifiedNameContext)}get ruleIndex(){return SysMLv2Parser.RULE_parameterRedefinition}enterRule(listener){listener.enterParameterRedefinition&&listener.enterParameterRedefinition(this)}exitRule(listener){listener.exitParameterRedefinition&&listener.exitParameterRedefinition(this)}accept(visitor){return visitor.visitParameterRedefinition?visitor.visitParameterRedefinition(this):visitor.visitChildren(this)}},ExpressionBodyMemberContext=class extends ParserRuleContext{constructor(parent,invokingState){super(parent,invokingState)}expressionBody(){return this.getRuleContext(0,ExpressionBodyContext)}get ruleIndex(){return SysMLv2Parser.RULE_expressionBodyMember}enterRule(listener){listener.enterExpressionBodyMember&&listener.enterExpressionBodyMember(this)}exitRule(listener){listener.exitExpressionBodyMember&&listener.exitExpressionBodyMember(this)}accept(visitor){return visitor.visitExpressionBodyMember?visitor.visitExpressionBodyMember(this):visitor.visitChildren(this)}},ExpressionBodyContext=class extends ParserRuleContext{constructor(parent,invokingState){super(parent,invokingState)}LBRACE(){return this.getToken(SysMLv2Parser.LBRACE,0)}functionBodyPart(){return this.getRuleContext(0,FunctionBodyPartContext)}RBRACE(){return this.getToken(SysMLv2Parser.RBRACE,0)}get ruleIndex(){return SysMLv2Parser.RULE_expressionBody}enterRule(listener){listener.enterExpressionBody&&listener.enterExpressionBody(this)}exitRule(listener){listener.exitExpressionBody&&listener.exitExpressionBody(this)}accept(visitor){return visitor.visitExpressionBody?visitor.visitExpressionBody(this):visitor.visitChildren(this)}},BooleanValueContext=class extends ParserRuleContext{constructor(parent,invokingState){super(parent,invokingState)}TRUE(){return this.getToken(SysMLv2Parser.TRUE,0)}FALSE(){return this.getToken(SysMLv2Parser.FALSE,0)}get ruleIndex(){return SysMLv2Parser.RULE_booleanValue}enterRule(listener){listener.enterBooleanValue&&listener.enterBooleanValue(this)}exitRule(listener){listener.exitBooleanValue&&listener.exitBooleanValue(this)}accept(visitor){return visitor.visitBooleanValue?visitor.visitBooleanValue(this):visitor.visitChildren(this)}},RealValueContext=class extends ParserRuleContext{constructor(parent,invokingState){super(parent,invokingState)}DOT(){return this.getToken(SysMLv2Parser.DOT,0)}INTEGER(i){return i===void 0?this.getTokens(SysMLv2Parser.INTEGER):this.getToken(SysMLv2Parser.INTEGER,i)}REAL(){return this.getToken(SysMLv2Parser.REAL,0)}get ruleIndex(){return SysMLv2Parser.RULE_realValue}enterRule(listener){listener.enterRealValue&&listener.enterRealValue(this)}exitRule(listener){listener.exitRealValue&&listener.exitRealValue(this)}accept(visitor){return visitor.visitRealValue?visitor.visitRealValue(this):visitor.visitChildren(this)}},InteractionContext=class extends ParserRuleContext{constructor(parent,invokingState){super(parent,invokingState)}typePrefix(){return this.getRuleContext(0,TypePrefixContext)}INTERACTION(){return this.getToken(SysMLv2Parser.INTERACTION,0)}classifierDeclaration(){return this.getRuleContext(0,ClassifierDeclarationContext)}typeBody(){return this.getRuleContext(0,TypeBodyContext)}get ruleIndex(){return SysMLv2Parser.RULE_interaction}enterRule(listener){listener.enterInteraction&&listener.enterInteraction(this)}exitRule(listener){listener.exitInteraction&&listener.exitInteraction(this)}accept(visitor){return visitor.visitInteraction?visitor.visitInteraction(this):visitor.visitChildren(this)}},FlowContext=class extends ParserRuleContext{constructor(parent,invokingState){super(parent,invokingState)}featurePrefix(){return this.getRuleContext(0,FeaturePrefixContext)}FLOW(){return this.getToken(SysMLv2Parser.FLOW,0)}flowDeclaration(){return this.getRuleContext(0,FlowDeclarationContext)}typeBody(){return this.getRuleContext(0,TypeBodyContext)}get ruleIndex(){return SysMLv2Parser.RULE_flow}enterRule(listener){listener.enterFlow&&listener.enterFlow(this)}exitRule(listener){listener.exitFlow&&listener.exitFlow(this)}accept(visitor){return visitor.visitFlow?visitor.visitFlow(this):visitor.visitChildren(this)}},SuccessionFlowContext=class extends ParserRuleContext{constructor(parent,invokingState){super(parent,invokingState)}featurePrefix(){return this.getRuleContext(0,FeaturePrefixContext)}SUCCESSION(){return this.getToken(SysMLv2Parser.SUCCESSION,0)}FLOW(){return this.getToken(SysMLv2Parser.FLOW,0)}flowDeclaration(){return this.getRuleContext(0,FlowDeclarationContext)}typeBody(){return this.getRuleContext(0,TypeBodyContext)}get ruleIndex(){return SysMLv2Parser.RULE_successionFlow}enterRule(listener){listener.enterSuccessionFlow&&listener.enterSuccessionFlow(this)}exitRule(listener){listener.exitSuccessionFlow&&listener.exitSuccessionFlow(this)}accept(visitor){return visitor.visitSuccessionFlow?visitor.visitSuccessionFlow(this):visitor.visitChildren(this)}},FlowDeclarationContext=class extends ParserRuleContext{constructor(parent,invokingState){super(parent,invokingState)}featureDeclaration(){return this.getRuleContext(0,FeatureDeclarationContext)}valuePart(){return this.getRuleContext(0,ValuePartContext)}OF(){return this.getToken(SysMLv2Parser.OF,0)}payloadFeatureMember(){return this.getRuleContext(0,PayloadFeatureMemberContext)}FROM(){return this.getToken(SysMLv2Parser.FROM,0)}flowEndMember(i){return i===void 0?this.getRuleContexts(FlowEndMemberContext):this.getRuleContext(i,FlowEndMemberContext)}TO(){return this.getToken(SysMLv2Parser.TO,0)}ALL(){return this.getToken(SysMLv2Parser.ALL,0)}usageDeclaration(){return this.getRuleContext(0,UsageDeclarationContext)}flowPayloadFeatureMember(){return this.getRuleContext(0,FlowPayloadFeatureMemberContext)}get ruleIndex(){return SysMLv2Parser.RULE_flowDeclaration}enterRule(listener){listener.enterFlowDeclaration&&listener.enterFlowDeclaration(this)}exitRule(listener){listener.exitFlowDeclaration&&listener.exitFlowDeclaration(this)}accept(visitor){return visitor.visitFlowDeclaration?visitor.visitFlowDeclaration(this):visitor.visitChildren(this)}},PayloadFeatureMemberContext=class extends ParserRuleContext{constructor(parent,invokingState){super(parent,invokingState)}payloadFeature(){return this.getRuleContext(0,PayloadFeatureContext)}get ruleIndex(){return SysMLv2Parser.RULE_payloadFeatureMember}enterRule(listener){listener.enterPayloadFeatureMember&&listener.enterPayloadFeatureMember(this)}exitRule(listener){listener.exitPayloadFeatureMember&&listener.exitPayloadFeatureMember(this)}accept(visitor){return visitor.visitPayloadFeatureMember?visitor.visitPayloadFeatureMember(this):visitor.visitChildren(this)}},PayloadFeatureContext=class extends ParserRuleContext{constructor(parent,invokingState){super(parent,invokingState)}valuePart(){return this.getRuleContext(0,ValuePartContext)}identification(){return this.getRuleContext(0,IdentificationContext)}payloadFeatureSpecializationPart(){return this.getRuleContext(0,PayloadFeatureSpecializationPartContext)}ownedFeatureTyping(){return this.getRuleContext(0,OwnedFeatureTypingContext)}ownedMultiplicity(){return this.getRuleContext(0,OwnedMultiplicityContext)}get ruleIndex(){return SysMLv2Parser.RULE_payloadFeature}enterRule(listener){listener.enterPayloadFeature&&listener.enterPayloadFeature(this)}exitRule(listener){listener.exitPayloadFeature&&listener.exitPayloadFeature(this)}accept(visitor){return visitor.visitPayloadFeature?visitor.visitPayloadFeature(this):visitor.visitChildren(this)}},PayloadFeatureSpecializationPartContext=class extends ParserRuleContext{constructor(parent,invokingState){super(parent,invokingState)}featureSpecialization(i){return i===void 0?this.getRuleContexts(FeatureSpecializationContext):this.getRuleContext(i,FeatureSpecializationContext)}multiplicityPart(){return this.getRuleContext(0,MultiplicityPartContext)}get ruleIndex(){return SysMLv2Parser.RULE_payloadFeatureSpecializationPart}enterRule(listener){listener.enterPayloadFeatureSpecializationPart&&listener.enterPayloadFeatureSpecializationPart(this)}exitRule(listener){listener.exitPayloadFeatureSpecializationPart&&listener.exitPayloadFeatureSpecializationPart(this)}accept(visitor){return visitor.visitPayloadFeatureSpecializationPart?visitor.visitPayloadFeatureSpecializationPart(this):visitor.visitChildren(this)}},FlowEndMemberContext=class extends ParserRuleContext{constructor(parent,invokingState){super(parent,invokingState)}flowEnd(){return this.getRuleContext(0,FlowEndContext)}get ruleIndex(){return SysMLv2Parser.RULE_flowEndMember}enterRule(listener){listener.enterFlowEndMember&&listener.enterFlowEndMember(this)}exitRule(listener){listener.exitFlowEndMember&&listener.exitFlowEndMember(this)}accept(visitor){return visitor.visitFlowEndMember?visitor.visitFlowEndMember(this):visitor.visitChildren(this)}},FlowEndContext=class extends ParserRuleContext{constructor(parent,invokingState){super(parent,invokingState)}qualifiedName(i){return i===void 0?this.getRuleContexts(QualifiedNameContext):this.getRuleContext(i,QualifiedNameContext)}DOT(i){return i===void 0?this.getTokens(SysMLv2Parser.DOT):this.getToken(SysMLv2Parser.DOT,i)}get ruleIndex(){return SysMLv2Parser.RULE_flowEnd}enterRule(listener){listener.enterFlowEnd&&listener.enterFlowEnd(this)}exitRule(listener){listener.exitFlowEnd&&listener.exitFlowEnd(this)}accept(visitor){return visitor.visitFlowEnd?visitor.visitFlowEnd(this):visitor.visitChildren(this)}},FlowFeatureMemberContext=class extends ParserRuleContext{constructor(parent,invokingState){super(parent,invokingState)}flowFeature(){return this.getRuleContext(0,FlowFeatureContext)}get ruleIndex(){return SysMLv2Parser.RULE_flowFeatureMember}enterRule(listener){listener.enterFlowFeatureMember&&listener.enterFlowFeatureMember(this)}exitRule(listener){listener.exitFlowFeatureMember&&listener.exitFlowFeatureMember(this)}accept(visitor){return visitor.visitFlowFeatureMember?visitor.visitFlowFeatureMember(this):visitor.visitChildren(this)}},FlowFeatureContext=class extends ParserRuleContext{constructor(parent,invokingState){super(parent,invokingState)}flowFeatureRedefinition(){return this.getRuleContext(0,FlowFeatureRedefinitionContext)}get ruleIndex(){return SysMLv2Parser.RULE_flowFeature}enterRule(listener){listener.enterFlowFeature&&listener.enterFlowFeature(this)}exitRule(listener){listener.exitFlowFeature&&listener.exitFlowFeature(this)}accept(visitor){return visitor.visitFlowFeature?visitor.visitFlowFeature(this):visitor.visitChildren(this)}},FlowFeatureRedefinitionContext=class extends ParserRuleContext{constructor(parent,invokingState){super(parent,invokingState)}qualifiedName(){return this.getRuleContext(0,QualifiedNameContext)}get ruleIndex(){return SysMLv2Parser.RULE_flowFeatureRedefinition}enterRule(listener){listener.enterFlowFeatureRedefinition&&listener.enterFlowFeatureRedefinition(this)}exitRule(listener){listener.exitFlowFeatureRedefinition&&listener.exitFlowFeatureRedefinition(this)}accept(visitor){return visitor.visitFlowFeatureRedefinition?visitor.visitFlowFeatureRedefinition(this):visitor.visitChildren(this)}},ValuePartContext=class extends ParserRuleContext{constructor(parent,invokingState){super(parent,invokingState)}featureValue(){return this.getRuleContext(0,FeatureValueContext)}get ruleIndex(){return SysMLv2Parser.RULE_valuePart}enterRule(listener){listener.enterValuePart&&listener.enterValuePart(this)}exitRule(listener){listener.exitValuePart&&listener.exitValuePart(this)}accept(visitor){return visitor.visitValuePart?visitor.visitValuePart(this):visitor.visitChildren(this)}},FeatureValueContext=class extends ParserRuleContext{constructor(parent,invokingState){super(parent,invokingState)}ownedExpression(){return this.getRuleContext(0,OwnedExpressionContext)}EQ(){return this.getToken(SysMLv2Parser.EQ,0)}COLON_EQ(){return this.getToken(SysMLv2Parser.COLON_EQ,0)}DEFAULT(){return this.getToken(SysMLv2Parser.DEFAULT,0)}get ruleIndex(){return SysMLv2Parser.RULE_featureValue}enterRule(listener){listener.enterFeatureValue&&listener.enterFeatureValue(this)}exitRule(listener){listener.exitFeatureValue&&listener.exitFeatureValue(this)}accept(visitor){return visitor.visitFeatureValue?visitor.visitFeatureValue(this):visitor.visitChildren(this)}},MultiplicityContext=class extends ParserRuleContext{constructor(parent,invokingState){super(parent,invokingState)}multiplicitySubset(){return this.getRuleContext(0,MultiplicitySubsetContext)}multiplicityRange(){return this.getRuleContext(0,MultiplicityRangeContext)}get ruleIndex(){return SysMLv2Parser.RULE_multiplicity}enterRule(listener){listener.enterMultiplicity&&listener.enterMultiplicity(this)}exitRule(listener){listener.exitMultiplicity&&listener.exitMultiplicity(this)}accept(visitor){return visitor.visitMultiplicity?visitor.visitMultiplicity(this):visitor.visitChildren(this)}},MultiplicitySubsetContext=class extends ParserRuleContext{constructor(parent,invokingState){super(parent,invokingState)}MULTIPLICITY(){return this.getToken(SysMLv2Parser.MULTIPLICITY,0)}subsets(){return this.getRuleContext(0,SubsetsContext)}typeBody(){return this.getRuleContext(0,TypeBodyContext)}identification(){return this.getRuleContext(0,IdentificationContext)}get ruleIndex(){return SysMLv2Parser.RULE_multiplicitySubset}enterRule(listener){listener.enterMultiplicitySubset&&listener.enterMultiplicitySubset(this)}exitRule(listener){listener.exitMultiplicitySubset&&listener.exitMultiplicitySubset(this)}accept(visitor){return visitor.visitMultiplicitySubset?visitor.visitMultiplicitySubset(this):visitor.visitChildren(this)}},MultiplicityRangeContext=class extends ParserRuleContext{constructor(parent,invokingState){super(parent,invokingState)}MULTIPLICITY(){return this.getToken(SysMLv2Parser.MULTIPLICITY,0)}multiplicityBounds(){return this.getRuleContext(0,MultiplicityBoundsContext)}typeBody(){return this.getRuleContext(0,TypeBodyContext)}identification(){return this.getRuleContext(0,IdentificationContext)}get ruleIndex(){return SysMLv2Parser.RULE_multiplicityRange}enterRule(listener){listener.enterMultiplicityRange&&listener.enterMultiplicityRange(this)}exitRule(listener){listener.exitMultiplicityRange&&listener.exitMultiplicityRange(this)}accept(visitor){return visitor.visitMultiplicityRange?visitor.visitMultiplicityRange(this):visitor.visitChildren(this)}},OwnedMultiplicityContext=class extends ParserRuleContext{constructor(parent,invokingState){super(parent,invokingState)}ownedMultiplicityRange(){return this.getRuleContext(0,OwnedMultiplicityRangeContext)}get ruleIndex(){return SysMLv2Parser.RULE_ownedMultiplicity}enterRule(listener){listener.enterOwnedMultiplicity&&listener.enterOwnedMultiplicity(this)}exitRule(listener){listener.exitOwnedMultiplicity&&listener.exitOwnedMultiplicity(this)}accept(visitor){return visitor.visitOwnedMultiplicity?visitor.visitOwnedMultiplicity(this):visitor.visitChildren(this)}},OwnedMultiplicityRangeContext=class extends ParserRuleContext{constructor(parent,invokingState){super(parent,invokingState)}multiplicityBounds(){return this.getRuleContext(0,MultiplicityBoundsContext)}get ruleIndex(){return SysMLv2Parser.RULE_ownedMultiplicityRange}enterRule(listener){listener.enterOwnedMultiplicityRange&&listener.enterOwnedMultiplicityRange(this)}exitRule(listener){listener.exitOwnedMultiplicityRange&&listener.exitOwnedMultiplicityRange(this)}accept(visitor){return visitor.visitOwnedMultiplicityRange?visitor.visitOwnedMultiplicityRange(this):visitor.visitChildren(this)}},MultiplicityBoundsContext=class extends ParserRuleContext{constructor(parent,invokingState){super(parent,invokingState)}LBRACK(){return this.getToken(SysMLv2Parser.LBRACK,0)}multiplicityExpressionMember(i){return i===void 0?this.getRuleContexts(MultiplicityExpressionMemberContext):this.getRuleContext(i,MultiplicityExpressionMemberContext)}RBRACK(){return this.getToken(SysMLv2Parser.RBRACK,0)}DOT_DOT(){return this.getToken(SysMLv2Parser.DOT_DOT,0)}get ruleIndex(){return SysMLv2Parser.RULE_multiplicityBounds}enterRule(listener){listener.enterMultiplicityBounds&&listener.enterMultiplicityBounds(this)}exitRule(listener){listener.exitMultiplicityBounds&&listener.exitMultiplicityBounds(this)}accept(visitor){return visitor.visitMultiplicityBounds?visitor.visitMultiplicityBounds(this):visitor.visitChildren(this)}},MultiplicityExpressionMemberContext=class extends ParserRuleContext{constructor(parent,invokingState){super(parent,invokingState)}literalExpression(){return this.getRuleContext(0,LiteralExpressionContext)}featureReferenceExpression(){return this.getRuleContext(0,FeatureReferenceExpressionContext)}get ruleIndex(){return SysMLv2Parser.RULE_multiplicityExpressionMember}enterRule(listener){listener.enterMultiplicityExpressionMember&&listener.enterMultiplicityExpressionMember(this)}exitRule(listener){listener.exitMultiplicityExpressionMember&&listener.exitMultiplicityExpressionMember(this)}accept(visitor){return visitor.visitMultiplicityExpressionMember?visitor.visitMultiplicityExpressionMember(this):visitor.visitChildren(this)}},MetaclassContext=class extends ParserRuleContext{constructor(parent,invokingState){super(parent,invokingState)}typePrefix(){return this.getRuleContext(0,TypePrefixContext)}METACLASS(){return this.getToken(SysMLv2Parser.METACLASS,0)}classifierDeclaration(){return this.getRuleContext(0,ClassifierDeclarationContext)}typeBody(){return this.getRuleContext(0,TypeBodyContext)}get ruleIndex(){return SysMLv2Parser.RULE_metaclass}enterRule(listener){listener.enterMetaclass&&listener.enterMetaclass(this)}exitRule(listener){listener.exitMetaclass&&listener.exitMetaclass(this)}accept(visitor){return visitor.visitMetaclass?visitor.visitMetaclass(this):visitor.visitChildren(this)}},PrefixMetadataAnnotationContext=class extends ParserRuleContext{constructor(parent,invokingState){super(parent,invokingState)}HASH(){return this.getToken(SysMLv2Parser.HASH,0)}prefixMetadataFeature(){return this.getRuleContext(0,PrefixMetadataFeatureContext)}prefixMetadataUsage(){return this.getRuleContext(0,PrefixMetadataUsageContext)}get ruleIndex(){return SysMLv2Parser.RULE_prefixMetadataAnnotation}enterRule(listener){listener.enterPrefixMetadataAnnotation&&listener.enterPrefixMetadataAnnotation(this)}exitRule(listener){listener.exitPrefixMetadataAnnotation&&listener.exitPrefixMetadataAnnotation(this)}accept(visitor){return visitor.visitPrefixMetadataAnnotation?visitor.visitPrefixMetadataAnnotation(this):visitor.visitChildren(this)}},PrefixMetadataMemberContext=class extends ParserRuleContext{constructor(parent,invokingState){super(parent,invokingState)}HASH(){return this.getToken(SysMLv2Parser.HASH,0)}prefixMetadataFeature(){return this.getRuleContext(0,PrefixMetadataFeatureContext)}prefixMetadataUsage(){return this.getRuleContext(0,PrefixMetadataUsageContext)}get ruleIndex(){return SysMLv2Parser.RULE_prefixMetadataMember}enterRule(listener){listener.enterPrefixMetadataMember&&listener.enterPrefixMetadataMember(this)}exitRule(listener){listener.exitPrefixMetadataMember&&listener.exitPrefixMetadataMember(this)}accept(visitor){return visitor.visitPrefixMetadataMember?visitor.visitPrefixMetadataMember(this):visitor.visitChildren(this)}},PrefixMetadataFeatureContext=class extends ParserRuleContext{constructor(parent,invokingState){super(parent,invokingState)}ownedFeatureTyping(){return this.getRuleContext(0,OwnedFeatureTypingContext)}get ruleIndex(){return SysMLv2Parser.RULE_prefixMetadataFeature}enterRule(listener){listener.enterPrefixMetadataFeature&&listener.enterPrefixMetadataFeature(this)}exitRule(listener){listener.exitPrefixMetadataFeature&&listener.exitPrefixMetadataFeature(this)}accept(visitor){return visitor.visitPrefixMetadataFeature?visitor.visitPrefixMetadataFeature(this):visitor.visitChildren(this)}},MetadataFeatureContext=class extends ParserRuleContext{constructor(parent,invokingState){super(parent,invokingState)}metadataFeatureDeclaration(){return this.getRuleContext(0,MetadataFeatureDeclarationContext)}metadataBody(){return this.getRuleContext(0,MetadataBodyContext)}AT_SIGN(){return this.getToken(SysMLv2Parser.AT_SIGN,0)}METADATA(){return this.getToken(SysMLv2Parser.METADATA,0)}prefixMetadataMember(i){return i===void 0?this.getRuleContexts(PrefixMetadataMemberContext):this.getRuleContext(i,PrefixMetadataMemberContext)}ABOUT(){return this.getToken(SysMLv2Parser.ABOUT,0)}annotation(i){return i===void 0?this.getRuleContexts(AnnotationContext):this.getRuleContext(i,AnnotationContext)}COMMA(i){return i===void 0?this.getTokens(SysMLv2Parser.COMMA):this.getToken(SysMLv2Parser.COMMA,i)}get ruleIndex(){return SysMLv2Parser.RULE_metadataFeature}enterRule(listener){listener.enterMetadataFeature&&listener.enterMetadataFeature(this)}exitRule(listener){listener.exitMetadataFeature&&listener.exitMetadataFeature(this)}accept(visitor){return visitor.visitMetadataFeature?visitor.visitMetadataFeature(this):visitor.visitChildren(this)}},MetadataFeatureDeclarationContext=class extends ParserRuleContext{constructor(parent,invokingState){super(parent,invokingState)}ownedFeatureTyping(){return this.getRuleContext(0,OwnedFeatureTypingContext)}COLON(){return this.getToken(SysMLv2Parser.COLON,0)}TYPED(){return this.getToken(SysMLv2Parser.TYPED,0)}BY(){return this.getToken(SysMLv2Parser.BY,0)}identification(){return this.getRuleContext(0,IdentificationContext)}get ruleIndex(){return SysMLv2Parser.RULE_metadataFeatureDeclaration}enterRule(listener){listener.enterMetadataFeatureDeclaration&&listener.enterMetadataFeatureDeclaration(this)}exitRule(listener){listener.exitMetadataFeatureDeclaration&&listener.exitMetadataFeatureDeclaration(this)}accept(visitor){return visitor.visitMetadataFeatureDeclaration?visitor.visitMetadataFeatureDeclaration(this):visitor.visitChildren(this)}},MetadataBodyContext=class extends ParserRuleContext{constructor(parent,invokingState){super(parent,invokingState)}SEMI(){return this.getToken(SysMLv2Parser.SEMI,0)}LBRACE(){return this.getToken(SysMLv2Parser.LBRACE,0)}RBRACE(){return this.getToken(SysMLv2Parser.RBRACE,0)}metadataBodyElement(i){return i===void 0?this.getRuleContexts(MetadataBodyElementContext):this.getRuleContext(i,MetadataBodyElementContext)}definitionMember(i){return i===void 0?this.getRuleContexts(DefinitionMemberContext):this.getRuleContext(i,DefinitionMemberContext)}metadataBodyUsageMember(i){return i===void 0?this.getRuleContexts(MetadataBodyUsageMemberContext):this.getRuleContext(i,MetadataBodyUsageMemberContext)}aliasMember(i){return i===void 0?this.getRuleContexts(AliasMemberContext):this.getRuleContext(i,AliasMemberContext)}importRule(i){return i===void 0?this.getRuleContexts(ImportRuleContext):this.getRuleContext(i,ImportRuleContext)}get ruleIndex(){return SysMLv2Parser.RULE_metadataBody}enterRule(listener){listener.enterMetadataBody&&listener.enterMetadataBody(this)}exitRule(listener){listener.exitMetadataBody&&listener.exitMetadataBody(this)}accept(visitor){return visitor.visitMetadataBody?visitor.visitMetadataBody(this):visitor.visitChildren(this)}},MetadataBodyElementContext=class extends ParserRuleContext{constructor(parent,invokingState){super(parent,invokingState)}nonFeatureMember(){return this.getRuleContext(0,NonFeatureMemberContext)}metadataBodyFeatureMember(){return this.getRuleContext(0,MetadataBodyFeatureMemberContext)}aliasMember(){return this.getRuleContext(0,AliasMemberContext)}importRule(){return this.getRuleContext(0,ImportRuleContext)}get ruleIndex(){return SysMLv2Parser.RULE_metadataBodyElement}enterRule(listener){listener.enterMetadataBodyElement&&listener.enterMetadataBodyElement(this)}exitRule(listener){listener.exitMetadataBodyElement&&listener.exitMetadataBodyElement(this)}accept(visitor){return visitor.visitMetadataBodyElement?visitor.visitMetadataBodyElement(this):visitor.visitChildren(this)}},MetadataBodyFeatureMemberContext=class extends ParserRuleContext{constructor(parent,invokingState){super(parent,invokingState)}metadataBodyFeature(){return this.getRuleContext(0,MetadataBodyFeatureContext)}get ruleIndex(){return SysMLv2Parser.RULE_metadataBodyFeatureMember}enterRule(listener){listener.enterMetadataBodyFeatureMember&&listener.enterMetadataBodyFeatureMember(this)}exitRule(listener){listener.exitMetadataBodyFeatureMember&&listener.exitMetadataBodyFeatureMember(this)}accept(visitor){return visitor.visitMetadataBodyFeatureMember?visitor.visitMetadataBodyFeatureMember(this):visitor.visitChildren(this)}},MetadataBodyFeatureContext=class extends ParserRuleContext{constructor(parent,invokingState){super(parent,invokingState)}ownedRedefinition(){return this.getRuleContext(0,OwnedRedefinitionContext)}metadataBody(){return this.getRuleContext(0,MetadataBodyContext)}FEATURE(){return this.getToken(SysMLv2Parser.FEATURE,0)}featureSpecializationPart(){return this.getRuleContext(0,FeatureSpecializationPartContext)}valuePart(){return this.getRuleContext(0,ValuePartContext)}COLON_GT_GT(){return this.getToken(SysMLv2Parser.COLON_GT_GT,0)}REDEFINES(){return this.getToken(SysMLv2Parser.REDEFINES,0)}get ruleIndex(){return SysMLv2Parser.RULE_metadataBodyFeature}enterRule(listener){listener.enterMetadataBodyFeature&&listener.enterMetadataBodyFeature(this)}exitRule(listener){listener.exitMetadataBodyFeature&&listener.exitMetadataBodyFeature(this)}accept(visitor){return visitor.visitMetadataBodyFeature?visitor.visitMetadataBodyFeature(this):visitor.visitChildren(this)}},PackageContext=class extends ParserRuleContext{constructor(parent,invokingState){super(parent,invokingState)}packageDeclaration(){return this.getRuleContext(0,PackageDeclarationContext)}packageBody(){return this.getRuleContext(0,PackageBodyContext)}prefixMetadataMember(i){return i===void 0?this.getRuleContexts(PrefixMetadataMemberContext):this.getRuleContext(i,PrefixMetadataMemberContext)}get ruleIndex(){return SysMLv2Parser.RULE_package}enterRule(listener){listener.enterPackage&&listener.enterPackage(this)}exitRule(listener){listener.exitPackage&&listener.exitPackage(this)}accept(visitor){return visitor.visitPackage?visitor.visitPackage(this):visitor.visitChildren(this)}},LibraryPackageContext=class extends ParserRuleContext{constructor(parent,invokingState){super(parent,invokingState)}LIBRARY(){return this.getToken(SysMLv2Parser.LIBRARY,0)}packageDeclaration(){return this.getRuleContext(0,PackageDeclarationContext)}packageBody(){return this.getRuleContext(0,PackageBodyContext)}STANDARD(){return this.getToken(SysMLv2Parser.STANDARD,0)}prefixMetadataMember(i){return i===void 0?this.getRuleContexts(PrefixMetadataMemberContext):this.getRuleContext(i,PrefixMetadataMemberContext)}get ruleIndex(){return SysMLv2Parser.RULE_libraryPackage}enterRule(listener){listener.enterLibraryPackage&&listener.enterLibraryPackage(this)}exitRule(listener){listener.exitLibraryPackage&&listener.exitLibraryPackage(this)}accept(visitor){return visitor.visitLibraryPackage?visitor.visitLibraryPackage(this):visitor.visitChildren(this)}},PackageDeclarationContext=class extends ParserRuleContext{constructor(parent,invokingState){super(parent,invokingState)}PACKAGE(){return this.getToken(SysMLv2Parser.PACKAGE,0)}identification(){return this.getRuleContext(0,IdentificationContext)}get ruleIndex(){return SysMLv2Parser.RULE_packageDeclaration}enterRule(listener){listener.enterPackageDeclaration&&listener.enterPackageDeclaration(this)}exitRule(listener){listener.exitPackageDeclaration&&listener.exitPackageDeclaration(this)}accept(visitor){return visitor.visitPackageDeclaration?visitor.visitPackageDeclaration(this):visitor.visitChildren(this)}},PackageBodyContext=class extends ParserRuleContext{constructor(parent,invokingState){super(parent,invokingState)}SEMI(){return this.getToken(SysMLv2Parser.SEMI,0)}LBRACE(){return this.getToken(SysMLv2Parser.LBRACE,0)}RBRACE(){return this.getToken(SysMLv2Parser.RBRACE,0)}packageBodyElement(i){return i===void 0?this.getRuleContexts(PackageBodyElementContext):this.getRuleContext(i,PackageBodyElementContext)}get ruleIndex(){return SysMLv2Parser.RULE_packageBody}enterRule(listener){listener.enterPackageBody&&listener.enterPackageBody(this)}exitRule(listener){listener.exitPackageBody&&listener.exitPackageBody(this)}accept(visitor){return visitor.visitPackageBody?visitor.visitPackageBody(this):visitor.visitChildren(this)}},ElementFilterMemberContext=class extends ParserRuleContext{constructor(parent,invokingState){super(parent,invokingState)}memberPrefix(){return this.getRuleContext(0,MemberPrefixContext)}FILTER(){return this.getToken(SysMLv2Parser.FILTER,0)}ownedExpression(){return this.getRuleContext(0,OwnedExpressionContext)}SEMI(){return this.getToken(SysMLv2Parser.SEMI,0)}get ruleIndex(){return SysMLv2Parser.RULE_elementFilterMember}enterRule(listener){listener.enterElementFilterMember&&listener.enterElementFilterMember(this)}exitRule(listener){listener.exitElementFilterMember&&listener.exitElementFilterMember(this)}accept(visitor){return visitor.visitElementFilterMember?visitor.visitElementFilterMember(this):visitor.visitChildren(this)}},DependencyDeclarationContext=class extends ParserRuleContext{constructor(parent,invokingState){super(parent,invokingState)}qualifiedName(i){return i===void 0?this.getRuleContexts(QualifiedNameContext):this.getRuleContext(i,QualifiedNameContext)}TO(){return this.getToken(SysMLv2Parser.TO,0)}FROM(){return this.getToken(SysMLv2Parser.FROM,0)}COMMA(i){return i===void 0?this.getTokens(SysMLv2Parser.COMMA):this.getToken(SysMLv2Parser.COMMA,i)}identification(){return this.getRuleContext(0,IdentificationContext)}get ruleIndex(){return SysMLv2Parser.RULE_dependencyDeclaration}enterRule(listener){listener.enterDependencyDeclaration&&listener.enterDependencyDeclaration(this)}exitRule(listener){listener.exitDependencyDeclaration&&listener.exitDependencyDeclaration(this)}accept(visitor){return visitor.visitDependencyDeclaration?visitor.visitDependencyDeclaration(this):visitor.visitChildren(this)}},AnnotatingMemberContext=class extends ParserRuleContext{constructor(parent,invokingState){super(parent,invokingState)}annotatingElement(){return this.getRuleContext(0,AnnotatingElementContext)}get ruleIndex(){return SysMLv2Parser.RULE_annotatingMember}enterRule(listener){listener.enterAnnotatingMember&&listener.enterAnnotatingMember(this)}exitRule(listener){listener.exitAnnotatingMember&&listener.exitAnnotatingMember(this)}accept(visitor){return visitor.visitAnnotatingMember?visitor.visitAnnotatingMember(this):visitor.visitChildren(this)}},PackageBodyElementContext=class extends ParserRuleContext{constructor(parent,invokingState){super(parent,invokingState)}packageMember(){return this.getRuleContext(0,PackageMemberContext)}elementFilterMember(){return this.getRuleContext(0,ElementFilterMemberContext)}aliasMember(){return this.getRuleContext(0,AliasMemberContext)}importRule(){return this.getRuleContext(0,ImportRuleContext)}get ruleIndex(){return SysMLv2Parser.RULE_packageBodyElement}enterRule(listener){listener.enterPackageBodyElement&&listener.enterPackageBodyElement(this)}exitRule(listener){listener.exitPackageBodyElement&&listener.exitPackageBodyElement(this)}accept(visitor){return visitor.visitPackageBodyElement?visitor.visitPackageBodyElement(this):visitor.visitChildren(this)}},PackageMemberContext=class extends ParserRuleContext{constructor(parent,invokingState){super(parent,invokingState)}memberPrefix(){return this.getRuleContext(0,MemberPrefixContext)}definitionElement(){return this.getRuleContext(0,DefinitionElementContext)}usageElement(){return this.getRuleContext(0,UsageElementContext)}get ruleIndex(){return SysMLv2Parser.RULE_packageMember}enterRule(listener){listener.enterPackageMember&&listener.enterPackageMember(this)}exitRule(listener){listener.exitPackageMember&&listener.exitPackageMember(this)}accept(visitor){return visitor.visitPackageMember?visitor.visitPackageMember(this):visitor.visitChildren(this)}},DefinitionElementContext=class extends ParserRuleContext{constructor(parent,invokingState){super(parent,invokingState)}package(){return this.getRuleContext(0,PackageContext)}libraryPackage(){return this.getRuleContext(0,LibraryPackageContext)}annotatingElement(){return this.getRuleContext(0,AnnotatingElementContext)}dependency(){return this.getRuleContext(0,DependencyContext)}attributeDefinition(){return this.getRuleContext(0,AttributeDefinitionContext)}enumerationDefinition(){return this.getRuleContext(0,EnumerationDefinitionContext)}occurrenceDefinition(){return this.getRuleContext(0,OccurrenceDefinitionContext)}individualDefinition(){return this.getRuleContext(0,IndividualDefinitionContext)}itemDefinition(){return this.getRuleContext(0,ItemDefinitionContext)}partDefinition(){return this.getRuleContext(0,PartDefinitionContext)}connectionDefinition(){return this.getRuleContext(0,ConnectionDefinitionContext)}flowDefinition(){return this.getRuleContext(0,FlowDefinitionContext)}interfaceDefinition(){return this.getRuleContext(0,InterfaceDefinitionContext)}portDefinition(){return this.getRuleContext(0,PortDefinitionContext)}actionDefinition(){return this.getRuleContext(0,ActionDefinitionContext)}calculationDefinition(){return this.getRuleContext(0,CalculationDefinitionContext)}stateDefinition(){return this.getRuleContext(0,StateDefinitionContext)}constraintDefinition(){return this.getRuleContext(0,ConstraintDefinitionContext)}requirementDefinition(){return this.getRuleContext(0,RequirementDefinitionContext)}concernDefinition(){return this.getRuleContext(0,ConcernDefinitionContext)}caseDefinition(){return this.getRuleContext(0,CaseDefinitionContext)}analysisCaseDefinition(){return this.getRuleContext(0,AnalysisCaseDefinitionContext)}verificationCaseDefinition(){return this.getRuleContext(0,VerificationCaseDefinitionContext)}useCaseDefinition(){return this.getRuleContext(0,UseCaseDefinitionContext)}viewDefinition(){return this.getRuleContext(0,ViewDefinitionContext)}viewpointDefinition(){return this.getRuleContext(0,ViewpointDefinitionContext)}renderingDefinition(){return this.getRuleContext(0,RenderingDefinitionContext)}metadataDefinition(){return this.getRuleContext(0,MetadataDefinitionContext)}allocationDefinition(){return this.getRuleContext(0,AllocationDefinitionContext)}extendedDefinition(){return this.getRuleContext(0,ExtendedDefinitionContext)}get ruleIndex(){return SysMLv2Parser.RULE_definitionElement}enterRule(listener){listener.enterDefinitionElement&&listener.enterDefinitionElement(this)}exitRule(listener){listener.exitDefinitionElement&&listener.exitDefinitionElement(this)}accept(visitor){return visitor.visitDefinitionElement?visitor.visitDefinitionElement(this):visitor.visitChildren(this)}},UsageElementContext=class extends ParserRuleContext{constructor(parent,invokingState){super(parent,invokingState)}nonOccurrenceUsageElement(){return this.getRuleContext(0,NonOccurrenceUsageElementContext)}occurrenceUsageElement(){return this.getRuleContext(0,OccurrenceUsageElementContext)}get ruleIndex(){return SysMLv2Parser.RULE_usageElement}enterRule(listener){listener.enterUsageElement&&listener.enterUsageElement(this)}exitRule(listener){listener.exitUsageElement&&listener.exitUsageElement(this)}accept(visitor){return visitor.visitUsageElement?visitor.visitUsageElement(this):visitor.visitChildren(this)}},BasicDefinitionPrefixContext=class extends ParserRuleContext{constructor(parent,invokingState){super(parent,invokingState)}ABSTRACT(){return this.getToken(SysMLv2Parser.ABSTRACT,0)}VARIATION(){return this.getToken(SysMLv2Parser.VARIATION,0)}get ruleIndex(){return SysMLv2Parser.RULE_basicDefinitionPrefix}enterRule(listener){listener.enterBasicDefinitionPrefix&&listener.enterBasicDefinitionPrefix(this)}exitRule(listener){listener.exitBasicDefinitionPrefix&&listener.exitBasicDefinitionPrefix(this)}accept(visitor){return visitor.visitBasicDefinitionPrefix?visitor.visitBasicDefinitionPrefix(this):visitor.visitChildren(this)}},DefinitionExtensionKeywordContext=class extends ParserRuleContext{constructor(parent,invokingState){super(parent,invokingState)}prefixMetadataMember(){return this.getRuleContext(0,PrefixMetadataMemberContext)}get ruleIndex(){return SysMLv2Parser.RULE_definitionExtensionKeyword}enterRule(listener){listener.enterDefinitionExtensionKeyword&&listener.enterDefinitionExtensionKeyword(this)}exitRule(listener){listener.exitDefinitionExtensionKeyword&&listener.exitDefinitionExtensionKeyword(this)}accept(visitor){return visitor.visitDefinitionExtensionKeyword?visitor.visitDefinitionExtensionKeyword(this):visitor.visitChildren(this)}},DefinitionPrefixContext=class extends ParserRuleContext{constructor(parent,invokingState){super(parent,invokingState)}basicDefinitionPrefix(){return this.getRuleContext(0,BasicDefinitionPrefixContext)}definitionExtensionKeyword(i){return i===void 0?this.getRuleContexts(DefinitionExtensionKeywordContext):this.getRuleContext(i,DefinitionExtensionKeywordContext)}get ruleIndex(){return SysMLv2Parser.RULE_definitionPrefix}enterRule(listener){listener.enterDefinitionPrefix&&listener.enterDefinitionPrefix(this)}exitRule(listener){listener.exitDefinitionPrefix&&listener.exitDefinitionPrefix(this)}accept(visitor){return visitor.visitDefinitionPrefix?visitor.visitDefinitionPrefix(this):visitor.visitChildren(this)}},DefinitionContext=class extends ParserRuleContext{constructor(parent,invokingState){super(parent,invokingState)}definitionDeclaration(){return this.getRuleContext(0,DefinitionDeclarationContext)}definitionBody(){return this.getRuleContext(0,DefinitionBodyContext)}get ruleIndex(){return SysMLv2Parser.RULE_definition}enterRule(listener){listener.enterDefinition&&listener.enterDefinition(this)}exitRule(listener){listener.exitDefinition&&listener.exitDefinition(this)}accept(visitor){return visitor.visitDefinition?visitor.visitDefinition(this):visitor.visitChildren(this)}},DefinitionDeclarationContext=class extends ParserRuleContext{constructor(parent,invokingState){super(parent,invokingState)}identification(){return this.getRuleContext(0,IdentificationContext)}subclassificationPart(){return this.getRuleContext(0,SubclassificationPartContext)}get ruleIndex(){return SysMLv2Parser.RULE_definitionDeclaration}enterRule(listener){listener.enterDefinitionDeclaration&&listener.enterDefinitionDeclaration(this)}exitRule(listener){listener.exitDefinitionDeclaration&&listener.exitDefinitionDeclaration(this)}accept(visitor){return visitor.visitDefinitionDeclaration?visitor.visitDefinitionDeclaration(this):visitor.visitChildren(this)}},DefinitionBodyContext=class extends ParserRuleContext{constructor(parent,invokingState){super(parent,invokingState)}SEMI(){return this.getToken(SysMLv2Parser.SEMI,0)}LBRACE(){return this.getToken(SysMLv2Parser.LBRACE,0)}RBRACE(){return this.getToken(SysMLv2Parser.RBRACE,0)}definitionBodyItem(i){return i===void 0?this.getRuleContexts(DefinitionBodyItemContext):this.getRuleContext(i,DefinitionBodyItemContext)}get ruleIndex(){return SysMLv2Parser.RULE_definitionBody}enterRule(listener){listener.enterDefinitionBody&&listener.enterDefinitionBody(this)}exitRule(listener){listener.exitDefinitionBody&&listener.exitDefinitionBody(this)}accept(visitor){return visitor.visitDefinitionBody?visitor.visitDefinitionBody(this):visitor.visitChildren(this)}},DefinitionBodyItemContext=class extends ParserRuleContext{constructor(parent,invokingState){super(parent,invokingState)}importRule(){return this.getRuleContext(0,ImportRuleContext)}memberPrefix(){return this.getRuleContext(0,MemberPrefixContext)}definitionBodyItemContent(){return this.getRuleContext(0,DefinitionBodyItemContentContext)}occurrenceUsageElement(){return this.getRuleContext(0,OccurrenceUsageElementContext)}sourceSuccessionMember(){return this.getRuleContext(0,SourceSuccessionMemberContext)}get ruleIndex(){return SysMLv2Parser.RULE_definitionBodyItem}enterRule(listener){listener.enterDefinitionBodyItem&&listener.enterDefinitionBodyItem(this)}exitRule(listener){listener.exitDefinitionBodyItem&&listener.exitDefinitionBodyItem(this)}accept(visitor){return visitor.visitDefinitionBodyItem?visitor.visitDefinitionBodyItem(this):visitor.visitChildren(this)}},DefinitionBodyItemContentContext=class extends ParserRuleContext{constructor(parent,invokingState){super(parent,invokingState)}ALIAS(){return this.getToken(SysMLv2Parser.ALIAS,0)}FOR(){return this.getToken(SysMLv2Parser.FOR,0)}qualifiedName(){return this.getRuleContext(0,QualifiedNameContext)}relationshipBody(){return this.getRuleContext(0,RelationshipBodyContext)}LT(){return this.getToken(SysMLv2Parser.LT,0)}name(i){return i===void 0?this.getRuleContexts(NameContext):this.getRuleContext(i,NameContext)}GT(){return this.getToken(SysMLv2Parser.GT,0)}VARIANT(){return this.getToken(SysMLv2Parser.VARIANT,0)}variantUsageElement(){return this.getRuleContext(0,VariantUsageElementContext)}definitionElement(){return this.getRuleContext(0,DefinitionElementContext)}nonOccurrenceUsageElement(){return this.getRuleContext(0,NonOccurrenceUsageElementContext)}get ruleIndex(){return SysMLv2Parser.RULE_definitionBodyItemContent}enterRule(listener){listener.enterDefinitionBodyItemContent&&listener.enterDefinitionBodyItemContent(this)}exitRule(listener){listener.exitDefinitionBodyItemContent&&listener.exitDefinitionBodyItemContent(this)}accept(visitor){return visitor.visitDefinitionBodyItemContent?visitor.visitDefinitionBodyItemContent(this):visitor.visitChildren(this)}},DefinitionMemberContext=class extends ParserRuleContext{constructor(parent,invokingState){super(parent,invokingState)}memberPrefix(){return this.getRuleContext(0,MemberPrefixContext)}definitionElement(){return this.getRuleContext(0,DefinitionElementContext)}get ruleIndex(){return SysMLv2Parser.RULE_definitionMember}enterRule(listener){listener.enterDefinitionMember&&listener.enterDefinitionMember(this)}exitRule(listener){listener.exitDefinitionMember&&listener.exitDefinitionMember(this)}accept(visitor){return visitor.visitDefinitionMember?visitor.visitDefinitionMember(this):visitor.visitChildren(this)}},VariantUsageMemberContext=class extends ParserRuleContext{constructor(parent,invokingState){super(parent,invokingState)}memberPrefix(){return this.getRuleContext(0,MemberPrefixContext)}VARIANT(){return this.getToken(SysMLv2Parser.VARIANT,0)}variantUsageElement(){return this.getRuleContext(0,VariantUsageElementContext)}get ruleIndex(){return SysMLv2Parser.RULE_variantUsageMember}enterRule(listener){listener.enterVariantUsageMember&&listener.enterVariantUsageMember(this)}exitRule(listener){listener.exitVariantUsageMember&&listener.exitVariantUsageMember(this)}accept(visitor){return visitor.visitVariantUsageMember?visitor.visitVariantUsageMember(this):visitor.visitChildren(this)}},NonOccurrenceUsageMemberContext=class extends ParserRuleContext{constructor(parent,invokingState){super(parent,invokingState)}memberPrefix(){return this.getRuleContext(0,MemberPrefixContext)}nonOccurrenceUsageElement(){return this.getRuleContext(0,NonOccurrenceUsageElementContext)}get ruleIndex(){return SysMLv2Parser.RULE_nonOccurrenceUsageMember}enterRule(listener){listener.enterNonOccurrenceUsageMember&&listener.enterNonOccurrenceUsageMember(this)}exitRule(listener){listener.exitNonOccurrenceUsageMember&&listener.exitNonOccurrenceUsageMember(this)}accept(visitor){return visitor.visitNonOccurrenceUsageMember?visitor.visitNonOccurrenceUsageMember(this):visitor.visitChildren(this)}},OccurrenceUsageMemberContext=class extends ParserRuleContext{constructor(parent,invokingState){super(parent,invokingState)}memberPrefix(){return this.getRuleContext(0,MemberPrefixContext)}occurrenceUsageElement(){return this.getRuleContext(0,OccurrenceUsageElementContext)}get ruleIndex(){return SysMLv2Parser.RULE_occurrenceUsageMember}enterRule(listener){listener.enterOccurrenceUsageMember&&listener.enterOccurrenceUsageMember(this)}exitRule(listener){listener.exitOccurrenceUsageMember&&listener.exitOccurrenceUsageMember(this)}accept(visitor){return visitor.visitOccurrenceUsageMember?visitor.visitOccurrenceUsageMember(this):visitor.visitChildren(this)}},StructureUsageMemberContext=class extends ParserRuleContext{constructor(parent,invokingState){super(parent,invokingState)}memberPrefix(){return this.getRuleContext(0,MemberPrefixContext)}structureUsageElement(){return this.getRuleContext(0,StructureUsageElementContext)}get ruleIndex(){return SysMLv2Parser.RULE_structureUsageMember}enterRule(listener){listener.enterStructureUsageMember&&listener.enterStructureUsageMember(this)}exitRule(listener){listener.exitStructureUsageMember&&listener.exitStructureUsageMember(this)}accept(visitor){return visitor.visitStructureUsageMember?visitor.visitStructureUsageMember(this):visitor.visitChildren(this)}},BehaviorUsageMemberContext=class extends ParserRuleContext{constructor(parent,invokingState){super(parent,invokingState)}memberPrefix(){return this.getRuleContext(0,MemberPrefixContext)}behaviorUsageElement(){return this.getRuleContext(0,BehaviorUsageElementContext)}get ruleIndex(){return SysMLv2Parser.RULE_behaviorUsageMember}enterRule(listener){listener.enterBehaviorUsageMember&&listener.enterBehaviorUsageMember(this)}exitRule(listener){listener.exitBehaviorUsageMember&&listener.exitBehaviorUsageMember(this)}accept(visitor){return visitor.visitBehaviorUsageMember?visitor.visitBehaviorUsageMember(this):visitor.visitChildren(this)}},RefPrefixContext=class extends ParserRuleContext{constructor(parent,invokingState){super(parent,invokingState)}featureDirection(){return this.getRuleContext(0,FeatureDirectionContext)}DERIVED(){return this.getToken(SysMLv2Parser.DERIVED,0)}CONSTANT(){return this.getToken(SysMLv2Parser.CONSTANT,0)}ABSTRACT(){return this.getToken(SysMLv2Parser.ABSTRACT,0)}VARIATION(){return this.getToken(SysMLv2Parser.VARIATION,0)}get ruleIndex(){return SysMLv2Parser.RULE_refPrefix}enterRule(listener){listener.enterRefPrefix&&listener.enterRefPrefix(this)}exitRule(listener){listener.exitRefPrefix&&listener.exitRefPrefix(this)}accept(visitor){return visitor.visitRefPrefix?visitor.visitRefPrefix(this):visitor.visitChildren(this)}},BasicUsagePrefixContext=class extends ParserRuleContext{constructor(parent,invokingState){super(parent,invokingState)}refPrefix(){return this.getRuleContext(0,RefPrefixContext)}REF(){return this.getToken(SysMLv2Parser.REF,0)}get ruleIndex(){return SysMLv2Parser.RULE_basicUsagePrefix}enterRule(listener){listener.enterBasicUsagePrefix&&listener.enterBasicUsagePrefix(this)}exitRule(listener){listener.exitBasicUsagePrefix&&listener.exitBasicUsagePrefix(this)}accept(visitor){return visitor.visitBasicUsagePrefix?visitor.visitBasicUsagePrefix(this):visitor.visitChildren(this)}},EndUsagePrefixContext=class extends ParserRuleContext{constructor(parent,invokingState){super(parent,invokingState)}END(){return this.getToken(SysMLv2Parser.END,0)}ownedCrossFeatureMember(){return this.getRuleContext(0,OwnedCrossFeatureMemberContext)}get ruleIndex(){return SysMLv2Parser.RULE_endUsagePrefix}enterRule(listener){listener.enterEndUsagePrefix&&listener.enterEndUsagePrefix(this)}exitRule(listener){listener.exitEndUsagePrefix&&listener.exitEndUsagePrefix(this)}accept(visitor){return visitor.visitEndUsagePrefix?visitor.visitEndUsagePrefix(this):visitor.visitChildren(this)}},UsageExtensionKeywordContext=class extends ParserRuleContext{constructor(parent,invokingState){super(parent,invokingState)}prefixMetadataMember(){return this.getRuleContext(0,PrefixMetadataMemberContext)}get ruleIndex(){return SysMLv2Parser.RULE_usageExtensionKeyword}enterRule(listener){listener.enterUsageExtensionKeyword&&listener.enterUsageExtensionKeyword(this)}exitRule(listener){listener.exitUsageExtensionKeyword&&listener.exitUsageExtensionKeyword(this)}accept(visitor){return visitor.visitUsageExtensionKeyword?visitor.visitUsageExtensionKeyword(this):visitor.visitChildren(this)}},UnextendedUsagePrefixContext=class extends ParserRuleContext{constructor(parent,invokingState){super(parent,invokingState)}endUsagePrefix(){return this.getRuleContext(0,EndUsagePrefixContext)}basicUsagePrefix(){return this.getRuleContext(0,BasicUsagePrefixContext)}get ruleIndex(){return SysMLv2Parser.RULE_unextendedUsagePrefix}enterRule(listener){listener.enterUnextendedUsagePrefix&&listener.enterUnextendedUsagePrefix(this)}exitRule(listener){listener.exitUnextendedUsagePrefix&&listener.exitUnextendedUsagePrefix(this)}accept(visitor){return visitor.visitUnextendedUsagePrefix?visitor.visitUnextendedUsagePrefix(this):visitor.visitChildren(this)}},UsagePrefixContext=class extends ParserRuleContext{constructor(parent,invokingState){super(parent,invokingState)}unextendedUsagePrefix(){return this.getRuleContext(0,UnextendedUsagePrefixContext)}usageExtensionKeyword(i){return i===void 0?this.getRuleContexts(UsageExtensionKeywordContext):this.getRuleContext(i,UsageExtensionKeywordContext)}get ruleIndex(){return SysMLv2Parser.RULE_usagePrefix}enterRule(listener){listener.enterUsagePrefix&&listener.enterUsagePrefix(this)}exitRule(listener){listener.exitUsagePrefix&&listener.exitUsagePrefix(this)}accept(visitor){return visitor.visitUsagePrefix?visitor.visitUsagePrefix(this):visitor.visitChildren(this)}},UsageContext=class extends ParserRuleContext{constructor(parent,invokingState){super(parent,invokingState)}usageCompletion(){return this.getRuleContext(0,UsageCompletionContext)}usageDeclaration(){return this.getRuleContext(0,UsageDeclarationContext)}get ruleIndex(){return SysMLv2Parser.RULE_usage}enterRule(listener){listener.enterUsage&&listener.enterUsage(this)}exitRule(listener){listener.exitUsage&&listener.exitUsage(this)}accept(visitor){return visitor.visitUsage?visitor.visitUsage(this):visitor.visitChildren(this)}},UsageDeclarationContext=class extends ParserRuleContext{constructor(parent,invokingState){super(parent,invokingState)}identification(){return this.getRuleContext(0,IdentificationContext)}featureSpecializationPart(){return this.getRuleContext(0,FeatureSpecializationPartContext)}get ruleIndex(){return SysMLv2Parser.RULE_usageDeclaration}enterRule(listener){listener.enterUsageDeclaration&&listener.enterUsageDeclaration(this)}exitRule(listener){listener.exitUsageDeclaration&&listener.exitUsageDeclaration(this)}accept(visitor){return visitor.visitUsageDeclaration?visitor.visitUsageDeclaration(this):visitor.visitChildren(this)}},UsageCompletionContext=class extends ParserRuleContext{constructor(parent,invokingState){super(parent,invokingState)}usageBody(){return this.getRuleContext(0,UsageBodyContext)}valuePart(){return this.getRuleContext(0,ValuePartContext)}get ruleIndex(){return SysMLv2Parser.RULE_usageCompletion}enterRule(listener){listener.enterUsageCompletion&&listener.enterUsageCompletion(this)}exitRule(listener){listener.exitUsageCompletion&&listener.exitUsageCompletion(this)}accept(visitor){return visitor.visitUsageCompletion?visitor.visitUsageCompletion(this):visitor.visitChildren(this)}},UsageBodyContext=class extends ParserRuleContext{constructor(parent,invokingState){super(parent,invokingState)}definitionBody(){return this.getRuleContext(0,DefinitionBodyContext)}get ruleIndex(){return SysMLv2Parser.RULE_usageBody}enterRule(listener){listener.enterUsageBody&&listener.enterUsageBody(this)}exitRule(listener){listener.exitUsageBody&&listener.exitUsageBody(this)}accept(visitor){return visitor.visitUsageBody?visitor.visitUsageBody(this):visitor.visitChildren(this)}},DefaultReferenceUsageContext=class extends ParserRuleContext{constructor(parent,invokingState){super(parent,invokingState)}refPrefix(){return this.getRuleContext(0,RefPrefixContext)}usage(){return this.getRuleContext(0,UsageContext)}get ruleIndex(){return SysMLv2Parser.RULE_defaultReferenceUsage}enterRule(listener){listener.enterDefaultReferenceUsage&&listener.enterDefaultReferenceUsage(this)}exitRule(listener){listener.exitDefaultReferenceUsage&&listener.exitDefaultReferenceUsage(this)}accept(visitor){return visitor.visitDefaultReferenceUsage?visitor.visitDefaultReferenceUsage(this):visitor.visitChildren(this)}},ReferenceUsageContext=class extends ParserRuleContext{constructor(parent,invokingState){super(parent,invokingState)}REF(){return this.getToken(SysMLv2Parser.REF,0)}usage(){return this.getRuleContext(0,UsageContext)}endUsagePrefix(){return this.getRuleContext(0,EndUsagePrefixContext)}refPrefix(){return this.getRuleContext(0,RefPrefixContext)}get ruleIndex(){return SysMLv2Parser.RULE_referenceUsage}enterRule(listener){listener.enterReferenceUsage&&listener.enterReferenceUsage(this)}exitRule(listener){listener.exitReferenceUsage&&listener.exitReferenceUsage(this)}accept(visitor){return visitor.visitReferenceUsage?visitor.visitReferenceUsage(this):visitor.visitChildren(this)}},EndFeatureUsageContext=class extends ParserRuleContext{constructor(parent,invokingState){super(parent,invokingState)}endUsagePrefix(){return this.getRuleContext(0,EndUsagePrefixContext)}featureDeclaration(){return this.getRuleContext(0,FeatureDeclarationContext)}usageCompletion(){return this.getRuleContext(0,UsageCompletionContext)}get ruleIndex(){return SysMLv2Parser.RULE_endFeatureUsage}enterRule(listener){listener.enterEndFeatureUsage&&listener.enterEndFeatureUsage(this)}exitRule(listener){listener.exitEndFeatureUsage&&listener.exitEndFeatureUsage(this)}accept(visitor){return visitor.visitEndFeatureUsage?visitor.visitEndFeatureUsage(this):visitor.visitChildren(this)}},VariantReferenceContext=class extends ParserRuleContext{constructor(parent,invokingState){super(parent,invokingState)}ownedReferenceSubsetting(){return this.getRuleContext(0,OwnedReferenceSubsettingContext)}usageBody(){return this.getRuleContext(0,UsageBodyContext)}featureSpecialization(i){return i===void 0?this.getRuleContexts(FeatureSpecializationContext):this.getRuleContext(i,FeatureSpecializationContext)}get ruleIndex(){return SysMLv2Parser.RULE_variantReference}enterRule(listener){listener.enterVariantReference&&listener.enterVariantReference(this)}exitRule(listener){listener.exitVariantReference&&listener.exitVariantReference(this)}accept(visitor){return visitor.visitVariantReference?visitor.visitVariantReference(this):visitor.visitChildren(this)}},NonOccurrenceUsageElementContext=class extends ParserRuleContext{constructor(parent,invokingState){super(parent,invokingState)}referenceUsage(){return this.getRuleContext(0,ReferenceUsageContext)}endFeatureUsage(){return this.getRuleContext(0,EndFeatureUsageContext)}attributeUsage(){return this.getRuleContext(0,AttributeUsageContext)}enumerationUsage(){return this.getRuleContext(0,EnumerationUsageContext)}bindingConnectorAsUsage(){return this.getRuleContext(0,BindingConnectorAsUsageContext)}successionAsUsage(){return this.getRuleContext(0,SuccessionAsUsageContext)}extendedUsage(){return this.getRuleContext(0,ExtendedUsageContext)}defaultReferenceUsage(){return this.getRuleContext(0,DefaultReferenceUsageContext)}get ruleIndex(){return SysMLv2Parser.RULE_nonOccurrenceUsageElement}enterRule(listener){listener.enterNonOccurrenceUsageElement&&listener.enterNonOccurrenceUsageElement(this)}exitRule(listener){listener.exitNonOccurrenceUsageElement&&listener.exitNonOccurrenceUsageElement(this)}accept(visitor){return visitor.visitNonOccurrenceUsageElement?visitor.visitNonOccurrenceUsageElement(this):visitor.visitChildren(this)}},OccurrenceUsageElementContext=class extends ParserRuleContext{constructor(parent,invokingState){super(parent,invokingState)}structureUsageElement(){return this.getRuleContext(0,StructureUsageElementContext)}behaviorUsageElement(){return this.getRuleContext(0,BehaviorUsageElementContext)}get ruleIndex(){return SysMLv2Parser.RULE_occurrenceUsageElement}enterRule(listener){listener.enterOccurrenceUsageElement&&listener.enterOccurrenceUsageElement(this)}exitRule(listener){listener.exitOccurrenceUsageElement&&listener.exitOccurrenceUsageElement(this)}accept(visitor){return visitor.visitOccurrenceUsageElement?visitor.visitOccurrenceUsageElement(this):visitor.visitChildren(this)}},StructureUsageElementContext=class extends ParserRuleContext{constructor(parent,invokingState){super(parent,invokingState)}occurrenceUsage(){return this.getRuleContext(0,OccurrenceUsageContext)}individualUsage(){return this.getRuleContext(0,IndividualUsageContext)}portionUsage(){return this.getRuleContext(0,PortionUsageContext)}eventOccurrenceUsage(){return this.getRuleContext(0,EventOccurrenceUsageContext)}itemUsage(){return this.getRuleContext(0,ItemUsageContext)}partUsage(){return this.getRuleContext(0,PartUsageContext)}viewUsage(){return this.getRuleContext(0,ViewUsageContext)}renderingUsage(){return this.getRuleContext(0,RenderingUsageContext)}portUsage(){return this.getRuleContext(0,PortUsageContext)}connectionUsage(){return this.getRuleContext(0,ConnectionUsageContext)}interfaceUsage(){return this.getRuleContext(0,InterfaceUsageContext)}allocationUsage(){return this.getRuleContext(0,AllocationUsageContext)}message(){return this.getRuleContext(0,MessageContext)}flowUsage(){return this.getRuleContext(0,FlowUsageContext)}successionFlowUsage(){return this.getRuleContext(0,SuccessionFlowUsageContext)}get ruleIndex(){return SysMLv2Parser.RULE_structureUsageElement}enterRule(listener){listener.enterStructureUsageElement&&listener.enterStructureUsageElement(this)}exitRule(listener){listener.exitStructureUsageElement&&listener.exitStructureUsageElement(this)}accept(visitor){return visitor.visitStructureUsageElement?visitor.visitStructureUsageElement(this):visitor.visitChildren(this)}},BehaviorUsageElementContext=class extends ParserRuleContext{constructor(parent,invokingState){super(parent,invokingState)}actionUsage(){return this.getRuleContext(0,ActionUsageContext)}calculationUsage(){return this.getRuleContext(0,CalculationUsageContext)}stateUsage(){return this.getRuleContext(0,StateUsageContext)}constraintUsage(){return this.getRuleContext(0,ConstraintUsageContext)}requirementUsage(){return this.getRuleContext(0,RequirementUsageContext)}concernUsage(){return this.getRuleContext(0,ConcernUsageContext)}caseUsage(){return this.getRuleContext(0,CaseUsageContext)}analysisCaseUsage(){return this.getRuleContext(0,AnalysisCaseUsageContext)}verificationCaseUsage(){return this.getRuleContext(0,VerificationCaseUsageContext)}useCaseUsage(){return this.getRuleContext(0,UseCaseUsageContext)}viewpointUsage(){return this.getRuleContext(0,ViewpointUsageContext)}performActionUsage(){return this.getRuleContext(0,PerformActionUsageContext)}exhibitStateUsage(){return this.getRuleContext(0,ExhibitStateUsageContext)}includeUseCaseUsage(){return this.getRuleContext(0,IncludeUseCaseUsageContext)}assertConstraintUsage(){return this.getRuleContext(0,AssertConstraintUsageContext)}satisfyRequirementUsage(){return this.getRuleContext(0,SatisfyRequirementUsageContext)}get ruleIndex(){return SysMLv2Parser.RULE_behaviorUsageElement}enterRule(listener){listener.enterBehaviorUsageElement&&listener.enterBehaviorUsageElement(this)}exitRule(listener){listener.exitBehaviorUsageElement&&listener.exitBehaviorUsageElement(this)}accept(visitor){return visitor.visitBehaviorUsageElement?visitor.visitBehaviorUsageElement(this):visitor.visitChildren(this)}},VariantUsageElementContext=class extends ParserRuleContext{constructor(parent,invokingState){super(parent,invokingState)}variantReference(){return this.getRuleContext(0,VariantReferenceContext)}referenceUsage(){return this.getRuleContext(0,ReferenceUsageContext)}attributeUsage(){return this.getRuleContext(0,AttributeUsageContext)}bindingConnectorAsUsage(){return this.getRuleContext(0,BindingConnectorAsUsageContext)}successionAsUsage(){return this.getRuleContext(0,SuccessionAsUsageContext)}occurrenceUsage(){return this.getRuleContext(0,OccurrenceUsageContext)}individualUsage(){return this.getRuleContext(0,IndividualUsageContext)}portionUsage(){return this.getRuleContext(0,PortionUsageContext)}eventOccurrenceUsage(){return this.getRuleContext(0,EventOccurrenceUsageContext)}itemUsage(){return this.getRuleContext(0,ItemUsageContext)}partUsage(){return this.getRuleContext(0,PartUsageContext)}viewUsage(){return this.getRuleContext(0,ViewUsageContext)}renderingUsage(){return this.getRuleContext(0,RenderingUsageContext)}portUsage(){return this.getRuleContext(0,PortUsageContext)}connectionUsage(){return this.getRuleContext(0,ConnectionUsageContext)}interfaceUsage(){return this.getRuleContext(0,InterfaceUsageContext)}allocationUsage(){return this.getRuleContext(0,AllocationUsageContext)}message(){return this.getRuleContext(0,MessageContext)}flowUsage(){return this.getRuleContext(0,FlowUsageContext)}successionFlowUsage(){return this.getRuleContext(0,SuccessionFlowUsageContext)}behaviorUsageElement(){return this.getRuleContext(0,BehaviorUsageElementContext)}get ruleIndex(){return SysMLv2Parser.RULE_variantUsageElement}enterRule(listener){listener.enterVariantUsageElement&&listener.enterVariantUsageElement(this)}exitRule(listener){listener.exitVariantUsageElement&&listener.exitVariantUsageElement(this)}accept(visitor){return visitor.visitVariantUsageElement?visitor.visitVariantUsageElement(this):visitor.visitChildren(this)}},SubclassificationPartContext=class extends ParserRuleContext{constructor(parent,invokingState){super(parent,invokingState)}ownedSubclassification(i){return i===void 0?this.getRuleContexts(OwnedSubclassificationContext):this.getRuleContext(i,OwnedSubclassificationContext)}COLON_GT(){return this.getToken(SysMLv2Parser.COLON_GT,0)}SPECIALIZES(){return this.getToken(SysMLv2Parser.SPECIALIZES,0)}COMMA(i){return i===void 0?this.getTokens(SysMLv2Parser.COMMA):this.getToken(SysMLv2Parser.COMMA,i)}get ruleIndex(){return SysMLv2Parser.RULE_subclassificationPart}enterRule(listener){listener.enterSubclassificationPart&&listener.enterSubclassificationPart(this)}exitRule(listener){listener.exitSubclassificationPart&&listener.exitSubclassificationPart(this)}accept(visitor){return visitor.visitSubclassificationPart?visitor.visitSubclassificationPart(this):visitor.visitChildren(this)}},AttributeDefinitionContext=class extends ParserRuleContext{constructor(parent,invokingState){super(parent,invokingState)}definitionPrefix(){return this.getRuleContext(0,DefinitionPrefixContext)}ATTRIBUTE(){return this.getToken(SysMLv2Parser.ATTRIBUTE,0)}DEF(){return this.getToken(SysMLv2Parser.DEF,0)}definition(){return this.getRuleContext(0,DefinitionContext)}get ruleIndex(){return SysMLv2Parser.RULE_attributeDefinition}enterRule(listener){listener.enterAttributeDefinition&&listener.enterAttributeDefinition(this)}exitRule(listener){listener.exitAttributeDefinition&&listener.exitAttributeDefinition(this)}accept(visitor){return visitor.visitAttributeDefinition?visitor.visitAttributeDefinition(this):visitor.visitChildren(this)}},AttributeUsageContext=class extends ParserRuleContext{constructor(parent,invokingState){super(parent,invokingState)}usagePrefix(){return this.getRuleContext(0,UsagePrefixContext)}ATTRIBUTE(){return this.getToken(SysMLv2Parser.ATTRIBUTE,0)}usage(){return this.getRuleContext(0,UsageContext)}get ruleIndex(){return SysMLv2Parser.RULE_attributeUsage}enterRule(listener){listener.enterAttributeUsage&&listener.enterAttributeUsage(this)}exitRule(listener){listener.exitAttributeUsage&&listener.exitAttributeUsage(this)}accept(visitor){return visitor.visitAttributeUsage?visitor.visitAttributeUsage(this):visitor.visitChildren(this)}},EnumerationDefinitionContext=class extends ParserRuleContext{constructor(parent,invokingState){super(parent,invokingState)}ENUM(){return this.getToken(SysMLv2Parser.ENUM,0)}DEF(){return this.getToken(SysMLv2Parser.DEF,0)}definitionDeclaration(){return this.getRuleContext(0,DefinitionDeclarationContext)}enumerationBody(){return this.getRuleContext(0,EnumerationBodyContext)}definitionExtensionKeyword(i){return i===void 0?this.getRuleContexts(DefinitionExtensionKeywordContext):this.getRuleContext(i,DefinitionExtensionKeywordContext)}get ruleIndex(){return SysMLv2Parser.RULE_enumerationDefinition}enterRule(listener){listener.enterEnumerationDefinition&&listener.enterEnumerationDefinition(this)}exitRule(listener){listener.exitEnumerationDefinition&&listener.exitEnumerationDefinition(this)}accept(visitor){return visitor.visitEnumerationDefinition?visitor.visitEnumerationDefinition(this):visitor.visitChildren(this)}},EnumerationBodyContext=class extends ParserRuleContext{constructor(parent,invokingState){super(parent,invokingState)}SEMI(){return this.getToken(SysMLv2Parser.SEMI,0)}LBRACE(){return this.getToken(SysMLv2Parser.LBRACE,0)}RBRACE(){return this.getToken(SysMLv2Parser.RBRACE,0)}annotatingMember(i){return i===void 0?this.getRuleContexts(AnnotatingMemberContext):this.getRuleContext(i,AnnotatingMemberContext)}enumerationUsageMember(i){return i===void 0?this.getRuleContexts(EnumerationUsageMemberContext):this.getRuleContext(i,EnumerationUsageMemberContext)}get ruleIndex(){return SysMLv2Parser.RULE_enumerationBody}enterRule(listener){listener.enterEnumerationBody&&listener.enterEnumerationBody(this)}exitRule(listener){listener.exitEnumerationBody&&listener.exitEnumerationBody(this)}accept(visitor){return visitor.visitEnumerationBody?visitor.visitEnumerationBody(this):visitor.visitChildren(this)}},EnumerationUsageMemberContext=class extends ParserRuleContext{constructor(parent,invokingState){super(parent,invokingState)}memberPrefix(){return this.getRuleContext(0,MemberPrefixContext)}enumeratedValue(){return this.getRuleContext(0,EnumeratedValueContext)}get ruleIndex(){return SysMLv2Parser.RULE_enumerationUsageMember}enterRule(listener){listener.enterEnumerationUsageMember&&listener.enterEnumerationUsageMember(this)}exitRule(listener){listener.exitEnumerationUsageMember&&listener.exitEnumerationUsageMember(this)}accept(visitor){return visitor.visitEnumerationUsageMember?visitor.visitEnumerationUsageMember(this):visitor.visitChildren(this)}},EnumeratedValueContext=class extends ParserRuleContext{constructor(parent,invokingState){super(parent,invokingState)}usage(){return this.getRuleContext(0,UsageContext)}ENUM(){return this.getToken(SysMLv2Parser.ENUM,0)}get ruleIndex(){return SysMLv2Parser.RULE_enumeratedValue}enterRule(listener){listener.enterEnumeratedValue&&listener.enterEnumeratedValue(this)}exitRule(listener){listener.exitEnumeratedValue&&listener.exitEnumeratedValue(this)}accept(visitor){return visitor.visitEnumeratedValue?visitor.visitEnumeratedValue(this):visitor.visitChildren(this)}},EnumerationUsageContext=class extends ParserRuleContext{constructor(parent,invokingState){super(parent,invokingState)}usagePrefix(){return this.getRuleContext(0,UsagePrefixContext)}ENUM(){return this.getToken(SysMLv2Parser.ENUM,0)}usage(){return this.getRuleContext(0,UsageContext)}get ruleIndex(){return SysMLv2Parser.RULE_enumerationUsage}enterRule(listener){listener.enterEnumerationUsage&&listener.enterEnumerationUsage(this)}exitRule(listener){listener.exitEnumerationUsage&&listener.exitEnumerationUsage(this)}accept(visitor){return visitor.visitEnumerationUsage?visitor.visitEnumerationUsage(this):visitor.visitChildren(this)}},OccurrenceDefinitionPrefixContext=class extends ParserRuleContext{constructor(parent,invokingState){super(parent,invokingState)}basicDefinitionPrefix(){return this.getRuleContext(0,BasicDefinitionPrefixContext)}INDIVIDUAL(){return this.getToken(SysMLv2Parser.INDIVIDUAL,0)}emptyMultiplicityMember(){return this.getRuleContext(0,EmptyMultiplicityMemberContext)}definitionExtensionKeyword(i){return i===void 0?this.getRuleContexts(DefinitionExtensionKeywordContext):this.getRuleContext(i,DefinitionExtensionKeywordContext)}get ruleIndex(){return SysMLv2Parser.RULE_occurrenceDefinitionPrefix}enterRule(listener){listener.enterOccurrenceDefinitionPrefix&&listener.enterOccurrenceDefinitionPrefix(this)}exitRule(listener){listener.exitOccurrenceDefinitionPrefix&&listener.exitOccurrenceDefinitionPrefix(this)}accept(visitor){return visitor.visitOccurrenceDefinitionPrefix?visitor.visitOccurrenceDefinitionPrefix(this):visitor.visitChildren(this)}},OccurrenceDefinitionContext=class extends ParserRuleContext{constructor(parent,invokingState){super(parent,invokingState)}occurrenceDefinitionPrefix(){return this.getRuleContext(0,OccurrenceDefinitionPrefixContext)}OCCURRENCE(){return this.getToken(SysMLv2Parser.OCCURRENCE,0)}DEF(){return this.getToken(SysMLv2Parser.DEF,0)}definition(){return this.getRuleContext(0,DefinitionContext)}get ruleIndex(){return SysMLv2Parser.RULE_occurrenceDefinition}enterRule(listener){listener.enterOccurrenceDefinition&&listener.enterOccurrenceDefinition(this)}exitRule(listener){listener.exitOccurrenceDefinition&&listener.exitOccurrenceDefinition(this)}accept(visitor){return visitor.visitOccurrenceDefinition?visitor.visitOccurrenceDefinition(this):visitor.visitChildren(this)}},IndividualDefinitionContext=class extends ParserRuleContext{constructor(parent,invokingState){super(parent,invokingState)}INDIVIDUAL(){return this.getToken(SysMLv2Parser.INDIVIDUAL,0)}DEF(){return this.getToken(SysMLv2Parser.DEF,0)}definition(){return this.getRuleContext(0,DefinitionContext)}emptyMultiplicityMember(){return this.getRuleContext(0,EmptyMultiplicityMemberContext)}basicDefinitionPrefix(){return this.getRuleContext(0,BasicDefinitionPrefixContext)}definitionExtensionKeyword(i){return i===void 0?this.getRuleContexts(DefinitionExtensionKeywordContext):this.getRuleContext(i,DefinitionExtensionKeywordContext)}get ruleIndex(){return SysMLv2Parser.RULE_individualDefinition}enterRule(listener){listener.enterIndividualDefinition&&listener.enterIndividualDefinition(this)}exitRule(listener){listener.exitIndividualDefinition&&listener.exitIndividualDefinition(this)}accept(visitor){return visitor.visitIndividualDefinition?visitor.visitIndividualDefinition(this):visitor.visitChildren(this)}},EmptyMultiplicityMemberContext=class extends ParserRuleContext{constructor(parent,invokingState){super(parent,invokingState)}emptyMultiplicity_(){return this.getRuleContext(0,EmptyMultiplicity_Context)}get ruleIndex(){return SysMLv2Parser.RULE_emptyMultiplicityMember}enterRule(listener){listener.enterEmptyMultiplicityMember&&listener.enterEmptyMultiplicityMember(this)}exitRule(listener){listener.exitEmptyMultiplicityMember&&listener.exitEmptyMultiplicityMember(this)}accept(visitor){return visitor.visitEmptyMultiplicityMember?visitor.visitEmptyMultiplicityMember(this):visitor.visitChildren(this)}},OccurrenceUsagePrefixContext=class extends ParserRuleContext{constructor(parent,invokingState){super(parent,invokingState)}basicUsagePrefix(){return this.getRuleContext(0,BasicUsagePrefixContext)}INDIVIDUAL(){return this.getToken(SysMLv2Parser.INDIVIDUAL,0)}portionKind(){return this.getRuleContext(0,PortionKindContext)}usageExtensionKeyword(i){return i===void 0?this.getRuleContexts(UsageExtensionKeywordContext):this.getRuleContext(i,UsageExtensionKeywordContext)}get ruleIndex(){return SysMLv2Parser.RULE_occurrenceUsagePrefix}enterRule(listener){listener.enterOccurrenceUsagePrefix&&listener.enterOccurrenceUsagePrefix(this)}exitRule(listener){listener.exitOccurrenceUsagePrefix&&listener.exitOccurrenceUsagePrefix(this)}accept(visitor){return visitor.visitOccurrenceUsagePrefix?visitor.visitOccurrenceUsagePrefix(this):visitor.visitChildren(this)}},OccurrenceUsageContext=class extends ParserRuleContext{constructor(parent,invokingState){super(parent,invokingState)}occurrenceUsagePrefix(){return this.getRuleContext(0,OccurrenceUsagePrefixContext)}OCCURRENCE(){return this.getToken(SysMLv2Parser.OCCURRENCE,0)}usage(){return this.getRuleContext(0,UsageContext)}get ruleIndex(){return SysMLv2Parser.RULE_occurrenceUsage}enterRule(listener){listener.enterOccurrenceUsage&&listener.enterOccurrenceUsage(this)}exitRule(listener){listener.exitOccurrenceUsage&&listener.exitOccurrenceUsage(this)}accept(visitor){return visitor.visitOccurrenceUsage?visitor.visitOccurrenceUsage(this):visitor.visitChildren(this)}},IndividualUsageContext=class extends ParserRuleContext{constructor(parent,invokingState){super(parent,invokingState)}basicUsagePrefix(){return this.getRuleContext(0,BasicUsagePrefixContext)}INDIVIDUAL(){return this.getToken(SysMLv2Parser.INDIVIDUAL,0)}usage(){return this.getRuleContext(0,UsageContext)}usageExtensionKeyword(i){return i===void 0?this.getRuleContexts(UsageExtensionKeywordContext):this.getRuleContext(i,UsageExtensionKeywordContext)}get ruleIndex(){return SysMLv2Parser.RULE_individualUsage}enterRule(listener){listener.enterIndividualUsage&&listener.enterIndividualUsage(this)}exitRule(listener){listener.exitIndividualUsage&&listener.exitIndividualUsage(this)}accept(visitor){return visitor.visitIndividualUsage?visitor.visitIndividualUsage(this):visitor.visitChildren(this)}},PortionUsageContext=class extends ParserRuleContext{constructor(parent,invokingState){super(parent,invokingState)}basicUsagePrefix(){return this.getRuleContext(0,BasicUsagePrefixContext)}portionKind(){return this.getRuleContext(0,PortionKindContext)}usage(){return this.getRuleContext(0,UsageContext)}INDIVIDUAL(){return this.getToken(SysMLv2Parser.INDIVIDUAL,0)}usageExtensionKeyword(i){return i===void 0?this.getRuleContexts(UsageExtensionKeywordContext):this.getRuleContext(i,UsageExtensionKeywordContext)}get ruleIndex(){return SysMLv2Parser.RULE_portionUsage}enterRule(listener){listener.enterPortionUsage&&listener.enterPortionUsage(this)}exitRule(listener){listener.exitPortionUsage&&listener.exitPortionUsage(this)}accept(visitor){return visitor.visitPortionUsage?visitor.visitPortionUsage(this):visitor.visitChildren(this)}},PortionKindContext=class extends ParserRuleContext{constructor(parent,invokingState){super(parent,invokingState)}SNAPSHOT(){return this.getToken(SysMLv2Parser.SNAPSHOT,0)}TIMESLICE(){return this.getToken(SysMLv2Parser.TIMESLICE,0)}get ruleIndex(){return SysMLv2Parser.RULE_portionKind}enterRule(listener){listener.enterPortionKind&&listener.enterPortionKind(this)}exitRule(listener){listener.exitPortionKind&&listener.exitPortionKind(this)}accept(visitor){return visitor.visitPortionKind?visitor.visitPortionKind(this):visitor.visitChildren(this)}},EventOccurrenceUsageContext=class extends ParserRuleContext{constructor(parent,invokingState){super(parent,invokingState)}occurrenceUsagePrefix(){return this.getRuleContext(0,OccurrenceUsagePrefixContext)}EVENT(){return this.getToken(SysMLv2Parser.EVENT,0)}usageCompletion(){return this.getRuleContext(0,UsageCompletionContext)}ownedReferenceSubsetting(){return this.getRuleContext(0,OwnedReferenceSubsettingContext)}OCCURRENCE(){return this.getToken(SysMLv2Parser.OCCURRENCE,0)}featureSpecializationPart(){return this.getRuleContext(0,FeatureSpecializationPartContext)}usageDeclaration(){return this.getRuleContext(0,UsageDeclarationContext)}get ruleIndex(){return SysMLv2Parser.RULE_eventOccurrenceUsage}enterRule(listener){listener.enterEventOccurrenceUsage&&listener.enterEventOccurrenceUsage(this)}exitRule(listener){listener.exitEventOccurrenceUsage&&listener.exitEventOccurrenceUsage(this)}accept(visitor){return visitor.visitEventOccurrenceUsage?visitor.visitEventOccurrenceUsage(this):visitor.visitChildren(this)}},SourceSuccessionMemberContext=class extends ParserRuleContext{constructor(parent,invokingState){super(parent,invokingState)}THEN(){return this.getToken(SysMLv2Parser.THEN,0)}sourceSuccession(){return this.getRuleContext(0,SourceSuccessionContext)}get ruleIndex(){return SysMLv2Parser.RULE_sourceSuccessionMember}enterRule(listener){listener.enterSourceSuccessionMember&&listener.enterSourceSuccessionMember(this)}exitRule(listener){listener.exitSourceSuccessionMember&&listener.exitSourceSuccessionMember(this)}accept(visitor){return visitor.visitSourceSuccessionMember?visitor.visitSourceSuccessionMember(this):visitor.visitChildren(this)}},SourceSuccessionContext=class extends ParserRuleContext{constructor(parent,invokingState){super(parent,invokingState)}sourceEndMember(){return this.getRuleContext(0,SourceEndMemberContext)}get ruleIndex(){return SysMLv2Parser.RULE_sourceSuccession}enterRule(listener){listener.enterSourceSuccession&&listener.enterSourceSuccession(this)}exitRule(listener){listener.exitSourceSuccession&&listener.exitSourceSuccession(this)}accept(visitor){return visitor.visitSourceSuccession?visitor.visitSourceSuccession(this):visitor.visitChildren(this)}},SourceEndMemberContext=class extends ParserRuleContext{constructor(parent,invokingState){super(parent,invokingState)}sourceEnd(){return this.getRuleContext(0,SourceEndContext)}get ruleIndex(){return SysMLv2Parser.RULE_sourceEndMember}enterRule(listener){listener.enterSourceEndMember&&listener.enterSourceEndMember(this)}exitRule(listener){listener.exitSourceEndMember&&listener.exitSourceEndMember(this)}accept(visitor){return visitor.visitSourceEndMember?visitor.visitSourceEndMember(this):visitor.visitChildren(this)}},SourceEndContext=class extends ParserRuleContext{constructor(parent,invokingState){super(parent,invokingState)}ownedMultiplicity(){return this.getRuleContext(0,OwnedMultiplicityContext)}get ruleIndex(){return SysMLv2Parser.RULE_sourceEnd}enterRule(listener){listener.enterSourceEnd&&listener.enterSourceEnd(this)}exitRule(listener){listener.exitSourceEnd&&listener.exitSourceEnd(this)}accept(visitor){return visitor.visitSourceEnd?visitor.visitSourceEnd(this):visitor.visitChildren(this)}},ItemDefinitionContext=class extends ParserRuleContext{constructor(parent,invokingState){super(parent,invokingState)}occurrenceDefinitionPrefix(){return this.getRuleContext(0,OccurrenceDefinitionPrefixContext)}ITEM(){return this.getToken(SysMLv2Parser.ITEM,0)}DEF(){return this.getToken(SysMLv2Parser.DEF,0)}definition(){return this.getRuleContext(0,DefinitionContext)}get ruleIndex(){return SysMLv2Parser.RULE_itemDefinition}enterRule(listener){listener.enterItemDefinition&&listener.enterItemDefinition(this)}exitRule(listener){listener.exitItemDefinition&&listener.exitItemDefinition(this)}accept(visitor){return visitor.visitItemDefinition?visitor.visitItemDefinition(this):visitor.visitChildren(this)}},ItemUsageContext=class extends ParserRuleContext{constructor(parent,invokingState){super(parent,invokingState)}occurrenceUsagePrefix(){return this.getRuleContext(0,OccurrenceUsagePrefixContext)}ITEM(){return this.getToken(SysMLv2Parser.ITEM,0)}usage(){return this.getRuleContext(0,UsageContext)}get ruleIndex(){return SysMLv2Parser.RULE_itemUsage}enterRule(listener){listener.enterItemUsage&&listener.enterItemUsage(this)}exitRule(listener){listener.exitItemUsage&&listener.exitItemUsage(this)}accept(visitor){return visitor.visitItemUsage?visitor.visitItemUsage(this):visitor.visitChildren(this)}},PartDefinitionContext=class extends ParserRuleContext{constructor(parent,invokingState){super(parent,invokingState)}occurrenceDefinitionPrefix(){return this.getRuleContext(0,OccurrenceDefinitionPrefixContext)}PART(){return this.getToken(SysMLv2Parser.PART,0)}DEF(){return this.getToken(SysMLv2Parser.DEF,0)}definition(){return this.getRuleContext(0,DefinitionContext)}get ruleIndex(){return SysMLv2Parser.RULE_partDefinition}enterRule(listener){listener.enterPartDefinition&&listener.enterPartDefinition(this)}exitRule(listener){listener.exitPartDefinition&&listener.exitPartDefinition(this)}accept(visitor){return visitor.visitPartDefinition?visitor.visitPartDefinition(this):visitor.visitChildren(this)}},PartUsageContext=class extends ParserRuleContext{constructor(parent,invokingState){super(parent,invokingState)}occurrenceUsagePrefix(){return this.getRuleContext(0,OccurrenceUsagePrefixContext)}PART(){return this.getToken(SysMLv2Parser.PART,0)}usage(){return this.getRuleContext(0,UsageContext)}get ruleIndex(){return SysMLv2Parser.RULE_partUsage}enterRule(listener){listener.enterPartUsage&&listener.enterPartUsage(this)}exitRule(listener){listener.exitPartUsage&&listener.exitPartUsage(this)}accept(visitor){return visitor.visitPartUsage?visitor.visitPartUsage(this):visitor.visitChildren(this)}},PortDefinitionContext=class extends ParserRuleContext{constructor(parent,invokingState){super(parent,invokingState)}definitionPrefix(){return this.getRuleContext(0,DefinitionPrefixContext)}PORT(){return this.getToken(SysMLv2Parser.PORT,0)}DEF(){return this.getToken(SysMLv2Parser.DEF,0)}definition(){return this.getRuleContext(0,DefinitionContext)}conjugatedPortDefinitionMember(){return this.getRuleContext(0,ConjugatedPortDefinitionMemberContext)}get ruleIndex(){return SysMLv2Parser.RULE_portDefinition}enterRule(listener){listener.enterPortDefinition&&listener.enterPortDefinition(this)}exitRule(listener){listener.exitPortDefinition&&listener.exitPortDefinition(this)}accept(visitor){return visitor.visitPortDefinition?visitor.visitPortDefinition(this):visitor.visitChildren(this)}},ConjugatedPortDefinitionMemberContext=class extends ParserRuleContext{constructor(parent,invokingState){super(parent,invokingState)}conjugatedPortDefinition(){return this.getRuleContext(0,ConjugatedPortDefinitionContext)}get ruleIndex(){return SysMLv2Parser.RULE_conjugatedPortDefinitionMember}enterRule(listener){listener.enterConjugatedPortDefinitionMember&&listener.enterConjugatedPortDefinitionMember(this)}exitRule(listener){listener.exitConjugatedPortDefinitionMember&&listener.exitConjugatedPortDefinitionMember(this)}accept(visitor){return visitor.visitConjugatedPortDefinitionMember?visitor.visitConjugatedPortDefinitionMember(this):visitor.visitChildren(this)}},ConjugatedPortDefinitionContext=class extends ParserRuleContext{constructor(parent,invokingState){super(parent,invokingState)}portConjugation(){return this.getRuleContext(0,PortConjugationContext)}get ruleIndex(){return SysMLv2Parser.RULE_conjugatedPortDefinition}enterRule(listener){listener.enterConjugatedPortDefinition&&listener.enterConjugatedPortDefinition(this)}exitRule(listener){listener.exitConjugatedPortDefinition&&listener.exitConjugatedPortDefinition(this)}accept(visitor){return visitor.visitConjugatedPortDefinition?visitor.visitConjugatedPortDefinition(this):visitor.visitChildren(this)}},PortUsageContext=class extends ParserRuleContext{constructor(parent,invokingState){super(parent,invokingState)}occurrenceUsagePrefix(){return this.getRuleContext(0,OccurrenceUsagePrefixContext)}PORT(){return this.getToken(SysMLv2Parser.PORT,0)}usage(){return this.getRuleContext(0,UsageContext)}get ruleIndex(){return SysMLv2Parser.RULE_portUsage}enterRule(listener){listener.enterPortUsage&&listener.enterPortUsage(this)}exitRule(listener){listener.exitPortUsage&&listener.exitPortUsage(this)}accept(visitor){return visitor.visitPortUsage?visitor.visitPortUsage(this):visitor.visitChildren(this)}},ConjugatedPortTypingContext=class extends ParserRuleContext{constructor(parent,invokingState){super(parent,invokingState)}TILDE(){return this.getToken(SysMLv2Parser.TILDE,0)}qualifiedName(){return this.getRuleContext(0,QualifiedNameContext)}get ruleIndex(){return SysMLv2Parser.RULE_conjugatedPortTyping}enterRule(listener){listener.enterConjugatedPortTyping&&listener.enterConjugatedPortTyping(this)}exitRule(listener){listener.exitConjugatedPortTyping&&listener.exitConjugatedPortTyping(this)}accept(visitor){return visitor.visitConjugatedPortTyping?visitor.visitConjugatedPortTyping(this):visitor.visitChildren(this)}},ConnectionDefinitionContext=class extends ParserRuleContext{constructor(parent,invokingState){super(parent,invokingState)}occurrenceDefinitionPrefix(){return this.getRuleContext(0,OccurrenceDefinitionPrefixContext)}CONNECTION(){return this.getToken(SysMLv2Parser.CONNECTION,0)}DEF(){return this.getToken(SysMLv2Parser.DEF,0)}definition(){return this.getRuleContext(0,DefinitionContext)}get ruleIndex(){return SysMLv2Parser.RULE_connectionDefinition}enterRule(listener){listener.enterConnectionDefinition&&listener.enterConnectionDefinition(this)}exitRule(listener){listener.exitConnectionDefinition&&listener.exitConnectionDefinition(this)}accept(visitor){return visitor.visitConnectionDefinition?visitor.visitConnectionDefinition(this):visitor.visitChildren(this)}},ConnectionUsageContext=class extends ParserRuleContext{constructor(parent,invokingState){super(parent,invokingState)}occurrenceUsagePrefix(){return this.getRuleContext(0,OccurrenceUsagePrefixContext)}usageBody(){return this.getRuleContext(0,UsageBodyContext)}CONNECTION(){return this.getToken(SysMLv2Parser.CONNECTION,0)}CONNECT(){return this.getToken(SysMLv2Parser.CONNECT,0)}connectorPart(){return this.getRuleContext(0,ConnectorPartContext)}usageDeclaration(){return this.getRuleContext(0,UsageDeclarationContext)}valuePart(){return this.getRuleContext(0,ValuePartContext)}get ruleIndex(){return SysMLv2Parser.RULE_connectionUsage}enterRule(listener){listener.enterConnectionUsage&&listener.enterConnectionUsage(this)}exitRule(listener){listener.exitConnectionUsage&&listener.exitConnectionUsage(this)}accept(visitor){return visitor.visitConnectionUsage?visitor.visitConnectionUsage(this):visitor.visitChildren(this)}},ConnectorPartContext=class extends ParserRuleContext{constructor(parent,invokingState){super(parent,invokingState)}binaryConnectorPart(){return this.getRuleContext(0,BinaryConnectorPartContext)}naryConnectorPart(){return this.getRuleContext(0,NaryConnectorPartContext)}get ruleIndex(){return SysMLv2Parser.RULE_connectorPart}enterRule(listener){listener.enterConnectorPart&&listener.enterConnectorPart(this)}exitRule(listener){listener.exitConnectorPart&&listener.exitConnectorPart(this)}accept(visitor){return visitor.visitConnectorPart?visitor.visitConnectorPart(this):visitor.visitChildren(this)}},BinaryConnectorPartContext=class extends ParserRuleContext{constructor(parent,invokingState){super(parent,invokingState)}connectorEndMember(i){return i===void 0?this.getRuleContexts(ConnectorEndMemberContext):this.getRuleContext(i,ConnectorEndMemberContext)}TO(){return this.getToken(SysMLv2Parser.TO,0)}get ruleIndex(){return SysMLv2Parser.RULE_binaryConnectorPart}enterRule(listener){listener.enterBinaryConnectorPart&&listener.enterBinaryConnectorPart(this)}exitRule(listener){listener.exitBinaryConnectorPart&&listener.exitBinaryConnectorPart(this)}accept(visitor){return visitor.visitBinaryConnectorPart?visitor.visitBinaryConnectorPart(this):visitor.visitChildren(this)}},NaryConnectorPartContext=class extends ParserRuleContext{constructor(parent,invokingState){super(parent,invokingState)}LPAREN(){return this.getToken(SysMLv2Parser.LPAREN,0)}connectorEndMember(i){return i===void 0?this.getRuleContexts(ConnectorEndMemberContext):this.getRuleContext(i,ConnectorEndMemberContext)}COMMA(i){return i===void 0?this.getTokens(SysMLv2Parser.COMMA):this.getToken(SysMLv2Parser.COMMA,i)}RPAREN(){return this.getToken(SysMLv2Parser.RPAREN,0)}get ruleIndex(){return SysMLv2Parser.RULE_naryConnectorPart}enterRule(listener){listener.enterNaryConnectorPart&&listener.enterNaryConnectorPart(this)}exitRule(listener){listener.exitNaryConnectorPart&&listener.exitNaryConnectorPart(this)}accept(visitor){return visitor.visitNaryConnectorPart?visitor.visitNaryConnectorPart(this):visitor.visitChildren(this)}},BindingConnectorAsUsageContext=class extends ParserRuleContext{constructor(parent,invokingState){super(parent,invokingState)}usagePrefix(){return this.getRuleContext(0,UsagePrefixContext)}BIND(){return this.getToken(SysMLv2Parser.BIND,0)}connectorEndMember(i){return i===void 0?this.getRuleContexts(ConnectorEndMemberContext):this.getRuleContext(i,ConnectorEndMemberContext)}EQ(){return this.getToken(SysMLv2Parser.EQ,0)}usageBody(){return this.getRuleContext(0,UsageBodyContext)}BINDING(){return this.getToken(SysMLv2Parser.BINDING,0)}usageDeclaration(){return this.getRuleContext(0,UsageDeclarationContext)}get ruleIndex(){return SysMLv2Parser.RULE_bindingConnectorAsUsage}enterRule(listener){listener.enterBindingConnectorAsUsage&&listener.enterBindingConnectorAsUsage(this)}exitRule(listener){listener.exitBindingConnectorAsUsage&&listener.exitBindingConnectorAsUsage(this)}accept(visitor){return visitor.visitBindingConnectorAsUsage?visitor.visitBindingConnectorAsUsage(this):visitor.visitChildren(this)}},SuccessionAsUsageContext=class extends ParserRuleContext{constructor(parent,invokingState){super(parent,invokingState)}usagePrefix(){return this.getRuleContext(0,UsagePrefixContext)}FIRST(){return this.getToken(SysMLv2Parser.FIRST,0)}connectorEndMember(i){return i===void 0?this.getRuleContexts(ConnectorEndMemberContext):this.getRuleContext(i,ConnectorEndMemberContext)}THEN(){return this.getToken(SysMLv2Parser.THEN,0)}usageBody(){return this.getRuleContext(0,UsageBodyContext)}SUCCESSION(){return this.getToken(SysMLv2Parser.SUCCESSION,0)}usageDeclaration(){return this.getRuleContext(0,UsageDeclarationContext)}get ruleIndex(){return SysMLv2Parser.RULE_successionAsUsage}enterRule(listener){listener.enterSuccessionAsUsage&&listener.enterSuccessionAsUsage(this)}exitRule(listener){listener.exitSuccessionAsUsage&&listener.exitSuccessionAsUsage(this)}accept(visitor){return visitor.visitSuccessionAsUsage?visitor.visitSuccessionAsUsage(this):visitor.visitChildren(this)}},InterfaceDefinitionContext=class extends ParserRuleContext{constructor(parent,invokingState){super(parent,invokingState)}occurrenceDefinitionPrefix(){return this.getRuleContext(0,OccurrenceDefinitionPrefixContext)}INTERFACE(){return this.getToken(SysMLv2Parser.INTERFACE,0)}DEF(){return this.getToken(SysMLv2Parser.DEF,0)}definitionDeclaration(){return this.getRuleContext(0,DefinitionDeclarationContext)}interfaceBody(){return this.getRuleContext(0,InterfaceBodyContext)}get ruleIndex(){return SysMLv2Parser.RULE_interfaceDefinition}enterRule(listener){listener.enterInterfaceDefinition&&listener.enterInterfaceDefinition(this)}exitRule(listener){listener.exitInterfaceDefinition&&listener.exitInterfaceDefinition(this)}accept(visitor){return visitor.visitInterfaceDefinition?visitor.visitInterfaceDefinition(this):visitor.visitChildren(this)}},InterfaceBodyContext=class extends ParserRuleContext{constructor(parent,invokingState){super(parent,invokingState)}SEMI(){return this.getToken(SysMLv2Parser.SEMI,0)}LBRACE(){return this.getToken(SysMLv2Parser.LBRACE,0)}RBRACE(){return this.getToken(SysMLv2Parser.RBRACE,0)}interfaceBodyItem(i){return i===void 0?this.getRuleContexts(InterfaceBodyItemContext):this.getRuleContext(i,InterfaceBodyItemContext)}get ruleIndex(){return SysMLv2Parser.RULE_interfaceBody}enterRule(listener){listener.enterInterfaceBody&&listener.enterInterfaceBody(this)}exitRule(listener){listener.exitInterfaceBody&&listener.exitInterfaceBody(this)}accept(visitor){return visitor.visitInterfaceBody?visitor.visitInterfaceBody(this):visitor.visitChildren(this)}},InterfaceBodyItemContext=class extends ParserRuleContext{constructor(parent,invokingState){super(parent,invokingState)}definitionMember(){return this.getRuleContext(0,DefinitionMemberContext)}variantUsageMember(){return this.getRuleContext(0,VariantUsageMemberContext)}interfaceNonOccurrenceUsageMember(){return this.getRuleContext(0,InterfaceNonOccurrenceUsageMemberContext)}interfaceOccurrenceUsageMember(){return this.getRuleContext(0,InterfaceOccurrenceUsageMemberContext)}sourceSuccessionMember(){return this.getRuleContext(0,SourceSuccessionMemberContext)}aliasMember(){return this.getRuleContext(0,AliasMemberContext)}importRule(){return this.getRuleContext(0,ImportRuleContext)}get ruleIndex(){return SysMLv2Parser.RULE_interfaceBodyItem}enterRule(listener){listener.enterInterfaceBodyItem&&listener.enterInterfaceBodyItem(this)}exitRule(listener){listener.exitInterfaceBodyItem&&listener.exitInterfaceBodyItem(this)}accept(visitor){return visitor.visitInterfaceBodyItem?visitor.visitInterfaceBodyItem(this):visitor.visitChildren(this)}},InterfaceNonOccurrenceUsageMemberContext=class extends ParserRuleContext{constructor(parent,invokingState){super(parent,invokingState)}memberPrefix(){return this.getRuleContext(0,MemberPrefixContext)}interfaceNonOccurrenceUsageElement(){return this.getRuleContext(0,InterfaceNonOccurrenceUsageElementContext)}get ruleIndex(){return SysMLv2Parser.RULE_interfaceNonOccurrenceUsageMember}enterRule(listener){listener.enterInterfaceNonOccurrenceUsageMember&&listener.enterInterfaceNonOccurrenceUsageMember(this)}exitRule(listener){listener.exitInterfaceNonOccurrenceUsageMember&&listener.exitInterfaceNonOccurrenceUsageMember(this)}accept(visitor){return visitor.visitInterfaceNonOccurrenceUsageMember?visitor.visitInterfaceNonOccurrenceUsageMember(this):visitor.visitChildren(this)}},InterfaceNonOccurrenceUsageElementContext=class extends ParserRuleContext{constructor(parent,invokingState){super(parent,invokingState)}referenceUsage(){return this.getRuleContext(0,ReferenceUsageContext)}attributeUsage(){return this.getRuleContext(0,AttributeUsageContext)}enumerationUsage(){return this.getRuleContext(0,EnumerationUsageContext)}bindingConnectorAsUsage(){return this.getRuleContext(0,BindingConnectorAsUsageContext)}successionAsUsage(){return this.getRuleContext(0,SuccessionAsUsageContext)}get ruleIndex(){return SysMLv2Parser.RULE_interfaceNonOccurrenceUsageElement}enterRule(listener){listener.enterInterfaceNonOccurrenceUsageElement&&listener.enterInterfaceNonOccurrenceUsageElement(this)}exitRule(listener){listener.exitInterfaceNonOccurrenceUsageElement&&listener.exitInterfaceNonOccurrenceUsageElement(this)}accept(visitor){return visitor.visitInterfaceNonOccurrenceUsageElement?visitor.visitInterfaceNonOccurrenceUsageElement(this):visitor.visitChildren(this)}},InterfaceOccurrenceUsageMemberContext=class extends ParserRuleContext{constructor(parent,invokingState){super(parent,invokingState)}memberPrefix(){return this.getRuleContext(0,MemberPrefixContext)}interfaceOccurrenceUsageElement(){return this.getRuleContext(0,InterfaceOccurrenceUsageElementContext)}get ruleIndex(){return SysMLv2Parser.RULE_interfaceOccurrenceUsageMember}enterRule(listener){listener.enterInterfaceOccurrenceUsageMember&&listener.enterInterfaceOccurrenceUsageMember(this)}exitRule(listener){listener.exitInterfaceOccurrenceUsageMember&&listener.exitInterfaceOccurrenceUsageMember(this)}accept(visitor){return visitor.visitInterfaceOccurrenceUsageMember?visitor.visitInterfaceOccurrenceUsageMember(this):visitor.visitChildren(this)}},InterfaceOccurrenceUsageElementContext=class extends ParserRuleContext{constructor(parent,invokingState){super(parent,invokingState)}defaultInterfaceEnd(){return this.getRuleContext(0,DefaultInterfaceEndContext)}structureUsageElement(){return this.getRuleContext(0,StructureUsageElementContext)}behaviorUsageElement(){return this.getRuleContext(0,BehaviorUsageElementContext)}get ruleIndex(){return SysMLv2Parser.RULE_interfaceOccurrenceUsageElement}enterRule(listener){listener.enterInterfaceOccurrenceUsageElement&&listener.enterInterfaceOccurrenceUsageElement(this)}exitRule(listener){listener.exitInterfaceOccurrenceUsageElement&&listener.exitInterfaceOccurrenceUsageElement(this)}accept(visitor){return visitor.visitInterfaceOccurrenceUsageElement?visitor.visitInterfaceOccurrenceUsageElement(this):visitor.visitChildren(this)}},DefaultInterfaceEndContext=class extends ParserRuleContext{constructor(parent,invokingState){super(parent,invokingState)}END(){return this.getToken(SysMLv2Parser.END,0)}usage(){return this.getRuleContext(0,UsageContext)}get ruleIndex(){return SysMLv2Parser.RULE_defaultInterfaceEnd}enterRule(listener){listener.enterDefaultInterfaceEnd&&listener.enterDefaultInterfaceEnd(this)}exitRule(listener){listener.exitDefaultInterfaceEnd&&listener.exitDefaultInterfaceEnd(this)}accept(visitor){return visitor.visitDefaultInterfaceEnd?visitor.visitDefaultInterfaceEnd(this):visitor.visitChildren(this)}},InterfaceUsageContext=class extends ParserRuleContext{constructor(parent,invokingState){super(parent,invokingState)}occurrenceUsagePrefix(){return this.getRuleContext(0,OccurrenceUsagePrefixContext)}INTERFACE(){return this.getToken(SysMLv2Parser.INTERFACE,0)}interfaceUsageDeclaration(){return this.getRuleContext(0,InterfaceUsageDeclarationContext)}interfaceBody(){return this.getRuleContext(0,InterfaceBodyContext)}get ruleIndex(){return SysMLv2Parser.RULE_interfaceUsage}enterRule(listener){listener.enterInterfaceUsage&&listener.enterInterfaceUsage(this)}exitRule(listener){listener.exitInterfaceUsage&&listener.exitInterfaceUsage(this)}accept(visitor){return visitor.visitInterfaceUsage?visitor.visitInterfaceUsage(this):visitor.visitChildren(this)}},InterfaceUsageDeclarationContext=class extends ParserRuleContext{constructor(parent,invokingState){super(parent,invokingState)}usageDeclaration(){return this.getRuleContext(0,UsageDeclarationContext)}valuePart(){return this.getRuleContext(0,ValuePartContext)}CONNECT(){return this.getToken(SysMLv2Parser.CONNECT,0)}interfacePart(){return this.getRuleContext(0,InterfacePartContext)}get ruleIndex(){return SysMLv2Parser.RULE_interfaceUsageDeclaration}enterRule(listener){listener.enterInterfaceUsageDeclaration&&listener.enterInterfaceUsageDeclaration(this)}exitRule(listener){listener.exitInterfaceUsageDeclaration&&listener.exitInterfaceUsageDeclaration(this)}accept(visitor){return visitor.visitInterfaceUsageDeclaration?visitor.visitInterfaceUsageDeclaration(this):visitor.visitChildren(this)}},InterfacePartContext=class extends ParserRuleContext{constructor(parent,invokingState){super(parent,invokingState)}binaryInterfacePart(){return this.getRuleContext(0,BinaryInterfacePartContext)}naryInterfacePart(){return this.getRuleContext(0,NaryInterfacePartContext)}get ruleIndex(){return SysMLv2Parser.RULE_interfacePart}enterRule(listener){listener.enterInterfacePart&&listener.enterInterfacePart(this)}exitRule(listener){listener.exitInterfacePart&&listener.exitInterfacePart(this)}accept(visitor){return visitor.visitInterfacePart?visitor.visitInterfacePart(this):visitor.visitChildren(this)}},BinaryInterfacePartContext=class extends ParserRuleContext{constructor(parent,invokingState){super(parent,invokingState)}interfaceEndMember(i){return i===void 0?this.getRuleContexts(InterfaceEndMemberContext):this.getRuleContext(i,InterfaceEndMemberContext)}TO(){return this.getToken(SysMLv2Parser.TO,0)}get ruleIndex(){return SysMLv2Parser.RULE_binaryInterfacePart}enterRule(listener){listener.enterBinaryInterfacePart&&listener.enterBinaryInterfacePart(this)}exitRule(listener){listener.exitBinaryInterfacePart&&listener.exitBinaryInterfacePart(this)}accept(visitor){return visitor.visitBinaryInterfacePart?visitor.visitBinaryInterfacePart(this):visitor.visitChildren(this)}},NaryInterfacePartContext=class extends ParserRuleContext{constructor(parent,invokingState){super(parent,invokingState)}LPAREN(){return this.getToken(SysMLv2Parser.LPAREN,0)}interfaceEndMember(i){return i===void 0?this.getRuleContexts(InterfaceEndMemberContext):this.getRuleContext(i,InterfaceEndMemberContext)}COMMA(i){return i===void 0?this.getTokens(SysMLv2Parser.COMMA):this.getToken(SysMLv2Parser.COMMA,i)}RPAREN(){return this.getToken(SysMLv2Parser.RPAREN,0)}get ruleIndex(){return SysMLv2Parser.RULE_naryInterfacePart}enterRule(listener){listener.enterNaryInterfacePart&&listener.enterNaryInterfacePart(this)}exitRule(listener){listener.exitNaryInterfacePart&&listener.exitNaryInterfacePart(this)}accept(visitor){return visitor.visitNaryInterfacePart?visitor.visitNaryInterfacePart(this):visitor.visitChildren(this)}},InterfaceEndMemberContext=class extends ParserRuleContext{constructor(parent,invokingState){super(parent,invokingState)}interfaceEnd(){return this.getRuleContext(0,InterfaceEndContext)}get ruleIndex(){return SysMLv2Parser.RULE_interfaceEndMember}enterRule(listener){listener.enterInterfaceEndMember&&listener.enterInterfaceEndMember(this)}exitRule(listener){listener.exitInterfaceEndMember&&listener.exitInterfaceEndMember(this)}accept(visitor){return visitor.visitInterfaceEndMember?visitor.visitInterfaceEndMember(this):visitor.visitChildren(this)}},InterfaceEndContext=class extends ParserRuleContext{constructor(parent,invokingState){super(parent,invokingState)}ownedReferenceSubsetting(){return this.getRuleContext(0,OwnedReferenceSubsettingContext)}ownedCrossMultiplicityMember(){return this.getRuleContext(0,OwnedCrossMultiplicityMemberContext)}name(){return this.getRuleContext(0,NameContext)}COLON_COLON_GT(){return this.getToken(SysMLv2Parser.COLON_COLON_GT,0)}REFERENCES(){return this.getToken(SysMLv2Parser.REFERENCES,0)}get ruleIndex(){return SysMLv2Parser.RULE_interfaceEnd}enterRule(listener){listener.enterInterfaceEnd&&listener.enterInterfaceEnd(this)}exitRule(listener){listener.exitInterfaceEnd&&listener.exitInterfaceEnd(this)}accept(visitor){return visitor.visitInterfaceEnd?visitor.visitInterfaceEnd(this):visitor.visitChildren(this)}},AllocationDefinitionContext=class extends ParserRuleContext{constructor(parent,invokingState){super(parent,invokingState)}occurrenceDefinitionPrefix(){return this.getRuleContext(0,OccurrenceDefinitionPrefixContext)}ALLOCATION(){return this.getToken(SysMLv2Parser.ALLOCATION,0)}DEF(){return this.getToken(SysMLv2Parser.DEF,0)}definition(){return this.getRuleContext(0,DefinitionContext)}get ruleIndex(){return SysMLv2Parser.RULE_allocationDefinition}enterRule(listener){listener.enterAllocationDefinition&&listener.enterAllocationDefinition(this)}exitRule(listener){listener.exitAllocationDefinition&&listener.exitAllocationDefinition(this)}accept(visitor){return visitor.visitAllocationDefinition?visitor.visitAllocationDefinition(this):visitor.visitChildren(this)}},AllocationUsageContext=class extends ParserRuleContext{constructor(parent,invokingState){super(parent,invokingState)}occurrenceUsagePrefix(){return this.getRuleContext(0,OccurrenceUsagePrefixContext)}allocationUsageDeclaration(){return this.getRuleContext(0,AllocationUsageDeclarationContext)}usageBody(){return this.getRuleContext(0,UsageBodyContext)}get ruleIndex(){return SysMLv2Parser.RULE_allocationUsage}enterRule(listener){listener.enterAllocationUsage&&listener.enterAllocationUsage(this)}exitRule(listener){listener.exitAllocationUsage&&listener.exitAllocationUsage(this)}accept(visitor){return visitor.visitAllocationUsage?visitor.visitAllocationUsage(this):visitor.visitChildren(this)}},AllocationUsageDeclarationContext=class extends ParserRuleContext{constructor(parent,invokingState){super(parent,invokingState)}ALLOCATION(){return this.getToken(SysMLv2Parser.ALLOCATION,0)}usageDeclaration(){return this.getRuleContext(0,UsageDeclarationContext)}ALLOCATE(){return this.getToken(SysMLv2Parser.ALLOCATE,0)}connectorPart(){return this.getRuleContext(0,ConnectorPartContext)}get ruleIndex(){return SysMLv2Parser.RULE_allocationUsageDeclaration}enterRule(listener){listener.enterAllocationUsageDeclaration&&listener.enterAllocationUsageDeclaration(this)}exitRule(listener){listener.exitAllocationUsageDeclaration&&listener.exitAllocationUsageDeclaration(this)}accept(visitor){return visitor.visitAllocationUsageDeclaration?visitor.visitAllocationUsageDeclaration(this):visitor.visitChildren(this)}},FlowDefinitionContext=class extends ParserRuleContext{constructor(parent,invokingState){super(parent,invokingState)}occurrenceDefinitionPrefix(){return this.getRuleContext(0,OccurrenceDefinitionPrefixContext)}FLOW(){return this.getToken(SysMLv2Parser.FLOW,0)}DEF(){return this.getToken(SysMLv2Parser.DEF,0)}definition(){return this.getRuleContext(0,DefinitionContext)}get ruleIndex(){return SysMLv2Parser.RULE_flowDefinition}enterRule(listener){listener.enterFlowDefinition&&listener.enterFlowDefinition(this)}exitRule(listener){listener.exitFlowDefinition&&listener.exitFlowDefinition(this)}accept(visitor){return visitor.visitFlowDefinition?visitor.visitFlowDefinition(this):visitor.visitChildren(this)}},MessageContext=class extends ParserRuleContext{constructor(parent,invokingState){super(parent,invokingState)}occurrenceUsagePrefix(){return this.getRuleContext(0,OccurrenceUsagePrefixContext)}MESSAGE(){return this.getToken(SysMLv2Parser.MESSAGE,0)}messageDeclaration(){return this.getRuleContext(0,MessageDeclarationContext)}definitionBody(){return this.getRuleContext(0,DefinitionBodyContext)}get ruleIndex(){return SysMLv2Parser.RULE_message}enterRule(listener){listener.enterMessage&&listener.enterMessage(this)}exitRule(listener){listener.exitMessage&&listener.exitMessage(this)}accept(visitor){return visitor.visitMessage?visitor.visitMessage(this):visitor.visitChildren(this)}},MessageDeclarationContext=class extends ParserRuleContext{constructor(parent,invokingState){super(parent,invokingState)}usageDeclaration(){return this.getRuleContext(0,UsageDeclarationContext)}valuePart(){return this.getRuleContext(0,ValuePartContext)}OF(){return this.getToken(SysMLv2Parser.OF,0)}flowPayloadFeatureMember(){return this.getRuleContext(0,FlowPayloadFeatureMemberContext)}FROM(){return this.getToken(SysMLv2Parser.FROM,0)}messageEventMember(i){return i===void 0?this.getRuleContexts(MessageEventMemberContext):this.getRuleContext(i,MessageEventMemberContext)}TO(){return this.getToken(SysMLv2Parser.TO,0)}get ruleIndex(){return SysMLv2Parser.RULE_messageDeclaration}enterRule(listener){listener.enterMessageDeclaration&&listener.enterMessageDeclaration(this)}exitRule(listener){listener.exitMessageDeclaration&&listener.exitMessageDeclaration(this)}accept(visitor){return visitor.visitMessageDeclaration?visitor.visitMessageDeclaration(this):visitor.visitChildren(this)}},MessageEventMemberContext=class extends ParserRuleContext{constructor(parent,invokingState){super(parent,invokingState)}messageEvent(){return this.getRuleContext(0,MessageEventContext)}get ruleIndex(){return SysMLv2Parser.RULE_messageEventMember}enterRule(listener){listener.enterMessageEventMember&&listener.enterMessageEventMember(this)}exitRule(listener){listener.exitMessageEventMember&&listener.exitMessageEventMember(this)}accept(visitor){return visitor.visitMessageEventMember?visitor.visitMessageEventMember(this):visitor.visitChildren(this)}},MessageEventContext=class extends ParserRuleContext{constructor(parent,invokingState){super(parent,invokingState)}ownedReferenceSubsetting(){return this.getRuleContext(0,OwnedReferenceSubsettingContext)}get ruleIndex(){return SysMLv2Parser.RULE_messageEvent}enterRule(listener){listener.enterMessageEvent&&listener.enterMessageEvent(this)}exitRule(listener){listener.exitMessageEvent&&listener.exitMessageEvent(this)}accept(visitor){return visitor.visitMessageEvent?visitor.visitMessageEvent(this):visitor.visitChildren(this)}},FlowUsageContext=class extends ParserRuleContext{constructor(parent,invokingState){super(parent,invokingState)}occurrenceUsagePrefix(){return this.getRuleContext(0,OccurrenceUsagePrefixContext)}FLOW(){return this.getToken(SysMLv2Parser.FLOW,0)}flowDeclaration(){return this.getRuleContext(0,FlowDeclarationContext)}definitionBody(){return this.getRuleContext(0,DefinitionBodyContext)}get ruleIndex(){return SysMLv2Parser.RULE_flowUsage}enterRule(listener){listener.enterFlowUsage&&listener.enterFlowUsage(this)}exitRule(listener){listener.exitFlowUsage&&listener.exitFlowUsage(this)}accept(visitor){return visitor.visitFlowUsage?visitor.visitFlowUsage(this):visitor.visitChildren(this)}},SuccessionFlowUsageContext=class extends ParserRuleContext{constructor(parent,invokingState){super(parent,invokingState)}occurrenceUsagePrefix(){return this.getRuleContext(0,OccurrenceUsagePrefixContext)}SUCCESSION(){return this.getToken(SysMLv2Parser.SUCCESSION,0)}FLOW(){return this.getToken(SysMLv2Parser.FLOW,0)}flowDeclaration(){return this.getRuleContext(0,FlowDeclarationContext)}definitionBody(){return this.getRuleContext(0,DefinitionBodyContext)}get ruleIndex(){return SysMLv2Parser.RULE_successionFlowUsage}enterRule(listener){listener.enterSuccessionFlowUsage&&listener.enterSuccessionFlowUsage(this)}exitRule(listener){listener.exitSuccessionFlowUsage&&listener.exitSuccessionFlowUsage(this)}accept(visitor){return visitor.visitSuccessionFlowUsage?visitor.visitSuccessionFlowUsage(this):visitor.visitChildren(this)}},FlowPayloadFeatureMemberContext=class extends ParserRuleContext{constructor(parent,invokingState){super(parent,invokingState)}flowPayloadFeature(){return this.getRuleContext(0,FlowPayloadFeatureContext)}get ruleIndex(){return SysMLv2Parser.RULE_flowPayloadFeatureMember}enterRule(listener){listener.enterFlowPayloadFeatureMember&&listener.enterFlowPayloadFeatureMember(this)}exitRule(listener){listener.exitFlowPayloadFeatureMember&&listener.exitFlowPayloadFeatureMember(this)}accept(visitor){return visitor.visitFlowPayloadFeatureMember?visitor.visitFlowPayloadFeatureMember(this):visitor.visitChildren(this)}},FlowPayloadFeatureContext=class extends ParserRuleContext{constructor(parent,invokingState){super(parent,invokingState)}payloadFeature(){return this.getRuleContext(0,PayloadFeatureContext)}get ruleIndex(){return SysMLv2Parser.RULE_flowPayloadFeature}enterRule(listener){listener.enterFlowPayloadFeature&&listener.enterFlowPayloadFeature(this)}exitRule(listener){listener.exitFlowPayloadFeature&&listener.exitFlowPayloadFeature(this)}accept(visitor){return visitor.visitFlowPayloadFeature?visitor.visitFlowPayloadFeature(this):visitor.visitChildren(this)}},FlowEndSubsettingContext=class extends ParserRuleContext{constructor(parent,invokingState){super(parent,invokingState)}qualifiedName(){return this.getRuleContext(0,QualifiedNameContext)}featureChainPrefix(){return this.getRuleContext(0,FeatureChainPrefixContext)}get ruleIndex(){return SysMLv2Parser.RULE_flowEndSubsetting}enterRule(listener){listener.enterFlowEndSubsetting&&listener.enterFlowEndSubsetting(this)}exitRule(listener){listener.exitFlowEndSubsetting&&listener.exitFlowEndSubsetting(this)}accept(visitor){return visitor.visitFlowEndSubsetting?visitor.visitFlowEndSubsetting(this):visitor.visitChildren(this)}},FeatureChainPrefixContext=class extends ParserRuleContext{constructor(parent,invokingState){super(parent,invokingState)}ownedFeatureChaining(i){return i===void 0?this.getRuleContexts(OwnedFeatureChainingContext):this.getRuleContext(i,OwnedFeatureChainingContext)}DOT(i){return i===void 0?this.getTokens(SysMLv2Parser.DOT):this.getToken(SysMLv2Parser.DOT,i)}get ruleIndex(){return SysMLv2Parser.RULE_featureChainPrefix}enterRule(listener){listener.enterFeatureChainPrefix&&listener.enterFeatureChainPrefix(this)}exitRule(listener){listener.exitFeatureChainPrefix&&listener.exitFeatureChainPrefix(this)}accept(visitor){return visitor.visitFeatureChainPrefix?visitor.visitFeatureChainPrefix(this):visitor.visitChildren(this)}},ActionDefinitionContext=class extends ParserRuleContext{constructor(parent,invokingState){super(parent,invokingState)}occurrenceDefinitionPrefix(){return this.getRuleContext(0,OccurrenceDefinitionPrefixContext)}ACTION(){return this.getToken(SysMLv2Parser.ACTION,0)}DEF(){return this.getToken(SysMLv2Parser.DEF,0)}definitionDeclaration(){return this.getRuleContext(0,DefinitionDeclarationContext)}actionBody(){return this.getRuleContext(0,ActionBodyContext)}get ruleIndex(){return SysMLv2Parser.RULE_actionDefinition}enterRule(listener){listener.enterActionDefinition&&listener.enterActionDefinition(this)}exitRule(listener){listener.exitActionDefinition&&listener.exitActionDefinition(this)}accept(visitor){return visitor.visitActionDefinition?visitor.visitActionDefinition(this):visitor.visitChildren(this)}},ActionBodyContext=class extends ParserRuleContext{constructor(parent,invokingState){super(parent,invokingState)}SEMI(){return this.getToken(SysMLv2Parser.SEMI,0)}LBRACE(){return this.getToken(SysMLv2Parser.LBRACE,0)}RBRACE(){return this.getToken(SysMLv2Parser.RBRACE,0)}actionBodyItem(i){return i===void 0?this.getRuleContexts(ActionBodyItemContext):this.getRuleContext(i,ActionBodyItemContext)}get ruleIndex(){return SysMLv2Parser.RULE_actionBody}enterRule(listener){listener.enterActionBody&&listener.enterActionBody(this)}exitRule(listener){listener.exitActionBody&&listener.exitActionBody(this)}accept(visitor){return visitor.visitActionBody?visitor.visitActionBody(this):visitor.visitChildren(this)}},ActionBodyItemContext=class extends ParserRuleContext{constructor(parent,invokingState){super(parent,invokingState)}nonBehaviorBodyItem(){return this.getRuleContext(0,NonBehaviorBodyItemContext)}initialNodeMember(){return this.getRuleContext(0,InitialNodeMemberContext)}actionTargetSuccessionMember(i){return i===void 0?this.getRuleContexts(ActionTargetSuccessionMemberContext):this.getRuleContext(i,ActionTargetSuccessionMemberContext)}actionBehaviorMember(){return this.getRuleContext(0,ActionBehaviorMemberContext)}sourceSuccessionMember(){return this.getRuleContext(0,SourceSuccessionMemberContext)}guardedSuccessionMember(){return this.getRuleContext(0,GuardedSuccessionMemberContext)}get ruleIndex(){return SysMLv2Parser.RULE_actionBodyItem}enterRule(listener){listener.enterActionBodyItem&&listener.enterActionBodyItem(this)}exitRule(listener){listener.exitActionBodyItem&&listener.exitActionBodyItem(this)}accept(visitor){return visitor.visitActionBodyItem?visitor.visitActionBodyItem(this):visitor.visitChildren(this)}},NonBehaviorBodyItemContext=class extends ParserRuleContext{constructor(parent,invokingState){super(parent,invokingState)}importRule(){return this.getRuleContext(0,ImportRuleContext)}aliasMember(){return this.getRuleContext(0,AliasMemberContext)}definitionMember(){return this.getRuleContext(0,DefinitionMemberContext)}variantUsageMember(){return this.getRuleContext(0,VariantUsageMemberContext)}nonOccurrenceUsageMember(){return this.getRuleContext(0,NonOccurrenceUsageMemberContext)}structureUsageMember(){return this.getRuleContext(0,StructureUsageMemberContext)}sourceSuccessionMember(){return this.getRuleContext(0,SourceSuccessionMemberContext)}get ruleIndex(){return SysMLv2Parser.RULE_nonBehaviorBodyItem}enterRule(listener){listener.enterNonBehaviorBodyItem&&listener.enterNonBehaviorBodyItem(this)}exitRule(listener){listener.exitNonBehaviorBodyItem&&listener.exitNonBehaviorBodyItem(this)}accept(visitor){return visitor.visitNonBehaviorBodyItem?visitor.visitNonBehaviorBodyItem(this):visitor.visitChildren(this)}},ActionBehaviorMemberContext=class extends ParserRuleContext{constructor(parent,invokingState){super(parent,invokingState)}behaviorUsageMember(){return this.getRuleContext(0,BehaviorUsageMemberContext)}actionNodeMember(){return this.getRuleContext(0,ActionNodeMemberContext)}get ruleIndex(){return SysMLv2Parser.RULE_actionBehaviorMember}enterRule(listener){listener.enterActionBehaviorMember&&listener.enterActionBehaviorMember(this)}exitRule(listener){listener.exitActionBehaviorMember&&listener.exitActionBehaviorMember(this)}accept(visitor){return visitor.visitActionBehaviorMember?visitor.visitActionBehaviorMember(this):visitor.visitChildren(this)}},InitialNodeMemberContext=class extends ParserRuleContext{constructor(parent,invokingState){super(parent,invokingState)}memberPrefix(){return this.getRuleContext(0,MemberPrefixContext)}FIRST(){return this.getToken(SysMLv2Parser.FIRST,0)}qualifiedName(){return this.getRuleContext(0,QualifiedNameContext)}relationshipBody(){return this.getRuleContext(0,RelationshipBodyContext)}get ruleIndex(){return SysMLv2Parser.RULE_initialNodeMember}enterRule(listener){listener.enterInitialNodeMember&&listener.enterInitialNodeMember(this)}exitRule(listener){listener.exitInitialNodeMember&&listener.exitInitialNodeMember(this)}accept(visitor){return visitor.visitInitialNodeMember?visitor.visitInitialNodeMember(this):visitor.visitChildren(this)}},ActionNodeMemberContext=class extends ParserRuleContext{constructor(parent,invokingState){super(parent,invokingState)}memberPrefix(){return this.getRuleContext(0,MemberPrefixContext)}actionNode(){return this.getRuleContext(0,ActionNodeContext)}get ruleIndex(){return SysMLv2Parser.RULE_actionNodeMember}enterRule(listener){listener.enterActionNodeMember&&listener.enterActionNodeMember(this)}exitRule(listener){listener.exitActionNodeMember&&listener.exitActionNodeMember(this)}accept(visitor){return visitor.visitActionNodeMember?visitor.visitActionNodeMember(this):visitor.visitChildren(this)}},ActionTargetSuccessionMemberContext=class extends ParserRuleContext{constructor(parent,invokingState){super(parent,invokingState)}memberPrefix(){return this.getRuleContext(0,MemberPrefixContext)}actionTargetSuccession(){return this.getRuleContext(0,ActionTargetSuccessionContext)}get ruleIndex(){return SysMLv2Parser.RULE_actionTargetSuccessionMember}enterRule(listener){listener.enterActionTargetSuccessionMember&&listener.enterActionTargetSuccessionMember(this)}exitRule(listener){listener.exitActionTargetSuccessionMember&&listener.exitActionTargetSuccessionMember(this)}accept(visitor){return visitor.visitActionTargetSuccessionMember?visitor.visitActionTargetSuccessionMember(this):visitor.visitChildren(this)}},GuardedSuccessionMemberContext=class extends ParserRuleContext{constructor(parent,invokingState){super(parent,invokingState)}memberPrefix(){return this.getRuleContext(0,MemberPrefixContext)}guardedSuccession(){return this.getRuleContext(0,GuardedSuccessionContext)}get ruleIndex(){return SysMLv2Parser.RULE_guardedSuccessionMember}enterRule(listener){listener.enterGuardedSuccessionMember&&listener.enterGuardedSuccessionMember(this)}exitRule(listener){listener.exitGuardedSuccessionMember&&listener.exitGuardedSuccessionMember(this)}accept(visitor){return visitor.visitGuardedSuccessionMember?visitor.visitGuardedSuccessionMember(this):visitor.visitChildren(this)}},ActionUsageContext=class extends ParserRuleContext{constructor(parent,invokingState){super(parent,invokingState)}occurrenceUsagePrefix(){return this.getRuleContext(0,OccurrenceUsagePrefixContext)}ACTION(){return this.getToken(SysMLv2Parser.ACTION,0)}actionUsageDeclaration(){return this.getRuleContext(0,ActionUsageDeclarationContext)}actionBody(){return this.getRuleContext(0,ActionBodyContext)}get ruleIndex(){return SysMLv2Parser.RULE_actionUsage}enterRule(listener){listener.enterActionUsage&&listener.enterActionUsage(this)}exitRule(listener){listener.exitActionUsage&&listener.exitActionUsage(this)}accept(visitor){return visitor.visitActionUsage?visitor.visitActionUsage(this):visitor.visitChildren(this)}},ActionUsageDeclarationContext=class extends ParserRuleContext{constructor(parent,invokingState){super(parent,invokingState)}usageDeclaration(){return this.getRuleContext(0,UsageDeclarationContext)}valuePart(){return this.getRuleContext(0,ValuePartContext)}get ruleIndex(){return SysMLv2Parser.RULE_actionUsageDeclaration}enterRule(listener){listener.enterActionUsageDeclaration&&listener.enterActionUsageDeclaration(this)}exitRule(listener){listener.exitActionUsageDeclaration&&listener.exitActionUsageDeclaration(this)}accept(visitor){return visitor.visitActionUsageDeclaration?visitor.visitActionUsageDeclaration(this):visitor.visitChildren(this)}},PerformActionUsageContext=class extends ParserRuleContext{constructor(parent,invokingState){super(parent,invokingState)}occurrenceUsagePrefix(){return this.getRuleContext(0,OccurrenceUsagePrefixContext)}PERFORM(){return this.getToken(SysMLv2Parser.PERFORM,0)}performActionUsageDeclaration(){return this.getRuleContext(0,PerformActionUsageDeclarationContext)}actionBody(){return this.getRuleContext(0,ActionBodyContext)}get ruleIndex(){return SysMLv2Parser.RULE_performActionUsage}enterRule(listener){listener.enterPerformActionUsage&&listener.enterPerformActionUsage(this)}exitRule(listener){listener.exitPerformActionUsage&&listener.exitPerformActionUsage(this)}accept(visitor){return visitor.visitPerformActionUsage?visitor.visitPerformActionUsage(this):visitor.visitChildren(this)}},PerformActionUsageDeclarationContext=class extends ParserRuleContext{constructor(parent,invokingState){super(parent,invokingState)}ownedReferenceSubsetting(){return this.getRuleContext(0,OwnedReferenceSubsettingContext)}ACTION(){return this.getToken(SysMLv2Parser.ACTION,0)}valuePart(){return this.getRuleContext(0,ValuePartContext)}featureSpecializationPart(){return this.getRuleContext(0,FeatureSpecializationPartContext)}usageDeclaration(){return this.getRuleContext(0,UsageDeclarationContext)}get ruleIndex(){return SysMLv2Parser.RULE_performActionUsageDeclaration}enterRule(listener){listener.enterPerformActionUsageDeclaration&&listener.enterPerformActionUsageDeclaration(this)}exitRule(listener){listener.exitPerformActionUsageDeclaration&&listener.exitPerformActionUsageDeclaration(this)}accept(visitor){return visitor.visitPerformActionUsageDeclaration?visitor.visitPerformActionUsageDeclaration(this):visitor.visitChildren(this)}},ActionNodeContext=class extends ParserRuleContext{constructor(parent,invokingState){super(parent,invokingState)}controlNode(){return this.getRuleContext(0,ControlNodeContext)}sendNode(){return this.getRuleContext(0,SendNodeContext)}acceptNode(){return this.getRuleContext(0,AcceptNodeContext)}assignmentNode(){return this.getRuleContext(0,AssignmentNodeContext)}terminateNode(){return this.getRuleContext(0,TerminateNodeContext)}ifNode(){return this.getRuleContext(0,IfNodeContext)}whileLoopNode(){return this.getRuleContext(0,WhileLoopNodeContext)}forLoopNode(){return this.getRuleContext(0,ForLoopNodeContext)}get ruleIndex(){return SysMLv2Parser.RULE_actionNode}enterRule(listener){listener.enterActionNode&&listener.enterActionNode(this)}exitRule(listener){listener.exitActionNode&&listener.exitActionNode(this)}accept(visitor){return visitor.visitActionNode?visitor.visitActionNode(this):visitor.visitChildren(this)}},ActionNodeUsageDeclarationContext=class extends ParserRuleContext{constructor(parent,invokingState){super(parent,invokingState)}ACTION(){return this.getToken(SysMLv2Parser.ACTION,0)}usageDeclaration(){return this.getRuleContext(0,UsageDeclarationContext)}get ruleIndex(){return SysMLv2Parser.RULE_actionNodeUsageDeclaration}enterRule(listener){listener.enterActionNodeUsageDeclaration&&listener.enterActionNodeUsageDeclaration(this)}exitRule(listener){listener.exitActionNodeUsageDeclaration&&listener.exitActionNodeUsageDeclaration(this)}accept(visitor){return visitor.visitActionNodeUsageDeclaration?visitor.visitActionNodeUsageDeclaration(this):visitor.visitChildren(this)}},ActionNodePrefixContext=class extends ParserRuleContext{constructor(parent,invokingState){super(parent,invokingState)}occurrenceUsagePrefix(){return this.getRuleContext(0,OccurrenceUsagePrefixContext)}actionNodeUsageDeclaration(){return this.getRuleContext(0,ActionNodeUsageDeclarationContext)}get ruleIndex(){return SysMLv2Parser.RULE_actionNodePrefix}enterRule(listener){listener.enterActionNodePrefix&&listener.enterActionNodePrefix(this)}exitRule(listener){listener.exitActionNodePrefix&&listener.exitActionNodePrefix(this)}accept(visitor){return visitor.visitActionNodePrefix?visitor.visitActionNodePrefix(this):visitor.visitChildren(this)}},ControlNodeContext=class extends ParserRuleContext{constructor(parent,invokingState){super(parent,invokingState)}mergeNode(){return this.getRuleContext(0,MergeNodeContext)}decisionNode(){return this.getRuleContext(0,DecisionNodeContext)}joinNode(){return this.getRuleContext(0,JoinNodeContext)}forkNode(){return this.getRuleContext(0,ForkNodeContext)}get ruleIndex(){return SysMLv2Parser.RULE_controlNode}enterRule(listener){listener.enterControlNode&&listener.enterControlNode(this)}exitRule(listener){listener.exitControlNode&&listener.exitControlNode(this)}accept(visitor){return visitor.visitControlNode?visitor.visitControlNode(this):visitor.visitChildren(this)}},ControlNodePrefixContext=class extends ParserRuleContext{constructor(parent,invokingState){super(parent,invokingState)}refPrefix(){return this.getRuleContext(0,RefPrefixContext)}INDIVIDUAL(){return this.getToken(SysMLv2Parser.INDIVIDUAL,0)}portionKind(){return this.getRuleContext(0,PortionKindContext)}usageExtensionKeyword(i){return i===void 0?this.getRuleContexts(UsageExtensionKeywordContext):this.getRuleContext(i,UsageExtensionKeywordContext)}get ruleIndex(){return SysMLv2Parser.RULE_controlNodePrefix}enterRule(listener){listener.enterControlNodePrefix&&listener.enterControlNodePrefix(this)}exitRule(listener){listener.exitControlNodePrefix&&listener.exitControlNodePrefix(this)}accept(visitor){return visitor.visitControlNodePrefix?visitor.visitControlNodePrefix(this):visitor.visitChildren(this)}},MergeNodeContext=class extends ParserRuleContext{constructor(parent,invokingState){super(parent,invokingState)}controlNodePrefix(){return this.getRuleContext(0,ControlNodePrefixContext)}MERGE(){return this.getToken(SysMLv2Parser.MERGE,0)}actionBody(){return this.getRuleContext(0,ActionBodyContext)}usageDeclaration(){return this.getRuleContext(0,UsageDeclarationContext)}get ruleIndex(){return SysMLv2Parser.RULE_mergeNode}enterRule(listener){listener.enterMergeNode&&listener.enterMergeNode(this)}exitRule(listener){listener.exitMergeNode&&listener.exitMergeNode(this)}accept(visitor){return visitor.visitMergeNode?visitor.visitMergeNode(this):visitor.visitChildren(this)}},DecisionNodeContext=class extends ParserRuleContext{constructor(parent,invokingState){super(parent,invokingState)}controlNodePrefix(){return this.getRuleContext(0,ControlNodePrefixContext)}DECIDE(){return this.getToken(SysMLv2Parser.DECIDE,0)}actionBody(){return this.getRuleContext(0,ActionBodyContext)}usageDeclaration(){return this.getRuleContext(0,UsageDeclarationContext)}get ruleIndex(){return SysMLv2Parser.RULE_decisionNode}enterRule(listener){listener.enterDecisionNode&&listener.enterDecisionNode(this)}exitRule(listener){listener.exitDecisionNode&&listener.exitDecisionNode(this)}accept(visitor){return visitor.visitDecisionNode?visitor.visitDecisionNode(this):visitor.visitChildren(this)}},JoinNodeContext=class extends ParserRuleContext{constructor(parent,invokingState){super(parent,invokingState)}controlNodePrefix(){return this.getRuleContext(0,ControlNodePrefixContext)}JOIN(){return this.getToken(SysMLv2Parser.JOIN,0)}actionBody(){return this.getRuleContext(0,ActionBodyContext)}usageDeclaration(){return this.getRuleContext(0,UsageDeclarationContext)}get ruleIndex(){return SysMLv2Parser.RULE_joinNode}enterRule(listener){listener.enterJoinNode&&listener.enterJoinNode(this)}exitRule(listener){listener.exitJoinNode&&listener.exitJoinNode(this)}accept(visitor){return visitor.visitJoinNode?visitor.visitJoinNode(this):visitor.visitChildren(this)}},ForkNodeContext=class extends ParserRuleContext{constructor(parent,invokingState){super(parent,invokingState)}controlNodePrefix(){return this.getRuleContext(0,ControlNodePrefixContext)}FORK(){return this.getToken(SysMLv2Parser.FORK,0)}actionBody(){return this.getRuleContext(0,ActionBodyContext)}usageDeclaration(){return this.getRuleContext(0,UsageDeclarationContext)}get ruleIndex(){return SysMLv2Parser.RULE_forkNode}enterRule(listener){listener.enterForkNode&&listener.enterForkNode(this)}exitRule(listener){listener.exitForkNode&&listener.exitForkNode(this)}accept(visitor){return visitor.visitForkNode?visitor.visitForkNode(this):visitor.visitChildren(this)}},AcceptNodeContext=class extends ParserRuleContext{constructor(parent,invokingState){super(parent,invokingState)}occurrenceUsagePrefix(){return this.getRuleContext(0,OccurrenceUsagePrefixContext)}acceptNodeDeclaration(){return this.getRuleContext(0,AcceptNodeDeclarationContext)}actionBody(){return this.getRuleContext(0,ActionBodyContext)}get ruleIndex(){return SysMLv2Parser.RULE_acceptNode}enterRule(listener){listener.enterAcceptNode&&listener.enterAcceptNode(this)}exitRule(listener){listener.exitAcceptNode&&listener.exitAcceptNode(this)}accept(visitor){return visitor.visitAcceptNode?visitor.visitAcceptNode(this):visitor.visitChildren(this)}},AcceptNodeDeclarationContext=class extends ParserRuleContext{constructor(parent,invokingState){super(parent,invokingState)}ACCEPT(){return this.getToken(SysMLv2Parser.ACCEPT,0)}acceptParameterPart(){return this.getRuleContext(0,AcceptParameterPartContext)}actionNodeUsageDeclaration(){return this.getRuleContext(0,ActionNodeUsageDeclarationContext)}get ruleIndex(){return SysMLv2Parser.RULE_acceptNodeDeclaration}enterRule(listener){listener.enterAcceptNodeDeclaration&&listener.enterAcceptNodeDeclaration(this)}exitRule(listener){listener.exitAcceptNodeDeclaration&&listener.exitAcceptNodeDeclaration(this)}accept(visitor){return visitor.visitAcceptNodeDeclaration?visitor.visitAcceptNodeDeclaration(this):visitor.visitChildren(this)}},AcceptParameterPartContext=class extends ParserRuleContext{constructor(parent,invokingState){super(parent,invokingState)}payloadParameterMember(){return this.getRuleContext(0,PayloadParameterMemberContext)}VIA(){return this.getToken(SysMLv2Parser.VIA,0)}nodeParameterMember(){return this.getRuleContext(0,NodeParameterMemberContext)}get ruleIndex(){return SysMLv2Parser.RULE_acceptParameterPart}enterRule(listener){listener.enterAcceptParameterPart&&listener.enterAcceptParameterPart(this)}exitRule(listener){listener.exitAcceptParameterPart&&listener.exitAcceptParameterPart(this)}accept(visitor){return visitor.visitAcceptParameterPart?visitor.visitAcceptParameterPart(this):visitor.visitChildren(this)}},PayloadParameterMemberContext=class extends ParserRuleContext{constructor(parent,invokingState){super(parent,invokingState)}payloadParameter(){return this.getRuleContext(0,PayloadParameterContext)}get ruleIndex(){return SysMLv2Parser.RULE_payloadParameterMember}enterRule(listener){listener.enterPayloadParameterMember&&listener.enterPayloadParameterMember(this)}exitRule(listener){listener.exitPayloadParameterMember&&listener.exitPayloadParameterMember(this)}accept(visitor){return visitor.visitPayloadParameterMember?visitor.visitPayloadParameterMember(this):visitor.visitChildren(this)}},PayloadParameterContext=class extends ParserRuleContext{constructor(parent,invokingState){super(parent,invokingState)}payloadFeature(){return this.getRuleContext(0,PayloadFeatureContext)}triggerValuePart(){return this.getRuleContext(0,TriggerValuePartContext)}identification(){return this.getRuleContext(0,IdentificationContext)}payloadFeatureSpecializationPart(){return this.getRuleContext(0,PayloadFeatureSpecializationPartContext)}get ruleIndex(){return SysMLv2Parser.RULE_payloadParameter}enterRule(listener){listener.enterPayloadParameter&&listener.enterPayloadParameter(this)}exitRule(listener){listener.exitPayloadParameter&&listener.exitPayloadParameter(this)}accept(visitor){return visitor.visitPayloadParameter?visitor.visitPayloadParameter(this):visitor.visitChildren(this)}},TriggerValuePartContext=class extends ParserRuleContext{constructor(parent,invokingState){super(parent,invokingState)}triggerFeatureValue(){return this.getRuleContext(0,TriggerFeatureValueContext)}get ruleIndex(){return SysMLv2Parser.RULE_triggerValuePart}enterRule(listener){listener.enterTriggerValuePart&&listener.enterTriggerValuePart(this)}exitRule(listener){listener.exitTriggerValuePart&&listener.exitTriggerValuePart(this)}accept(visitor){return visitor.visitTriggerValuePart?visitor.visitTriggerValuePart(this):visitor.visitChildren(this)}},TriggerFeatureValueContext=class extends ParserRuleContext{constructor(parent,invokingState){super(parent,invokingState)}triggerExpression(){return this.getRuleContext(0,TriggerExpressionContext)}get ruleIndex(){return SysMLv2Parser.RULE_triggerFeatureValue}enterRule(listener){listener.enterTriggerFeatureValue&&listener.enterTriggerFeatureValue(this)}exitRule(listener){listener.exitTriggerFeatureValue&&listener.exitTriggerFeatureValue(this)}accept(visitor){return visitor.visitTriggerFeatureValue?visitor.visitTriggerFeatureValue(this):visitor.visitChildren(this)}},TriggerExpressionContext=class extends ParserRuleContext{constructor(parent,invokingState){super(parent,invokingState)}argumentMember(){return this.getRuleContext(0,ArgumentMemberContext)}AT(){return this.getToken(SysMLv2Parser.AT,0)}AFTER(){return this.getToken(SysMLv2Parser.AFTER,0)}WHEN(){return this.getToken(SysMLv2Parser.WHEN,0)}argumentExpressionMember(){return this.getRuleContext(0,ArgumentExpressionMemberContext)}get ruleIndex(){return SysMLv2Parser.RULE_triggerExpression}enterRule(listener){listener.enterTriggerExpression&&listener.enterTriggerExpression(this)}exitRule(listener){listener.exitTriggerExpression&&listener.exitTriggerExpression(this)}accept(visitor){return visitor.visitTriggerExpression?visitor.visitTriggerExpression(this):visitor.visitChildren(this)}},SendNodeContext=class extends ParserRuleContext{constructor(parent,invokingState){super(parent,invokingState)}occurrenceUsagePrefix(){return this.getRuleContext(0,OccurrenceUsagePrefixContext)}SEND(){return this.getToken(SysMLv2Parser.SEND,0)}actionBody(){return this.getRuleContext(0,ActionBodyContext)}actionNodeUsageDeclaration(){return this.getRuleContext(0,ActionNodeUsageDeclarationContext)}actionUsageDeclaration(){return this.getRuleContext(0,ActionUsageDeclarationContext)}nodeParameterMember(){return this.getRuleContext(0,NodeParameterMemberContext)}emptyParameterMember(){return this.getRuleContext(0,EmptyParameterMemberContext)}senderReceiverPart(){return this.getRuleContext(0,SenderReceiverPartContext)}get ruleIndex(){return SysMLv2Parser.RULE_sendNode}enterRule(listener){listener.enterSendNode&&listener.enterSendNode(this)}exitRule(listener){listener.exitSendNode&&listener.exitSendNode(this)}accept(visitor){return visitor.visitSendNode?visitor.visitSendNode(this):visitor.visitChildren(this)}},SendNodeDeclarationContext=class extends ParserRuleContext{constructor(parent,invokingState){super(parent,invokingState)}SEND(){return this.getToken(SysMLv2Parser.SEND,0)}nodeParameterMember(){return this.getRuleContext(0,NodeParameterMemberContext)}actionNodeUsageDeclaration(){return this.getRuleContext(0,ActionNodeUsageDeclarationContext)}senderReceiverPart(){return this.getRuleContext(0,SenderReceiverPartContext)}get ruleIndex(){return SysMLv2Parser.RULE_sendNodeDeclaration}enterRule(listener){listener.enterSendNodeDeclaration&&listener.enterSendNodeDeclaration(this)}exitRule(listener){listener.exitSendNodeDeclaration&&listener.exitSendNodeDeclaration(this)}accept(visitor){return visitor.visitSendNodeDeclaration?visitor.visitSendNodeDeclaration(this):visitor.visitChildren(this)}},SenderReceiverPartContext=class extends ParserRuleContext{constructor(parent,invokingState){super(parent,invokingState)}VIA(){return this.getToken(SysMLv2Parser.VIA,0)}nodeParameterMember(i){return i===void 0?this.getRuleContexts(NodeParameterMemberContext):this.getRuleContext(i,NodeParameterMemberContext)}TO(){return this.getToken(SysMLv2Parser.TO,0)}emptyParameterMember(){return this.getRuleContext(0,EmptyParameterMemberContext)}get ruleIndex(){return SysMLv2Parser.RULE_senderReceiverPart}enterRule(listener){listener.enterSenderReceiverPart&&listener.enterSenderReceiverPart(this)}exitRule(listener){listener.exitSenderReceiverPart&&listener.exitSenderReceiverPart(this)}accept(visitor){return visitor.visitSenderReceiverPart?visitor.visitSenderReceiverPart(this):visitor.visitChildren(this)}},NodeParameterMemberContext=class extends ParserRuleContext{constructor(parent,invokingState){super(parent,invokingState)}nodeParameter(){return this.getRuleContext(0,NodeParameterContext)}get ruleIndex(){return SysMLv2Parser.RULE_nodeParameterMember}enterRule(listener){listener.enterNodeParameterMember&&listener.enterNodeParameterMember(this)}exitRule(listener){listener.exitNodeParameterMember&&listener.exitNodeParameterMember(this)}accept(visitor){return visitor.visitNodeParameterMember?visitor.visitNodeParameterMember(this):visitor.visitChildren(this)}},NodeParameterContext=class extends ParserRuleContext{constructor(parent,invokingState){super(parent,invokingState)}featureBinding(){return this.getRuleContext(0,FeatureBindingContext)}get ruleIndex(){return SysMLv2Parser.RULE_nodeParameter}enterRule(listener){listener.enterNodeParameter&&listener.enterNodeParameter(this)}exitRule(listener){listener.exitNodeParameter&&listener.exitNodeParameter(this)}accept(visitor){return visitor.visitNodeParameter?visitor.visitNodeParameter(this):visitor.visitChildren(this)}},FeatureBindingContext=class extends ParserRuleContext{constructor(parent,invokingState){super(parent,invokingState)}ownedExpression(){return this.getRuleContext(0,OwnedExpressionContext)}get ruleIndex(){return SysMLv2Parser.RULE_featureBinding}enterRule(listener){listener.enterFeatureBinding&&listener.enterFeatureBinding(this)}exitRule(listener){listener.exitFeatureBinding&&listener.exitFeatureBinding(this)}accept(visitor){return visitor.visitFeatureBinding?visitor.visitFeatureBinding(this):visitor.visitChildren(this)}},EmptyParameterMemberContext=class extends ParserRuleContext{constructor(parent,invokingState){super(parent,invokingState)}emptyUsage_(){return this.getRuleContext(0,EmptyUsage_Context)}get ruleIndex(){return SysMLv2Parser.RULE_emptyParameterMember}enterRule(listener){listener.enterEmptyParameterMember&&listener.enterEmptyParameterMember(this)}exitRule(listener){listener.exitEmptyParameterMember&&listener.exitEmptyParameterMember(this)}accept(visitor){return visitor.visitEmptyParameterMember?visitor.visitEmptyParameterMember(this):visitor.visitChildren(this)}},AssignmentNodeContext=class extends ParserRuleContext{constructor(parent,invokingState){super(parent,invokingState)}occurrenceUsagePrefix(){return this.getRuleContext(0,OccurrenceUsagePrefixContext)}assignmentNodeDeclaration(){return this.getRuleContext(0,AssignmentNodeDeclarationContext)}actionBody(){return this.getRuleContext(0,ActionBodyContext)}get ruleIndex(){return SysMLv2Parser.RULE_assignmentNode}enterRule(listener){listener.enterAssignmentNode&&listener.enterAssignmentNode(this)}exitRule(listener){listener.exitAssignmentNode&&listener.exitAssignmentNode(this)}accept(visitor){return visitor.visitAssignmentNode?visitor.visitAssignmentNode(this):visitor.visitChildren(this)}},AssignmentNodeDeclarationContext=class extends ParserRuleContext{constructor(parent,invokingState){super(parent,invokingState)}ASSIGN(){return this.getToken(SysMLv2Parser.ASSIGN,0)}assignmentTargetMember(){return this.getRuleContext(0,AssignmentTargetMemberContext)}featureChainMember(){return this.getRuleContext(0,FeatureChainMemberContext)}COLON_EQ(){return this.getToken(SysMLv2Parser.COLON_EQ,0)}nodeParameterMember(){return this.getRuleContext(0,NodeParameterMemberContext)}actionNodeUsageDeclaration(){return this.getRuleContext(0,ActionNodeUsageDeclarationContext)}get ruleIndex(){return SysMLv2Parser.RULE_assignmentNodeDeclaration}enterRule(listener){listener.enterAssignmentNodeDeclaration&&listener.enterAssignmentNodeDeclaration(this)}exitRule(listener){listener.exitAssignmentNodeDeclaration&&listener.exitAssignmentNodeDeclaration(this)}accept(visitor){return visitor.visitAssignmentNodeDeclaration?visitor.visitAssignmentNodeDeclaration(this):visitor.visitChildren(this)}},AssignmentTargetMemberContext=class extends ParserRuleContext{constructor(parent,invokingState){super(parent,invokingState)}assignmentTargetParameter(){return this.getRuleContext(0,AssignmentTargetParameterContext)}get ruleIndex(){return SysMLv2Parser.RULE_assignmentTargetMember}enterRule(listener){listener.enterAssignmentTargetMember&&listener.enterAssignmentTargetMember(this)}exitRule(listener){listener.exitAssignmentTargetMember&&listener.exitAssignmentTargetMember(this)}accept(visitor){return visitor.visitAssignmentTargetMember?visitor.visitAssignmentTargetMember(this):visitor.visitChildren(this)}},AssignmentTargetParameterContext=class extends ParserRuleContext{constructor(parent,invokingState){super(parent,invokingState)}assignmentTargetBinding(){return this.getRuleContext(0,AssignmentTargetBindingContext)}DOT(){return this.getToken(SysMLv2Parser.DOT,0)}get ruleIndex(){return SysMLv2Parser.RULE_assignmentTargetParameter}enterRule(listener){listener.enterAssignmentTargetParameter&&listener.enterAssignmentTargetParameter(this)}exitRule(listener){listener.exitAssignmentTargetParameter&&listener.exitAssignmentTargetParameter(this)}accept(visitor){return visitor.visitAssignmentTargetParameter?visitor.visitAssignmentTargetParameter(this):visitor.visitChildren(this)}},AssignmentTargetBindingContext=class extends ParserRuleContext{constructor(parent,invokingState){super(parent,invokingState)}nonFeatureChainPrimaryExpression(){return this.getRuleContext(0,NonFeatureChainPrimaryExpressionContext)}get ruleIndex(){return SysMLv2Parser.RULE_assignmentTargetBinding}enterRule(listener){listener.enterAssignmentTargetBinding&&listener.enterAssignmentTargetBinding(this)}exitRule(listener){listener.exitAssignmentTargetBinding&&listener.exitAssignmentTargetBinding(this)}accept(visitor){return visitor.visitAssignmentTargetBinding?visitor.visitAssignmentTargetBinding(this):visitor.visitChildren(this)}},TerminateNodeContext=class extends ParserRuleContext{constructor(parent,invokingState){super(parent,invokingState)}occurrenceUsagePrefix(){return this.getRuleContext(0,OccurrenceUsagePrefixContext)}TERMINATE(){return this.getToken(SysMLv2Parser.TERMINATE,0)}actionBody(){return this.getRuleContext(0,ActionBodyContext)}actionNodeUsageDeclaration(){return this.getRuleContext(0,ActionNodeUsageDeclarationContext)}nodeParameterMember(){return this.getRuleContext(0,NodeParameterMemberContext)}get ruleIndex(){return SysMLv2Parser.RULE_terminateNode}enterRule(listener){listener.enterTerminateNode&&listener.enterTerminateNode(this)}exitRule(listener){listener.exitTerminateNode&&listener.exitTerminateNode(this)}accept(visitor){return visitor.visitTerminateNode?visitor.visitTerminateNode(this):visitor.visitChildren(this)}},IfNodeContext=class extends ParserRuleContext{constructor(parent,invokingState){super(parent,invokingState)}actionNodePrefix(){return this.getRuleContext(0,ActionNodePrefixContext)}IF(){return this.getToken(SysMLv2Parser.IF,0)}expressionParameterMember(){return this.getRuleContext(0,ExpressionParameterMemberContext)}actionBodyParameterMember(i){return i===void 0?this.getRuleContexts(ActionBodyParameterMemberContext):this.getRuleContext(i,ActionBodyParameterMemberContext)}ELSE(){return this.getToken(SysMLv2Parser.ELSE,0)}ifNodeParameterMember(){return this.getRuleContext(0,IfNodeParameterMemberContext)}get ruleIndex(){return SysMLv2Parser.RULE_ifNode}enterRule(listener){listener.enterIfNode&&listener.enterIfNode(this)}exitRule(listener){listener.exitIfNode&&listener.exitIfNode(this)}accept(visitor){return visitor.visitIfNode?visitor.visitIfNode(this):visitor.visitChildren(this)}},ExpressionParameterMemberContext=class extends ParserRuleContext{constructor(parent,invokingState){super(parent,invokingState)}ownedExpression(){return this.getRuleContext(0,OwnedExpressionContext)}get ruleIndex(){return SysMLv2Parser.RULE_expressionParameterMember}enterRule(listener){listener.enterExpressionParameterMember&&listener.enterExpressionParameterMember(this)}exitRule(listener){listener.exitExpressionParameterMember&&listener.exitExpressionParameterMember(this)}accept(visitor){return visitor.visitExpressionParameterMember?visitor.visitExpressionParameterMember(this):visitor.visitChildren(this)}},ActionBodyParameterMemberContext=class extends ParserRuleContext{constructor(parent,invokingState){super(parent,invokingState)}actionBodyParameter(){return this.getRuleContext(0,ActionBodyParameterContext)}get ruleIndex(){return SysMLv2Parser.RULE_actionBodyParameterMember}enterRule(listener){listener.enterActionBodyParameterMember&&listener.enterActionBodyParameterMember(this)}exitRule(listener){listener.exitActionBodyParameterMember&&listener.exitActionBodyParameterMember(this)}accept(visitor){return visitor.visitActionBodyParameterMember?visitor.visitActionBodyParameterMember(this):visitor.visitChildren(this)}},ActionBodyParameterContext=class extends ParserRuleContext{constructor(parent,invokingState){super(parent,invokingState)}LBRACE(){return this.getToken(SysMLv2Parser.LBRACE,0)}RBRACE(){return this.getToken(SysMLv2Parser.RBRACE,0)}ACTION(){return this.getToken(SysMLv2Parser.ACTION,0)}actionBodyItem(i){return i===void 0?this.getRuleContexts(ActionBodyItemContext):this.getRuleContext(i,ActionBodyItemContext)}usageDeclaration(){return this.getRuleContext(0,UsageDeclarationContext)}get ruleIndex(){return SysMLv2Parser.RULE_actionBodyParameter}enterRule(listener){listener.enterActionBodyParameter&&listener.enterActionBodyParameter(this)}exitRule(listener){listener.exitActionBodyParameter&&listener.exitActionBodyParameter(this)}accept(visitor){return visitor.visitActionBodyParameter?visitor.visitActionBodyParameter(this):visitor.visitChildren(this)}},IfNodeParameterMemberContext=class extends ParserRuleContext{constructor(parent,invokingState){super(parent,invokingState)}ifNode(){return this.getRuleContext(0,IfNodeContext)}get ruleIndex(){return SysMLv2Parser.RULE_ifNodeParameterMember}enterRule(listener){listener.enterIfNodeParameterMember&&listener.enterIfNodeParameterMember(this)}exitRule(listener){listener.exitIfNodeParameterMember&&listener.exitIfNodeParameterMember(this)}accept(visitor){return visitor.visitIfNodeParameterMember?visitor.visitIfNodeParameterMember(this):visitor.visitChildren(this)}},WhileLoopNodeContext=class extends ParserRuleContext{constructor(parent,invokingState){super(parent,invokingState)}actionNodePrefix(){return this.getRuleContext(0,ActionNodePrefixContext)}actionBodyParameterMember(){return this.getRuleContext(0,ActionBodyParameterMemberContext)}WHILE(){return this.getToken(SysMLv2Parser.WHILE,0)}expressionParameterMember(i){return i===void 0?this.getRuleContexts(ExpressionParameterMemberContext):this.getRuleContext(i,ExpressionParameterMemberContext)}LOOP(){return this.getToken(SysMLv2Parser.LOOP,0)}emptyParameterMember(){return this.getRuleContext(0,EmptyParameterMemberContext)}UNTIL(){return this.getToken(SysMLv2Parser.UNTIL,0)}SEMI(){return this.getToken(SysMLv2Parser.SEMI,0)}get ruleIndex(){return SysMLv2Parser.RULE_whileLoopNode}enterRule(listener){listener.enterWhileLoopNode&&listener.enterWhileLoopNode(this)}exitRule(listener){listener.exitWhileLoopNode&&listener.exitWhileLoopNode(this)}accept(visitor){return visitor.visitWhileLoopNode?visitor.visitWhileLoopNode(this):visitor.visitChildren(this)}},ForLoopNodeContext=class extends ParserRuleContext{constructor(parent,invokingState){super(parent,invokingState)}actionNodePrefix(){return this.getRuleContext(0,ActionNodePrefixContext)}FOR(){return this.getToken(SysMLv2Parser.FOR,0)}forVariableDeclarationMember(){return this.getRuleContext(0,ForVariableDeclarationMemberContext)}IN(){return this.getToken(SysMLv2Parser.IN,0)}nodeParameterMember(){return this.getRuleContext(0,NodeParameterMemberContext)}actionBodyParameterMember(){return this.getRuleContext(0,ActionBodyParameterMemberContext)}get ruleIndex(){return SysMLv2Parser.RULE_forLoopNode}enterRule(listener){listener.enterForLoopNode&&listener.enterForLoopNode(this)}exitRule(listener){listener.exitForLoopNode&&listener.exitForLoopNode(this)}accept(visitor){return visitor.visitForLoopNode?visitor.visitForLoopNode(this):visitor.visitChildren(this)}},ForVariableDeclarationMemberContext=class extends ParserRuleContext{constructor(parent,invokingState){super(parent,invokingState)}usageDeclaration(){return this.getRuleContext(0,UsageDeclarationContext)}get ruleIndex(){return SysMLv2Parser.RULE_forVariableDeclarationMember}enterRule(listener){listener.enterForVariableDeclarationMember&&listener.enterForVariableDeclarationMember(this)}exitRule(listener){listener.exitForVariableDeclarationMember&&listener.exitForVariableDeclarationMember(this)}accept(visitor){return visitor.visitForVariableDeclarationMember?visitor.visitForVariableDeclarationMember(this):visitor.visitChildren(this)}},ForVariableDeclarationContext=class extends ParserRuleContext{constructor(parent,invokingState){super(parent,invokingState)}usageDeclaration(){return this.getRuleContext(0,UsageDeclarationContext)}get ruleIndex(){return SysMLv2Parser.RULE_forVariableDeclaration}enterRule(listener){listener.enterForVariableDeclaration&&listener.enterForVariableDeclaration(this)}exitRule(listener){listener.exitForVariableDeclaration&&listener.exitForVariableDeclaration(this)}accept(visitor){return visitor.visitForVariableDeclaration?visitor.visitForVariableDeclaration(this):visitor.visitChildren(this)}},ActionTargetSuccessionContext=class extends ParserRuleContext{constructor(parent,invokingState){super(parent,invokingState)}usageBody(){return this.getRuleContext(0,UsageBodyContext)}targetSuccession(){return this.getRuleContext(0,TargetSuccessionContext)}guardedTargetSuccession(){return this.getRuleContext(0,GuardedTargetSuccessionContext)}defaultTargetSuccession(){return this.getRuleContext(0,DefaultTargetSuccessionContext)}get ruleIndex(){return SysMLv2Parser.RULE_actionTargetSuccession}enterRule(listener){listener.enterActionTargetSuccession&&listener.enterActionTargetSuccession(this)}exitRule(listener){listener.exitActionTargetSuccession&&listener.exitActionTargetSuccession(this)}accept(visitor){return visitor.visitActionTargetSuccession?visitor.visitActionTargetSuccession(this):visitor.visitChildren(this)}},TargetSuccessionContext=class extends ParserRuleContext{constructor(parent,invokingState){super(parent,invokingState)}sourceEndMember(){return this.getRuleContext(0,SourceEndMemberContext)}THEN(){return this.getToken(SysMLv2Parser.THEN,0)}connectorEndMember(){return this.getRuleContext(0,ConnectorEndMemberContext)}get ruleIndex(){return SysMLv2Parser.RULE_targetSuccession}enterRule(listener){listener.enterTargetSuccession&&listener.enterTargetSuccession(this)}exitRule(listener){listener.exitTargetSuccession&&listener.exitTargetSuccession(this)}accept(visitor){return visitor.visitTargetSuccession?visitor.visitTargetSuccession(this):visitor.visitChildren(this)}},GuardedTargetSuccessionContext=class extends ParserRuleContext{constructor(parent,invokingState){super(parent,invokingState)}guardExpressionMember(){return this.getRuleContext(0,GuardExpressionMemberContext)}THEN(){return this.getToken(SysMLv2Parser.THEN,0)}transitionSuccessionMember(){return this.getRuleContext(0,TransitionSuccessionMemberContext)}get ruleIndex(){return SysMLv2Parser.RULE_guardedTargetSuccession}enterRule(listener){listener.enterGuardedTargetSuccession&&listener.enterGuardedTargetSuccession(this)}exitRule(listener){listener.exitGuardedTargetSuccession&&listener.exitGuardedTargetSuccession(this)}accept(visitor){return visitor.visitGuardedTargetSuccession?visitor.visitGuardedTargetSuccession(this):visitor.visitChildren(this)}},DefaultTargetSuccessionContext=class extends ParserRuleContext{constructor(parent,invokingState){super(parent,invokingState)}ELSE(){return this.getToken(SysMLv2Parser.ELSE,0)}transitionSuccessionMember(){return this.getRuleContext(0,TransitionSuccessionMemberContext)}get ruleIndex(){return SysMLv2Parser.RULE_defaultTargetSuccession}enterRule(listener){listener.enterDefaultTargetSuccession&&listener.enterDefaultTargetSuccession(this)}exitRule(listener){listener.exitDefaultTargetSuccession&&listener.exitDefaultTargetSuccession(this)}accept(visitor){return visitor.visitDefaultTargetSuccession?visitor.visitDefaultTargetSuccession(this):visitor.visitChildren(this)}},GuardedSuccessionContext=class extends ParserRuleContext{constructor(parent,invokingState){super(parent,invokingState)}FIRST(){return this.getToken(SysMLv2Parser.FIRST,0)}featureChainMember(){return this.getRuleContext(0,FeatureChainMemberContext)}guardExpressionMember(){return this.getRuleContext(0,GuardExpressionMemberContext)}THEN(){return this.getToken(SysMLv2Parser.THEN,0)}transitionSuccessionMember(){return this.getRuleContext(0,TransitionSuccessionMemberContext)}usageBody(){return this.getRuleContext(0,UsageBodyContext)}SUCCESSION(){return this.getToken(SysMLv2Parser.SUCCESSION,0)}usageDeclaration(){return this.getRuleContext(0,UsageDeclarationContext)}get ruleIndex(){return SysMLv2Parser.RULE_guardedSuccession}enterRule(listener){listener.enterGuardedSuccession&&listener.enterGuardedSuccession(this)}exitRule(listener){listener.exitGuardedSuccession&&listener.exitGuardedSuccession(this)}accept(visitor){return visitor.visitGuardedSuccession?visitor.visitGuardedSuccession(this):visitor.visitChildren(this)}},StateDefinitionContext=class extends ParserRuleContext{constructor(parent,invokingState){super(parent,invokingState)}occurrenceDefinitionPrefix(){return this.getRuleContext(0,OccurrenceDefinitionPrefixContext)}STATE(){return this.getToken(SysMLv2Parser.STATE,0)}DEF(){return this.getToken(SysMLv2Parser.DEF,0)}definitionDeclaration(){return this.getRuleContext(0,DefinitionDeclarationContext)}stateDefBody(){return this.getRuleContext(0,StateDefBodyContext)}get ruleIndex(){return SysMLv2Parser.RULE_stateDefinition}enterRule(listener){listener.enterStateDefinition&&listener.enterStateDefinition(this)}exitRule(listener){listener.exitStateDefinition&&listener.exitStateDefinition(this)}accept(visitor){return visitor.visitStateDefinition?visitor.visitStateDefinition(this):visitor.visitChildren(this)}},StateDefBodyContext=class extends ParserRuleContext{constructor(parent,invokingState){super(parent,invokingState)}SEMI(){return this.getToken(SysMLv2Parser.SEMI,0)}LBRACE(){return this.getToken(SysMLv2Parser.LBRACE,0)}RBRACE(){return this.getToken(SysMLv2Parser.RBRACE,0)}PARALLEL(){return this.getToken(SysMLv2Parser.PARALLEL,0)}stateBodyItem(i){return i===void 0?this.getRuleContexts(StateBodyItemContext):this.getRuleContext(i,StateBodyItemContext)}get ruleIndex(){return SysMLv2Parser.RULE_stateDefBody}enterRule(listener){listener.enterStateDefBody&&listener.enterStateDefBody(this)}exitRule(listener){listener.exitStateDefBody&&listener.exitStateDefBody(this)}accept(visitor){return visitor.visitStateDefBody?visitor.visitStateDefBody(this):visitor.visitChildren(this)}},StateBodyItemContext=class extends ParserRuleContext{constructor(parent,invokingState){super(parent,invokingState)}nonBehaviorBodyItem(){return this.getRuleContext(0,NonBehaviorBodyItemContext)}behaviorUsageMember(){return this.getRuleContext(0,BehaviorUsageMemberContext)}sourceSuccessionMember(){return this.getRuleContext(0,SourceSuccessionMemberContext)}targetTransitionUsageMember(i){return i===void 0?this.getRuleContexts(TargetTransitionUsageMemberContext):this.getRuleContext(i,TargetTransitionUsageMemberContext)}transitionUsageMember(){return this.getRuleContext(0,TransitionUsageMemberContext)}entryActionMember(){return this.getRuleContext(0,EntryActionMemberContext)}entryTransitionMember(i){return i===void 0?this.getRuleContexts(EntryTransitionMemberContext):this.getRuleContext(i,EntryTransitionMemberContext)}doActionMember(){return this.getRuleContext(0,DoActionMemberContext)}exitActionMember(){return this.getRuleContext(0,ExitActionMemberContext)}get ruleIndex(){return SysMLv2Parser.RULE_stateBodyItem}enterRule(listener){listener.enterStateBodyItem&&listener.enterStateBodyItem(this)}exitRule(listener){listener.exitStateBodyItem&&listener.exitStateBodyItem(this)}accept(visitor){return visitor.visitStateBodyItem?visitor.visitStateBodyItem(this):visitor.visitChildren(this)}},EntryActionMemberContext=class extends ParserRuleContext{constructor(parent,invokingState){super(parent,invokingState)}memberPrefix(){return this.getRuleContext(0,MemberPrefixContext)}ENTRY(){return this.getToken(SysMLv2Parser.ENTRY,0)}stateActionUsage(){return this.getRuleContext(0,StateActionUsageContext)}get ruleIndex(){return SysMLv2Parser.RULE_entryActionMember}enterRule(listener){listener.enterEntryActionMember&&listener.enterEntryActionMember(this)}exitRule(listener){listener.exitEntryActionMember&&listener.exitEntryActionMember(this)}accept(visitor){return visitor.visitEntryActionMember?visitor.visitEntryActionMember(this):visitor.visitChildren(this)}},DoActionMemberContext=class extends ParserRuleContext{constructor(parent,invokingState){super(parent,invokingState)}memberPrefix(){return this.getRuleContext(0,MemberPrefixContext)}DO(){return this.getToken(SysMLv2Parser.DO,0)}stateActionUsage(){return this.getRuleContext(0,StateActionUsageContext)}get ruleIndex(){return SysMLv2Parser.RULE_doActionMember}enterRule(listener){listener.enterDoActionMember&&listener.enterDoActionMember(this)}exitRule(listener){listener.exitDoActionMember&&listener.exitDoActionMember(this)}accept(visitor){return visitor.visitDoActionMember?visitor.visitDoActionMember(this):visitor.visitChildren(this)}},ExitActionMemberContext=class extends ParserRuleContext{constructor(parent,invokingState){super(parent,invokingState)}memberPrefix(){return this.getRuleContext(0,MemberPrefixContext)}EXIT(){return this.getToken(SysMLv2Parser.EXIT,0)}stateActionUsage(){return this.getRuleContext(0,StateActionUsageContext)}get ruleIndex(){return SysMLv2Parser.RULE_exitActionMember}enterRule(listener){listener.enterExitActionMember&&listener.enterExitActionMember(this)}exitRule(listener){listener.exitExitActionMember&&listener.exitExitActionMember(this)}accept(visitor){return visitor.visitExitActionMember?visitor.visitExitActionMember(this):visitor.visitChildren(this)}},EntryTransitionMemberContext=class extends ParserRuleContext{constructor(parent,invokingState){super(parent,invokingState)}memberPrefix(){return this.getRuleContext(0,MemberPrefixContext)}SEMI(){return this.getToken(SysMLv2Parser.SEMI,0)}guardedTargetSuccession(){return this.getRuleContext(0,GuardedTargetSuccessionContext)}THEN(){return this.getToken(SysMLv2Parser.THEN,0)}transitionSuccessionMember(){return this.getRuleContext(0,TransitionSuccessionMemberContext)}get ruleIndex(){return SysMLv2Parser.RULE_entryTransitionMember}enterRule(listener){listener.enterEntryTransitionMember&&listener.enterEntryTransitionMember(this)}exitRule(listener){listener.exitEntryTransitionMember&&listener.exitEntryTransitionMember(this)}accept(visitor){return visitor.visitEntryTransitionMember?visitor.visitEntryTransitionMember(this):visitor.visitChildren(this)}},StateActionUsageContext=class extends ParserRuleContext{constructor(parent,invokingState){super(parent,invokingState)}emptyActionUsage_(){return this.getRuleContext(0,EmptyActionUsage_Context)}SEMI(){return this.getToken(SysMLv2Parser.SEMI,0)}statePerformActionUsage(){return this.getRuleContext(0,StatePerformActionUsageContext)}stateAcceptActionUsage(){return this.getRuleContext(0,StateAcceptActionUsageContext)}stateSendActionUsage(){return this.getRuleContext(0,StateSendActionUsageContext)}stateAssignmentActionUsage(){return this.getRuleContext(0,StateAssignmentActionUsageContext)}get ruleIndex(){return SysMLv2Parser.RULE_stateActionUsage}enterRule(listener){listener.enterStateActionUsage&&listener.enterStateActionUsage(this)}exitRule(listener){listener.exitStateActionUsage&&listener.exitStateActionUsage(this)}accept(visitor){return visitor.visitStateActionUsage?visitor.visitStateActionUsage(this):visitor.visitChildren(this)}},StatePerformActionUsageContext=class extends ParserRuleContext{constructor(parent,invokingState){super(parent,invokingState)}performActionUsageDeclaration(){return this.getRuleContext(0,PerformActionUsageDeclarationContext)}actionBody(){return this.getRuleContext(0,ActionBodyContext)}get ruleIndex(){return SysMLv2Parser.RULE_statePerformActionUsage}enterRule(listener){listener.enterStatePerformActionUsage&&listener.enterStatePerformActionUsage(this)}exitRule(listener){listener.exitStatePerformActionUsage&&listener.exitStatePerformActionUsage(this)}accept(visitor){return visitor.visitStatePerformActionUsage?visitor.visitStatePerformActionUsage(this):visitor.visitChildren(this)}},StateAcceptActionUsageContext=class extends ParserRuleContext{constructor(parent,invokingState){super(parent,invokingState)}acceptNodeDeclaration(){return this.getRuleContext(0,AcceptNodeDeclarationContext)}actionBody(){return this.getRuleContext(0,ActionBodyContext)}get ruleIndex(){return SysMLv2Parser.RULE_stateAcceptActionUsage}enterRule(listener){listener.enterStateAcceptActionUsage&&listener.enterStateAcceptActionUsage(this)}exitRule(listener){listener.exitStateAcceptActionUsage&&listener.exitStateAcceptActionUsage(this)}accept(visitor){return visitor.visitStateAcceptActionUsage?visitor.visitStateAcceptActionUsage(this):visitor.visitChildren(this)}},StateSendActionUsageContext=class extends ParserRuleContext{constructor(parent,invokingState){super(parent,invokingState)}sendNodeDeclaration(){return this.getRuleContext(0,SendNodeDeclarationContext)}actionBody(){return this.getRuleContext(0,ActionBodyContext)}get ruleIndex(){return SysMLv2Parser.RULE_stateSendActionUsage}enterRule(listener){listener.enterStateSendActionUsage&&listener.enterStateSendActionUsage(this)}exitRule(listener){listener.exitStateSendActionUsage&&listener.exitStateSendActionUsage(this)}accept(visitor){return visitor.visitStateSendActionUsage?visitor.visitStateSendActionUsage(this):visitor.visitChildren(this)}},StateAssignmentActionUsageContext=class extends ParserRuleContext{constructor(parent,invokingState){super(parent,invokingState)}assignmentNodeDeclaration(){return this.getRuleContext(0,AssignmentNodeDeclarationContext)}actionBody(){return this.getRuleContext(0,ActionBodyContext)}get ruleIndex(){return SysMLv2Parser.RULE_stateAssignmentActionUsage}enterRule(listener){listener.enterStateAssignmentActionUsage&&listener.enterStateAssignmentActionUsage(this)}exitRule(listener){listener.exitStateAssignmentActionUsage&&listener.exitStateAssignmentActionUsage(this)}accept(visitor){return visitor.visitStateAssignmentActionUsage?visitor.visitStateAssignmentActionUsage(this):visitor.visitChildren(this)}},TransitionUsageMemberContext=class extends ParserRuleContext{constructor(parent,invokingState){super(parent,invokingState)}memberPrefix(){return this.getRuleContext(0,MemberPrefixContext)}transitionUsage(){return this.getRuleContext(0,TransitionUsageContext)}get ruleIndex(){return SysMLv2Parser.RULE_transitionUsageMember}enterRule(listener){listener.enterTransitionUsageMember&&listener.enterTransitionUsageMember(this)}exitRule(listener){listener.exitTransitionUsageMember&&listener.exitTransitionUsageMember(this)}accept(visitor){return visitor.visitTransitionUsageMember?visitor.visitTransitionUsageMember(this):visitor.visitChildren(this)}},TargetTransitionUsageMemberContext=class extends ParserRuleContext{constructor(parent,invokingState){super(parent,invokingState)}memberPrefix(){return this.getRuleContext(0,MemberPrefixContext)}targetTransitionUsage(){return this.getRuleContext(0,TargetTransitionUsageContext)}get ruleIndex(){return SysMLv2Parser.RULE_targetTransitionUsageMember}enterRule(listener){listener.enterTargetTransitionUsageMember&&listener.enterTargetTransitionUsageMember(this)}exitRule(listener){listener.exitTargetTransitionUsageMember&&listener.exitTargetTransitionUsageMember(this)}accept(visitor){return visitor.visitTargetTransitionUsageMember?visitor.visitTargetTransitionUsageMember(this):visitor.visitChildren(this)}},StateUsageContext=class extends ParserRuleContext{constructor(parent,invokingState){super(parent,invokingState)}occurrenceUsagePrefix(){return this.getRuleContext(0,OccurrenceUsagePrefixContext)}STATE(){return this.getToken(SysMLv2Parser.STATE,0)}actionUsageDeclaration(){return this.getRuleContext(0,ActionUsageDeclarationContext)}stateUsageBody(){return this.getRuleContext(0,StateUsageBodyContext)}get ruleIndex(){return SysMLv2Parser.RULE_stateUsage}enterRule(listener){listener.enterStateUsage&&listener.enterStateUsage(this)}exitRule(listener){listener.exitStateUsage&&listener.exitStateUsage(this)}accept(visitor){return visitor.visitStateUsage?visitor.visitStateUsage(this):visitor.visitChildren(this)}},StateUsageBodyContext=class extends ParserRuleContext{constructor(parent,invokingState){super(parent,invokingState)}SEMI(){return this.getToken(SysMLv2Parser.SEMI,0)}LBRACE(){return this.getToken(SysMLv2Parser.LBRACE,0)}RBRACE(){return this.getToken(SysMLv2Parser.RBRACE,0)}PARALLEL(){return this.getToken(SysMLv2Parser.PARALLEL,0)}stateBodyItem(i){return i===void 0?this.getRuleContexts(StateBodyItemContext):this.getRuleContext(i,StateBodyItemContext)}get ruleIndex(){return SysMLv2Parser.RULE_stateUsageBody}enterRule(listener){listener.enterStateUsageBody&&listener.enterStateUsageBody(this)}exitRule(listener){listener.exitStateUsageBody&&listener.exitStateUsageBody(this)}accept(visitor){return visitor.visitStateUsageBody?visitor.visitStateUsageBody(this):visitor.visitChildren(this)}},ExhibitStateUsageContext=class extends ParserRuleContext{constructor(parent,invokingState){super(parent,invokingState)}occurrenceUsagePrefix(){return this.getRuleContext(0,OccurrenceUsagePrefixContext)}EXHIBIT(){return this.getToken(SysMLv2Parser.EXHIBIT,0)}stateUsageBody(){return this.getRuleContext(0,StateUsageBodyContext)}ownedReferenceSubsetting(){return this.getRuleContext(0,OwnedReferenceSubsettingContext)}STATE(){return this.getToken(SysMLv2Parser.STATE,0)}valuePart(){return this.getRuleContext(0,ValuePartContext)}featureSpecializationPart(){return this.getRuleContext(0,FeatureSpecializationPartContext)}usageDeclaration(){return this.getRuleContext(0,UsageDeclarationContext)}get ruleIndex(){return SysMLv2Parser.RULE_exhibitStateUsage}enterRule(listener){listener.enterExhibitStateUsage&&listener.enterExhibitStateUsage(this)}exitRule(listener){listener.exitExhibitStateUsage&&listener.exitExhibitStateUsage(this)}accept(visitor){return visitor.visitExhibitStateUsage?visitor.visitExhibitStateUsage(this):visitor.visitChildren(this)}},TransitionUsageContext=class extends ParserRuleContext{constructor(parent,invokingState){super(parent,invokingState)}TRANSITION(){return this.getToken(SysMLv2Parser.TRANSITION,0)}featureChainMember(){return this.getRuleContext(0,FeatureChainMemberContext)}emptyParameterMember(i){return i===void 0?this.getRuleContexts(EmptyParameterMemberContext):this.getRuleContext(i,EmptyParameterMemberContext)}THEN(){return this.getToken(SysMLv2Parser.THEN,0)}transitionSuccessionMember(){return this.getRuleContext(0,TransitionSuccessionMemberContext)}actionBody(){return this.getRuleContext(0,ActionBodyContext)}FIRST(){return this.getToken(SysMLv2Parser.FIRST,0)}triggerActionMember(){return this.getRuleContext(0,TriggerActionMemberContext)}guardExpressionMember(){return this.getRuleContext(0,GuardExpressionMemberContext)}effectBehaviorMember(){return this.getRuleContext(0,EffectBehaviorMemberContext)}usageDeclaration(){return this.getRuleContext(0,UsageDeclarationContext)}get ruleIndex(){return SysMLv2Parser.RULE_transitionUsage}enterRule(listener){listener.enterTransitionUsage&&listener.enterTransitionUsage(this)}exitRule(listener){listener.exitTransitionUsage&&listener.exitTransitionUsage(this)}accept(visitor){return visitor.visitTransitionUsage?visitor.visitTransitionUsage(this):visitor.visitChildren(this)}},TargetTransitionUsageContext=class extends ParserRuleContext{constructor(parent,invokingState){super(parent,invokingState)}emptyParameterMember(i){return i===void 0?this.getRuleContexts(EmptyParameterMemberContext):this.getRuleContext(i,EmptyParameterMemberContext)}THEN(){return this.getToken(SysMLv2Parser.THEN,0)}transitionSuccessionMember(){return this.getRuleContext(0,TransitionSuccessionMemberContext)}actionBody(){return this.getRuleContext(0,ActionBodyContext)}TRANSITION(){return this.getToken(SysMLv2Parser.TRANSITION,0)}triggerActionMember(){return this.getRuleContext(0,TriggerActionMemberContext)}guardExpressionMember(){return this.getRuleContext(0,GuardExpressionMemberContext)}effectBehaviorMember(){return this.getRuleContext(0,EffectBehaviorMemberContext)}get ruleIndex(){return SysMLv2Parser.RULE_targetTransitionUsage}enterRule(listener){listener.enterTargetTransitionUsage&&listener.enterTargetTransitionUsage(this)}exitRule(listener){listener.exitTargetTransitionUsage&&listener.exitTargetTransitionUsage(this)}accept(visitor){return visitor.visitTargetTransitionUsage?visitor.visitTargetTransitionUsage(this):visitor.visitChildren(this)}},TriggerActionMemberContext=class extends ParserRuleContext{constructor(parent,invokingState){super(parent,invokingState)}ACCEPT(){return this.getToken(SysMLv2Parser.ACCEPT,0)}triggerAction(){return this.getRuleContext(0,TriggerActionContext)}get ruleIndex(){return SysMLv2Parser.RULE_triggerActionMember}enterRule(listener){listener.enterTriggerActionMember&&listener.enterTriggerActionMember(this)}exitRule(listener){listener.exitTriggerActionMember&&listener.exitTriggerActionMember(this)}accept(visitor){return visitor.visitTriggerActionMember?visitor.visitTriggerActionMember(this):visitor.visitChildren(this)}},TriggerActionContext=class extends ParserRuleContext{constructor(parent,invokingState){super(parent,invokingState)}acceptParameterPart(){return this.getRuleContext(0,AcceptParameterPartContext)}get ruleIndex(){return SysMLv2Parser.RULE_triggerAction}enterRule(listener){listener.enterTriggerAction&&listener.enterTriggerAction(this)}exitRule(listener){listener.exitTriggerAction&&listener.exitTriggerAction(this)}accept(visitor){return visitor.visitTriggerAction?visitor.visitTriggerAction(this):visitor.visitChildren(this)}},GuardExpressionMemberContext=class extends ParserRuleContext{constructor(parent,invokingState){super(parent,invokingState)}IF(){return this.getToken(SysMLv2Parser.IF,0)}ownedExpression(){return this.getRuleContext(0,OwnedExpressionContext)}get ruleIndex(){return SysMLv2Parser.RULE_guardExpressionMember}enterRule(listener){listener.enterGuardExpressionMember&&listener.enterGuardExpressionMember(this)}exitRule(listener){listener.exitGuardExpressionMember&&listener.exitGuardExpressionMember(this)}accept(visitor){return visitor.visitGuardExpressionMember?visitor.visitGuardExpressionMember(this):visitor.visitChildren(this)}},EffectBehaviorMemberContext=class extends ParserRuleContext{constructor(parent,invokingState){super(parent,invokingState)}DO(){return this.getToken(SysMLv2Parser.DO,0)}effectBehaviorUsage(){return this.getRuleContext(0,EffectBehaviorUsageContext)}get ruleIndex(){return SysMLv2Parser.RULE_effectBehaviorMember}enterRule(listener){listener.enterEffectBehaviorMember&&listener.enterEffectBehaviorMember(this)}exitRule(listener){listener.exitEffectBehaviorMember&&listener.exitEffectBehaviorMember(this)}accept(visitor){return visitor.visitEffectBehaviorMember?visitor.visitEffectBehaviorMember(this):visitor.visitChildren(this)}},EffectBehaviorUsageContext=class extends ParserRuleContext{constructor(parent,invokingState){super(parent,invokingState)}emptyActionUsage_(){return this.getRuleContext(0,EmptyActionUsage_Context)}transitionPerformActionUsage(){return this.getRuleContext(0,TransitionPerformActionUsageContext)}transitionAcceptActionUsage(){return this.getRuleContext(0,TransitionAcceptActionUsageContext)}transitionSendActionUsage(){return this.getRuleContext(0,TransitionSendActionUsageContext)}transitionAssignmentActionUsage(){return this.getRuleContext(0,TransitionAssignmentActionUsageContext)}get ruleIndex(){return SysMLv2Parser.RULE_effectBehaviorUsage}enterRule(listener){listener.enterEffectBehaviorUsage&&listener.enterEffectBehaviorUsage(this)}exitRule(listener){listener.exitEffectBehaviorUsage&&listener.exitEffectBehaviorUsage(this)}accept(visitor){return visitor.visitEffectBehaviorUsage?visitor.visitEffectBehaviorUsage(this):visitor.visitChildren(this)}},TransitionPerformActionUsageContext=class extends ParserRuleContext{constructor(parent,invokingState){super(parent,invokingState)}performActionUsageDeclaration(){return this.getRuleContext(0,PerformActionUsageDeclarationContext)}LBRACE(){return this.getToken(SysMLv2Parser.LBRACE,0)}RBRACE(){return this.getToken(SysMLv2Parser.RBRACE,0)}actionBodyItem(i){return i===void 0?this.getRuleContexts(ActionBodyItemContext):this.getRuleContext(i,ActionBodyItemContext)}get ruleIndex(){return SysMLv2Parser.RULE_transitionPerformActionUsage}enterRule(listener){listener.enterTransitionPerformActionUsage&&listener.enterTransitionPerformActionUsage(this)}exitRule(listener){listener.exitTransitionPerformActionUsage&&listener.exitTransitionPerformActionUsage(this)}accept(visitor){return visitor.visitTransitionPerformActionUsage?visitor.visitTransitionPerformActionUsage(this):visitor.visitChildren(this)}},TransitionAcceptActionUsageContext=class extends ParserRuleContext{constructor(parent,invokingState){super(parent,invokingState)}acceptNodeDeclaration(){return this.getRuleContext(0,AcceptNodeDeclarationContext)}LBRACE(){return this.getToken(SysMLv2Parser.LBRACE,0)}RBRACE(){return this.getToken(SysMLv2Parser.RBRACE,0)}actionBodyItem(i){return i===void 0?this.getRuleContexts(ActionBodyItemContext):this.getRuleContext(i,ActionBodyItemContext)}get ruleIndex(){return SysMLv2Parser.RULE_transitionAcceptActionUsage}enterRule(listener){listener.enterTransitionAcceptActionUsage&&listener.enterTransitionAcceptActionUsage(this)}exitRule(listener){listener.exitTransitionAcceptActionUsage&&listener.exitTransitionAcceptActionUsage(this)}accept(visitor){return visitor.visitTransitionAcceptActionUsage?visitor.visitTransitionAcceptActionUsage(this):visitor.visitChildren(this)}},TransitionSendActionUsageContext=class extends ParserRuleContext{constructor(parent,invokingState){super(parent,invokingState)}sendNodeDeclaration(){return this.getRuleContext(0,SendNodeDeclarationContext)}LBRACE(){return this.getToken(SysMLv2Parser.LBRACE,0)}RBRACE(){return this.getToken(SysMLv2Parser.RBRACE,0)}actionBodyItem(i){return i===void 0?this.getRuleContexts(ActionBodyItemContext):this.getRuleContext(i,ActionBodyItemContext)}get ruleIndex(){return SysMLv2Parser.RULE_transitionSendActionUsage}enterRule(listener){listener.enterTransitionSendActionUsage&&listener.enterTransitionSendActionUsage(this)}exitRule(listener){listener.exitTransitionSendActionUsage&&listener.exitTransitionSendActionUsage(this)}accept(visitor){return visitor.visitTransitionSendActionUsage?visitor.visitTransitionSendActionUsage(this):visitor.visitChildren(this)}},TransitionAssignmentActionUsageContext=class extends ParserRuleContext{constructor(parent,invokingState){super(parent,invokingState)}assignmentNodeDeclaration(){return this.getRuleContext(0,AssignmentNodeDeclarationContext)}LBRACE(){return this.getToken(SysMLv2Parser.LBRACE,0)}RBRACE(){return this.getToken(SysMLv2Parser.RBRACE,0)}actionBodyItem(i){return i===void 0?this.getRuleContexts(ActionBodyItemContext):this.getRuleContext(i,ActionBodyItemContext)}get ruleIndex(){return SysMLv2Parser.RULE_transitionAssignmentActionUsage}enterRule(listener){listener.enterTransitionAssignmentActionUsage&&listener.enterTransitionAssignmentActionUsage(this)}exitRule(listener){listener.exitTransitionAssignmentActionUsage&&listener.exitTransitionAssignmentActionUsage(this)}accept(visitor){return visitor.visitTransitionAssignmentActionUsage?visitor.visitTransitionAssignmentActionUsage(this):visitor.visitChildren(this)}},TransitionSuccessionMemberContext=class extends ParserRuleContext{constructor(parent,invokingState){super(parent,invokingState)}transitionSuccession(){return this.getRuleContext(0,TransitionSuccessionContext)}get ruleIndex(){return SysMLv2Parser.RULE_transitionSuccessionMember}enterRule(listener){listener.enterTransitionSuccessionMember&&listener.enterTransitionSuccessionMember(this)}exitRule(listener){listener.exitTransitionSuccessionMember&&listener.exitTransitionSuccessionMember(this)}accept(visitor){return visitor.visitTransitionSuccessionMember?visitor.visitTransitionSuccessionMember(this):visitor.visitChildren(this)}},TransitionSuccessionContext=class extends ParserRuleContext{constructor(parent,invokingState){super(parent,invokingState)}emptyEndMember(){return this.getRuleContext(0,EmptyEndMemberContext)}connectorEndMember(){return this.getRuleContext(0,ConnectorEndMemberContext)}get ruleIndex(){return SysMLv2Parser.RULE_transitionSuccession}enterRule(listener){listener.enterTransitionSuccession&&listener.enterTransitionSuccession(this)}exitRule(listener){listener.exitTransitionSuccession&&listener.exitTransitionSuccession(this)}accept(visitor){return visitor.visitTransitionSuccession?visitor.visitTransitionSuccession(this):visitor.visitChildren(this)}},EmptyEndMemberContext=class extends ParserRuleContext{constructor(parent,invokingState){super(parent,invokingState)}emptyFeature_(){return this.getRuleContext(0,EmptyFeature_Context)}get ruleIndex(){return SysMLv2Parser.RULE_emptyEndMember}enterRule(listener){listener.enterEmptyEndMember&&listener.enterEmptyEndMember(this)}exitRule(listener){listener.exitEmptyEndMember&&listener.exitEmptyEndMember(this)}accept(visitor){return visitor.visitEmptyEndMember?visitor.visitEmptyEndMember(this):visitor.visitChildren(this)}},CalculationDefinitionContext=class extends ParserRuleContext{constructor(parent,invokingState){super(parent,invokingState)}occurrenceDefinitionPrefix(){return this.getRuleContext(0,OccurrenceDefinitionPrefixContext)}CALC(){return this.getToken(SysMLv2Parser.CALC,0)}DEF(){return this.getToken(SysMLv2Parser.DEF,0)}definitionDeclaration(){return this.getRuleContext(0,DefinitionDeclarationContext)}calculationBody(){return this.getRuleContext(0,CalculationBodyContext)}get ruleIndex(){return SysMLv2Parser.RULE_calculationDefinition}enterRule(listener){listener.enterCalculationDefinition&&listener.enterCalculationDefinition(this)}exitRule(listener){listener.exitCalculationDefinition&&listener.exitCalculationDefinition(this)}accept(visitor){return visitor.visitCalculationDefinition?visitor.visitCalculationDefinition(this):visitor.visitChildren(this)}},CalculationUsageContext=class extends ParserRuleContext{constructor(parent,invokingState){super(parent,invokingState)}occurrenceUsagePrefix(){return this.getRuleContext(0,OccurrenceUsagePrefixContext)}CALC(){return this.getToken(SysMLv2Parser.CALC,0)}actionUsageDeclaration(){return this.getRuleContext(0,ActionUsageDeclarationContext)}calculationBody(){return this.getRuleContext(0,CalculationBodyContext)}get ruleIndex(){return SysMLv2Parser.RULE_calculationUsage}enterRule(listener){listener.enterCalculationUsage&&listener.enterCalculationUsage(this)}exitRule(listener){listener.exitCalculationUsage&&listener.exitCalculationUsage(this)}accept(visitor){return visitor.visitCalculationUsage?visitor.visitCalculationUsage(this):visitor.visitChildren(this)}},CalculationBodyContext=class extends ParserRuleContext{constructor(parent,invokingState){super(parent,invokingState)}SEMI(){return this.getToken(SysMLv2Parser.SEMI,0)}LBRACE(){return this.getToken(SysMLv2Parser.LBRACE,0)}calculationBodyPart(){return this.getRuleContext(0,CalculationBodyPartContext)}RBRACE(){return this.getToken(SysMLv2Parser.RBRACE,0)}get ruleIndex(){return SysMLv2Parser.RULE_calculationBody}enterRule(listener){listener.enterCalculationBody&&listener.enterCalculationBody(this)}exitRule(listener){listener.exitCalculationBody&&listener.exitCalculationBody(this)}accept(visitor){return visitor.visitCalculationBody?visitor.visitCalculationBody(this):visitor.visitChildren(this)}},CalculationBodyPartContext=class extends ParserRuleContext{constructor(parent,invokingState){super(parent,invokingState)}calculationBodyItem(i){return i===void 0?this.getRuleContexts(CalculationBodyItemContext):this.getRuleContext(i,CalculationBodyItemContext)}resultExpressionMember(){return this.getRuleContext(0,ResultExpressionMemberContext)}get ruleIndex(){return SysMLv2Parser.RULE_calculationBodyPart}enterRule(listener){listener.enterCalculationBodyPart&&listener.enterCalculationBodyPart(this)}exitRule(listener){listener.exitCalculationBodyPart&&listener.exitCalculationBodyPart(this)}accept(visitor){return visitor.visitCalculationBodyPart?visitor.visitCalculationBodyPart(this):visitor.visitChildren(this)}},CalculationBodyItemContext=class extends ParserRuleContext{constructor(parent,invokingState){super(parent,invokingState)}actionBodyItem(){return this.getRuleContext(0,ActionBodyItemContext)}returnParameterMember(){return this.getRuleContext(0,ReturnParameterMemberContext)}get ruleIndex(){return SysMLv2Parser.RULE_calculationBodyItem}enterRule(listener){listener.enterCalculationBodyItem&&listener.enterCalculationBodyItem(this)}exitRule(listener){listener.exitCalculationBodyItem&&listener.exitCalculationBodyItem(this)}accept(visitor){return visitor.visitCalculationBodyItem?visitor.visitCalculationBodyItem(this):visitor.visitChildren(this)}},ReturnParameterMemberContext=class extends ParserRuleContext{constructor(parent,invokingState){super(parent,invokingState)}memberPrefix(){return this.getRuleContext(0,MemberPrefixContext)}RETURN(){return this.getToken(SysMLv2Parser.RETURN,0)}usageElement(){return this.getRuleContext(0,UsageElementContext)}get ruleIndex(){return SysMLv2Parser.RULE_returnParameterMember}enterRule(listener){listener.enterReturnParameterMember&&listener.enterReturnParameterMember(this)}exitRule(listener){listener.exitReturnParameterMember&&listener.exitReturnParameterMember(this)}accept(visitor){return visitor.visitReturnParameterMember?visitor.visitReturnParameterMember(this):visitor.visitChildren(this)}},ConstraintDefinitionContext=class extends ParserRuleContext{constructor(parent,invokingState){super(parent,invokingState)}occurrenceDefinitionPrefix(){return this.getRuleContext(0,OccurrenceDefinitionPrefixContext)}CONSTRAINT(){return this.getToken(SysMLv2Parser.CONSTRAINT,0)}DEF(){return this.getToken(SysMLv2Parser.DEF,0)}definitionDeclaration(){return this.getRuleContext(0,DefinitionDeclarationContext)}calculationBody(){return this.getRuleContext(0,CalculationBodyContext)}get ruleIndex(){return SysMLv2Parser.RULE_constraintDefinition}enterRule(listener){listener.enterConstraintDefinition&&listener.enterConstraintDefinition(this)}exitRule(listener){listener.exitConstraintDefinition&&listener.exitConstraintDefinition(this)}accept(visitor){return visitor.visitConstraintDefinition?visitor.visitConstraintDefinition(this):visitor.visitChildren(this)}},ConstraintUsageContext=class extends ParserRuleContext{constructor(parent,invokingState){super(parent,invokingState)}occurrenceUsagePrefix(){return this.getRuleContext(0,OccurrenceUsagePrefixContext)}CONSTRAINT(){return this.getToken(SysMLv2Parser.CONSTRAINT,0)}constraintUsageDeclaration(){return this.getRuleContext(0,ConstraintUsageDeclarationContext)}calculationBody(){return this.getRuleContext(0,CalculationBodyContext)}get ruleIndex(){return SysMLv2Parser.RULE_constraintUsage}enterRule(listener){listener.enterConstraintUsage&&listener.enterConstraintUsage(this)}exitRule(listener){listener.exitConstraintUsage&&listener.exitConstraintUsage(this)}accept(visitor){return visitor.visitConstraintUsage?visitor.visitConstraintUsage(this):visitor.visitChildren(this)}},AssertConstraintUsageContext=class extends ParserRuleContext{constructor(parent,invokingState){super(parent,invokingState)}occurrenceUsagePrefix(){return this.getRuleContext(0,OccurrenceUsagePrefixContext)}ASSERT(){return this.getToken(SysMLv2Parser.ASSERT,0)}calculationBody(){return this.getRuleContext(0,CalculationBodyContext)}ownedReferenceSubsetting(){return this.getRuleContext(0,OwnedReferenceSubsettingContext)}CONSTRAINT(){return this.getToken(SysMLv2Parser.CONSTRAINT,0)}constraintUsageDeclaration(){return this.getRuleContext(0,ConstraintUsageDeclarationContext)}NOT(){return this.getToken(SysMLv2Parser.NOT,0)}featureSpecializationPart(){return this.getRuleContext(0,FeatureSpecializationPartContext)}get ruleIndex(){return SysMLv2Parser.RULE_assertConstraintUsage}enterRule(listener){listener.enterAssertConstraintUsage&&listener.enterAssertConstraintUsage(this)}exitRule(listener){listener.exitAssertConstraintUsage&&listener.exitAssertConstraintUsage(this)}accept(visitor){return visitor.visitAssertConstraintUsage?visitor.visitAssertConstraintUsage(this):visitor.visitChildren(this)}},ConstraintUsageDeclarationContext=class extends ParserRuleContext{constructor(parent,invokingState){super(parent,invokingState)}usageDeclaration(){return this.getRuleContext(0,UsageDeclarationContext)}valuePart(){return this.getRuleContext(0,ValuePartContext)}get ruleIndex(){return SysMLv2Parser.RULE_constraintUsageDeclaration}enterRule(listener){listener.enterConstraintUsageDeclaration&&listener.enterConstraintUsageDeclaration(this)}exitRule(listener){listener.exitConstraintUsageDeclaration&&listener.exitConstraintUsageDeclaration(this)}accept(visitor){return visitor.visitConstraintUsageDeclaration?visitor.visitConstraintUsageDeclaration(this):visitor.visitChildren(this)}},RequirementDefinitionContext=class extends ParserRuleContext{constructor(parent,invokingState){super(parent,invokingState)}occurrenceDefinitionPrefix(){return this.getRuleContext(0,OccurrenceDefinitionPrefixContext)}REQUIREMENT(){return this.getToken(SysMLv2Parser.REQUIREMENT,0)}DEF(){return this.getToken(SysMLv2Parser.DEF,0)}definitionDeclaration(){return this.getRuleContext(0,DefinitionDeclarationContext)}requirementBody(){return this.getRuleContext(0,RequirementBodyContext)}get ruleIndex(){return SysMLv2Parser.RULE_requirementDefinition}enterRule(listener){listener.enterRequirementDefinition&&listener.enterRequirementDefinition(this)}exitRule(listener){listener.exitRequirementDefinition&&listener.exitRequirementDefinition(this)}accept(visitor){return visitor.visitRequirementDefinition?visitor.visitRequirementDefinition(this):visitor.visitChildren(this)}},RequirementBodyContext=class extends ParserRuleContext{constructor(parent,invokingState){super(parent,invokingState)}SEMI(){return this.getToken(SysMLv2Parser.SEMI,0)}LBRACE(){return this.getToken(SysMLv2Parser.LBRACE,0)}RBRACE(){return this.getToken(SysMLv2Parser.RBRACE,0)}requirementBodyItem(i){return i===void 0?this.getRuleContexts(RequirementBodyItemContext):this.getRuleContext(i,RequirementBodyItemContext)}get ruleIndex(){return SysMLv2Parser.RULE_requirementBody}enterRule(listener){listener.enterRequirementBody&&listener.enterRequirementBody(this)}exitRule(listener){listener.exitRequirementBody&&listener.exitRequirementBody(this)}accept(visitor){return visitor.visitRequirementBody?visitor.visitRequirementBody(this):visitor.visitChildren(this)}},RequirementBodyItemContext=class extends ParserRuleContext{constructor(parent,invokingState){super(parent,invokingState)}definitionBodyItem(){return this.getRuleContext(0,DefinitionBodyItemContext)}subjectMember(){return this.getRuleContext(0,SubjectMemberContext)}requirementConstraintMember(){return this.getRuleContext(0,RequirementConstraintMemberContext)}framedConcernMember(){return this.getRuleContext(0,FramedConcernMemberContext)}requirementVerificationMember(){return this.getRuleContext(0,RequirementVerificationMemberContext)}actorMember(){return this.getRuleContext(0,ActorMemberContext)}stakeholderMember(){return this.getRuleContext(0,StakeholderMemberContext)}get ruleIndex(){return SysMLv2Parser.RULE_requirementBodyItem}enterRule(listener){listener.enterRequirementBodyItem&&listener.enterRequirementBodyItem(this)}exitRule(listener){listener.exitRequirementBodyItem&&listener.exitRequirementBodyItem(this)}accept(visitor){return visitor.visitRequirementBodyItem?visitor.visitRequirementBodyItem(this):visitor.visitChildren(this)}},SubjectMemberContext=class extends ParserRuleContext{constructor(parent,invokingState){super(parent,invokingState)}memberPrefix(){return this.getRuleContext(0,MemberPrefixContext)}subjectUsage(){return this.getRuleContext(0,SubjectUsageContext)}get ruleIndex(){return SysMLv2Parser.RULE_subjectMember}enterRule(listener){listener.enterSubjectMember&&listener.enterSubjectMember(this)}exitRule(listener){listener.exitSubjectMember&&listener.exitSubjectMember(this)}accept(visitor){return visitor.visitSubjectMember?visitor.visitSubjectMember(this):visitor.visitChildren(this)}},SubjectUsageContext=class extends ParserRuleContext{constructor(parent,invokingState){super(parent,invokingState)}SUBJECT(){return this.getToken(SysMLv2Parser.SUBJECT,0)}usage(){return this.getRuleContext(0,UsageContext)}usageExtensionKeyword(i){return i===void 0?this.getRuleContexts(UsageExtensionKeywordContext):this.getRuleContext(i,UsageExtensionKeywordContext)}get ruleIndex(){return SysMLv2Parser.RULE_subjectUsage}enterRule(listener){listener.enterSubjectUsage&&listener.enterSubjectUsage(this)}exitRule(listener){listener.exitSubjectUsage&&listener.exitSubjectUsage(this)}accept(visitor){return visitor.visitSubjectUsage?visitor.visitSubjectUsage(this):visitor.visitChildren(this)}},RequirementConstraintMemberContext=class extends ParserRuleContext{constructor(parent,invokingState){super(parent,invokingState)}memberPrefix(){return this.getRuleContext(0,MemberPrefixContext)}requirementKind(){return this.getRuleContext(0,RequirementKindContext)}requirementConstraintUsage(){return this.getRuleContext(0,RequirementConstraintUsageContext)}get ruleIndex(){return SysMLv2Parser.RULE_requirementConstraintMember}enterRule(listener){listener.enterRequirementConstraintMember&&listener.enterRequirementConstraintMember(this)}exitRule(listener){listener.exitRequirementConstraintMember&&listener.exitRequirementConstraintMember(this)}accept(visitor){return visitor.visitRequirementConstraintMember?visitor.visitRequirementConstraintMember(this):visitor.visitChildren(this)}},RequirementKindContext=class extends ParserRuleContext{constructor(parent,invokingState){super(parent,invokingState)}ASSUME(){return this.getToken(SysMLv2Parser.ASSUME,0)}REQUIRE(){return this.getToken(SysMLv2Parser.REQUIRE,0)}get ruleIndex(){return SysMLv2Parser.RULE_requirementKind}enterRule(listener){listener.enterRequirementKind&&listener.enterRequirementKind(this)}exitRule(listener){listener.exitRequirementKind&&listener.exitRequirementKind(this)}accept(visitor){return visitor.visitRequirementKind?visitor.visitRequirementKind(this):visitor.visitChildren(this)}},RequirementConstraintUsageContext=class extends ParserRuleContext{constructor(parent,invokingState){super(parent,invokingState)}ownedReferenceSubsetting(){return this.getRuleContext(0,OwnedReferenceSubsettingContext)}requirementBody(){return this.getRuleContext(0,RequirementBodyContext)}featureSpecializationPart(){return this.getRuleContext(0,FeatureSpecializationPartContext)}constraintUsageDeclaration(){return this.getRuleContext(0,ConstraintUsageDeclarationContext)}calculationBody(){return this.getRuleContext(0,CalculationBodyContext)}CONSTRAINT(){return this.getToken(SysMLv2Parser.CONSTRAINT,0)}usageExtensionKeyword(i){return i===void 0?this.getRuleContexts(UsageExtensionKeywordContext):this.getRuleContext(i,UsageExtensionKeywordContext)}get ruleIndex(){return SysMLv2Parser.RULE_requirementConstraintUsage}enterRule(listener){listener.enterRequirementConstraintUsage&&listener.enterRequirementConstraintUsage(this)}exitRule(listener){listener.exitRequirementConstraintUsage&&listener.exitRequirementConstraintUsage(this)}accept(visitor){return visitor.visitRequirementConstraintUsage?visitor.visitRequirementConstraintUsage(this):visitor.visitChildren(this)}},FramedConcernMemberContext=class extends ParserRuleContext{constructor(parent,invokingState){super(parent,invokingState)}memberPrefix(){return this.getRuleContext(0,MemberPrefixContext)}FRAME(){return this.getToken(SysMLv2Parser.FRAME,0)}framedConcernUsage(){return this.getRuleContext(0,FramedConcernUsageContext)}get ruleIndex(){return SysMLv2Parser.RULE_framedConcernMember}enterRule(listener){listener.enterFramedConcernMember&&listener.enterFramedConcernMember(this)}exitRule(listener){listener.exitFramedConcernMember&&listener.exitFramedConcernMember(this)}accept(visitor){return visitor.visitFramedConcernMember?visitor.visitFramedConcernMember(this):visitor.visitChildren(this)}},FramedConcernUsageContext=class extends ParserRuleContext{constructor(parent,invokingState){super(parent,invokingState)}ownedReferenceSubsetting(){return this.getRuleContext(0,OwnedReferenceSubsettingContext)}calculationBody(){return this.getRuleContext(0,CalculationBodyContext)}featureSpecializationPart(){return this.getRuleContext(0,FeatureSpecializationPartContext)}calculationUsageDeclaration(){return this.getRuleContext(0,CalculationUsageDeclarationContext)}CONCERN(){return this.getToken(SysMLv2Parser.CONCERN,0)}usageExtensionKeyword(i){return i===void 0?this.getRuleContexts(UsageExtensionKeywordContext):this.getRuleContext(i,UsageExtensionKeywordContext)}get ruleIndex(){return SysMLv2Parser.RULE_framedConcernUsage}enterRule(listener){listener.enterFramedConcernUsage&&listener.enterFramedConcernUsage(this)}exitRule(listener){listener.exitFramedConcernUsage&&listener.exitFramedConcernUsage(this)}accept(visitor){return visitor.visitFramedConcernUsage?visitor.visitFramedConcernUsage(this):visitor.visitChildren(this)}},ActorMemberContext=class extends ParserRuleContext{constructor(parent,invokingState){super(parent,invokingState)}memberPrefix(){return this.getRuleContext(0,MemberPrefixContext)}actorUsage(){return this.getRuleContext(0,ActorUsageContext)}get ruleIndex(){return SysMLv2Parser.RULE_actorMember}enterRule(listener){listener.enterActorMember&&listener.enterActorMember(this)}exitRule(listener){listener.exitActorMember&&listener.exitActorMember(this)}accept(visitor){return visitor.visitActorMember?visitor.visitActorMember(this):visitor.visitChildren(this)}},ActorUsageContext=class extends ParserRuleContext{constructor(parent,invokingState){super(parent,invokingState)}ACTOR(){return this.getToken(SysMLv2Parser.ACTOR,0)}usage(){return this.getRuleContext(0,UsageContext)}usageExtensionKeyword(i){return i===void 0?this.getRuleContexts(UsageExtensionKeywordContext):this.getRuleContext(i,UsageExtensionKeywordContext)}get ruleIndex(){return SysMLv2Parser.RULE_actorUsage}enterRule(listener){listener.enterActorUsage&&listener.enterActorUsage(this)}exitRule(listener){listener.exitActorUsage&&listener.exitActorUsage(this)}accept(visitor){return visitor.visitActorUsage?visitor.visitActorUsage(this):visitor.visitChildren(this)}},StakeholderMemberContext=class extends ParserRuleContext{constructor(parent,invokingState){super(parent,invokingState)}memberPrefix(){return this.getRuleContext(0,MemberPrefixContext)}stakeholderUsage(){return this.getRuleContext(0,StakeholderUsageContext)}get ruleIndex(){return SysMLv2Parser.RULE_stakeholderMember}enterRule(listener){listener.enterStakeholderMember&&listener.enterStakeholderMember(this)}exitRule(listener){listener.exitStakeholderMember&&listener.exitStakeholderMember(this)}accept(visitor){return visitor.visitStakeholderMember?visitor.visitStakeholderMember(this):visitor.visitChildren(this)}},StakeholderUsageContext=class extends ParserRuleContext{constructor(parent,invokingState){super(parent,invokingState)}STAKEHOLDER(){return this.getToken(SysMLv2Parser.STAKEHOLDER,0)}usage(){return this.getRuleContext(0,UsageContext)}usageExtensionKeyword(i){return i===void 0?this.getRuleContexts(UsageExtensionKeywordContext):this.getRuleContext(i,UsageExtensionKeywordContext)}get ruleIndex(){return SysMLv2Parser.RULE_stakeholderUsage}enterRule(listener){listener.enterStakeholderUsage&&listener.enterStakeholderUsage(this)}exitRule(listener){listener.exitStakeholderUsage&&listener.exitStakeholderUsage(this)}accept(visitor){return visitor.visitStakeholderUsage?visitor.visitStakeholderUsage(this):visitor.visitChildren(this)}},RequirementUsageContext=class extends ParserRuleContext{constructor(parent,invokingState){super(parent,invokingState)}occurrenceUsagePrefix(){return this.getRuleContext(0,OccurrenceUsagePrefixContext)}REQUIREMENT(){return this.getToken(SysMLv2Parser.REQUIREMENT,0)}constraintUsageDeclaration(){return this.getRuleContext(0,ConstraintUsageDeclarationContext)}requirementBody(){return this.getRuleContext(0,RequirementBodyContext)}get ruleIndex(){return SysMLv2Parser.RULE_requirementUsage}enterRule(listener){listener.enterRequirementUsage&&listener.enterRequirementUsage(this)}exitRule(listener){listener.exitRequirementUsage&&listener.exitRequirementUsage(this)}accept(visitor){return visitor.visitRequirementUsage?visitor.visitRequirementUsage(this):visitor.visitChildren(this)}},SatisfyRequirementUsageContext=class extends ParserRuleContext{constructor(parent,invokingState){super(parent,invokingState)}occurrenceUsagePrefix(){return this.getRuleContext(0,OccurrenceUsagePrefixContext)}SATISFY(){return this.getToken(SysMLv2Parser.SATISFY,0)}requirementBody(){return this.getRuleContext(0,RequirementBodyContext)}ownedReferenceSubsetting(){return this.getRuleContext(0,OwnedReferenceSubsettingContext)}REQUIREMENT(){return this.getToken(SysMLv2Parser.REQUIREMENT,0)}ASSERT(){return this.getToken(SysMLv2Parser.ASSERT,0)}valuePart(){return this.getRuleContext(0,ValuePartContext)}BY(){return this.getToken(SysMLv2Parser.BY,0)}satisfactionSubjectMember(){return this.getRuleContext(0,SatisfactionSubjectMemberContext)}featureSpecializationPart(){return this.getRuleContext(0,FeatureSpecializationPartContext)}usageDeclaration(){return this.getRuleContext(0,UsageDeclarationContext)}NOT(){return this.getToken(SysMLv2Parser.NOT,0)}get ruleIndex(){return SysMLv2Parser.RULE_satisfyRequirementUsage}enterRule(listener){listener.enterSatisfyRequirementUsage&&listener.enterSatisfyRequirementUsage(this)}exitRule(listener){listener.exitSatisfyRequirementUsage&&listener.exitSatisfyRequirementUsage(this)}accept(visitor){return visitor.visitSatisfyRequirementUsage?visitor.visitSatisfyRequirementUsage(this):visitor.visitChildren(this)}},SatisfactionSubjectMemberContext=class extends ParserRuleContext{constructor(parent,invokingState){super(parent,invokingState)}satisfactionParameter(){return this.getRuleContext(0,SatisfactionParameterContext)}get ruleIndex(){return SysMLv2Parser.RULE_satisfactionSubjectMember}enterRule(listener){listener.enterSatisfactionSubjectMember&&listener.enterSatisfactionSubjectMember(this)}exitRule(listener){listener.exitSatisfactionSubjectMember&&listener.exitSatisfactionSubjectMember(this)}accept(visitor){return visitor.visitSatisfactionSubjectMember?visitor.visitSatisfactionSubjectMember(this):visitor.visitChildren(this)}},SatisfactionParameterContext=class extends ParserRuleContext{constructor(parent,invokingState){super(parent,invokingState)}satisfactionFeatureValue(){return this.getRuleContext(0,SatisfactionFeatureValueContext)}get ruleIndex(){return SysMLv2Parser.RULE_satisfactionParameter}enterRule(listener){listener.enterSatisfactionParameter&&listener.enterSatisfactionParameter(this)}exitRule(listener){listener.exitSatisfactionParameter&&listener.exitSatisfactionParameter(this)}accept(visitor){return visitor.visitSatisfactionParameter?visitor.visitSatisfactionParameter(this):visitor.visitChildren(this)}},SatisfactionFeatureValueContext=class extends ParserRuleContext{constructor(parent,invokingState){super(parent,invokingState)}satisfactionReferenceExpression(){return this.getRuleContext(0,SatisfactionReferenceExpressionContext)}get ruleIndex(){return SysMLv2Parser.RULE_satisfactionFeatureValue}enterRule(listener){listener.enterSatisfactionFeatureValue&&listener.enterSatisfactionFeatureValue(this)}exitRule(listener){listener.exitSatisfactionFeatureValue&&listener.exitSatisfactionFeatureValue(this)}accept(visitor){return visitor.visitSatisfactionFeatureValue?visitor.visitSatisfactionFeatureValue(this):visitor.visitChildren(this)}},SatisfactionReferenceExpressionContext=class extends ParserRuleContext{constructor(parent,invokingState){super(parent,invokingState)}featureChainMember(){return this.getRuleContext(0,FeatureChainMemberContext)}get ruleIndex(){return SysMLv2Parser.RULE_satisfactionReferenceExpression}enterRule(listener){listener.enterSatisfactionReferenceExpression&&listener.enterSatisfactionReferenceExpression(this)}exitRule(listener){listener.exitSatisfactionReferenceExpression&&listener.exitSatisfactionReferenceExpression(this)}accept(visitor){return visitor.visitSatisfactionReferenceExpression?visitor.visitSatisfactionReferenceExpression(this):visitor.visitChildren(this)}},ConcernDefinitionContext=class extends ParserRuleContext{constructor(parent,invokingState){super(parent,invokingState)}occurrenceDefinitionPrefix(){return this.getRuleContext(0,OccurrenceDefinitionPrefixContext)}CONCERN(){return this.getToken(SysMLv2Parser.CONCERN,0)}DEF(){return this.getToken(SysMLv2Parser.DEF,0)}definitionDeclaration(){return this.getRuleContext(0,DefinitionDeclarationContext)}requirementBody(){return this.getRuleContext(0,RequirementBodyContext)}get ruleIndex(){return SysMLv2Parser.RULE_concernDefinition}enterRule(listener){listener.enterConcernDefinition&&listener.enterConcernDefinition(this)}exitRule(listener){listener.exitConcernDefinition&&listener.exitConcernDefinition(this)}accept(visitor){return visitor.visitConcernDefinition?visitor.visitConcernDefinition(this):visitor.visitChildren(this)}},ConcernUsageContext=class extends ParserRuleContext{constructor(parent,invokingState){super(parent,invokingState)}occurrenceUsagePrefix(){return this.getRuleContext(0,OccurrenceUsagePrefixContext)}CONCERN(){return this.getToken(SysMLv2Parser.CONCERN,0)}constraintUsageDeclaration(){return this.getRuleContext(0,ConstraintUsageDeclarationContext)}requirementBody(){return this.getRuleContext(0,RequirementBodyContext)}get ruleIndex(){return SysMLv2Parser.RULE_concernUsage}enterRule(listener){listener.enterConcernUsage&&listener.enterConcernUsage(this)}exitRule(listener){listener.exitConcernUsage&&listener.exitConcernUsage(this)}accept(visitor){return visitor.visitConcernUsage?visitor.visitConcernUsage(this):visitor.visitChildren(this)}},CaseDefinitionContext=class extends ParserRuleContext{constructor(parent,invokingState){super(parent,invokingState)}occurrenceDefinitionPrefix(){return this.getRuleContext(0,OccurrenceDefinitionPrefixContext)}CASE(){return this.getToken(SysMLv2Parser.CASE,0)}DEF(){return this.getToken(SysMLv2Parser.DEF,0)}definitionDeclaration(){return this.getRuleContext(0,DefinitionDeclarationContext)}caseBody(){return this.getRuleContext(0,CaseBodyContext)}get ruleIndex(){return SysMLv2Parser.RULE_caseDefinition}enterRule(listener){listener.enterCaseDefinition&&listener.enterCaseDefinition(this)}exitRule(listener){listener.exitCaseDefinition&&listener.exitCaseDefinition(this)}accept(visitor){return visitor.visitCaseDefinition?visitor.visitCaseDefinition(this):visitor.visitChildren(this)}},CaseUsageContext=class extends ParserRuleContext{constructor(parent,invokingState){super(parent,invokingState)}occurrenceUsagePrefix(){return this.getRuleContext(0,OccurrenceUsagePrefixContext)}CASE(){return this.getToken(SysMLv2Parser.CASE,0)}constraintUsageDeclaration(){return this.getRuleContext(0,ConstraintUsageDeclarationContext)}caseBody(){return this.getRuleContext(0,CaseBodyContext)}get ruleIndex(){return SysMLv2Parser.RULE_caseUsage}enterRule(listener){listener.enterCaseUsage&&listener.enterCaseUsage(this)}exitRule(listener){listener.exitCaseUsage&&listener.exitCaseUsage(this)}accept(visitor){return visitor.visitCaseUsage?visitor.visitCaseUsage(this):visitor.visitChildren(this)}},CaseBodyContext=class extends ParserRuleContext{constructor(parent,invokingState){super(parent,invokingState)}SEMI(){return this.getToken(SysMLv2Parser.SEMI,0)}LBRACE(){return this.getToken(SysMLv2Parser.LBRACE,0)}RBRACE(){return this.getToken(SysMLv2Parser.RBRACE,0)}caseBodyItem(i){return i===void 0?this.getRuleContexts(CaseBodyItemContext):this.getRuleContext(i,CaseBodyItemContext)}resultExpressionMember(){return this.getRuleContext(0,ResultExpressionMemberContext)}get ruleIndex(){return SysMLv2Parser.RULE_caseBody}enterRule(listener){listener.enterCaseBody&&listener.enterCaseBody(this)}exitRule(listener){listener.exitCaseBody&&listener.exitCaseBody(this)}accept(visitor){return visitor.visitCaseBody?visitor.visitCaseBody(this):visitor.visitChildren(this)}},CaseBodyItemContext=class extends ParserRuleContext{constructor(parent,invokingState){super(parent,invokingState)}actionBodyItem(){return this.getRuleContext(0,ActionBodyItemContext)}returnParameterMember(){return this.getRuleContext(0,ReturnParameterMemberContext)}subjectMember(){return this.getRuleContext(0,SubjectMemberContext)}actorMember(){return this.getRuleContext(0,ActorMemberContext)}objectiveMember(){return this.getRuleContext(0,ObjectiveMemberContext)}get ruleIndex(){return SysMLv2Parser.RULE_caseBodyItem}enterRule(listener){listener.enterCaseBodyItem&&listener.enterCaseBodyItem(this)}exitRule(listener){listener.exitCaseBodyItem&&listener.exitCaseBodyItem(this)}accept(visitor){return visitor.visitCaseBodyItem?visitor.visitCaseBodyItem(this):visitor.visitChildren(this)}},ObjectiveMemberContext=class extends ParserRuleContext{constructor(parent,invokingState){super(parent,invokingState)}memberPrefix(){return this.getRuleContext(0,MemberPrefixContext)}OBJECTIVE(){return this.getToken(SysMLv2Parser.OBJECTIVE,0)}objectiveRequirementUsage(){return this.getRuleContext(0,ObjectiveRequirementUsageContext)}get ruleIndex(){return SysMLv2Parser.RULE_objectiveMember}enterRule(listener){listener.enterObjectiveMember&&listener.enterObjectiveMember(this)}exitRule(listener){listener.exitObjectiveMember&&listener.exitObjectiveMember(this)}accept(visitor){return visitor.visitObjectiveMember?visitor.visitObjectiveMember(this):visitor.visitChildren(this)}},ObjectiveRequirementUsageContext=class extends ParserRuleContext{constructor(parent,invokingState){super(parent,invokingState)}constraintUsageDeclaration(){return this.getRuleContext(0,ConstraintUsageDeclarationContext)}requirementBody(){return this.getRuleContext(0,RequirementBodyContext)}usageExtensionKeyword(i){return i===void 0?this.getRuleContexts(UsageExtensionKeywordContext):this.getRuleContext(i,UsageExtensionKeywordContext)}get ruleIndex(){return SysMLv2Parser.RULE_objectiveRequirementUsage}enterRule(listener){listener.enterObjectiveRequirementUsage&&listener.enterObjectiveRequirementUsage(this)}exitRule(listener){listener.exitObjectiveRequirementUsage&&listener.exitObjectiveRequirementUsage(this)}accept(visitor){return visitor.visitObjectiveRequirementUsage?visitor.visitObjectiveRequirementUsage(this):visitor.visitChildren(this)}},AnalysisCaseDefinitionContext=class extends ParserRuleContext{constructor(parent,invokingState){super(parent,invokingState)}occurrenceDefinitionPrefix(){return this.getRuleContext(0,OccurrenceDefinitionPrefixContext)}ANALYSIS(){return this.getToken(SysMLv2Parser.ANALYSIS,0)}DEF(){return this.getToken(SysMLv2Parser.DEF,0)}definitionDeclaration(){return this.getRuleContext(0,DefinitionDeclarationContext)}caseBody(){return this.getRuleContext(0,CaseBodyContext)}get ruleIndex(){return SysMLv2Parser.RULE_analysisCaseDefinition}enterRule(listener){listener.enterAnalysisCaseDefinition&&listener.enterAnalysisCaseDefinition(this)}exitRule(listener){listener.exitAnalysisCaseDefinition&&listener.exitAnalysisCaseDefinition(this)}accept(visitor){return visitor.visitAnalysisCaseDefinition?visitor.visitAnalysisCaseDefinition(this):visitor.visitChildren(this)}},AnalysisCaseUsageContext=class extends ParserRuleContext{constructor(parent,invokingState){super(parent,invokingState)}occurrenceUsagePrefix(){return this.getRuleContext(0,OccurrenceUsagePrefixContext)}ANALYSIS(){return this.getToken(SysMLv2Parser.ANALYSIS,0)}constraintUsageDeclaration(){return this.getRuleContext(0,ConstraintUsageDeclarationContext)}caseBody(){return this.getRuleContext(0,CaseBodyContext)}get ruleIndex(){return SysMLv2Parser.RULE_analysisCaseUsage}enterRule(listener){listener.enterAnalysisCaseUsage&&listener.enterAnalysisCaseUsage(this)}exitRule(listener){listener.exitAnalysisCaseUsage&&listener.exitAnalysisCaseUsage(this)}accept(visitor){return visitor.visitAnalysisCaseUsage?visitor.visitAnalysisCaseUsage(this):visitor.visitChildren(this)}},VerificationCaseDefinitionContext=class extends ParserRuleContext{constructor(parent,invokingState){super(parent,invokingState)}occurrenceDefinitionPrefix(){return this.getRuleContext(0,OccurrenceDefinitionPrefixContext)}VERIFICATION(){return this.getToken(SysMLv2Parser.VERIFICATION,0)}DEF(){return this.getToken(SysMLv2Parser.DEF,0)}definitionDeclaration(){return this.getRuleContext(0,DefinitionDeclarationContext)}caseBody(){return this.getRuleContext(0,CaseBodyContext)}get ruleIndex(){return SysMLv2Parser.RULE_verificationCaseDefinition}enterRule(listener){listener.enterVerificationCaseDefinition&&listener.enterVerificationCaseDefinition(this)}exitRule(listener){listener.exitVerificationCaseDefinition&&listener.exitVerificationCaseDefinition(this)}accept(visitor){return visitor.visitVerificationCaseDefinition?visitor.visitVerificationCaseDefinition(this):visitor.visitChildren(this)}},VerificationCaseUsageContext=class extends ParserRuleContext{constructor(parent,invokingState){super(parent,invokingState)}occurrenceUsagePrefix(){return this.getRuleContext(0,OccurrenceUsagePrefixContext)}VERIFICATION(){return this.getToken(SysMLv2Parser.VERIFICATION,0)}constraintUsageDeclaration(){return this.getRuleContext(0,ConstraintUsageDeclarationContext)}caseBody(){return this.getRuleContext(0,CaseBodyContext)}get ruleIndex(){return SysMLv2Parser.RULE_verificationCaseUsage}enterRule(listener){listener.enterVerificationCaseUsage&&listener.enterVerificationCaseUsage(this)}exitRule(listener){listener.exitVerificationCaseUsage&&listener.exitVerificationCaseUsage(this)}accept(visitor){return visitor.visitVerificationCaseUsage?visitor.visitVerificationCaseUsage(this):visitor.visitChildren(this)}},RequirementVerificationMemberContext=class extends ParserRuleContext{constructor(parent,invokingState){super(parent,invokingState)}memberPrefix(){return this.getRuleContext(0,MemberPrefixContext)}VERIFY(){return this.getToken(SysMLv2Parser.VERIFY,0)}requirementVerificationUsage(){return this.getRuleContext(0,RequirementVerificationUsageContext)}get ruleIndex(){return SysMLv2Parser.RULE_requirementVerificationMember}enterRule(listener){listener.enterRequirementVerificationMember&&listener.enterRequirementVerificationMember(this)}exitRule(listener){listener.exitRequirementVerificationMember&&listener.exitRequirementVerificationMember(this)}accept(visitor){return visitor.visitRequirementVerificationMember?visitor.visitRequirementVerificationMember(this):visitor.visitChildren(this)}},RequirementVerificationUsageContext=class extends ParserRuleContext{constructor(parent,invokingState){super(parent,invokingState)}ownedReferenceSubsetting(){return this.getRuleContext(0,OwnedReferenceSubsettingContext)}requirementBody(){return this.getRuleContext(0,RequirementBodyContext)}featureSpecialization(i){return i===void 0?this.getRuleContexts(FeatureSpecializationContext):this.getRuleContext(i,FeatureSpecializationContext)}constraintUsageDeclaration(){return this.getRuleContext(0,ConstraintUsageDeclarationContext)}REQUIREMENT(){return this.getToken(SysMLv2Parser.REQUIREMENT,0)}usageExtensionKeyword(i){return i===void 0?this.getRuleContexts(UsageExtensionKeywordContext):this.getRuleContext(i,UsageExtensionKeywordContext)}get ruleIndex(){return SysMLv2Parser.RULE_requirementVerificationUsage}enterRule(listener){listener.enterRequirementVerificationUsage&&listener.enterRequirementVerificationUsage(this)}exitRule(listener){listener.exitRequirementVerificationUsage&&listener.exitRequirementVerificationUsage(this)}accept(visitor){return visitor.visitRequirementVerificationUsage?visitor.visitRequirementVerificationUsage(this):visitor.visitChildren(this)}},UseCaseDefinitionContext=class extends ParserRuleContext{constructor(parent,invokingState){super(parent,invokingState)}occurrenceDefinitionPrefix(){return this.getRuleContext(0,OccurrenceDefinitionPrefixContext)}USE(){return this.getToken(SysMLv2Parser.USE,0)}CASE(){return this.getToken(SysMLv2Parser.CASE,0)}DEF(){return this.getToken(SysMLv2Parser.DEF,0)}definitionDeclaration(){return this.getRuleContext(0,DefinitionDeclarationContext)}caseBody(){return this.getRuleContext(0,CaseBodyContext)}get ruleIndex(){return SysMLv2Parser.RULE_useCaseDefinition}enterRule(listener){listener.enterUseCaseDefinition&&listener.enterUseCaseDefinition(this)}exitRule(listener){listener.exitUseCaseDefinition&&listener.exitUseCaseDefinition(this)}accept(visitor){return visitor.visitUseCaseDefinition?visitor.visitUseCaseDefinition(this):visitor.visitChildren(this)}},UseCaseUsageContext=class extends ParserRuleContext{constructor(parent,invokingState){super(parent,invokingState)}occurrenceUsagePrefix(){return this.getRuleContext(0,OccurrenceUsagePrefixContext)}USE(){return this.getToken(SysMLv2Parser.USE,0)}CASE(){return this.getToken(SysMLv2Parser.CASE,0)}constraintUsageDeclaration(){return this.getRuleContext(0,ConstraintUsageDeclarationContext)}caseBody(){return this.getRuleContext(0,CaseBodyContext)}get ruleIndex(){return SysMLv2Parser.RULE_useCaseUsage}enterRule(listener){listener.enterUseCaseUsage&&listener.enterUseCaseUsage(this)}exitRule(listener){listener.exitUseCaseUsage&&listener.exitUseCaseUsage(this)}accept(visitor){return visitor.visitUseCaseUsage?visitor.visitUseCaseUsage(this):visitor.visitChildren(this)}},IncludeUseCaseUsageContext=class extends ParserRuleContext{constructor(parent,invokingState){super(parent,invokingState)}occurrenceUsagePrefix(){return this.getRuleContext(0,OccurrenceUsagePrefixContext)}INCLUDE(){return this.getToken(SysMLv2Parser.INCLUDE,0)}caseBody(){return this.getRuleContext(0,CaseBodyContext)}ownedReferenceSubsetting(){return this.getRuleContext(0,OwnedReferenceSubsettingContext)}USE(){return this.getToken(SysMLv2Parser.USE,0)}CASE(){return this.getToken(SysMLv2Parser.CASE,0)}valuePart(){return this.getRuleContext(0,ValuePartContext)}featureSpecializationPart(){return this.getRuleContext(0,FeatureSpecializationPartContext)}usageDeclaration(){return this.getRuleContext(0,UsageDeclarationContext)}get ruleIndex(){return SysMLv2Parser.RULE_includeUseCaseUsage}enterRule(listener){listener.enterIncludeUseCaseUsage&&listener.enterIncludeUseCaseUsage(this)}exitRule(listener){listener.exitIncludeUseCaseUsage&&listener.exitIncludeUseCaseUsage(this)}accept(visitor){return visitor.visitIncludeUseCaseUsage?visitor.visitIncludeUseCaseUsage(this):visitor.visitChildren(this)}},ViewDefinitionContext=class extends ParserRuleContext{constructor(parent,invokingState){super(parent,invokingState)}occurrenceDefinitionPrefix(){return this.getRuleContext(0,OccurrenceDefinitionPrefixContext)}VIEW(){return this.getToken(SysMLv2Parser.VIEW,0)}DEF(){return this.getToken(SysMLv2Parser.DEF,0)}definitionDeclaration(){return this.getRuleContext(0,DefinitionDeclarationContext)}viewDefinitionBody(){return this.getRuleContext(0,ViewDefinitionBodyContext)}get ruleIndex(){return SysMLv2Parser.RULE_viewDefinition}enterRule(listener){listener.enterViewDefinition&&listener.enterViewDefinition(this)}exitRule(listener){listener.exitViewDefinition&&listener.exitViewDefinition(this)}accept(visitor){return visitor.visitViewDefinition?visitor.visitViewDefinition(this):visitor.visitChildren(this)}},ViewDefinitionBodyContext=class extends ParserRuleContext{constructor(parent,invokingState){super(parent,invokingState)}SEMI(){return this.getToken(SysMLv2Parser.SEMI,0)}LBRACE(){return this.getToken(SysMLv2Parser.LBRACE,0)}RBRACE(){return this.getToken(SysMLv2Parser.RBRACE,0)}viewDefinitionBodyItem(i){return i===void 0?this.getRuleContexts(ViewDefinitionBodyItemContext):this.getRuleContext(i,ViewDefinitionBodyItemContext)}get ruleIndex(){return SysMLv2Parser.RULE_viewDefinitionBody}enterRule(listener){listener.enterViewDefinitionBody&&listener.enterViewDefinitionBody(this)}exitRule(listener){listener.exitViewDefinitionBody&&listener.exitViewDefinitionBody(this)}accept(visitor){return visitor.visitViewDefinitionBody?visitor.visitViewDefinitionBody(this):visitor.visitChildren(this)}},ViewDefinitionBodyItemContext=class extends ParserRuleContext{constructor(parent,invokingState){super(parent,invokingState)}definitionBodyItem(){return this.getRuleContext(0,DefinitionBodyItemContext)}elementFilterMember(){return this.getRuleContext(0,ElementFilterMemberContext)}viewRenderingMember(){return this.getRuleContext(0,ViewRenderingMemberContext)}get ruleIndex(){return SysMLv2Parser.RULE_viewDefinitionBodyItem}enterRule(listener){listener.enterViewDefinitionBodyItem&&listener.enterViewDefinitionBodyItem(this)}exitRule(listener){listener.exitViewDefinitionBodyItem&&listener.exitViewDefinitionBodyItem(this)}accept(visitor){return visitor.visitViewDefinitionBodyItem?visitor.visitViewDefinitionBodyItem(this):visitor.visitChildren(this)}},ViewRenderingMemberContext=class extends ParserRuleContext{constructor(parent,invokingState){super(parent,invokingState)}memberPrefix(){return this.getRuleContext(0,MemberPrefixContext)}RENDER(){return this.getToken(SysMLv2Parser.RENDER,0)}viewRenderingUsage(){return this.getRuleContext(0,ViewRenderingUsageContext)}get ruleIndex(){return SysMLv2Parser.RULE_viewRenderingMember}enterRule(listener){listener.enterViewRenderingMember&&listener.enterViewRenderingMember(this)}exitRule(listener){listener.exitViewRenderingMember&&listener.exitViewRenderingMember(this)}accept(visitor){return visitor.visitViewRenderingMember?visitor.visitViewRenderingMember(this):visitor.visitChildren(this)}},ViewRenderingUsageContext=class extends ParserRuleContext{constructor(parent,invokingState){super(parent,invokingState)}ownedReferenceSubsetting(){return this.getRuleContext(0,OwnedReferenceSubsettingContext)}usageBody(){return this.getRuleContext(0,UsageBodyContext)}featureSpecializationPart(){return this.getRuleContext(0,FeatureSpecializationPartContext)}usage(){return this.getRuleContext(0,UsageContext)}RENDERING(){return this.getToken(SysMLv2Parser.RENDERING,0)}usageExtensionKeyword(i){return i===void 0?this.getRuleContexts(UsageExtensionKeywordContext):this.getRuleContext(i,UsageExtensionKeywordContext)}get ruleIndex(){return SysMLv2Parser.RULE_viewRenderingUsage}enterRule(listener){listener.enterViewRenderingUsage&&listener.enterViewRenderingUsage(this)}exitRule(listener){listener.exitViewRenderingUsage&&listener.exitViewRenderingUsage(this)}accept(visitor){return visitor.visitViewRenderingUsage?visitor.visitViewRenderingUsage(this):visitor.visitChildren(this)}},ViewUsageContext=class extends ParserRuleContext{constructor(parent,invokingState){super(parent,invokingState)}occurrenceUsagePrefix(){return this.getRuleContext(0,OccurrenceUsagePrefixContext)}VIEW(){return this.getToken(SysMLv2Parser.VIEW,0)}viewBody(){return this.getRuleContext(0,ViewBodyContext)}usageDeclaration(){return this.getRuleContext(0,UsageDeclarationContext)}valuePart(){return this.getRuleContext(0,ValuePartContext)}get ruleIndex(){return SysMLv2Parser.RULE_viewUsage}enterRule(listener){listener.enterViewUsage&&listener.enterViewUsage(this)}exitRule(listener){listener.exitViewUsage&&listener.exitViewUsage(this)}accept(visitor){return visitor.visitViewUsage?visitor.visitViewUsage(this):visitor.visitChildren(this)}},ViewBodyContext=class extends ParserRuleContext{constructor(parent,invokingState){super(parent,invokingState)}SEMI(){return this.getToken(SysMLv2Parser.SEMI,0)}LBRACE(){return this.getToken(SysMLv2Parser.LBRACE,0)}RBRACE(){return this.getToken(SysMLv2Parser.RBRACE,0)}viewBodyItem(i){return i===void 0?this.getRuleContexts(ViewBodyItemContext):this.getRuleContext(i,ViewBodyItemContext)}get ruleIndex(){return SysMLv2Parser.RULE_viewBody}enterRule(listener){listener.enterViewBody&&listener.enterViewBody(this)}exitRule(listener){listener.exitViewBody&&listener.exitViewBody(this)}accept(visitor){return visitor.visitViewBody?visitor.visitViewBody(this):visitor.visitChildren(this)}},ViewBodyItemContext=class extends ParserRuleContext{constructor(parent,invokingState){super(parent,invokingState)}definitionBodyItem(){return this.getRuleContext(0,DefinitionBodyItemContext)}elementFilterMember(){return this.getRuleContext(0,ElementFilterMemberContext)}viewRenderingMember(){return this.getRuleContext(0,ViewRenderingMemberContext)}expose(){return this.getRuleContext(0,ExposeContext)}get ruleIndex(){return SysMLv2Parser.RULE_viewBodyItem}enterRule(listener){listener.enterViewBodyItem&&listener.enterViewBodyItem(this)}exitRule(listener){listener.exitViewBodyItem&&listener.exitViewBodyItem(this)}accept(visitor){return visitor.visitViewBodyItem?visitor.visitViewBodyItem(this):visitor.visitChildren(this)}},ExposeContext=class extends ParserRuleContext{constructor(parent,invokingState){super(parent,invokingState)}EXPOSE(){return this.getToken(SysMLv2Parser.EXPOSE,0)}relationshipBody(){return this.getRuleContext(0,RelationshipBodyContext)}membershipExpose(){return this.getRuleContext(0,MembershipExposeContext)}namespaceExpose(){return this.getRuleContext(0,NamespaceExposeContext)}get ruleIndex(){return SysMLv2Parser.RULE_expose}enterRule(listener){listener.enterExpose&&listener.enterExpose(this)}exitRule(listener){listener.exitExpose&&listener.exitExpose(this)}accept(visitor){return visitor.visitExpose?visitor.visitExpose(this):visitor.visitChildren(this)}},MembershipExposeContext=class extends ParserRuleContext{constructor(parent,invokingState){super(parent,invokingState)}membershipImport(){return this.getRuleContext(0,MembershipImportContext)}get ruleIndex(){return SysMLv2Parser.RULE_membershipExpose}enterRule(listener){listener.enterMembershipExpose&&listener.enterMembershipExpose(this)}exitRule(listener){listener.exitMembershipExpose&&listener.exitMembershipExpose(this)}accept(visitor){return visitor.visitMembershipExpose?visitor.visitMembershipExpose(this):visitor.visitChildren(this)}},NamespaceExposeContext=class extends ParserRuleContext{constructor(parent,invokingState){super(parent,invokingState)}namespaceImport(){return this.getRuleContext(0,NamespaceImportContext)}get ruleIndex(){return SysMLv2Parser.RULE_namespaceExpose}enterRule(listener){listener.enterNamespaceExpose&&listener.enterNamespaceExpose(this)}exitRule(listener){listener.exitNamespaceExpose&&listener.exitNamespaceExpose(this)}accept(visitor){return visitor.visitNamespaceExpose?visitor.visitNamespaceExpose(this):visitor.visitChildren(this)}},ViewpointDefinitionContext=class extends ParserRuleContext{constructor(parent,invokingState){super(parent,invokingState)}occurrenceDefinitionPrefix(){return this.getRuleContext(0,OccurrenceDefinitionPrefixContext)}VIEWPOINT(){return this.getToken(SysMLv2Parser.VIEWPOINT,0)}DEF(){return this.getToken(SysMLv2Parser.DEF,0)}definitionDeclaration(){return this.getRuleContext(0,DefinitionDeclarationContext)}requirementBody(){return this.getRuleContext(0,RequirementBodyContext)}get ruleIndex(){return SysMLv2Parser.RULE_viewpointDefinition}enterRule(listener){listener.enterViewpointDefinition&&listener.enterViewpointDefinition(this)}exitRule(listener){listener.exitViewpointDefinition&&listener.exitViewpointDefinition(this)}accept(visitor){return visitor.visitViewpointDefinition?visitor.visitViewpointDefinition(this):visitor.visitChildren(this)}},ViewpointUsageContext=class extends ParserRuleContext{constructor(parent,invokingState){super(parent,invokingState)}occurrenceUsagePrefix(){return this.getRuleContext(0,OccurrenceUsagePrefixContext)}VIEWPOINT(){return this.getToken(SysMLv2Parser.VIEWPOINT,0)}constraintUsageDeclaration(){return this.getRuleContext(0,ConstraintUsageDeclarationContext)}requirementBody(){return this.getRuleContext(0,RequirementBodyContext)}get ruleIndex(){return SysMLv2Parser.RULE_viewpointUsage}enterRule(listener){listener.enterViewpointUsage&&listener.enterViewpointUsage(this)}exitRule(listener){listener.exitViewpointUsage&&listener.exitViewpointUsage(this)}accept(visitor){return visitor.visitViewpointUsage?visitor.visitViewpointUsage(this):visitor.visitChildren(this)}},RenderingDefinitionContext=class extends ParserRuleContext{constructor(parent,invokingState){super(parent,invokingState)}occurrenceDefinitionPrefix(){return this.getRuleContext(0,OccurrenceDefinitionPrefixContext)}RENDERING(){return this.getToken(SysMLv2Parser.RENDERING,0)}DEF(){return this.getToken(SysMLv2Parser.DEF,0)}definition(){return this.getRuleContext(0,DefinitionContext)}get ruleIndex(){return SysMLv2Parser.RULE_renderingDefinition}enterRule(listener){listener.enterRenderingDefinition&&listener.enterRenderingDefinition(this)}exitRule(listener){listener.exitRenderingDefinition&&listener.exitRenderingDefinition(this)}accept(visitor){return visitor.visitRenderingDefinition?visitor.visitRenderingDefinition(this):visitor.visitChildren(this)}},RenderingUsageContext=class extends ParserRuleContext{constructor(parent,invokingState){super(parent,invokingState)}occurrenceUsagePrefix(){return this.getRuleContext(0,OccurrenceUsagePrefixContext)}RENDERING(){return this.getToken(SysMLv2Parser.RENDERING,0)}usage(){return this.getRuleContext(0,UsageContext)}get ruleIndex(){return SysMLv2Parser.RULE_renderingUsage}enterRule(listener){listener.enterRenderingUsage&&listener.enterRenderingUsage(this)}exitRule(listener){listener.exitRenderingUsage&&listener.exitRenderingUsage(this)}accept(visitor){return visitor.visitRenderingUsage?visitor.visitRenderingUsage(this):visitor.visitChildren(this)}},MetadataDefinitionContext=class extends ParserRuleContext{constructor(parent,invokingState){super(parent,invokingState)}METADATA(){return this.getToken(SysMLv2Parser.METADATA,0)}DEF(){return this.getToken(SysMLv2Parser.DEF,0)}definition(){return this.getRuleContext(0,DefinitionContext)}ABSTRACT(){return this.getToken(SysMLv2Parser.ABSTRACT,0)}definitionExtensionKeyword(i){return i===void 0?this.getRuleContexts(DefinitionExtensionKeywordContext):this.getRuleContext(i,DefinitionExtensionKeywordContext)}get ruleIndex(){return SysMLv2Parser.RULE_metadataDefinition}enterRule(listener){listener.enterMetadataDefinition&&listener.enterMetadataDefinition(this)}exitRule(listener){listener.exitMetadataDefinition&&listener.exitMetadataDefinition(this)}accept(visitor){return visitor.visitMetadataDefinition?visitor.visitMetadataDefinition(this):visitor.visitChildren(this)}},PrefixMetadataUsageContext=class extends ParserRuleContext{constructor(parent,invokingState){super(parent,invokingState)}ownedFeatureTyping(){return this.getRuleContext(0,OwnedFeatureTypingContext)}get ruleIndex(){return SysMLv2Parser.RULE_prefixMetadataUsage}enterRule(listener){listener.enterPrefixMetadataUsage&&listener.enterPrefixMetadataUsage(this)}exitRule(listener){listener.exitPrefixMetadataUsage&&listener.exitPrefixMetadataUsage(this)}accept(visitor){return visitor.visitPrefixMetadataUsage?visitor.visitPrefixMetadataUsage(this):visitor.visitChildren(this)}},MetadataUsageContext=class extends ParserRuleContext{constructor(parent,invokingState){super(parent,invokingState)}metadataUsageDeclaration(){return this.getRuleContext(0,MetadataUsageDeclarationContext)}metadataBody(){return this.getRuleContext(0,MetadataBodyContext)}AT_SIGN(){return this.getToken(SysMLv2Parser.AT_SIGN,0)}METADATA(){return this.getToken(SysMLv2Parser.METADATA,0)}usageExtensionKeyword(i){return i===void 0?this.getRuleContexts(UsageExtensionKeywordContext):this.getRuleContext(i,UsageExtensionKeywordContext)}ABOUT(){return this.getToken(SysMLv2Parser.ABOUT,0)}annotation(i){return i===void 0?this.getRuleContexts(AnnotationContext):this.getRuleContext(i,AnnotationContext)}COMMA(i){return i===void 0?this.getTokens(SysMLv2Parser.COMMA):this.getToken(SysMLv2Parser.COMMA,i)}get ruleIndex(){return SysMLv2Parser.RULE_metadataUsage}enterRule(listener){listener.enterMetadataUsage&&listener.enterMetadataUsage(this)}exitRule(listener){listener.exitMetadataUsage&&listener.exitMetadataUsage(this)}accept(visitor){return visitor.visitMetadataUsage?visitor.visitMetadataUsage(this):visitor.visitChildren(this)}},MetadataUsageDeclarationContext=class extends ParserRuleContext{constructor(parent,invokingState){super(parent,invokingState)}ownedFeatureTyping(){return this.getRuleContext(0,OwnedFeatureTypingContext)}COLON(){return this.getToken(SysMLv2Parser.COLON,0)}TYPED(){return this.getToken(SysMLv2Parser.TYPED,0)}BY(){return this.getToken(SysMLv2Parser.BY,0)}identification(){return this.getRuleContext(0,IdentificationContext)}get ruleIndex(){return SysMLv2Parser.RULE_metadataUsageDeclaration}enterRule(listener){listener.enterMetadataUsageDeclaration&&listener.enterMetadataUsageDeclaration(this)}exitRule(listener){listener.exitMetadataUsageDeclaration&&listener.exitMetadataUsageDeclaration(this)}accept(visitor){return visitor.visitMetadataUsageDeclaration?visitor.visitMetadataUsageDeclaration(this):visitor.visitChildren(this)}},MetadataBodyUsageMemberContext=class extends ParserRuleContext{constructor(parent,invokingState){super(parent,invokingState)}metadataBodyUsage(){return this.getRuleContext(0,MetadataBodyUsageContext)}get ruleIndex(){return SysMLv2Parser.RULE_metadataBodyUsageMember}enterRule(listener){listener.enterMetadataBodyUsageMember&&listener.enterMetadataBodyUsageMember(this)}exitRule(listener){listener.exitMetadataBodyUsageMember&&listener.exitMetadataBodyUsageMember(this)}accept(visitor){return visitor.visitMetadataBodyUsageMember?visitor.visitMetadataBodyUsageMember(this):visitor.visitChildren(this)}},MetadataBodyUsageContext=class extends ParserRuleContext{constructor(parent,invokingState){super(parent,invokingState)}ownedRedefinition(){return this.getRuleContext(0,OwnedRedefinitionContext)}metadataBody(){return this.getRuleContext(0,MetadataBodyContext)}REF(){return this.getToken(SysMLv2Parser.REF,0)}featureSpecializationPart(){return this.getRuleContext(0,FeatureSpecializationPartContext)}valuePart(){return this.getRuleContext(0,ValuePartContext)}COLON_GT_GT(){return this.getToken(SysMLv2Parser.COLON_GT_GT,0)}REDEFINES(){return this.getToken(SysMLv2Parser.REDEFINES,0)}get ruleIndex(){return SysMLv2Parser.RULE_metadataBodyUsage}enterRule(listener){listener.enterMetadataBodyUsage&&listener.enterMetadataBodyUsage(this)}exitRule(listener){listener.exitMetadataBodyUsage&&listener.exitMetadataBodyUsage(this)}accept(visitor){return visitor.visitMetadataBodyUsage?visitor.visitMetadataBodyUsage(this):visitor.visitChildren(this)}},ExtendedDefinitionContext=class extends ParserRuleContext{constructor(parent,invokingState){super(parent,invokingState)}DEF(){return this.getToken(SysMLv2Parser.DEF,0)}definition(){return this.getRuleContext(0,DefinitionContext)}basicDefinitionPrefix(){return this.getRuleContext(0,BasicDefinitionPrefixContext)}definitionExtensionKeyword(i){return i===void 0?this.getRuleContexts(DefinitionExtensionKeywordContext):this.getRuleContext(i,DefinitionExtensionKeywordContext)}get ruleIndex(){return SysMLv2Parser.RULE_extendedDefinition}enterRule(listener){listener.enterExtendedDefinition&&listener.enterExtendedDefinition(this)}exitRule(listener){listener.exitExtendedDefinition&&listener.exitExtendedDefinition(this)}accept(visitor){return visitor.visitExtendedDefinition?visitor.visitExtendedDefinition(this):visitor.visitChildren(this)}},ExtendedUsageContext=class extends ParserRuleContext{constructor(parent,invokingState){super(parent,invokingState)}unextendedUsagePrefix(){return this.getRuleContext(0,UnextendedUsagePrefixContext)}usage(){return this.getRuleContext(0,UsageContext)}usageExtensionKeyword(i){return i===void 0?this.getRuleContexts(UsageExtensionKeywordContext):this.getRuleContext(i,UsageExtensionKeywordContext)}get ruleIndex(){return SysMLv2Parser.RULE_extendedUsage}enterRule(listener){listener.enterExtendedUsage&&listener.enterExtendedUsage(this)}exitRule(listener){listener.exitExtendedUsage&&listener.exitExtendedUsage(this)}accept(visitor){return visitor.visitExtendedUsage?visitor.visitExtendedUsage(this):visitor.visitChildren(this)}},FilterPackageImportDeclarationContext=class extends ParserRuleContext{constructor(parent,invokingState){super(parent,invokingState)}membershipImport(){return this.getRuleContext(0,MembershipImportContext)}namespaceImportDirect(){return this.getRuleContext(0,NamespaceImportDirectContext)}get ruleIndex(){return SysMLv2Parser.RULE_filterPackageImportDeclaration}enterRule(listener){listener.enterFilterPackageImportDeclaration&&listener.enterFilterPackageImportDeclaration(this)}exitRule(listener){listener.exitFilterPackageImportDeclaration&&listener.exitFilterPackageImportDeclaration(this)}accept(visitor){return visitor.visitFilterPackageImportDeclaration?visitor.visitFilterPackageImportDeclaration(this):visitor.visitChildren(this)}},NamespaceImportDirectContext=class extends ParserRuleContext{constructor(parent,invokingState){super(parent,invokingState)}qualifiedName(){return this.getRuleContext(0,QualifiedNameContext)}COLON_COLON(i){return i===void 0?this.getTokens(SysMLv2Parser.COLON_COLON):this.getToken(SysMLv2Parser.COLON_COLON,i)}STAR(){return this.getToken(SysMLv2Parser.STAR,0)}STAR_STAR(){return this.getToken(SysMLv2Parser.STAR_STAR,0)}get ruleIndex(){return SysMLv2Parser.RULE_namespaceImportDirect}enterRule(listener){listener.enterNamespaceImportDirect&&listener.enterNamespaceImportDirect(this)}exitRule(listener){listener.exitNamespaceImportDirect&&listener.exitNamespaceImportDirect(this)}accept(visitor){return visitor.visitNamespaceImportDirect?visitor.visitNamespaceImportDirect(this):visitor.visitChildren(this)}},CalculationUsageDeclarationContext=class extends ParserRuleContext{constructor(parent,invokingState){super(parent,invokingState)}usageDeclaration(){return this.getRuleContext(0,UsageDeclarationContext)}valuePart(){return this.getRuleContext(0,ValuePartContext)}get ruleIndex(){return SysMLv2Parser.RULE_calculationUsageDeclaration}enterRule(listener){listener.enterCalculationUsageDeclaration&&listener.enterCalculationUsageDeclaration(this)}exitRule(listener){listener.exitCalculationUsageDeclaration&&listener.exitCalculationUsageDeclaration(this)}accept(visitor){return visitor.visitCalculationUsageDeclaration?visitor.visitCalculationUsageDeclaration(this):visitor.visitChildren(this)}},EmptyActionUsage_Context=class extends ParserRuleContext{constructor(parent,invokingState){super(parent,invokingState)}get ruleIndex(){return SysMLv2Parser.RULE_emptyActionUsage_}enterRule(listener){listener.enterEmptyActionUsage_&&listener.enterEmptyActionUsage_(this)}exitRule(listener){listener.exitEmptyActionUsage_&&listener.exitEmptyActionUsage_(this)}accept(visitor){return visitor.visitEmptyActionUsage_?visitor.visitEmptyActionUsage_(this):visitor.visitChildren(this)}},EmptyFeature_Context=class extends ParserRuleContext{constructor(parent,invokingState){super(parent,invokingState)}get ruleIndex(){return SysMLv2Parser.RULE_emptyFeature_}enterRule(listener){listener.enterEmptyFeature_&&listener.enterEmptyFeature_(this)}exitRule(listener){listener.exitEmptyFeature_&&listener.exitEmptyFeature_(this)}accept(visitor){return visitor.visitEmptyFeature_?visitor.visitEmptyFeature_(this):visitor.visitChildren(this)}},EmptyMultiplicity_Context=class extends ParserRuleContext{constructor(parent,invokingState){super(parent,invokingState)}get ruleIndex(){return SysMLv2Parser.RULE_emptyMultiplicity_}enterRule(listener){listener.enterEmptyMultiplicity_&&listener.enterEmptyMultiplicity_(this)}exitRule(listener){listener.exitEmptyMultiplicity_&&listener.exitEmptyMultiplicity_(this)}accept(visitor){return visitor.visitEmptyMultiplicity_?visitor.visitEmptyMultiplicity_(this):visitor.visitChildren(this)}},EmptyUsage_Context=class extends ParserRuleContext{constructor(parent,invokingState){super(parent,invokingState)}get ruleIndex(){return SysMLv2Parser.RULE_emptyUsage_}enterRule(listener){listener.enterEmptyUsage_&&listener.enterEmptyUsage_(this)}exitRule(listener){listener.exitEmptyUsage_&&listener.exitEmptyUsage_(this)}accept(visitor){return visitor.visitEmptyUsage_?visitor.visitEmptyUsage_(this):visitor.visitChildren(this)}},FilterPackageImportContext=class extends ParserRuleContext{constructor(parent,invokingState){super(parent,invokingState)}IDENTIFIER(){return this.getToken(SysMLv2Parser.IDENTIFIER,0)}get ruleIndex(){return SysMLv2Parser.RULE_filterPackageImport}enterRule(listener){listener.enterFilterPackageImport&&listener.enterFilterPackageImport(this)}exitRule(listener){listener.exitFilterPackageImport&&listener.exitFilterPackageImport(this)}accept(visitor){return visitor.visitFilterPackageImport?visitor.visitFilterPackageImport(this):visitor.visitChildren(this)}},NonFeatureChainPrimaryExpressionContext=class extends ParserRuleContext{constructor(parent,invokingState){super(parent,invokingState)}IDENTIFIER(){return this.getToken(SysMLv2Parser.IDENTIFIER,0)}get ruleIndex(){return SysMLv2Parser.RULE_nonFeatureChainPrimaryExpression}enterRule(listener){listener.enterNonFeatureChainPrimaryExpression&&listener.enterNonFeatureChainPrimaryExpression(this)}exitRule(listener){listener.exitNonFeatureChainPrimaryExpression&&listener.exitNonFeatureChainPrimaryExpression(this)}accept(visitor){return visitor.visitNonFeatureChainPrimaryExpression?visitor.visitNonFeatureChainPrimaryExpression(this):visitor.visitChildren(this)}},PortConjugationContext=class extends ParserRuleContext{constructor(parent,invokingState){super(parent,invokingState)}get ruleIndex(){return SysMLv2Parser.RULE_portConjugation}enterRule(listener){listener.enterPortConjugation&&listener.enterPortConjugation(this)}exitRule(listener){listener.exitPortConjugation&&listener.exitPortConjugation(this)}accept(visitor){return visitor.visitPortConjugation?visitor.visitPortConjugation(this):visitor.visitChildren(this)}};var DFA_SNAPSHOT=[{d:5,s0:0,s:[{e:[0,1,14,2,15,2,17,3,18,4,20,5,21,6,24,7,25,8,26,9,27,10]},{e:[13,11,54,12,78,13,79,14,101,15,113,16,153,17,155,18,169,19,174,20,179,21,180,22,187,23,188,21,190,23,197,24,198,25,199,26,200,27,201,28,203,29,204,26,206,30,207,23,209,23,210,31,212,32,213,33,215,34,217,35]},{e:[198,25,213,33]},{e:[180,36,187,23,198,25,199,37,203,38,206,30,209,23,212,39,213,33,217,35]},{e:[198,25,199,37,200,40,203,38,206,30,217,35]},{e:[13,11,54,12,153,17,187,41,190,41,200,40,206,30,210,31,212,39,215,34,217,35]},{e:[13,11,153,17,174,20,179,42,188,42,198,25,203,38,204,37,212,39,217,35]},{e:[179,42,217,35]},{e:[187,41,188,42,190,41,198,25,206,30]},{e:[206,30]},{e:[188,42]},{e:[],a:1,p:1},{e:[],a:1,p:2},{e:[],a:1,p:2},{e:[],a:1,p:1},{e:[],a:1,p:1},{e:[],a:1,p:1},{e:[],a:1,p:2},{e:[],a:1,p:2},{e:[],a:1,p:2},{e:[],a:1,p:1},{e:[],a:1,p:1},{e:[],a:1,p:1},{e:[],a:1,p:1},{e:[],a:1,p:1},{e:[],a:1,p:2},{e:[],a:1,p:1},{e:[],a:1,p:1},{e:[],a:1,p:2},{e:[],a:1,p:1},{e:[],a:1,p:2},{e:[],a:1,p:2},{e:[],a:1,p:1},{e:[],a:1,p:2},{e:[],a:1,p:2},{e:[],a:1,p:2},{e:[],a:1,p:2},{e:[],a:1,p:2},{e:[],a:1,p:2},{e:[],a:1,p:2},{e:[],a:1,p:2},{e:[],a:1,p:2},{e:[],a:1,p:2}],prec:1,precEdges:[0,1,14,2,15,2,17,3,18,4,20,5,21,6,24,7,25,8,26,9,27,10]},{d:7,s0:0,s:[{e:[13,1,54,2,78,3,79,4,101,5,153,6,169,7,179,8,180,9,187,10,188,8,190,10,197,11,198,12,199,13,200,14,201,15,203,16,204,13,206,17,207,10,209,10,210,18,213,19,217,20]},{e:[],a:1,p:3},{e:[],a:1,p:3},{e:[],a:1,p:3},{e:[],a:1,p:3},{e:[],a:1,p:3},{e:[],a:1,p:3},{e:[],a:1,p:3},{e:[],a:1,p:3},{e:[],a:1,p:3},{e:[],a:1,p:3},{e:[219,21]},{e:[],a:1,p:3},{e:[],a:1,p:3},{e:[],a:1,p:3},{e:[],a:1,p:3},{e:[219,22]},{e:[],a:1,p:3},{e:[],a:1,p:3},{e:[],a:1,p:3},{e:[],a:1,p:3},{e:[184,23,198,24,201,25,203,26]},{e:[],a:1,p:3},{e:[219,21]},{e:[],a:1,p:1,r:1},{e:[219,27]},{e:[219,28]},{e:[198,24,201,25,203,29]},{e:[197,30,198,24,201,25,203,31]},{e:[219,32]},{e:[219,33]},{e:[219,28]},{e:[198,24,201,25,203,34]},{e:[198,35]},{e:[219,32]},{e:[198,24]}]},{d:9,s0:0,s:[{e:[65,1,106,2,109,3,157,1,197,4,219,5,221,6,222,7,223,8]},{e:[],a:1,p:2},{e:[],a:1,p:4},{e:[],a:1,p:1},{e:[197,9,202,10,219,11,222,12]},{e:[],a:1,p:3},{e:[],a:1,p:2},{e:[],a:1,p:2},{e:[],a:1,p:2},{e:[],a:1,p:6},{e:[],a:1,p:6},{e:[],a:1,p:6},{e:[],a:1,p:6}]},{d:11,s0:0,s:[{e:[198,1,219,2]},{e:[],a:1,p:3},{e:[184,3,198,4,201,5,203,6,208,7]},{e:[219,2]},{e:[],a:1,p:1},{e:[],a:1,p:1},{e:[],a:1,p:1},{e:[],a:1,p:2}]},{d:15,s0:0,s:[{e:[207,1,219,2,220,2]},{e:[219,3,220,3]},{e:[],a:1,p:3},{e:[209,4]},{e:[219,5]},{e:[186,6,205,7,206,8,215,9]},{e:[219,10]},{e:[219,11]},{e:[103,12,118,13,217,14]},{e:[55,15]},{e:[215,16]},{e:[215,17]},{e:[46,18]},{e:[46,19]},{e:[116,20,118,21]},{e:[224,22]},{e:[177,23]},{e:[20,24,55,25,126,26]},{e:[207,27]},{e:[219,28]},{e:[],a:1,p:1,r:1},{e:[],a:1,p:1,r:1},{e:[20,29]},{e:[219,30]},{e:[126,31,177,31]},{e:[224,32]},{e:[219,33]},{e:[219,34]},{e:[206,35,215,36]},{e:[219,37]},{e:[208,38]},{e:[219,39]},{e:[20,24]},{e:[208,40]},{e:[209,41]},{e:[12,42,26,43,33,44,103,45,118,13,163,46,166,47,167,48,170,49,171,50]},{e:[20,51,217,35]},{e:[186,52]},{e:[219,53]},{e:[47,54,208,55]},{e:[222,56,223,56]},{e:[219,57]},{e:[46,58]},{e:[46,59]},{e:[46,60]},{e:[46,18]},{e:[27,61]},{e:[],a:1,p:1,r:1},{e:[46,62]},{e:[46,63]},{e:[46,64]},{e:[219,65]},{e:[219,66]},{e:[101,67]},{e:[219,68]},{e:[219,68,222,69]},{e:[206,70,212,71]},{e:[206,35]},{e:[219,72]},{e:[219,73]},{e:[219,74]},{e:[46,75]},{e:[219,76]},{e:[219,77]},{e:[219,78]},{e:[205,79]},{e:[184,80,206,81]},{e:[219,82]},{e:[203,83]},{e:[206,84,212,85]},{e:[18,86]},{e:[219,87]},{e:[206,35]},{e:[215,88]},{e:[215,89]},{e:[219,90]},{e:[206,35]},{e:[186,91,206,35,215,92]},{e:[206,35,215,93]},{e:[219,94]},{e:[219,66]},{e:[134,95]},{e:[184,96,206,97]},{e:[219,98]},{e:[18,86,20,99,217,100]},{e:[219,101]},{e:[],a:1,p:1},{e:[204,102]},{e:[20,103,42,104,81,105,135,106,217,35]},{e:[55,107,141,108,147,109,217,35]},{e:[215,110]},{e:[219,111]},{e:[69,112,130,113,217,35]},{e:[74,114,217,35]},{e:[206,36]},{e:[207,115]},{e:[219,82]},{e:[217,116]},{e:[200,117,206,84]},{e:[126,31,219,118]},{e:[134,119]},{e:[184,120,213,69]},{e:[219,121]},{e:[219,122]},{e:[215,123]},{e:[219,124]},{e:[205,125,219,126]},{e:[224,89]},{e:[219,127]},{e:[206,89]},{e:[6,128,15,129,82,130,110,131,147,132]},{e:[215,92]},{e:[211,133]},{e:[219,134]},{e:[33,135]},{e:[220,136]},{e:[111,137,217,14]},{e:[219,138]},{e:[186,139]},{e:[207,140,219,141]},{e:[220,101]},{e:[213,56]},{e:[205,142,208,143]},{e:[219,144]},{e:[205,145]},{e:[219,146]},{e:[205,147]},{e:[205,148]},{e:[219,149]},{e:[42,150]},{e:[163,151]},{e:[219,152]},{e:[219,153]},{e:[219,154]},{e:[206,92]},{e:[219,155]},{e:[209,156]},{e:[219,157]},{e:[206,84]},{e:[219,158]},{e:[219,159]},{e:[205,160,206,161]},{e:[219,162]},{e:[219,163]},{e:[188,164]},{e:[219,165]},{e:[206,88]},{e:[219,166]},{e:[219,167]},{e:[206,110,212,168]},{e:[215,169]},{e:[27,170]},{e:[215,171]},{e:[205,172]},{e:[184,173,206,92]},{e:[205,174]},{e:[219,175]},{e:[212,176]},{e:[184,177,206,84,208,55]},{e:[209,178]},{e:[219,179]},{e:[134,119,217,180]},{e:[206,88]},{e:[200,181]},{e:[197,182,219,183]},{e:[206,88]},{e:[206,88,208,184]},{e:[206,89]},{e:[222,185]},{e:[219,186]},{e:[219,187]},{e:[55,188,217,110]},{e:[219,189]},{e:[219,154]},{e:[219,190]},{e:[205,191]},{e:[199,192]},{e:[219,158]},{e:[219,141]},{e:[215,193]},{e:[],a:1,p:1,r:1},{e:[219,194]},{e:[197,195]},{e:[217,196]},{e:[219,197,222,198]},{e:[182,199]},{e:[179,200]},{e:[186,201]},{e:[224,171]},{e:[206,110]},{e:[206,93]},{e:[219,202]},{e:[213,203]},{e:[120,204,147,205,217,161]},{e:[199,181,206,88]},{e:[222,206]},{e:[135,106]},{e:[199,207,203,208]},{e:[199,207,204,207,206,88]},{e:[222,209]},{e:[109,210,219,211]},{e:[219,212]},{e:[215,213]},{e:[107,214]},{e:[219,215]},{e:[219,216]},{e:[198,217,204,218]},{e:[219,219,223,198]},{e:[219,220]},{e:[213,221]},{e:[174,200,217,222]},{e:[179,200]},{e:[212,223]},{e:[18,224,126,225,211,226,217,227]},{e:[206,228]},{e:[215,229]},{e:[47,230]},{e:[198,231,199,232]},{e:[222,206]},{e:[199,207,206,88]},{e:[199,207]},{e:[206,110]},{e:[82,130,217,35]},{e:[222,233]},{e:[42,234]},{e:[219,235]},{e:[219,236]},{e:[134,95,217,237]},{e:[103,238]},{e:[115,239,217,193]},{e:[219,240]},{e:[204,164]},{e:[197,241,219,242]},{e:[182,243]},{e:[215,244]},{e:[208,245]},{e:[215,246]},{e:[217,247]},{e:[46,248]},{e:[219,249]},{e:[203,250]},{e:[202,251]},{e:[180,232,199,232]},{e:[222,252]},{e:[219,253]},{e:[222,254,223,254]},{e:[217,213,219,255]},{e:[134,256]},{e:[207,257]},{e:[205,258]},{e:[219,259]},{e:[222,260]},{e:[213,261]},{e:[187,262]},{e:[206,213,212,263]},{e:[208,264]},{e:[],a:1,p:1,r:1},{e:[219,265]},{e:[219,266]},{e:[206,193]},{e:[198,217]},{e:[206,222]},{e:[222,267]},{e:[219,268]},{e:[219,269,221,270]},{e:[209,271]},{e:[206,229]},{e:[212,272,217,213]},{e:[204,273]},{e:[184,274,206,246]},{e:[206,246]},{e:[219,275]},{e:[219,276]},{e:[219,277]},{e:[219,269]},{e:[186,278]},{e:[213,267]},{e:[213,254]},{e:[219,279]},{e:[215,280]},{e:[177,281,217,282]},{e:[219,283]},{e:[111,284,217,285]},{e:[208,286]},{e:[219,157]},{e:[],a:1,p:1,r:1},{e:[219,287]},{e:[101,288]},{e:[219,289]},{e:[184,290,206,280]},{e:[219,289]}]},{d:18,s0:0,s:[{e:[206,1]},{e:[],a:1,p:1}]},{d:23,s0:0,s:[{e:[75,1,219,2]},{e:[],a:1,p:1},{e:[155,3]},{e:[],a:1,p:2}]},{d:27,s0:0,s:[{e:[49,1,193,2]},{e:[75,3,219,4]},{e:[219,5]},{e:[219,6]},{e:[155,7]},{e:[49,1]},{e:[155,7]},{e:[219,8]},{e:[184,9,206,10]},{e:[219,8]},{e:[],a:1,p:1,r:1}]},{d:49,s0:0,s:[{e:[219,1,220,1]},{e:[2,2,4,3,10,4,13,5,20,6,25,7,37,8,38,9,47,10,49,11,54,12,75,13,78,14,79,15,101,16,113,17,118,18,126,19,149,20,153,21,155,22,169,23,176,24,177,19,179,25,180,26,184,27,185,28,186,29,187,30,188,25,190,30,197,31,198,32,199,33,200,34,201,35,203,36,204,37,205,38,206,39,207,40,208,41,209,30,210,42,212,43,213,44,215,45,217,46,219,47,224,48]},{e:[],a:1,p:2},{e:[],a:1,p:2},{e:[],a:1,p:2},{e:[],a:1,p:2},{e:[],a:1,p:2},{e:[],a:1,p:2},{e:[],a:1,p:2},{e:[],a:1,p:2},{e:[],a:1,p:2},{e:[],a:1,p:2},{e:[],a:1,p:2},{e:[],a:1,p:2},{e:[],a:1,p:2},{e:[],a:1,p:2},{e:[],a:1,p:2},{e:[],a:1,p:2},{e:[],a:1,p:2},{e:[],a:1,p:2},{e:[],a:1,p:2},{e:[],a:1,p:2},{e:[],a:1,p:2},{e:[],a:1,p:2},{e:[],a:1,p:2},{e:[],a:1,p:2},{e:[],a:1,p:2},{e:[180,49,199,50,219,51,220,51]},{e:[],a:1,p:2},{e:[],a:1,p:2},{e:[],a:1,p:2},{e:[],a:1,p:2},{e:[],a:1,p:2},{e:[],a:1,p:2},{e:[],a:1,p:2},{e:[],a:1,p:2},{e:[],a:1,p:2},{e:[],a:1,p:2},{e:[],a:1,p:2},{e:[],a:1,p:2},{e:[],a:1,p:2},{e:[],a:1,p:2},{e:[],a:1,p:2},{e:[],a:1,p:2},{e:[],a:1,p:2},{e:[],a:1,p:2},{e:[],a:1,p:2},{e:[],a:1,p:2},{e:[],a:1,p:2},{e:[],a:1,p:2},{e:[],a:1,p:2},{e:[],a:1,p:1}]},{d:52,s0:0,s:[{e:[219,1]},{e:[184,2]},{e:[180,3,199,4,219,5]},{e:[206,6]},{e:[],a:1,p:2},{e:[184,2,206,6]},{e:[],a:1,p:1}]},{d:55,s0:0,s:[{e:[219,1]},{e:[184,2]},{e:[199,3,219,4]},{e:[206,5]},{e:[184,2]},{e:[],a:1,p:1}]},{d:118,s0:0,s:[{e:[193,1,219,2]},{e:[],a:1,p:2},{e:[206,3]},{e:[],a:1,p:2}]},{d:119,s0:0,s:[{e:[193,1,219,2]},{e:[],a:1,p:2},{e:[205,3,206,4]},{e:[219,5]},{e:[],a:1,p:2},{e:[],a:1,p:1,r:1}]},{d:121,s0:0,s:[{e:[75,1,205,2,206,3]},{e:[],a:1,p:3},{e:[219,4]},{e:[],a:1,p:3},{e:[206,5,212,6]},{e:[57,7,217,8]},{e:[222,9]},{e:[219,10]},{e:[11,11,120,12,217,13]},{e:[213,14]},{e:[205,15]},{e:[],a:1,p:1,r:1},{e:[],a:1,p:1,r:1},{e:[],a:1,p:1,r:1},{e:[206,5]},{e:[219,16]},{e:[212,17]},{e:[222,18]},{e:[213,19]},{e:[206,20]},{e:[217,21]},{e:[120,12,217,13]}]},{d:129,s0:0,s:[{e:[10,1,37,2,47,3,126,4,149,5,177,4,185,6,186,5,205,7,206,8,208,6,212,9,215,10]},{e:[],a:1,p:2},{e:[],a:1,p:2},{e:[],a:1,p:2},{e:[219,11]},{e:[219,12]},{e:[],a:1,p:2},{e:[219,13]},{e:[],a:1,p:2},{e:[],a:1,p:2},{e:[],a:1,p:2},{e:[],a:1,p:1,r:1},{e:[],a:1,p:1,r:1},{e:[],a:1,p:1,r:1}]},{d:130,s0:0,s:[{e:[10,1,37,2,47,3,185,4,206,5,208,4,212,6,215,7]},{e:[],a:1,p:2},{e:[],a:1,p:2},{e:[],a:1,p:2},{e:[],a:1,p:2},{e:[],a:1,p:2},{e:[199,8,222,8]},{e:[],a:1,p:2},{e:[182,9,213,10]},{e:[199,11,222,11]},{e:[37,12,107,13,114,14,186,15,205,16,206,17,208,18,215,19]},{e:[213,10]},{e:[],a:1,p:1},{e:[114,20,206,17]},{e:[206,17]},{e:[219,21]},{e:[219,22]},{e:[5,23,15,24,20,25,57,26,82,27,86,28,110,29,115,30,118,31,120,32,128,33,135,34,217,35]},{e:[219,36]},{e:[20,37,57,38,118,39,166,40,177,41]},{e:[206,17]},{e:[215,42]},{e:[206,43,215,42]},{e:[],a:1,p:1,r:1},{e:[42,44]},{e:[219,45]},{e:[219,46]},{e:[163,47]},{e:[219,48]},{e:[],a:1,p:1,r:1},{e:[92,49]},{e:[46,50,219,51]},{e:[219,52]},{e:[92,49]},{e:[219,53]},{e:[5,54,38,55,59,56,86,57,92,58,118,59,120,60,134,61,153,62,163,63,193,64,217,65]},{e:[203,66,204,67]},{e:[126,68,177,68,219,69]},{e:[219,70]},{e:[219,71]},{e:[20,37]},{e:[219,72]},{e:[20,37,219,73]},{e:[15,24]},{e:[215,74,219,75]},{e:[126,76,186,77,205,78,206,79]},{e:[205,80]},{e:[27,81]},{e:[205,82]},{e:[219,83]},{e:[219,84]},{e:[149,85,186,85,205,86,206,87,215,88]},{e:[186,89,205,90]},{e:[205,91]},{e:[46,92]},{e:[],a:1,p:1,r:1},{e:[],a:1,p:1,r:1},{e:[],a:1,p:1,r:1},{e:[],a:1,p:1,r:1},{e:[],a:1,p:1,r:1},{e:[],a:1,p:1,r:1},{e:[],a:1,p:1,r:1},{e:[],a:1,p:1,r:1},{e:[],a:1,p:1,r:1},{e:[219,93]},{e:[],a:1,p:1,r:1},{e:[219,94]},{e:[219,95]},{e:[219,96]},{e:[205,97]},{e:[205,98]},{e:[206,99]},{e:[208,100]},{e:[177,101]},{e:[197,102,219,103]},{e:[215,74]},{e:[219,104]},{e:[219,105]},{e:[219,106]},{e:[20,107,22,108,37,109,42,110,86,111,136,112,217,113]},{e:[219,114]},{e:[219,115]},{e:[219,116]},{e:[205,117]},{e:[206,118]},{e:[219,119]},{e:[219,120]},{e:[10,121,20,107,22,108,37,109,86,111,110,29,118,122,119,123,120,124,136,112,217,125]},{e:[5,126,20,127,22,128,37,129,57,130,86,131,118,132,119,133,120,134,128,135,136,136,217,87]},{e:[219,137]},{e:[218,138,219,139]},{e:[219,140]},{e:[],a:1,p:1,r:1},{e:[],a:1,p:1,r:1},{e:[206,17]},{e:[206,17]},{e:[186,141,206,142,208,143]},{e:[219,144]},{e:[219,145]},{e:[217,146]},{e:[197,147,222,148]},{e:[219,149]},{e:[219,150]},{e:[188,151,203,152]},{e:[208,153]},{e:[184,154,212,155]},{e:[206,79,208,153,212,155]},{e:[219,45]},{e:[219,156]},{e:[219,157]},{e:[219,158]},{e:[219,48]},{e:[219,159]},{e:[],a:1,p:1,r:1},{e:[212,160]},{e:[186,161]},{e:[37,162]},{e:[219,163]},{e:[33,164]},{e:[206,87,212,165,215,88]},{e:[177,166,206,87,212,165,215,88]},{e:[219,167]},{e:[46,168,219,51]},{e:[5,169]},{e:[219,52]},{e:[],a:1,p:1,r:1},{e:[219,170]},{e:[126,171,219,172]},{e:[219,173]},{e:[219,174]},{e:[219,175]},{e:[219,176]},{e:[219,177]},{e:[219,178]},{e:[219,179]},{e:[92,180]},{e:[219,181]},{e:[212,182]},{e:[219,183]},{e:[206,87,212,182]},{e:[206,184]},{e:[219,185]},{e:[20,186,217,187]},{e:[222,188,223,188]},{e:[215,189]},{e:[212,190]},{e:[217,191]},{e:[219,192]},{e:[206,193,212,194]},{e:[208,100]},{e:[188,195]},{e:[197,196,219,197]},{e:[219,198]},{e:[219,199,222,200,223,200]},{e:[219,105]},{e:[199,201,222,201]},{e:[203,202]},{e:[203,203]},{e:[215,204]},{e:[25,205,184,206]},{e:[222,207]},{e:[219,208]},{e:[219,209]},{e:[206,87,212,210]},{e:[220,211]},{e:[199,212,222,212]},{e:[219,213]},{e:[184,214]},{e:[219,215]},{e:[219,216]},{e:[206,88]},{e:[219,217]},{e:[186,218,205,219,206,88]},{e:[208,220]},{e:[203,221]},{e:[205,222]},{e:[205,223]},{e:[126,224,205,225,212,226,215,227]},{e:[203,228]},{e:[205,229]},{e:[126,230]},{e:[25,231,184,232]},{e:[222,233]},{e:[206,87]},{e:[217,234]},{e:[184,235,208,143]},{e:[177,68]},{e:[20,107,120,124,217,236]},{e:[206,142,212,237]},{e:[165,238,217,142]},{e:[222,239]},{e:[],a:1,p:1,r:1},{e:[201,240]},{e:[217,241,219,73]},{e:[219,242]},{e:[219,243]},{e:[219,244]},{e:[13,151,184,245,188,151,203,246,217,247]},{e:[187,151,217,247]},{e:[204,248]},{e:[206,79,212,249]},{e:[182,250,213,251]},{e:[219,252]},{e:[219,253]},{e:[219,254]},{e:[219,255]},{e:[219,159]},{e:[182,256,213,257]},{e:[212,258]},{e:[203,259]},{e:[222,260]},{e:[215,261]},{e:[182,262,213,263]},{e:[215,88]},{e:[219,264]},{e:[186,265]},{e:[206,247]},{e:[208,266]},{e:[219,267]},{e:[219,268]},{e:[219,269]},{e:[219,270]},{e:[219,271]},{e:[219,272]},{e:[219,273]},{e:[219,274]},{e:[222,275]},{e:[5,276,20,277,61,278,118,279,120,280,211,281,217,88]},{e:[219,282]},{e:[218,283,219,284]},{e:[219,285]},{e:[219,286]},{e:[219,181]},{e:[213,287]},{e:[12,288]},{e:[219,185]},{e:[],a:1,p:1,r:1},{e:[219,289]},{e:[20,290]},{e:[213,291]},{e:[219,292]},{e:[20,25,118,31,217,293]},{e:[213,148]},{e:[13,195,184,294,188,195,198,295]},{e:[188,296]},{e:[219,197]},{e:[219,198]},{e:[15,24,42,110,61,297,92,298,118,122,143,299,170,300,171,301,217,125]},{e:[219,302]},{e:[219,303]},{e:[199,304,222,304]},{e:[206,79,208,153]},{e:[203,202,208,305]},{e:[155,306,203,203]},{e:[187,307,207,307,209,307]},{e:[203,308,215,309]},{e:[199,310]},{e:[206,311]},{e:[222,312]},{e:[219,313]},{e:[182,314]},{e:[55,315,141,316,217,247]},{e:[199,317,222,317]},{e:[206,87,215,88]},{e:[203,318]},{e:[219,319]},{e:[222,320,223,320]},{e:[184,321,208,266]},{e:[208,266]},{e:[203,322]},{e:[155,323]},{e:[212,324]},{e:[37,325]},{e:[215,227]},{e:[206,88,212,326,215,227]},{e:[213,327]},{e:[219,328]},{e:[126,329,177,329,219,330]},{e:[143,331]},{e:[219,332]},{e:[219,333]},{e:[219,334]},{e:[126,335,206,88]},{e:[219,336]},{e:[206,88]},{e:[215,337]},{e:[203,338]},{e:[206,87]},{e:[],a:1,p:1,r:1},{e:[184,339,213,188]},{e:[219,340]},{e:[206,341]},{e:[198,148,201,240]},{e:[118,59]},{e:[219,243]},{e:[174,151,217,247]},{e:[219,342]},{e:[143,343]},{e:[186,344]},{e:[219,345]},{e:[46,346,219,347]},{e:[220,348]},{e:[206,79]},{e:[213,200]},{e:[213,251]},{e:[219,349]},{e:[219,350]},{e:[222,351,223,351]},{e:[219,352]},{e:[134,353,217,247]},{e:[213,257]},{e:[217,354]},{e:[182,355]},{e:[155,356]},{e:[199,357]},{e:[224,261]},{e:[219,358]},{e:[213,263]},{e:[219,359]},{e:[206,360]},{e:[206,88,212,361]},{e:[219,267]},{e:[219,362]},{e:[219,363]},{e:[222,364]},{e:[212,365]},{e:[222,366]},{e:[206,88,215,227]},{e:[206,227]},{e:[219,367]},{e:[126,368]},{e:[219,369]},{e:[126,370,177,370,205,371]},{e:[177,372,205,373]},{e:[206,227,215,374]},{e:[219,375]},{e:[206,88]},{e:[20,376,217,88]},{e:[219,377]},{e:[219,289]},{e:[205,378,206,189]},{e:[57,38,217,379]},{e:[13,296,184,380,188,296,198,295]},{e:[219,381]},{e:[219,382]},{e:[215,383]},{e:[220,384]},{e:[205,385]},{e:[215,386]},{e:[203,387,206,79]},{e:[203,388]},{e:[217,247]},{e:[215,309]},{e:[219,389]},{e:[118,59,120,60,217,65]},{e:[222,390]},{e:[219,391]},{e:[213,392]},{e:[205,393]},{e:[155,394]},{e:[118,122,166,395,170,300]},{e:[219,396]},{e:[206,88]},{e:[203,397]},{e:[213,398]},{e:[222,399]},{e:[182,400,213,401]},{e:[206,227,208,402]},{e:[219,403]},{e:[126,404]},{e:[219,405]},{e:[219,406]},{e:[219,407]},{e:[219,408]},{e:[217,227,219,409]},{e:[206,88]},{e:[126,410]},{e:[215,411]},{e:[219,412]},{e:[217,413]},{e:[219,342]},{e:[117,414,215,415]},{e:[212,416]},{e:[143,417,156,418,217,247]},{e:[215,419]},{e:[220,420]},{e:[74,421,133,422,217,247]},{e:[219,423]},{e:[219,424]},{e:[177,425]},{e:[213,426]},{e:[203,427]},{e:[206,87]},{e:[219,428]},{e:[219,429]},{e:[],a:1,p:1,r:1},{e:[213,320]},{e:[219,430]},{e:[206,88]},{e:[213,431]},{e:[222,432]},{e:[206,88,215,227]},{e:[219,433,222,434,223,434]},{e:[208,402]},{e:[219,435]},{e:[212,436]},{e:[206,227,215,437]},{e:[215,438]},{e:[206,227]},{e:[208,439]},{e:[219,440]},{e:[134,441,217,88]},{e:[206,189]},{e:[118,59]},{e:[215,415]},{e:[143,442]},{e:[222,443]},{e:[219,444]},{e:[219,445]},{e:[69,446,136,447,217,360]},{e:[215,448]},{e:[220,449]},{e:[42,450]},{e:[203,387,206,79]},{e:[203,388,206,87]},{e:[219,451]},{e:[206,247]},{e:[219,452]},{e:[206,261]},{e:[206,87]},{e:[203,397,206,88]},{e:[219,453]},{e:[213,401]},{e:[184,454,206,227]},{e:[206,227,212,455]},{e:[206,227]},{e:[222,456]},{e:[120,457,217,227]},{e:[120,458,217,227]},{e:[65,459,157,459]},{e:[208,460]},{e:[219,461]},{e:[219,462]},{e:[213,463]},{e:[206,464]},{e:[70,465,153,466]},{e:[211,467]},{e:[220,468]},{e:[63,469,130,470,217,87]},{e:[206,386]},{e:[215,471]},{e:[215,472]},{e:[206,87]},{e:[203,473]},{e:[219,433]},{e:[219,474]},{e:[213,475]},{e:[219,476]},{e:[219,477]},{e:[206,374]},{e:[222,478]},{e:[177,479]},{e:[206,480,215,481]},{e:[205,482]},{e:[143,417,156,483]},{e:[219,484]},{e:[219,485]},{e:[219,486]},{e:[206,419]},{e:[219,487]},{e:[219,488]},{e:[55,489,217,386]},{e:[20,490,120,491,147,492,217,309]},{e:[219,493]},{e:[213,434]},{e:[206,227]},{e:[177,494,205,495]},{e:[177,496]},{e:[206,337,212,497]},{e:[219,498]},{e:[143,442,217,247]},{e:[54,499,58,500,143,501,156,502,217,480]},{e:[219,503]},{e:[219,445]},{e:[4,504]},{e:[206,383]},{e:[184,505,206,419]},{e:[184,506]},{e:[184,507,206,448]},{e:[224,471]},{e:[126,508]},{e:[219,509]},{e:[219,510]},{e:[155,511]},{e:[219,512]},{e:[219,513]},{e:[219,514]},{e:[219,515]},{e:[215,516]},{e:[219,517]},{e:[5,518]},{e:[219,519]},{e:[219,520,220,520]},{e:[215,521]},{e:[172,522,219,523]},{e:[219,486]},{e:[180,524]},{e:[219,488]},{e:[219,525]},{e:[126,526]},{e:[126,527]},{e:[212,528]},{e:[215,529]},{e:[206,437]},{e:[212,530]},{e:[213,478]},{e:[120,531,147,532,217,411]},{e:[206,481]},{e:[219,533]},{e:[206,534,215,535]},{e:[70,536,153,537]},{e:[217,87,219,538]},{e:[219,539]},{e:[153,466]},{e:[206,448]},{e:[208,540]},{e:[219,541]},{e:[219,542]},{e:[222,543]},{e:[120,544,217,437]},{e:[222,545]},{e:[219,546]},{e:[219,547]},{e:[206,548]},{e:[143,501,156,549]},{e:[54,550,217,534]},{e:[219,551]},{e:[219,552]},{e:[177,553]},{e:[209,554]},{e:[219,555]},{e:[208,556]},{e:[208,557]},{e:[213,558]},{e:[219,559]},{e:[213,560]},{e:[126,561]},{e:[126,562]},{e:[54,499]},{e:[219,520]},{e:[219,563]},{e:[4,564]},{e:[206,481]},{e:[219,565]},{e:[219,566]},{e:[203,567]},{e:[219,568]},{e:[219,569]},{e:[219,570]},{e:[177,571]},{e:[206,438]},{e:[219,572]},{e:[219,573]},{e:[206,535]},{e:[219,574]},{e:[208,575]},{e:[153,466]},{e:[219,576]},{e:[203,577]},{e:[203,578]},{e:[203,579]},{e:[219,580]},{e:[208,581]},{e:[208,582]},{e:[54,583,153,537]},{e:[222,584]},{e:[203,585,206,472]},{e:[219,586]},{e:[219,587]},{e:[219,588]},{e:[212,589]},{e:[219,590]},{e:[219,591]},{e:[137,592]},{e:[206,521]},{e:[219,576]},{e:[203,593,206,472]},{e:[203,594,206,472]},{e:[203,579,206,88]},{e:[222,595]},{e:[203,596]},{e:[203,597]},{e:[106,598]},{e:[219,586]},{e:[219,587]},{e:[213,599]},{e:[219,600]},{e:[219,601]},{e:[219,602]},{e:[206,529]},{e:[203,603,206,516]},{e:[203,604,206,516]},{e:[197,605]},{e:[219,600]},{e:[219,601]},{e:[198,606]},{e:[155,607]},{e:[219,608]},{e:[153,537]}]},{d:131,s0:0,s:[{e:[10,1,37,2,47,3,185,4,186,5,205,6,206,7,208,4,212,8,215,9]},{e:[],a:1,p:2},{e:[],a:1,p:2},{e:[],a:1,p:2},{e:[],a:1,p:2},{e:[219,10]},{e:[219,11]},{e:[],a:1,p:2},{e:[],a:1,p:2},{e:[],a:1,p:2},{e:[215,12]},{e:[206,13,215,12]},{e:[20,14,219,15]},{e:[15,16]},{e:[177,17]},{e:[177,18]},{e:[42,19]},{e:[219,20]},{e:[219,21]},{e:[215,22]},{e:[186,23]},{e:[208,24]},{e:[219,25]},{e:[219,26]},{e:[222,27]},{e:[188,28]},{e:[184,29,208,30]},{e:[206,31,212,32]},{e:[219,33]},{e:[219,26]},{e:[222,34]},{e:[217,35,219,15]},{e:[219,36]},{e:[13,28,184,37,188,28,203,38]},{e:[206,39,212,40]},{e:[118,41,217,42]},{e:[213,27]},{e:[219,33]},{e:[219,43]},{e:[20,44,217,45]},{e:[219,46]},{e:[219,47]},{e:[118,48]},{e:[217,49]},{e:[177,17]},{e:[20,50]},{e:[184,51,213,34]},{e:[205,52,215,53]},{e:[],a:1,p:1,r:1},{e:[217,54]},{e:[219,55]},{e:[219,46]},{e:[219,56]},{e:[20,57,22,58,37,59,86,60,118,61,119,62,120,63,128,64,136,65,217,66]},{e:[],a:1,p:1,r:1},{e:[206,67]},{e:[206,66,215,53]},{e:[126,68,219,69]},{e:[219,70]},{e:[219,71]},{e:[219,72]},{e:[219,73]},{e:[219,74]},{e:[219,75]},{e:[92,76]},{e:[219,77]},{e:[10,78,22,79,37,80,86,81,118,82]},{e:[22,79,37,80,86,81,136,83,217,84]},{e:[219,85]},{e:[186,86,205,87]},{e:[208,88]},{e:[203,89]},{e:[205,90]},{e:[205,91,212,92,215,93]},{e:[203,94]},{e:[205,95]},{e:[126,96]},{e:[25,97,184,98]},{e:[219,99]},{e:[219,100]},{e:[219,101]},{e:[219,102]},{e:[219,47]},{e:[219,103]},{e:[],a:1,p:1,r:1},{e:[208,104]},{e:[219,105]},{e:[219,106]},{e:[219,107]},{e:[219,108]},{e:[219,109]},{e:[219,110]},{e:[222,111]},{e:[5,112,20,113,61,114,118,115,120,116,211,117,217,53]},{e:[219,118]},{e:[219,119]},{e:[219,120]},{e:[219,121]},{e:[219,77]},{e:[184,122]},{e:[203,123]},{e:[203,124]},{e:[205,125]},{e:[25,126,184,127]},{e:[222,128,223,128]},{e:[184,129,208,104]},{e:[208,104]},{e:[203,130]},{e:[155,131]},{e:[37,132]},{e:[206,53,212,133,215,93]},{e:[213,134]},{e:[219,135]},{e:[126,136,177,136]},{e:[143,137]},{e:[219,138]},{e:[219,139]},{e:[219,140]},{e:[126,141,206,53]},{e:[206,53]},{e:[215,142]},{e:[203,143]},{e:[219,144]},{e:[219,145]},{e:[219,146]},{e:[219,147]},{e:[219,148]},{e:[219,103]},{e:[206,53,212,149]},{e:[219,105]},{e:[219,150]},{e:[219,151]},{e:[212,152]},{e:[222,153]},{e:[206,53,215,93]},{e:[206,93]},{e:[219,154]},{e:[219,155]},{e:[205,156]},{e:[177,157,205,158]},{e:[206,93,215,159]},{e:[219,160]},{e:[20,161,217,53]},{e:[219,162]},{e:[203,163]},{e:[203,123,208,164]},{e:[155,165,203,124]},{e:[37,166]},{e:[215,167]},{e:[219,168]},{e:[206,53]},{e:[203,169]},{e:[222,170]},{e:[182,171,213,172]},{e:[206,93,208,173]},{e:[126,174]},{e:[219,175]},{e:[219,176]},{e:[219,177]},{e:[217,93,219,178]},{e:[206,53]},{e:[126,179]},{e:[215,180]},{e:[219,181]},{e:[219,182]},{e:[219,183]},{e:[219,184]},{e:[134,185,217,49]},{e:[213,128]},{e:[219,186]},{e:[213,187]},{e:[222,188]},{e:[206,53]},{e:[219,189]},{e:[219,190]},{e:[206,93,215,191]},{e:[215,192]},{e:[206,93]},{e:[208,193]},{e:[219,194]},{e:[134,195,217,53]},{e:[155,196]},{e:[203,197,206,67]},{e:[203,198]},{e:[203,199]},{e:[219,200]},{e:[203,169,206,53]},{e:[219,201]},{e:[213,172]},{e:[184,202,206,93]},{e:[206,93]},{e:[120,203,217,93]},{e:[120,204,217,93]},{e:[65,205,157,205]},{e:[208,206]},{e:[219,207]},{e:[219,208]},{e:[219,209]},{e:[219,210]},{e:[219,211]},{e:[177,212]},{e:[203,213]},{e:[219,189]},{e:[219,214]},{e:[219,215]},{e:[206,159]},{e:[222,216]},{e:[177,217]},{e:[206,66]},{e:[203,197,206,67]},{e:[203,198,206,66]},{e:[155,218]},{e:[219,219]},{e:[219,220]},{e:[177,221,205,222]},{e:[177,223]},{e:[206,142,212,224]},{e:[219,225]},{e:[219,226]},{e:[215,227]},{e:[155,228]},{e:[219,229]},{e:[219,230]},{e:[219,231]},{e:[219,232]},{e:[215,233]},{e:[203,234]},{e:[20,235,217,167]},{e:[212,236]},{e:[215,237]},{e:[206,191]},{e:[212,238]},{e:[213,216]},{e:[120,239,147,240,217,180]},{e:[219,241]},{e:[126,242]},{e:[222,243]},{e:[120,244,217,191]},{e:[222,245]},{e:[219,246]},{e:[219,247]},{e:[206,66]},{e:[219,248]},{e:[213,249]},{e:[219,250]},{e:[213,251]},{e:[126,252]},{e:[126,253]},{e:[208,254]},{e:[219,255]},{e:[177,256]},{e:[206,192]},{e:[219,257]},{e:[219,258]},{e:[219,259]},{e:[203,260]},{e:[219,261]},{e:[208,262]},{e:[208,263]},{e:[203,264]},{e:[219,265]},{e:[212,266]},{e:[219,267]},{e:[219,268]},{e:[219,269]},{e:[203,260,206,53]},{e:[222,270]},{e:[203,271]},{e:[203,272]},{e:[203,273,206,227]},{e:[213,274]},{e:[219,275]},{e:[219,276]},{e:[219,269]},{e:[206,237]},{e:[203,277,206,233]},{e:[203,278,206,233]},{e:[219,275]},{e:[219,276]}]},{d:132,s0:0,s:[{e:[186,1,206,2,215,3]},{e:[219,4]},{e:[],a:1,p:2},{e:[],a:1,p:2},{e:[184,5,206,6]},{e:[219,4]},{e:[118,7]},{e:[219,8]},{e:[215,9]},{e:[119,10,217,11]},{e:[219,12]},{e:[118,13,217,14]},{e:[184,15,206,9]},{e:[219,8]},{e:[],a:1,p:1,r:1},{e:[219,12]}]},{d:134,s0:0,s:[{e:[206,1]},{e:[],a:1,p:2}]},{d:135,s0:0,s:[{e:[114,1,206,2]},{e:[206,3]},{e:[],a:1,p:2},{e:[128,4]},{e:[92,5]},{e:[219,6]},{e:[205,7]},{e:[219,8]},{e:[206,9]},{e:[119,10,120,11,217,12]},{e:[5,13]},{e:[219,14]},{e:[],a:1,p:1,r:1},{e:[219,15]},{e:[205,16]},{e:[206,17]},{e:[218,18,219,19]},{e:[15,20,42,21,61,22,92,23,143,24]},{e:[219,25]},{e:[206,9]},{e:[42,26]},{e:[219,27]},{e:[143,28]},{e:[186,29]},{e:[219,30]},{e:[206,9]},{e:[219,31]},{e:[215,32]},{e:[219,33]},{e:[219,34]},{e:[215,35]},{e:[215,36]},{e:[219,37]},{e:[117,38]},{e:[212,39]},{e:[143,40,156,41,217,17]},{e:[219,42]},{e:[187,43]},{e:[215,44]},{e:[222,45]},{e:[219,46]},{e:[219,47]},{e:[203,48]},{e:[222,49]},{e:[143,50]},{e:[213,51]},{e:[206,52]},{e:[70,53,153,54]},{e:[219,55]},{e:[217,17]},{e:[219,56]},{e:[205,57]},{e:[143,40,156,58]},{e:[219,59]},{e:[219,60]},{e:[187,61]},{e:[215,62]},{e:[219,63]},{e:[219,47]},{e:[4,64]},{e:[206,35]},{e:[219,65]},{e:[58,66,143,67,156,68,217,69]},{e:[215,70]},{e:[172,71,219,72]},{e:[217,17]},{e:[5,73]},{e:[219,74]},{e:[219,75,220,75]},{e:[217,17]},{e:[217,9,219,76]},{e:[219,77]},{e:[153,54]},{e:[219,78]},{e:[206,79,215,80]},{e:[70,81,153,82]},{e:[177,83]},{e:[209,84]},{e:[206,85]},{e:[143,67,156,86]},{e:[54,87,217,79]},{e:[219,88]},{e:[219,89]},{e:[219,90]},{e:[219,91]},{e:[54,92]},{e:[219,75]},{e:[219,93]},{e:[4,94]},{e:[206,62]},{e:[208,95]},{e:[153,54]},{e:[219,96]},{e:[206,80]},{e:[219,97]},{e:[222,98]},{e:[206,62]},{e:[54,99,153,82]},{e:[206,70]},{e:[137,100]},{e:[106,101]},{e:[219,102]},{e:[197,103]},{e:[198,104]},{e:[155,105]},{e:[219,106]},{e:[153,82]}]},{d:136,s0:0,s:[{e:[37,1,107,2,114,3,186,4,205,5,206,6,208,7,215,8]},{e:[],a:1,p:3},{e:[114,9,206,10]},{e:[206,11]},{e:[],a:1,p:3},{e:[],a:1,p:3},{e:[],a:1,p:3},{e:[],a:1,p:3},{e:[],a:1,p:3},{e:[206,10]},{e:[103,12,118,13,128,14]},{e:[217,15]},{e:[46,16]},{e:[219,17]},{e:[92,18]},{e:[118,19]},{e:[207,20,219,21]},{e:[205,22]},{e:[219,23]},{e:[],a:1,p:1,r:1},{e:[219,24]},{e:[186,25,215,26]},{e:[219,27]},{e:[205,28]},{e:[209,29]},{e:[219,30]},{e:[177,31,217,32]},{e:[215,33]},{e:[219,34]},{e:[219,21]},{e:[215,26]},{e:[219,35]},{e:[111,36,217,37]},{e:[20,38,118,39,128,40,217,41]},{e:[206,41]},{e:[208,42]},{e:[219,43]},{e:[116,44]},{e:[126,45,219,46]},{e:[219,47]},{e:[92,48]},{e:[103,49,118,50,119,51,120,52,217,53]},{e:[219,54]},{e:[212,55]},{e:[],a:1,p:2,r:1},{e:[219,56]},{e:[186,57,205,58]},{e:[205,59]},{e:[126,60]},{e:[46,61]},{e:[219,17]},{e:[5,62]},{e:[219,63]},{e:[],a:1,p:2,r:1},{e:[101,64]},{e:[199,65]},{e:[208,66]},{e:[219,67]},{e:[219,68]},{e:[219,69]},{e:[219,70]},{e:[207,71]},{e:[219,72]},{e:[205,73]},{e:[219,74]},{e:[213,75]},{e:[222,76,223,76]},{e:[184,77,208,66]},{e:[208,66]},{e:[206,33,212,78]},{e:[215,79]},{e:[219,80]},{e:[206,81]},{e:[218,82,219,83]},{e:[184,84,206,26]},{e:[107,85]},{e:[206,33,212,86]},{e:[219,67]},{e:[222,87]},{e:[20,88,217,33]},{e:[209,89]},{e:[15,90,42,91,61,92,92,93,143,94]},{e:[219,95]},{e:[206,41]},{e:[219,74]},{e:[206,41]},{e:[219,96]},{e:[213,97]},{e:[126,98]},{e:[219,99]},{e:[42,100]},{e:[219,101]},{e:[143,102]},{e:[186,103]},{e:[219,104]},{e:[206,41]},{e:[213,76]},{e:[206,33,215,105]},{e:[219,106]},{e:[186,107]},{e:[219,108]},{e:[215,109]},{e:[219,110]},{e:[219,111]},{e:[215,112]},{e:[20,113,217,33]},{e:[208,114]},{e:[219,115]},{e:[215,116]},{e:[219,117]},{e:[117,118]},{e:[212,119]},{e:[143,120,156,121,217,81]},{e:[126,122]},{e:[222,123]},{e:[215,124]},{e:[219,125]},{e:[187,126]},{e:[215,127]},{e:[222,128]},{e:[219,129]},{e:[219,130]},{e:[219,131]},{e:[206,79,212,132]},{e:[177,133,217,134]},{e:[203,135]},{e:[222,136]},{e:[143,137]},{e:[213,138]},{e:[206,139]},{e:[70,140,153,141]},{e:[206,105]},{e:[219,142]},{e:[219,143]},{e:[111,144,217,145]},{e:[219,146]},{e:[217,81]},{e:[219,147]},{e:[205,148]},{e:[143,120,156,149]},{e:[219,150]},{e:[219,151]},{e:[213,123]},{e:[208,152]},{e:[219,43]},{e:[],a:1,p:2,r:1},{e:[187,153]},{e:[215,154]},{e:[219,155]},{e:[219,130]},{e:[4,156]},{e:[206,112]},{e:[219,157]},{e:[219,158]},{e:[58,159,143,160,156,161,217,162]},{e:[215,163]},{e:[172,164,219,165]},{e:[101,166]},{e:[217,81]},{e:[5,167]},{e:[219,168]},{e:[219,169,220,169]},{e:[217,81]},{e:[217,41,219,170]},{e:[219,171]},{e:[153,141]},{e:[219,172]},{e:[219,173]},{e:[206,174,215,175]},{e:[70,176,153,177]},{e:[177,178]},{e:[209,179]},{e:[184,180,206,124]},{e:[206,181]},{e:[143,160,156,182]},{e:[54,183,217,174]},{e:[219,184]},{e:[219,185]},{e:[219,186]},{e:[219,187]},{e:[219,172]},{e:[54,188]},{e:[219,169]},{e:[219,189]},{e:[4,190]},{e:[206,154]},{e:[208,191]},{e:[153,141]},{e:[219,192]},{e:[206,175]},{e:[219,193]},{e:[222,194]},{e:[206,154]},{e:[54,195,153,177]},{e:[206,163]},{e:[137,196]},{e:[106,197]},{e:[219,198]},{e:[197,199]},{e:[198,200]},{e:[155,201]},{e:[219,202]},{e:[153,177]}]},{d:179,s0:0,s:[{e:[219,1,220,1]},{e:[153,2,155,3,184,4,203,5,206,6,208,7,215,8]},{e:[],a:1,p:2},{e:[],a:1,p:2},{e:[],a:1,p:2},{e:[],a:1,p:2},{e:[],a:1,p:2},{e:[],a:1,p:2},{e:[],a:1,p:2}]},{d:212,s0:0,s:[{e:[75,1,112,2,219,3]},{e:[],a:1,p:3},{e:[],a:1,p:3},{e:[75,4,203,5]},{e:[219,6]},{e:[],a:1,p:2},{e:[203,7]},{e:[219,8]},{e:[155,9]},{e:[219,10]},{e:[],a:1,p:1,r:1}]},{d:218,s0:0,s:[{e:[219,1]},{e:[54,2,75,3,153,4,205,5,206,6]},{e:[],a:1,p:3},{e:[],a:1,p:3},{e:[],a:1,p:3},{e:[],a:1,p:2},{e:[],a:1,p:3}]},{d:219,s0:0,s:[{e:[75,1,169,2,206,3]},{e:[],a:1,p:2},{e:[],a:1,p:2},{e:[],a:1,p:2}]},{d:230,s0:0,s:[{e:[199,1,222,1]},{e:[182,2,213,3]},{e:[],a:1,p:1},{e:[],a:1,p:2}]},{d:232,s0:0,s:[{e:[193,1]},{e:[219,2]},{e:[],a:1,p:1,r:1}]},{d:233,s0:0,s:[{e:[193,1]},{e:[219,2]},{e:[],a:1,p:1,r:1}]},{d:239,s0:0,s:[{e:[219,1]},{e:[2,2,206,3,215,4]},{e:[],a:1,p:2},{e:[],a:1,p:2},{e:[],a:1,p:2}]},{d:243,s0:0,s:[{e:[206,1,215,2]},{e:[],a:1,p:1},{e:[217,3,219,4]},{e:[],a:1,p:2,r:1},{e:[208,5,215,6]},{e:[65,7,157,7,197,8,219,9,221,7,223,7]},{e:[217,2,219,10]},{e:[206,2]},{e:[219,11]},{e:[184,12,206,2]},{e:[208,13]},{e:[184,14,201,15]},{e:[219,9]},{e:[223,16]},{e:[219,11]},{e:[219,17]},{e:[206,6]},{e:[184,18,198,7]},{e:[219,17]}]},{d:244,s0:0,s:[{e:[219,1]},{e:[208,2,215,3]},{e:[],a:1,p:2},{e:[],a:1,p:2}]},{d:259,s0:0,s:[{e:[3,1,5,2,8,3,11,4,12,5,20,6,22,7,26,8,31,9,33,10,37,11,38,12,49,13,55,14,59,15,69,16,83,17,86,18,92,19,103,20,111,21,116,22,118,23,120,24,123,25,125,25,134,26,136,27,143,28,163,29,166,30,167,31,170,32,171,33,193,34,211,35,219,36,224,37]},{e:[],a:1,p:1},{e:[],a:1,p:1},{e:[],a:1,p:3},{e:[],a:1,p:1},{e:[],a:1,p:1},{e:[],a:1,p:1},{e:[],a:1,p:1},{e:[],a:1,p:1},{e:[],a:1,p:1},{e:[],a:1,p:1},{e:[],a:1,p:1},{e:[],a:1,p:1},{e:[],a:1,p:1},{e:[],a:1,p:1},{e:[],a:1,p:1},{e:[],a:1,p:2},{e:[],a:1,p:1},{e:[],a:1,p:1},{e:[],a:1,p:1},{e:[],a:1,p:1},{e:[],a:1,p:1},{e:[],a:1,p:1},{e:[],a:1,p:1},{e:[],a:1,p:1},{e:[80,38]},{e:[],a:1,p:1},{e:[],a:1,p:1},{e:[],a:1,p:1},{e:[],a:1,p:1},{e:[],a:1,p:1},{e:[],a:1,p:1},{e:[],a:1,p:1},{e:[],a:1,p:1},{e:[],a:1,p:1},{e:[],a:1,p:1},{e:[],a:1,p:1},{e:[],a:1,p:1},{e:[],a:1,p:4}]},{d:260,s0:0,s:[{e:[3,1,5,2,11,3,12,4,20,5,22,6,26,7,31,8,33,9,37,10,38,11,49,12,55,13,59,14,83,15,86,16,92,17,103,18,111,19,116,20,118,21,120,22,134,23,136,24,143,25,163,26,166,27,167,28,170,29,171,30,193,31,211,32,219,33,224,34]},{e:[118,21]},{e:[46,35,219,36]},{e:[46,37,219,38]},{e:[46,39,219,40]},{e:[46,41,219,42]},{e:[],a:1,p:2},{e:[46,43,186,44]},{e:[],a:1,p:1},{e:[46,45,220,46]},{e:[],a:1,p:2},{e:[46,47,215,48]},{e:[],a:1,p:1},{e:[],a:1,p:1},{e:[46,49]},{e:[46,50,92,17,219,51]},{e:[46,52]},{e:[46,53,219,54]},{e:[],a:1,p:1},{e:[46,55,219,56]},{e:[],a:1,p:1},{e:[46,57,219,58]},{e:[46,59]},{e:[46,60,219,61]},{e:[],a:1,p:2},{e:[46,62,219,63]},{e:[27,64]},{e:[118,21]},{e:[46,65,219,66]},{e:[46,67,219,68,220,68]},{e:[46,69,220,70]},{e:[219,71]},{e:[],a:1,p:1},{e:[],a:1,p:2},{e:[],a:1,p:1},{e:[],a:1,p:1},{e:[],a:1,p:2},{e:[],a:1,p:1},{e:[],a:1,p:2},{e:[],a:1,p:1},{e:[],a:1,p:2},{e:[],a:1,p:1},{e:[],a:1,p:2},{e:[],a:1,p:1},{e:[],a:1,p:2},{e:[],a:1,p:1},{e:[],a:1,p:2},{e:[],a:1,p:1},{e:[],a:1,p:2},{e:[],a:1,p:1},{e:[],a:1,p:1},{e:[],a:1,p:2},{e:[],a:1,p:1},{e:[],a:1,p:1},{e:[],a:1,p:2},{e:[],a:1,p:1},{e:[],a:1,p:2},{e:[],a:1,p:1},{e:[],a:1,p:2},{e:[],a:1,p:1},{e:[],a:1,p:1},{e:[],a:1,p:2},{e:[],a:1,p:1},{e:[],a:1,p:2},{e:[46,72,219,73]},{e:[],a:1,p:1},{e:[],a:1,p:2},{e:[],a:1,p:1},{e:[],a:1,p:2},{e:[],a:1,p:1},{e:[],a:1,p:2},{e:[38,11,49,12,118,21]},{e:[],a:1,p:1},{e:[],a:1,p:2}]},{d:261,s0:0,s:[{e:[3,1,5,2,11,3,12,4,20,5,26,6,31,7,33,8,38,9,49,10,55,11,59,12,83,13,86,14,92,15,103,16,111,17,116,18,118,19,120,20,134,21,143,22,163,23,166,24,167,25,170,26,171,27,193,28,211,29,224,30]},{e:[118,19]},{e:[],a:1,p:15},{e:[],a:1,p:29},{e:[],a:1,p:22},{e:[],a:1,p:5},{e:[],a:1,p:16},{e:[],a:1,p:3},{e:[],a:1,p:20},{e:[],a:1,p:11},{e:[],a:1,p:4},{e:[],a:1,p:3},{e:[],a:1,p:6},{e:[46,31,92,15]},{e:[],a:1,p:13},{e:[],a:1,p:9},{e:[46,32]},{e:[],a:1,p:7},{e:[],a:1,p:1},{e:[],a:1,p:10},{e:[],a:1,p:14},{e:[],a:1,p:19},{e:[],a:1,p:17},{e:[],a:1,p:24},{e:[118,19]},{e:[],a:1,p:23},{e:[],a:1,p:25},{e:[],a:1,p:26},{e:[219,33]},{e:[],a:1,p:3},{e:[],a:1,p:3},{e:[],a:1,p:8},{e:[],a:1,p:28},{e:[49,10]}]},{d:262,s0:0,s:[{e:[3,1,5,2,11,3,12,4,20,5,22,6,26,7,33,8,37,9,83,10,92,11,111,12,118,13,134,14,136,15,143,16,163,17,166,1,167,18,170,19,171,20,177,21,193,22,205,23,219,24]},{e:[118,13]},{e:[],a:1,p:2},{e:[],a:1,p:2},{e:[],a:1,p:2},{e:[],a:1,p:1},{e:[],a:1,p:1},{e:[],a:1,p:2},{e:[],a:1,p:2},{e:[],a:1,p:2},{e:[],a:1,p:2},{e:[],a:1,p:2},{e:[],a:1,p:2},{e:[],a:1,p:2},{e:[],a:1,p:2},{e:[],a:1,p:2},{e:[],a:1,p:2},{e:[],a:1,p:2},{e:[],a:1,p:2},{e:[],a:1,p:2},{e:[],a:1,p:2},{e:[],a:1,p:1},{e:[219,25]},{e:[],a:1,p:1},{e:[],a:1,p:1},{e:[38,26,118,13]},{e:[],a:1,p:2}]},{d:270,s0:0,s:[{e:[5,1,10,2,15,3,20,4,22,5,37,6,42,7,55,8,57,9,60,10,61,11,70,12,81,13,86,14,92,15,100,16,115,13,118,17,119,18,120,19,123,20,126,21,128,22,134,23,136,24,138,25,143,26,153,27,154,25,165,28,166,29,177,21,193,30,211,31,219,32]},{e:[219,33]},{e:[],a:1,p:3},{e:[],a:1,p:3},{e:[],a:1,p:2},{e:[],a:1,p:2},{e:[],a:1,p:3},{e:[219,34]},{e:[],a:1,p:2},{e:[],a:1,p:2},{e:[],a:1,p:3},{e:[],a:1,p:3},{e:[],a:1,p:2},{e:[92,35,219,32]},{e:[219,36]},{e:[177,37,186,38,219,39]},{e:[],a:1,p:3},{e:[46,40,126,41,177,41,219,42]},{e:[],a:1,p:3},{e:[126,43,177,43,219,44]},{e:[80,45]},{e:[],a:1,p:2},{e:[92,35]},{e:[207,46,219,47]},{e:[],a:1,p:3},{e:[],a:1,p:3},{e:[46,48,219,49]},{e:[],a:1,p:3},{e:[],a:1,p:2},{e:[20,4,118,17]},{e:[219,50]},{e:[],a:1,p:2},{e:[],a:1,p:2},{e:[],a:1,p:3},{e:[],a:1,p:3},{e:[],a:1,p:3},{e:[],a:1,p:3},{e:[],a:1,p:3},{e:[],a:1,p:3},{e:[],a:1,p:3},{e:[],a:1,p:2},{e:[],a:1,p:3},{e:[],a:1,p:3},{e:[],a:1,p:3},{e:[],a:1,p:3},{e:[],a:1,p:1},{e:[],a:1,p:3},{e:[],a:1,p:3},{e:[],a:1,p:2},{e:[],a:1,p:3},{e:[20,4]}]},{d:273,s0:0,s:[{e:[20,1,22,2,55,3,57,4,70,5,115,6,118,7,126,8,143,9,165,10,166,11,177,8,193,12,211,13,219,14]},{e:[126,15,177,15,219,16]},{e:[],a:1,p:4},{e:[],a:1,p:3},{e:[],a:1,p:4},{e:[],a:1,p:4},{e:[],a:1,p:4},{e:[],a:1,p:3},{e:[],a:1,p:4},{e:[],a:1,p:3},{e:[],a:1,p:2},{e:[20,1]},{e:[219,17]},{e:[],a:1,p:3},{e:[],a:1,p:4},{e:[],a:1,p:4},{e:[],a:1,p:4},{e:[20,1]}]},{d:278,s0:0,s:[{e:[5,1,10,2,11,3,12,4,15,5,20,6,22,7,26,8,33,9,37,10,42,11,60,12,61,13,70,14,71,15,78,16,82,17,83,18,86,19,92,20,97,21,100,22,111,23,118,24,119,25,120,26,128,27,134,28,136,29,138,30,143,31,154,30,163,32,167,33,170,34,171,35,193,36,219,37]},{e:[],a:1,p:2},{e:[],a:1,p:2},{e:[],a:1,p:2},{e:[],a:1,p:2},{e:[],a:1,p:2},{e:[],a:1,p:2},{e:[],a:1,p:2},{e:[],a:1,p:2},{e:[],a:1,p:2},{e:[],a:1,p:2},{e:[],a:1,p:2},{e:[],a:1,p:2},{e:[],a:1,p:2},{e:[],a:1,p:2},{e:[],a:1,p:2},{e:[],a:1,p:2},{e:[],a:1,p:2},{e:[],a:1,p:2},{e:[],a:1,p:2},{e:[],a:1,p:2},{e:[],a:1,p:2},{e:[],a:1,p:2},{e:[],a:1,p:2},{e:[],a:1,p:2},{e:[],a:1,p:2},{e:[],a:1,p:2},{e:[92,38]},{e:[],a:1,p:2},{e:[],a:1,p:2},{e:[],a:1,p:2},{e:[],a:1,p:2},{e:[],a:1,p:2},{e:[],a:1,p:2},{e:[],a:1,p:2},{e:[],a:1,p:2},{e:[],a:1,p:2},{e:[],a:1,p:2},{e:[],a:1,p:1}]},{d:282,s0:0,s:[{e:[4,1,47,2,48,3,70,4,112,5,117,6,126,7,137,8,149,9,177,7,186,9,205,10,206,11,208,12,212,13,215,14]},{e:[],a:1,p:2},{e:[],a:1,p:2},{e:[25,10]},{e:[],a:1,p:2},{e:[],a:1,p:2},{e:[],a:1,p:2},{e:[219,15]},{e:[],a:1,p:2},{e:[219,16]},{e:[218,17,219,18,220,18]},{e:[],a:1,p:2},{e:[],a:1,p:2},{e:[199,19,222,19]},{e:[],a:1,p:2},{e:[184,20,206,21,208,22,212,23,215,24]},{e:[37,25,184,26,206,21,208,22,212,23,215,24]},{e:[219,27]},{e:[10,28,37,25,47,29,126,30,149,31,177,30,184,32,201,33,206,21,208,22,212,23,215,24]},{e:[182,34,213,35]},{e:[219,15]},{e:[5,36,6,37,8,38,15,39,18,40,20,41,26,42,42,43,57,44,59,45,61,46,63,47,71,48,81,49,82,50,86,51,92,52,103,53,110,54,115,49,118,55,119,56,120,57,128,58,133,40,134,59,135,60,136,61,138,62,141,63,143,64,147,65,153,66,165,67,193,68,217,69,219,70]},{e:[219,71,222,72,223,72]},{e:[199,73,222,73]},{e:[5,74,20,75,55,76,61,77,63,78,70,79,81,80,118,81,119,82,120,83,126,84,136,85,138,86,147,87,154,86,165,88,177,84,193,89,211,90,217,91,224,92]},{e:[],a:1,p:1},{e:[219,16]},{e:[206,21]},{e:[],a:1,p:1},{e:[223,72]},{e:[219,93]},{e:[219,94]},{e:[219,18]},{e:[219,95]},{e:[199,96,222,96]},{e:[107,97,186,98,206,21,215,24]},{e:[],a:1,p:1,r:1},{e:[],a:1,p:1,r:1},{e:[],a:1,p:1,r:1},{e:[42,99]},{e:[],a:1,p:1,r:1},{e:[126,100,219,101]},{e:[46,102]},{e:[215,103,219,104]},{e:[219,105]},{e:[46,106]},{e:[143,107]},{e:[],a:1,p:1,r:1},{e:[112,108,219,109]},{e:[92,110,219,111]},{e:[163,112]},{e:[219,113]},{e:[186,114]},{e:[46,115]},{e:[],a:1,p:1,r:1},{e:[46,116,219,117]},{e:[5,118,219,119]},{e:[219,120]},{e:[],a:1,p:1,r:1},{e:[207,121,219,122]},{e:[20,123,205,124,219,125]},{e:[219,126]},{e:[],a:1,p:1,r:1},{e:[],a:1,p:1,r:1},{e:[46,127,219,128]},{e:[],a:1,p:1,r:1},{e:[5,129,219,130]},{e:[20,131,118,132]},{e:[219,133]},{e:[0,134,3,135,5,136,11,137,12,138,20,139,22,140,26,141,31,142,38,143,59,144,71,145,86,146,92,147,103,148,116,149,118,150,119,151,120,152,134,153,135,154,138,155,143,156,153,157,163,158,166,159,167,160,170,161,171,162,193,163,217,164]},{e:[177,165,186,166,205,167]},{e:[184,168,197,169,199,170,200,170,203,171,204,170]},{e:[199,170,204,170,206,21,212,172]},{e:[182,173,213,174]},{e:[219,175]},{e:[126,176,177,176,219,177]},{e:[224,92]},{e:[143,178]},{e:[],a:1,p:1},{e:[219,179]},{e:[92,180]},{e:[126,181,177,181,219,182]},{e:[219,183]},{e:[126,184,177,184,219,185]},{e:[219,186]},{e:[134,187,219,188]},{e:[219,189]},{e:[],a:1,p:1},{e:[20,190,118,191]},{e:[219,192]},{e:[219,193]},{e:[61,46,134,59,217,69]},{e:[20,75,177,84,217,194]},{e:[206,195,215,196]},{e:[206,195]},{e:[206,21]},{e:[213,35]},{e:[206,21]},{e:[219,197]},{e:[215,198,219,199]},{e:[219,200]},{e:[126,201,186,202,205,203,206,204,208,205]},{e:[219,206]},{e:[55,207,219,208]},{e:[215,103]},{e:[205,209,206,210]},{e:[219,211]},{e:[219,212]},{e:[219,213]},{e:[75,214,203,215]},{e:[219,216]},{e:[126,217,186,218,205,219,208,220]},{e:[27,221]},{e:[205,222]},{e:[219,223]},{e:[207,224,219,225]},{e:[219,226]},{e:[149,227,186,227,205,228,206,229,212,230,215,231]},{e:[219,232]},{e:[126,233,184,234,203,235,206,236]},{e:[126,237,177,237,186,238,205,239,206,229]},{e:[219,240,220,240]},{e:[177,241,205,242,206,236,215,243]},{e:[],a:1,p:1,r:1},{e:[219,244]},{e:[186,245,205,246]},{e:[25,247,184,248]},{e:[219,249]},{e:[215,250]},{e:[],a:1,p:1,r:1},{e:[206,251]},{e:[219,252]},{e:[219,253]},{e:[20,41]},{e:[],a:1,p:1,r:1},{e:[],a:1,p:1,r:1},{e:[46,254,219,255]},{e:[],a:1,p:1,r:1},{e:[],a:1,p:1,r:1},{e:[],a:1,p:1,r:1},{e:[219,256]},{e:[],a:1,p:1,r:1},{e:[],a:1,p:1,r:1},{e:[],a:1,p:1,r:1},{e:[],a:1,p:1,r:1},{e:[],a:1,p:1,r:1},{e:[],a:1,p:1,r:1},{e:[],a:1,p:1,r:1},{e:[],a:1,p:1,r:1},{e:[],a:1,p:1,r:1},{e:[],a:1,p:1,r:1},{e:[],a:1,p:1,r:1},{e:[],a:1,p:1,r:1},{e:[],a:1,p:1,r:1},{e:[],a:1,p:1,r:1},{e:[],a:1,p:1,r:1},{e:[],a:1,p:1,r:1},{e:[],a:1,p:1,r:1},{e:[],a:1,p:1,r:1},{e:[],a:1,p:1,r:1},{e:[],a:1,p:1,r:1},{e:[],a:1,p:1,r:1},{e:[],a:1,p:1,r:1},{e:[219,257]},{e:[],a:1,p:1,r:1},{e:[219,258]},{e:[219,259]},{e:[219,260]},{e:[219,71]},{e:[219,261]},{e:[219,262,223,72]},{e:[219,263]},{e:[219,264]},{e:[199,265,222,265]},{e:[37,25,107,266,114,267,186,268,206,21,208,269,215,270]},{e:[149,271,206,272,212,273]},{e:[219,274]},{e:[126,275,186,276,205,277,208,278]},{e:[219,279]},{e:[206,280]},{e:[126,281,208,282,219,283]},{e:[219,284]},{e:[126,285,149,286,177,285,186,286,205,287,215,288]},{e:[126,289,184,290,203,291,206,272]},{e:[219,292]},{e:[126,293,177,293,186,294,205,295,206,296,215,297]},{e:[184,298,208,299,215,300]},{e:[219,301]},{e:[25,302,184,303]},{e:[205,304,215,305]},{e:[219,306]},{e:[219,307]},{e:[20,75]},{e:[215,308]},{e:[20,41,118,55,138,62,153,309,217,69]},{e:[115,49,118,55,217,310]},{e:[20,311,81,312,120,313]},{e:[184,314,206,195]},{e:[197,315,219,316]},{e:[215,198]},{e:[47,317,184,318,208,205]},{e:[219,319]},{e:[219,320]},{e:[219,321]},{e:[15,39,18,40,20,41,22,322,37,323,42,43,86,51,118,55,119,56,120,57,128,58,133,40,135,324,136,61,143,64,217,325]},{e:[197,326,219,327,222,328,223,328]},{e:[215,329]},{e:[224,103]},{e:[79,330,187,330,188,330,190,330,199,330,203,331,204,330,207,330,209,330]},{e:[218,332,219,333]},{e:[217,334]},{e:[215,335]},{e:[117,336,126,337,206,236,215,338]},{e:[75,339]},{e:[219,340]},{e:[219,341]},{e:[205,342]},{e:[219,343]},{e:[219,344]},{e:[219,345]},{e:[219,346]},{e:[219,347]},{e:[219,348]},{e:[212,349]},{e:[219,350]},{e:[186,351,215,352]},{e:[186,353,206,354,215,355]},{e:[219,356]},{e:[219,357]},{e:[5,36,10,358,15,39,20,41,22,322,37,323,42,43,61,46,70,359,86,51,103,360,110,54,118,55,119,56,120,57,134,59,136,61,143,64,193,361,217,362]},{e:[222,363]},{e:[5,364,20,365,22,366,37,367,57,368,60,369,61,370,86,371,118,372,119,373,120,374,128,375,136,376,211,377,217,229]},{e:[206,236]},{e:[219,378]},{e:[219,119]},{e:[219,379]},{e:[10,358,15,39,42,43,61,46,82,50,92,52,118,55,119,56,120,57,134,59,135,324,143,64,163,380,170,381,171,382,217,362]},{e:[219,383]},{e:[219,384]},{e:[218,385,219,386]},{e:[209,387]},{e:[219,388]},{e:[219,389]},{e:[18,390,20,391,55,392,120,393,126,394,134,395,147,396,211,397,217,236]},{e:[206,398]},{e:[219,399]},{e:[219,400]},{e:[219,401]},{e:[219,126]},{e:[215,402]},{e:[58,403,143,404,156,405,217,236]},{e:[],a:1,p:1},{e:[205,406]},{e:[205,407]},{e:[],a:1,p:1,r:1},{e:[4,408,205,409]},{e:[208,410]},{e:[],a:1,p:1,r:1},{e:[208,411]},{e:[208,411]},{e:[208,411]},{e:[198,72,201,412,203,413]},{e:[184,414,199,170,200,170,203,415,206,21]},{e:[199,170,203,416,206,21,215,417]},{e:[199,418,204,418,213,72]},{e:[213,174]},{e:[114,419,206,21]},{e:[206,21]},{e:[219,420]},{e:[219,421]},{e:[20,311,57,422,118,423,166,424,177,425]},{e:[219,426]},{e:[5,74,60,427,61,77,63,78,92,428,93,429,118,81,119,82,153,430,217,431]},{e:[222,432]},{e:[47,433,184,434,206,435,208,278]},{e:[219,436]},{e:[219,437]},{e:[219,438]},{e:[197,439,219,440,222,441,223,441]},{e:[126,442]},{e:[],a:1,p:1},{e:[219,443]},{e:[219,444]},{e:[205,445]},{e:[212,446,215,288]},{e:[219,447]},{e:[219,448]},{e:[219,449]},{e:[5,450,20,451,22,452,37,453,61,454,86,455,118,456,119,457,120,458,128,459,136,460,166,461,211,462,217,296]},{e:[219,463]},{e:[219,183]},{e:[219,464]},{e:[205,465,215,297]},{e:[219,466]},{e:[219,467]},{e:[218,468,219,469]},{e:[10,470,20,75,22,471,37,472,86,473,100,474,115,475,118,81,119,82,120,83,136,85,138,86,153,476,217,431]},{e:[20,477,60,478,81,479,115,479,120,480,217,296]},{e:[219,186]},{e:[65,481,157,481,219,482,222,481,223,481]},{e:[177,483,217,484]},{e:[205,485]},{e:[219,486]},{e:[219,188]},{e:[219,487]},{e:[92,488,138,489,217,296]},{e:[205,490,206,491]},{e:[205,492,206,491,215,493]},{e:[217,92,219,494]},{e:[78,495]},{e:[92,147,120,152,217,164]},{e:[126,496,177,496,219,497]},{e:[92,498]},{e:[219,499]},{e:[219,197]},{e:[219,500]},{e:[179,501,203,502]},{e:[222,328,223,328]},{e:[219,200]},{e:[184,503,208,205]},{e:[184,504,206,204,208,205,212,505]},{e:[47,317,184,506,206,204,208,205,212,505,215,507]},{e:[219,508]},{e:[219,509]},{e:[],a:1,p:1,r:1},{e:[],a:1,p:1,r:1},{e:[219,510,222,511]},{e:[197,512,200,513,204,513]},{e:[199,513,204,513,206,204,212,514]},{e:[20,515,42,516,81,517,135,518,217,354]},{e:[197,519,219,520,222,521,223,521]},{e:[219,522]},{e:[219,523]},{e:[206,524,212,525]},{e:[38,143]},{e:[217,354,219,526]},{e:[215,338]},{e:[219,527]},{e:[128,528,143,529,156,530,217,236]},{e:[219,531]},{e:[203,532]},{e:[155,533]},{e:[219,534]},{e:[212,535]},{e:[184,536,206,537]},{e:[206,537,212,535]},{e:[197,538,203,539]},{e:[186,540]},{e:[37,541,212,542]},{e:[222,543]},{e:[209,544]},{e:[219,545]},{e:[177,546,217,354]},{e:[219,547]},{e:[12,548,26,42,33,549,42,43,59,550,111,551,118,55,163,380,166,552,170,381,217,325,219,553]},{e:[20,554,42,555,55,556,118,557,120,558,217,354]},{e:[184,559,206,229,208,560,212,561,215,231]},{e:[177,562,184,563,206,229,208,560,212,561,215,231]},{e:[219,564]},{e:[219,565]},{e:[46,115]},{e:[219,566]},{e:[],a:1,p:1,r:1},{e:[213,567]},{e:[219,568]},{e:[126,569,177,569,219,570]},{e:[219,571]},{e:[219,572]},{e:[219,573]},{e:[111,574]},{e:[143,575]},{e:[219,576]},{e:[126,577,219,578]},{e:[219,579]},{e:[177,580,219,581]},{e:[92,582]},{e:[219,583]},{e:[219,584]},{e:[206,236]},{e:[206,236]},{e:[27,585]},{e:[46,586,219,587]},{e:[220,588]},{e:[215,589]},{e:[212,590]},{e:[219,591]},{e:[126,592,206,229,212,590]},{e:[219,122]},{e:[215,243]},{e:[215,243]},{e:[42,593]},{e:[126,594,219,595]},{e:[224,243]},{e:[219,596]},{e:[219,597]},{e:[207,598]},{e:[219,599]},{e:[219,600]},{e:[217,601]},{e:[206,398]},{e:[206,398,208,602]},{e:[203,603,206,236,215,604]},{e:[55,605,143,606,156,607,217,354]},{e:[5,608]},{e:[219,609]},{e:[219,610]},{e:[219,611]},{e:[219,612]},{e:[],a:1,p:1,r:1},{e:[219,613]},{e:[219,614]},{e:[219,615,222,616]},{e:[219,617]},{e:[219,618]},{e:[219,262]},{e:[219,263]},{e:[219,263]},{e:[20,619,119,620]},{e:[219,621,222,622]},{e:[206,21]},{e:[215,196]},{e:[203,623,204,624]},{e:[219,625]},{e:[219,626]},{e:[20,311]},{e:[219,627]},{e:[212,628]},{e:[111,629]},{e:[46,630,186,631]},{e:[],a:1,p:1},{e:[5,632]},{e:[5,36,11,633,70,359,86,51,110,54,118,55,119,56,120,57,163,380,167,634,193,635,217,636]},{e:[182,637]},{e:[219,440,222,441]},{e:[219,274]},{e:[18,638,20,75,22,471,37,472,86,473,118,81,119,82,120,83,128,639,136,85,217,640]},{e:[184,641,208,278]},{e:[184,642,206,435,208,278,212,643]},{e:[208,278]},{e:[219,644]},{e:[184,645,197,646,200,647,203,648,206,435]},{e:[206,435,212,649]},{e:[219,650]},{e:[215,651]},{e:[203,652]},{e:[219,653]},{e:[222,654]},{e:[212,655,215,288]},{e:[184,656,208,657,212,655]},{e:[184,658,206,296,208,657,212,655,215,288]},{e:[219,659]},{e:[126,660,177,660,219,661]},{e:[219,662]},{e:[219,663]},{e:[143,664]},{e:[219,665]},{e:[126,666,177,666,219,667]},{e:[219,668]},{e:[126,669,219,670]},{e:[92,671]},{e:[219,672]},{e:[20,451]},{e:[219,673]},{e:[206,272]},{e:[126,289,206,272]},{e:[219,674]},{e:[208,675,212,676,215,297]},{e:[212,676]},{e:[219,677]},{e:[126,678,206,296]},{e:[219,679]},{e:[219,680]},{e:[219,681]},{e:[219,682]},{e:[219,683]},{e:[219,684]},{e:[154,86]},{e:[177,685]},{e:[111,686]},{e:[92,687,219,688]},{e:[219,689]},{e:[206,484,212,690]},{e:[184,691,206,484]},{e:[219,692]},{e:[18,638,138,693,177,84,217,194]},{e:[219,694]},{e:[203,695,215,696]},{e:[206,296]},{e:[177,697]},{e:[177,698,219,699]},{e:[219,700]},{e:[93,429,165,88,217,640]},{e:[219,701]},{e:[118,702,217,491]},{e:[208,703]},{e:[],a:1,p:1,r:1},{e:[219,704]},{e:[205,705]},{e:[219,706]},{e:[205,707]},{e:[188,708]},{e:[109,709,197,710,219,711]},{e:[219,712]},{e:[219,319]},{e:[219,320]},{e:[199,713,222,713]},{e:[219,321]},{e:[55,714,177,715,217,204]},{e:[203,716,208,717]},{e:[155,718,203,719]},{e:[203,720]},{e:[201,721]},{e:[219,722]},{e:[197,723,219,724,223,328]},{e:[219,725]},{e:[219,726]},{e:[215,727]},{e:[219,728]},{e:[205,729,219,730]},{e:[197,731]},{e:[13,330,184,732,187,330,188,330,190,330,200,330,203,733,209,330,217,236]},{e:[13,330,204,330,217,236]},{e:[188,330,217,236]},{e:[206,524]},{e:[20,41,71,48,86,51,217,734]},{e:[222,735]},{e:[206,335]},{e:[206,236]},{e:[219,736]},{e:[219,737]},{e:[220,738]},{e:[203,739]},{e:[219,740]},{e:[219,741]},{e:[149,742,206,229,212,743]},{e:[222,744]},{e:[219,344]},{e:[5,745,20,746,81,747,135,60,217,748]},{e:[219,749]},{e:[219,750]},{e:[219,751]},{e:[212,752,219,753]},{e:[222,754]},{e:[213,755]},{e:[219,225]},{e:[215,352]},{e:[219,756]},{e:[206,354]},{e:[219,757]},{e:[220,758]},{e:[46,106]},{e:[219,759]},{e:[],a:1,p:1,r:1},{e:[],a:1,p:1,r:1},{e:[219,760]},{e:[219,761]},{e:[224,355]},{e:[46,762,219,763]},{e:[219,764]},{e:[219,356]},{e:[219,765]},{e:[199,766,222,766]},{e:[219,767]},{e:[219,357]},{e:[155,768,184,769]},{e:[],a:1,p:1,r:1},{e:[],a:1,p:1,r:1},{e:[206,229]},{e:[206,231]},{e:[219,770]},{e:[186,771,205,772,206,231]},{e:[208,773]},{e:[203,774]},{e:[205,775]},{e:[219,776]},{e:[219,777]},{e:[205,778]},{e:[219,779]},{e:[126,780,149,781,205,782,212,783,215,784]},{e:[184,785,203,786,206,231]},{e:[219,787]},{e:[177,788,205,789,206,231]},{e:[126,790]},{e:[25,791,184,792]},{e:[206,231,215,793]},{e:[46,794,219,795]},{e:[220,796]},{e:[205,797]},{e:[215,798]},{e:[81,799,120,800,217,229]},{e:[222,801]},{e:[206,229]},{e:[219,802]},{e:[215,803]},{e:[219,804]},{e:[186,805]},{e:[215,806]},{e:[208,807]},{e:[220,808]},{e:[47,809]},{e:[215,810]},{e:[12,138,20,811,26,141,33,812]},{e:[219,813]},{e:[219,814]},{e:[134,815,217,236]},{e:[224,402]},{e:[219,816]},{e:[70,817]},{e:[219,818]},{e:[206,819,215,820]},{e:[70,821,153,822]},{e:[206,823]},{e:[206,823,215,824]},{e:[206,825]},{e:[203,826]},{e:[199,827,204,827]},{e:[204,827,206,828,212,829]},{e:[198,72,201,412,203,830]},{e:[201,412,203,831]},{e:[177,832]},{e:[219,833]},{e:[180,418,213,72]},{e:[213,72]},{e:[219,834]},{e:[219,835]},{e:[205,836]},{e:[206,837]},{e:[208,838]},{e:[222,839]},{e:[219,840]},{e:[219,841]},{e:[219,842]},{e:[219,175]},{e:[219,843]},{e:[46,844]},{e:[219,845]},{e:[],a:1,p:1,r:1},{e:[222,846]},{e:[],a:1,p:1},{e:[92,180]},{e:[20,41,118,55,120,57,134,59,217,847]},{e:[219,436]},{e:[219,437]},{e:[199,848,222,848]},{e:[203,849]},{e:[219,440]},{e:[219,850]},{e:[219,851]},{e:[219,852]},{e:[219,853]},{e:[206,272]},{e:[20,854,217,296,219,855]},{e:[219,856]},{e:[126,857]},{e:[213,858]},{e:[222,859]},{e:[219,448]},{e:[219,860]},{e:[219,449]},{e:[206,288]},{e:[219,861]},{e:[126,862,186,863,205,864]},{e:[208,865]},{e:[203,866]},{e:[219,867]},{e:[205,868]},{e:[219,869]},{e:[126,870,177,870,205,871,212,872,215,873]},{e:[184,874,203,875]},{e:[219,876]},{e:[177,877,205,878,206,288]},{e:[126,879]},{e:[25,880,184,881]},{e:[206,288,215,882]},{e:[215,297]},{e:[219,883]},{e:[222,884]},{e:[206,296]},{e:[219,885]},{e:[184,886]},{e:[203,887,208,888]},{e:[155,889,203,890]},{e:[205,891]},{e:[112,892]},{e:[126,893]},{e:[219,894]},{e:[219,895]},{e:[219,896]},{e:[205,897]},{e:[177,898,186,899,205,900]},{e:[219,901]},{e:[219,482]},{e:[208,902]},{e:[219,903]},{e:[206,272]},{e:[219,904]},{e:[134,905,217,272]},{e:[219,906]},{e:[219,907]},{e:[215,908]},{e:[206,491]},{e:[206,491,215,493]},{e:[219,909]},{e:[157,910]},{e:[186,911,206,912,208,913]},{e:[219,914]},{e:[126,915]},{e:[218,916]},{e:[219,917]},{e:[174,501,217,236]},{e:[219,918]},{e:[179,501,217,236]},{e:[187,501]},{e:[182,919,213,920]},{e:[224,507]},{e:[219,921]},{e:[219,922]},{e:[219,923]},{e:[219,924]},{e:[219,925]},{e:[219,926]},{e:[219,927,222,928]},{e:[184,929,198,328,203,930]},{e:[219,931]},{e:[184,932,199,513,206,204]},{e:[199,933,204,933,213,328]},{e:[186,934]},{e:[219,935]},{e:[186,936,205,937]},{e:[219,938]},{e:[205,939]},{e:[222,940]},{e:[219,520]},{e:[219,522]},{e:[86,146,118,150]},{e:[182,941]},{e:[205,942]},{e:[206,943,215,944]},{e:[70,945,153,946]},{e:[219,947]},{e:[155,948]},{e:[203,949]},{e:[219,950]},{e:[222,951]},{e:[213,952]},{e:[],a:1,p:1,r:1},{e:[],a:1,p:1,r:1},{e:[219,111]},{e:[5,136,71,145,116,149,118,150]},{e:[184,953,203,954]},{e:[206,537]},{e:[212,955]},{e:[222,956]},{e:[176,957,203,958]},{e:[213,959]},{e:[205,960]},{e:[208,961]},{e:[215,962]},{e:[215,963]},{e:[212,964]},{e:[205,965]},{e:[215,966]},{e:[219,967]},{e:[205,968]},{e:[205,969]},{e:[184,970,203,971]},{e:[182,972,213,973]},{e:[215,231]},{e:[219,974]},{e:[219,975]},{e:[206,231,208,976]},{e:[219,977]},{e:[219,978]},{e:[219,979]},{e:[219,980]},{e:[219,981]},{e:[206,231]},{e:[126,982]},{e:[219,983]},{e:[212,984]},{e:[219,985]},{e:[219,986]},{e:[219,987]},{e:[222,988]},{e:[5,989,20,990,61,991,118,992,119,993,120,994,211,995,217,231]},{e:[219,579]},{e:[219,996]},{e:[205,997]},{e:[219,998]},{e:[218,999,219,1e3]},{e:[219,1001]},{e:[219,1002]},{e:[219,583]},{e:[217,231,219,1003]},{e:[219,1004]},{e:[205,1005]},{e:[215,1006]},{e:[220,1007]},{e:[74,1008,133,1009,217,236]},{e:[92,1010]},{e:[219,1011]},{e:[213,1012]},{e:[215,589]},{e:[219,1013]},{e:[47,1014,208,1015]},{e:[219,1016]},{e:[115,1017,217,243]},{e:[222,1018,223,1018]},{e:[209,1019]},{e:[219,1020]},{e:[217,243,219,1021]},{e:[],a:1,p:1,r:1},{e:[],a:1,p:1,r:1},{e:[203,1022]},{e:[215,604]},{e:[219,1023]},{e:[206,1024]},{e:[219,1025]},{e:[206,1026]},{e:[143,404,156,1027]},{e:[42,1028,58,1029,62,1030]},{e:[219,1031]},{e:[219,1032]},{e:[217,1033]},{e:[118,1034,217,823]},{e:[],a:1,p:1,r:1},{e:[219,1035]},{e:[219,1036]},{e:[217,748,219,70]},{e:[219,1037]},{e:[219,1038]},{e:[219,618]},{e:[219,1039]},{e:[184,1040,203,1041]},{e:[206,21]},{e:[206,21]},{e:[219,1042]},{e:[217,431]},{e:[197,1043]},{e:[213,1044]},{e:[206,296]},{e:[206,491]},{e:[212,1045]},{e:[205,1046]},{e:[219,1047]},{e:[],a:1,p:1,r:1},{e:[213,1048]},{e:[],a:1,p:1,r:1},{e:[213,1049]},{e:[219,1050]},{e:[198,441]},{e:[200,647,203,1051,206,435]},{e:[200,647,203,1052,206,435]},{e:[184,1053,213,441]},{e:[126,1054]},{e:[177,1055]},{e:[206,296]},{e:[219,1056]},{e:[206,296]},{e:[182,1057,213,1058]},{e:[184,1059,203,1060]},{e:[206,288,208,1061]},{e:[219,1062]},{e:[219,1063]},{e:[219,1064]},{e:[219,1065]},{e:[219,1066]},{e:[126,1067]},{e:[219,1068]},{e:[215,873]},{e:[219,1069]},{e:[219,1070]},{e:[222,1071]},{e:[5,1072,20,1073,61,1074,118,1075,120,1076,211,1077,217,288]},{e:[219,668]},{e:[219,1078]},{e:[215,1079]},{e:[219,1080]},{e:[219,1081]},{e:[219,1082]},{e:[219,1083]},{e:[219,672]},{e:[217,288,219,1084]},{e:[203,1085]},{e:[213,1086]},{e:[215,297]},{e:[219,1087]},{e:[219,1088]},{e:[219,1089]},{e:[219,1090]},{e:[219,1091]},{e:[219,1092]},{e:[219,1093]},{e:[219,1094]},{e:[208,1095]},{e:[206,297]},{e:[126,1096]},{e:[219,1097]},{e:[219,1098]},{e:[219,1099]},{e:[219,1100]},{e:[204,1101,213,481]},{e:[223,1102]},{e:[205,1103]},{e:[215,696]},{e:[219,1104]},{e:[205,1105,208,1106]},{e:[215,908]},{e:[20,1107,138,1108,217,305]},{e:[205,1109]},{e:[206,308]},{e:[219,1110]},{e:[20,311,217,640]},{e:[222,1111,223,1111]},{e:[215,1112]},{e:[219,1113]},{e:[219,1114]},{e:[13,708,184,1115,188,708,198,709]},{e:[188,1116]},{e:[199,1117,222,1117]},{e:[107,1118,206,204,208,205,215,507]},{e:[208,1119]},{e:[203,716,208,717]},{e:[203,1120,206,204]},{e:[203,1121]},{e:[155,718,203,719]},{e:[201,721]},{e:[203,1122]},{e:[198,328,201,721]},{e:[219,722]},{e:[219,1123]},{e:[200,1124]},{e:[219,724]},{e:[219,1125,222,1126]},{e:[219,1127]},{e:[188,1128]},{e:[219,1129]},{e:[219,1130]},{e:[206,329]},{e:[219,1131]},{e:[198,1132,204,1133]},{e:[199,1134]},{e:[219,1135]},{e:[143,529,156,1136,217,236]},{e:[54,1137,58,1138,143,1139,156,1140,217,943]},{e:[219,1141]},{e:[219,1142]},{e:[155,1143]},{e:[219,1144]},{e:[219,1145]},{e:[206,229]},{e:[182,1146]},{e:[206,537,208,220]},{e:[219,749]},{e:[219,1147]},{e:[222,1148]},{e:[213,1149]},{e:[219,1150]},{e:[219,1151]},{e:[37,541]},{e:[219,1152]},{e:[219,1153]},{e:[20,1154,81,1155,110,1156,135,1157,147,1158,217,236]},{e:[55,1159,141,1160,217,236]},{e:[199,1161]},{e:[219,1162]},{e:[55,1163,219,1164]},{e:[215,1165]},{e:[219,1166]},{e:[219,1167]},{e:[219,765]},{e:[219,1168]},{e:[199,1169,222,1169]},{e:[206,229,215,231]},{e:[184,1170,206,229]},{e:[203,1171]},{e:[197,1172,222,1173,223,1173]},{e:[184,1174,208,976]},{e:[208,976]},{e:[203,1175]},{e:[155,1176]},{e:[212,1177]},{e:[219,1178]},{e:[37,1179]},{e:[222,1180]},{e:[215,784]},{e:[212,1181]},{e:[206,231,212,1181,215,784]},{e:[213,1182]},{e:[219,1183]},{e:[126,1184,177,1184,219,1185]},{e:[143,1186]},{e:[219,1187]},{e:[219,1188]},{e:[219,1189]},{e:[219,1190]},{e:[126,1191,203,786,206,231]},{e:[219,1192]},{e:[215,1193]},{e:[219,1194]},{e:[206,231]},{e:[215,1195]},{e:[203,1196]},{e:[208,1197]},{e:[215,1198]},{e:[219,1199]},{e:[69,1200,136,1201,217,354]},{e:[215,1202]},{e:[220,1203]},{e:[42,1204]},{e:[219,1205]},{e:[177,1206,205,1207]},{e:[206,229]},{e:[187,1208,188,1208]},{e:[219,1209]},{e:[219,1209,222,1210]},{e:[184,1211,206,243,208,1015]},{e:[219,1212]},{e:[206,243,212,1213]},{e:[219,1214]},{e:[203,1215]},{e:[208,1216]},{e:[219,1217]},{e:[177,1218]},{e:[143,606,156,1219]},{e:[153,1220]},{e:[54,1221,143,404]},{e:[219,610]},{e:[215,1222]},{e:[219,1223]},{e:[219,1224]},{e:[4,1225]},{e:[206,250]},{e:[],a:1,p:1,r:1},{e:[219,1226]},{e:[206,1227]},{e:[184,1228,206,828]},{e:[213,616]},{e:[198,72,201,412,203,1229]},{e:[208,1230]},{e:[219,833]},{e:[219,1231]},{e:[212,1232]},{e:[219,1233]},{e:[206,272]},{e:[222,1234]},{e:[219,1235]},{e:[215,1236]},{e:[206,272]},{e:[107,1237,206,435]},{e:[201,1238]},{e:[219,852]},{e:[219,852]},{e:[219,853,220,853]},{e:[219,1239]},{e:[219,1240]},{e:[206,296]},{e:[222,1241]},{e:[114,1242,206,296,215,288]},{e:[219,860]},{e:[219,1243]},{e:[197,1244,219,1245,222,1246,223,1246]},{e:[208,1061]},{e:[184,1247,208,1061]},{e:[208,1061,215,1248]},{e:[203,1249]},{e:[155,1250]},{e:[219,1251]},{e:[37,1252]},{e:[212,1253]},{e:[206,288,212,1253,215,873]},{e:[213,1254]},{e:[219,1255]},{e:[126,1256,177,1256]},{e:[143,1257]},{e:[126,1258,219,1259]},{e:[126,1260,219,1261]},{e:[219,1262]},{e:[126,1263,203,875,206,288]},{e:[60,1264,120,1265,217,288]},{e:[215,1079]},{e:[206,288]},{e:[215,1266]},{e:[203,1267]},{e:[208,1268]},{e:[219,1269]},{e:[206,296,215,297]},{e:[203,1270]},{e:[203,887,208,888]},{e:[203,1271,206,435]},{e:[203,1272]},{e:[155,889,203,890]},{e:[37,1273]},{e:[75,1274,206,296]},{e:[212,1275]},{e:[222,1276,223,1276]},{e:[219,1277]},{e:[206,297]},{e:[212,1278]},{e:[212,1278]},{e:[206,297]},{e:[219,1279,222,1280]},{e:[206,300]},{e:[219,1281]},{e:[177,1282]},{e:[219,1283]},{e:[109,1284]},{e:[177,1285,219,1286]},{e:[219,1287]},{e:[219,1288]},{e:[184,1289,208,913]},{e:[206,912,212,1290]},{e:[165,1291,217,912]},{e:[206,837]},{e:[206,837]},{e:[219,917]},{e:[219,1292]},{e:[213,920]},{e:[114,1293,206,204]},{e:[197,1294]},{e:[219,1295]},{e:[219,1296]},{e:[219,1297]},{e:[198,328,201,1298]},{e:[219,1299]},{e:[180,933,213,328]},{e:[213,328]},{e:[184,1300,206,329]},{e:[197,1301,219,1302]},{e:[206,329]},{e:[206,329]},{e:[208,1303]},{e:[198,521,199,1304]},{e:[222,940]},{e:[213,1305]},{e:[206,338]},{e:[219,738]},{e:[219,1306]},{e:[5,1307]},{e:[219,1308]},{e:[219,1309,220,1309]},{e:[54,1310]},{e:[206,338]},{e:[219,1311]},{e:[203,1312]},{e:[206,1313]},{e:[199,1314]},{e:[197,1315]},{e:[182,1316]},{e:[219,753]},{e:[203,958]},{e:[155,1317]},{e:[215,1318]},{e:[101,1319]},{e:[219,1320]},{e:[20,1321]},{e:[219,1322]},{e:[20,1323]},{e:[208,1324]},{e:[224,963]},{e:[219,1325]},{e:[213,1326]},{e:[184,1327,206,355,215,1328]},{e:[224,966]},{e:[187,1329]},{e:[20,1330,42,1331,55,1332,118,1333,120,1334,217,355]},{e:[206,355]},{e:[206,355]},{e:[206,229,215,231]},{e:[213,973]},{e:[219,1335]},{e:[219,1336]},{e:[222,1337]},{e:[206,231,212,1338]},{e:[219,977]},{e:[219,1339]},{e:[219,1340]},{e:[222,1341]},{e:[206,231]},{e:[212,1342]},{e:[213,1343]},{e:[222,1344]},{e:[206,231,215,784]},{e:[206,784]},{e:[219,1345]},{e:[126,1346]},{e:[219,1347]},{e:[126,1348,177,1348,205,1349]},{e:[203,1350]},{e:[177,1351,205,1352,206,784]},{e:[206,784,215,1353]},{e:[219,1354]},{e:[215,1193]},{e:[120,1355,217,231]},{e:[206,231]},{e:[20,1356,217,231]},{e:[219,1357]},{e:[65,1358,157,1358]},{e:[6,1359,15,1360,147,1361]},{e:[215,1362]},{e:[211,1363]},{e:[220,1364]},{e:[63,1365,130,1366,217,229]},{e:[206,798]},{e:[215,1367]},{e:[126,1368]},{e:[219,1369]},{e:[219,1370]},{e:[219,1371,222,1372]},{e:[203,1373]},{e:[206,243,212,1374]},{e:[219,1016]},{e:[205,1375]},{e:[219,1376]},{e:[205,1377]},{e:[219,1378]},{e:[219,1379,221,1380]},{e:[199,1381]},{e:[219,1382]},{e:[70,817]},{e:[219,1383]},{e:[219,1384]},{e:[219,1385]},{e:[206,1386]},{e:[206,820]},{e:[19,1387,172,1388,219,1389]},{e:[205,1390]},{e:[],a:1,p:1,r:1},{e:[219,1036]},{e:[219,1038]},{e:[197,1391]},{e:[126,1392,203,1041,206,1393]},{e:[222,1394]},{e:[201,1395]},{e:[213,1396]},{e:[10,1397]},{e:[110,1398,147,1399,217,354]},{e:[206,435]},{e:[219,1400]},{e:[208,1401]},{e:[208,1402]},{e:[213,1058]},{e:[206,296]},{e:[206,296,215,288]},{e:[222,1403]},{e:[184,1404,206,288]},{e:[206,288,212,1405]},{e:[219,1063]},{e:[165,1406,217,288]},{e:[219,1407]},{e:[219,1408]},{e:[206,288]},{e:[212,1409]},{e:[222,1410]},{e:[206,288,215,873]},{e:[206,873]},{e:[219,1411]},{e:[219,1412]},{e:[219,1413]},{e:[205,1414]},{e:[219,1415]},{e:[177,1416,205,1417,206,873]},{e:[206,873,215,1418]},{e:[219,1419]},{e:[111,1420,219,1421]},{e:[219,1422]},{e:[20,1423,217,288]},{e:[219,1424]},{e:[157,1425]},{e:[203,1426,206,296]},{e:[219,1427]},{e:[219,1428]},{e:[219,1429]},{e:[212,1430,219,1431]},{e:[219,1432]},{e:[222,1433]},{e:[206,297,212,1434]},{e:[206,297]},{e:[222,1435]},{e:[180,1101,213,481]},{e:[213,481]},{e:[215,1436]},{e:[219,1437]},{e:[206,305]},{e:[206,305]},{e:[219,1438]},{e:[126,1439]},{e:[205,1440]},{e:[212,1441]},{e:[219,1110]},{e:[219,1442]},{e:[20,1443]},{e:[13,1116,184,1444,188,1116,198,709]},{e:[206,204]},{e:[219,1445]},{e:[203,1120,206,204]},{e:[203,1121,206,229]},{e:[198,328,201,721]},{e:[219,1446]},{e:[198,328]},{e:[219,1127]},{e:[197,1447]},{e:[217,1448]},{e:[219,1449]},{e:[197,1450,219,1451]},{e:[206,524]},{e:[206,944,215,1452]},{e:[219,1453]},{e:[206,1454,215,1455]},{e:[70,1456,153,1457]},{e:[137,1458]},{e:[203,1459]},{e:[219,1460]},{e:[71,48,217,1461]},{e:[213,1462]},{e:[219,1463]},{e:[222,1464]},{e:[212,1465,219,1466]},{e:[217,229,219,1467]},{e:[219,1468]},{e:[205,1469,208,1470]},{e:[219,1320]},{e:[215,1471]},{e:[219,1472]},{e:[219,1473]},{e:[205,1474]},{e:[107,1475]},{e:[219,1162]},{e:[55,1476,217,355]},{e:[223,1477]},{e:[219,1478]},{e:[219,1479]},{e:[224,1165]},{e:[46,1480,219,1481]},{e:[219,1482]},{e:[203,1483]},{e:[155,768]},{e:[201,1484]},{e:[219,1485]},{e:[206,231]},{e:[203,1486]},{e:[213,1487]},{e:[222,1488]},{e:[206,231]},{e:[182,1489,213,1490]},{e:[206,784,208,1491]},{e:[219,1492]},{e:[126,1493]},{e:[219,1494]},{e:[219,1495]},{e:[219,1496]},{e:[219,1497]},{e:[219,1498]},{e:[217,784,219,1499]},{e:[206,231]},{e:[219,1500]},{e:[126,1501]},{e:[215,1502]},{e:[206,793]},{e:[219,1503]},{e:[42,1504]},{e:[219,1505]},{e:[5,1506]},{e:[219,1507]},{e:[206,1006]},{e:[219,1508]},{e:[219,1509]},{e:[55,1510,217,798]},{e:[219,1511]},{e:[212,1512]},{e:[206,589]},{e:[217,243]},{e:[212,1513,217,243]},{e:[219,1514]},{e:[219,1515]},{e:[219,1516]},{e:[204,1517]},{e:[219,1518]},{e:[206,243]},{e:[184,1519,206,810]},{e:[206,810]},{e:[219,1520,223,1521]},{e:[215,1522]},{e:[206,402]},{e:[215,1523]},{e:[187,1524]},{e:[54,1525]},{e:[219,1526]},{e:[219,1527]},{e:[54,1528,153,822,205,1529]},{e:[219,1530]},{e:[222,1531]},{e:[219,1532]},{e:[119,620,217,1533]},{e:[213,1534]},{e:[219,1535]},{e:[205,1536]},{e:[219,1537]},{e:[215,1538]},{e:[219,1539]},{e:[203,1540]},{e:[222,1541]},{e:[222,1542]},{e:[201,1543]},{e:[219,1245]},{e:[219,1544]},{e:[20,1545]},{e:[206,288]},{e:[203,1546]},{e:[222,1547]},{e:[182,1548,213,1549]},{e:[206,873,208,1550]},{e:[126,1551]},{e:[215,1552]},{e:[219,1553]},{e:[215,1554]},{e:[219,1555]},{e:[219,1556]},{e:[217,873,219,1557]},{e:[206,288]},{e:[219,1558]},{e:[203,1559]},{e:[177,1560]},{e:[126,1561]},{e:[215,1562]},{e:[206,882]},{e:[219,1269]},{e:[155,1563]},{e:[203,1271,206,435]},{e:[203,1272,206,296]},{e:[222,1564]},{e:[203,1565]},{e:[203,1566]},{e:[213,1567]},{e:[219,1568]},{e:[213,1569]},{e:[138,1570,217,1571]},{e:[215,1572]},{e:[203,1573]},{e:[219,1574]},{e:[219,1575]},{e:[222,1576]},{e:[184,1577,213,1111]},{e:[219,1578]},{e:[219,1292]},{e:[201,1579]},{e:[198,328,201,1298]},{e:[222,1580]},{e:[135,518]},{e:[199,1581]},{e:[202,1582]},{e:[180,1304,199,1304]},{e:[115,1583,217,944]},{e:[206,1584]},{e:[143,1139,156,1585]},{e:[42,1586,54,1587,58,1588,62,1589,217,1454]},{e:[219,1590]},{e:[219,1591]},{e:[106,1592]},{e:[219,1593]},{e:[206,1313]},{e:[5,136,86,146,120,152]},{e:[206,229]},{e:[198,1594]},{e:[213,1595]},{e:[222,1596]},{e:[176,1597,203,1598]},{e:[177,1599]},{e:[184,1600,206,352]},{e:[219,1601]},{e:[219,1602]},{e:[55,1603,133,1604,217,962]},{e:[186,1605]},{e:[206,962]},{e:[219,1606]},{e:[206,229]},{e:[224,1328]},{e:[217,355]},{e:[205,1607]},{e:[215,1608]},{e:[219,1609]},{e:[205,1610]},{e:[205,1611]},{e:[219,1612]},{e:[222,1613]},{e:[213,1173]},{e:[219,1614]},{e:[206,231]},{e:[213,1615]},{e:[222,1616]},{e:[206,231,215,784]},{e:[219,1617,222,1618,223,1618]},{e:[208,1491]},{e:[219,1619]},{e:[212,1620]},{e:[206,784,215,1621]},{e:[206,784]},{e:[215,1622]},{e:[206,784]},{e:[208,1623]},{e:[177,1624,186,1625]},{e:[219,1626]},{e:[134,1627,217,231]},{e:[212,1628]},{e:[215,1629]},{e:[205,1630]},{e:[219,1631]},{e:[184,1632,206,1006]},{e:[184,1633]},{e:[184,1634,206,1202]},{e:[224,1367]},{e:[206,589]},{e:[222,1635]},{e:[219,1636]},{e:[200,1637,206,243]},{e:[213,1210]},{e:[206,806]},{e:[219,1638]},{e:[215,1639]},{e:[219,1379]},{e:[206,398]},{e:[206,398]},{e:[20,1640,120,1641,147,1642,217,604]},{e:[115,1643,217,250]},{e:[222,1644]},{e:[219,1645]},{e:[153,822]},{e:[203,1646,209,1647]},{e:[137,1648]},{e:[219,1649]},{e:[212,1650]},{e:[201,1651]},{e:[206,1393]},{e:[37,323,118,55]},{e:[206,1652]},{e:[198,1653,201,1395]},{e:[219,1654]},{e:[155,1655]},{e:[168,1656,217,1236]},{e:[205,1657]},{e:[219,1658]},{e:[206,651,212,1659]},{e:[206,651,212,1660]},{e:[222,1661]},{e:[184,1662,213,1246]},{e:[219,1663]},{e:[219,1664]},{e:[213,1665]},{e:[222,1666]},{e:[206,288,215,873]},{e:[219,1667,222,1668]},{e:[219,1669]},{e:[120,1670,217,873]},{e:[206,873,215,1552]},{e:[60,1671,120,1672,217,873]},{e:[215,1554]},{e:[206,873]},{e:[208,1673]},{e:[206,1079]},{e:[219,1674]},{e:[219,1675]},{e:[219,1676]},{e:[134,1677,217,288]},{e:[219,1678]},{e:[213,1679]},{e:[219,1680]},{e:[219,1681]},{e:[208,1682]},{e:[213,1276]},{e:[206,297,215,1683]},{e:[219,1684]},{e:[71,1685,217,431]},{e:[20,1686,120,1687,147,1688,217,696]},{e:[219,1689]},{e:[208,1690]},{e:[215,1691]},{e:[213,1692]},{e:[219,1442]},{e:[205,1693,206,1112]},{e:[219,1694]},{e:[198,1695,204,1696]},{e:[219,1697]},{e:[222,1698]},{e:[219,1699]},{e:[54,1137,143,1139]},{e:[219,1309]},{e:[215,1700]},{e:[219,1701]},{e:[219,1702]},{e:[219,1703]},{e:[4,1704]},{e:[206,944]},{e:[219,1705]},{e:[206,1313]},{e:[198,1706]},{e:[206,236]},{e:[213,1707]},{e:[219,1708]},{e:[219,1709]},{e:[219,1710]},{e:[219,1468]},{e:[206,962]},{e:[197,1711]},{e:[224,1471]},{e:[219,1712]},{e:[219,1713]},{e:[206,963]},{e:[219,1714]},{e:[55,1715,219,1716]},{e:[215,1717]},{e:[219,1718]},{e:[219,1719]},{e:[206,229]},{e:[198,1173,201,1484]},{e:[203,1486,206,231]},{e:[219,1720]},{e:[213,1490]},{e:[184,1721,206,784]},{e:[206,784,212,1722]},{e:[206,784]},{e:[222,1723]},{e:[120,1724,217,784]},{e:[120,1725,217,784]},{e:[65,1726,157,1726]},{e:[219,1727]},{e:[219,1728]},{e:[208,1729]},{e:[219,1730]},{e:[222,1731]},{e:[219,1732]},{e:[219,1733]},{e:[206,1734]},{e:[219,1507]},{e:[180,1735]},{e:[219,1509]},{e:[213,1736]},{e:[213,1372]},{e:[219,1737]},{e:[213,1018]},{e:[18,1738,126,1739,211,1740,217,243]},{e:[126,1741]},{e:[219,1742]},{e:[219,1743]},{e:[219,1744]},{e:[212,1745,217,1746]},{e:[206,820]},{e:[219,1747]},{e:[219,1748]},{e:[106,1749]},{e:[169,1750]},{e:[222,1751]},{e:[222,1752]},{e:[57,422,217,1753]},{e:[206,1754]},{e:[215,651]},{e:[219,1755]},{e:[219,1756]},{e:[219,1757]},{e:[198,441,201,1238]},{e:[219,1758]},{e:[219,1759]},{e:[198,1246,201,1543]},{e:[219,1544]},{e:[205,1760]},{e:[203,1546,206,288]},{e:[219,1761]},{e:[213,1549]},{e:[184,1762,206,873]},{e:[206,873]},{e:[206,873]},{e:[126,1763,219,1764]},{e:[111,1765]},{e:[219,1766]},{e:[65,1767,157,1767]},{e:[206,1079]},{e:[212,1768]},{e:[208,1769]},{e:[219,1770]},{e:[206,296]},{e:[219,1431]},{e:[155,1771]},{e:[155,1772,203,1566]},{e:[219,1773]},{e:[20,1774,217,297]},{e:[205,1775]},{e:[219,1776]},{e:[126,1777]},{e:[219,1778]},{e:[219,1779]},{e:[208,1690]},{e:[222,1780]},{e:[138,1781,177,1782,217,908]},{e:[215,1783]},{e:[219,1784]},{e:[198,1785,201,1579]},{e:[198,1786,199,1787]},{e:[222,1580]},{e:[199,1581,206,329]},{e:[198,1132]},{e:[206,1452]},{e:[219,1788]},{e:[206,1455]},{e:[206,1789]},{e:[206,1455]},{e:[19,1790,172,1791,219,1792]},{e:[197,1793]},{e:[206,537]},{e:[219,1466]},{e:[203,1598]},{e:[203,1598,206,229,215,1794]},{e:[208,1795]},{e:[219,1796]},{e:[203,1797]},{e:[208,1798]},{e:[206,1165]},{e:[224,1608]},{e:[187,1799]},{e:[20,1800,42,1801,55,1802,118,1803,120,1804,217,1165]},{e:[206,1165]},{e:[206,1165]},{e:[203,1805]},{e:[219,1617]},{e:[219,1806]},{e:[213,1807]},{e:[219,1808]},{e:[219,1809]},{e:[206,1353]},{e:[212,1810]},{e:[212,1810]},{e:[222,1811]},{e:[177,1812]},{e:[182,1813]},{e:[179,1814]},{e:[206,1198]},{e:[153,1815,217,236]},{e:[206,1202]},{e:[206,589]},{e:[206,243]},{e:[42,1816]},{e:[219,1817]},{e:[219,1818]},{e:[219,1819]},{e:[126,1820]},{e:[126,1821]},{e:[206,1523]},{e:[219,1822]},{e:[217,819]},{e:[209,1647]},{e:[54,1528,153,822]},{e:[219,1823]},{e:[219,1824]},{e:[213,1825]},{e:[198,1826,201,1651]},{e:[217,1827]},{e:[217,194]},{e:[184,1828]},{e:[206,1538]},{e:[206,1236]},{e:[213,1541]},{e:[213,1542]},{e:[219,1829]},{e:[203,1830]},{e:[219,1667]},{e:[219,1831]},{e:[177,1832,205,1833]},{e:[219,1834]},{e:[177,1835]},{e:[206,1418]},{e:[222,1836]},{e:[222,1837]},{e:[177,1838]},{e:[212,1839,219,1840]},{e:[219,1841]},{e:[203,1842]},{e:[177,1843]},{e:[219,1844]},{e:[75,1845,203,1846]},{e:[219,1847]},{e:[126,1848]},{e:[126,1849]},{e:[206,908,212,1850]},{e:[219,1851]},{e:[219,1852]},{e:[166,1853,217,493]},{e:[206,1112]},{e:[206,507]},{e:[204,1128]},{e:[197,1854,219,1855]},{e:[187,1856]},{e:[54,1587]},{e:[219,1857]},{e:[219,1858]},{e:[54,1859,153,1457,205,1860]},{e:[219,1861]},{e:[86,1862,217,229]},{e:[222,1863]},{e:[198,1864,203,1865]},{e:[219,1866]},{e:[219,1867]},{e:[223,1868]},{e:[219,1869]},{e:[219,1870]},{e:[224,1717]},{e:[46,1871,219,1872]},{e:[219,1873]},{e:[219,1874]},{e:[213,1618]},{e:[206,784]},{e:[177,1875,205,1876]},{e:[177,1877]},{e:[222,1878]},{e:[206,1195,212,1879]},{e:[219,1880]},{e:[222,1881]},{e:[109,1882,219,1883]},{e:[5,1884]},{e:[215,1885]},{e:[208,1886]},{e:[215,1887]},{e:[208,1888]},{e:[219,1889]},{e:[219,1890]},{e:[213,1644]},{e:[197,1891]},{e:[78,1892]},{e:[215,1893]},{e:[206,1894,212,1895]},{e:[118,150]},{e:[219,1896]},{e:[206,1248]},{e:[219,1897]},{e:[215,1898]},{e:[219,1899]},{e:[219,1900]},{e:[206,1554]},{e:[219,1901]},{e:[213,1902]},{e:[206,1266,212,1903]},{e:[219,1904]},{e:[222,1905]},{e:[203,1906]},{e:[203,1907]},{e:[219,1908]},{e:[219,1909]},{e:[206,1436]},{e:[219,1910]},{e:[219,1911]},{e:[208,1912]},{e:[219,1913]},{e:[219,1914]},{e:[219,1915]},{e:[205,1916]},{e:[184,1917,208,1918]},{e:[20,1919]},{e:[202,1920]},{e:[180,1787,199,1787]},{e:[222,1921]},{e:[153,1457]},{e:[203,1922]},{e:[137,1923]},{e:[219,1924]},{e:[208,1925]},{e:[219,1926]},{e:[206,1318,212,1927]},{e:[206,962]},{e:[219,1928]},{e:[206,1471]},{e:[197,1929]},{e:[217,1165]},{e:[205,1930]},{e:[215,1931]},{e:[219,1932]},{e:[205,1933]},{e:[205,1934]},{e:[155,1935]},{e:[219,1936]},{e:[219,1937]},{e:[219,1938]},{e:[213,1939]},{e:[219,1940]},{e:[215,1941]},{e:[213,1942]},{e:[174,1814,217,1943]},{e:[179,1814]},{e:[219,1631]},{e:[219,1944]},{e:[222,1945,223,1945]},{e:[217,1639,219,1946]},{e:[219,1947]},{e:[208,1948]},{e:[208,1949]},{e:[198,1950]},{e:[197,1951]},{e:[166,1952,217,824]},{e:[119,620]},{e:[219,1953]},{e:[215,1954]},{e:[155,1955]},{e:[60,1956,120,1957,153,1958,217,1552]},{e:[215,1898]},{e:[206,1552]},{e:[212,1959]},{e:[206,1079]},{e:[219,1960]},{e:[215,1961]},{e:[213,1962]},{e:[219,1963]},{e:[219,1964]},{e:[206,1965]},{e:[208,1966]},{e:[203,1967]},{e:[155,1968]},{e:[219,1969]},{e:[208,1970]},{e:[208,1971]},{e:[184,1972,213,1780]},{e:[219,1973]},{e:[219,1852]},{e:[222,1974,223,1974]},{e:[219,1975]},{e:[222,1976]},{e:[212,1977,217,1978]},{e:[219,1979]},{e:[106,1980]},{e:[169,1981]},{e:[219,1982]},{e:[186,1983]},{e:[219,1984]},{e:[198,1864,201,1985]},{e:[219,1986]},{e:[219,1987]},{e:[55,1988,219,1989]},{e:[215,1990]},{e:[219,1991]},{e:[219,1992]},{e:[212,1993]},{e:[215,1994]},{e:[206,1621]},{e:[212,1995]},{e:[206,1193,215,1996]},{e:[213,1811]},{e:[120,1997,147,1998,217,1502]},{e:[206,1198]},{e:[217,354]},{e:[187,1999]},{e:[206,1639,212,2e3]},{e:[208,2001]},{e:[203,2002]},{e:[219,2003]},{e:[219,2004]},{e:[155,2005]},{e:[219,2006]},{e:[20,2007]},{e:[213,1826]},{e:[10,2008,217,229]},{e:[212,2009]},{e:[111,2010,219,2011]},{e:[219,2012]},{e:[60,1956]},{e:[222,2013]},{e:[213,1837]},{e:[120,2014,147,2015,217,1562]},{e:[219,1840]},{e:[203,1906,206,296]},{e:[203,1907,206,296]},{e:[5,2016]},{e:[222,2017,223,2017]},{e:[219,2018]},{e:[219,2019]},{e:[203,2020]},{e:[219,2021]},{e:[219,2022]},{e:[220,1915]},{e:[215,2023]},{e:[206,1691,212,2024]},{e:[205,2025]},{e:[198,1695]},{e:[219,2026]},{e:[217,1454]},{e:[209,2027]},{e:[219,2028]},{e:[219,2029]},{e:[184,2030,198,2031]},{e:[219,2032]},{e:[213,1863]},{e:[219,2033]},{e:[201,2034]},{e:[206,1717]},{e:[224,1931]},{e:[187,2035]},{e:[20,2036,42,2037,55,2038,118,2039,120,2040,217,1717]},{e:[206,1717]},{e:[206,1717]},{e:[222,2041]},{e:[120,2042,217,1621]},{e:[222,2043]},{e:[20,2044,217,1193]},{e:[219,2045]},{e:[219,2046]},{e:[222,2047]},{e:[219,2048]},{e:[219,2049,221,2050]},{e:[219,2051]},{e:[203,2052]},{e:[203,2053]},{e:[219,2054]},{e:[203,2055]},{e:[219,2056]},{e:[219,2057]},{e:[222,2058]},{e:[219,2059]},{e:[203,2060]},{e:[177,2061]},{e:[213,2062]},{e:[219,2063]},{e:[219,2064]},{e:[219,2065]},{e:[206,1683,212,2066]},{e:[155,2067]},{e:[203,2068]},{e:[219,2069]},{e:[203,2070]},{e:[203,2071]},{e:[138,2072,217,1691]},{e:[219,2073]},{e:[219,2074]},{e:[213,1921]},{e:[219,2075]},{e:[197,2076]},{e:[78,2077]},{e:[219,1982]},{e:[169,2078]},{e:[37,2079]},{e:[198,1864,201,1985]},{e:[219,2080]},{e:[223,2081]},{e:[219,2082]},{e:[219,2083]},{e:[224,1990]},{e:[46,2084,219,2085]},{e:[219,2086]},{e:[213,2087]},{e:[219,2088]},{e:[213,2089]},{e:[177,2090]},{e:[126,2091]},{e:[126,2092]},{e:[212,2093,217,1639]},{e:[204,2094]},{e:[184,2095,206,1887]},{e:[206,1887]},{e:[203,2096,206,1522]},{e:[219,2097]},{e:[219,2098]},{e:[153,822]},{e:[219,2099]},{e:[205,2100]},{e:[203,2101]},{e:[213,2102]},{e:[206,1898,208,2103]},{e:[219,2104]},{e:[219,2105]},{e:[206,1554]},{e:[126,2106]},{e:[126,2107]},{e:[205,2108]},{e:[219,2109]},{e:[219,2110]},{e:[219,2111]},{e:[203,2112,206,1572]},{e:[219,2113]},{e:[219,2114]},{e:[219,2115]},{e:[204,2116,213,1974]},{e:[215,2117]},{e:[54,1859]},{e:[198,2118]},{e:[197,2119]},{e:[219,2120]},{e:[212,2121,219,2122]},{e:[198,2123,201,2034]},{e:[217,1717]},{e:[205,2124]},{e:[215,2125]},{e:[219,2126]},{e:[205,2127]},{e:[205,2128]},{e:[219,2129]},{e:[177,2130]},{e:[206,1622]},{e:[219,2131]},{e:[219,2132]},{e:[219,2133]},{e:[219,2134]},{e:[219,2135]},{e:[219,2049]},{e:[219,2051]},{e:[203,2136,206,1522]},{e:[203,2137,206,1522]},{e:[188,2138]},{e:[219,2139]},{e:[219,2140]},{e:[219,2141]},{e:[219,2142]},{e:[206,1898]},{e:[212,2143]},{e:[219,2144]},{e:[219,2145]},{e:[219,2146]},{e:[213,2017]},{e:[203,2147]},{e:[206,1571]},{e:[219,2069]},{e:[203,2148,206,1572]},{e:[203,2149,206,1572]},{e:[205,2150]},{e:[219,2151,222,2152]},{e:[165,2153,217,1783]},{e:[155,2154]},{e:[219,2155]},{e:[153,946]},{e:[222,2156]},{e:[176,2157]},{e:[206,962]},{e:[219,2158]},{e:[55,2159,219,2160]},{e:[215,2161]},{e:[219,2162]},{e:[219,2163]},{e:[203,2164]},{e:[219,2165]},{e:[208,2166]},{e:[208,2167]},{e:[208,2168]},{e:[213,2047]},{e:[213,1945]},{e:[219,2097]},{e:[219,2098]},{e:[219,2169]},{e:[215,2170]},{e:[155,2171]},{e:[203,2172]},{e:[203,2173]},{e:[222,2174]},{e:[208,2175]},{e:[208,2176]},{e:[206,2177,215,2178]},{e:[219,2179]},{e:[219,2113]},{e:[219,2114]},{e:[219,2180]},{e:[180,2116,213,1974]},{e:[213,1974]},{e:[20,2181]},{e:[219,2182]},{e:[203,2183]},{e:[213,2184]},{e:[219,2185]},{e:[206,1990]},{e:[224,2125]},{e:[187,2186]},{e:[20,2187,42,2188,55,2189,118,2190,120,2191,217,1990]},{e:[206,1990]},{e:[206,1990]},{e:[219,2192]},{e:[212,2193]},{e:[222,2194,223,2194]},{e:[219,2195]},{e:[219,2196]},{e:[13,2138,184,2197,198,2198]},{e:[165,2199,217,1893]},{e:[219,2200]},{e:[219,2201]},{e:[219,2202]},{e:[213,2203]},{e:[219,2204]},{e:[219,2205]},{e:[5,2016,71,1685]},{e:[81,2206,217,2177]},{e:[206,1571]},{e:[206,2023]},{e:[219,2207]},{e:[153,1457]},{e:[219,2208]},{e:[219,2122]},{e:[203,2209]},{e:[223,2210]},{e:[219,2211]},{e:[219,2212]},{e:[224,2161]},{e:[46,2213,219,2214]},{e:[219,2215]},{e:[203,2164,206,231]},{e:[222,2216]},{e:[206,1996,212,2217]},{e:[203,2218]},{e:[203,2219]},{e:[219,2169]},{e:[54,1528]},{e:[20,2220]},{e:[184,2221]},{e:[203,2172,206,288]},{e:[203,2222,206,1898]},{e:[206,1898]},{e:[203,2223]},{e:[203,2224]},{e:[92,2225]},{e:[205,2226,206,2117]},{e:[188,2227]},{e:[219,2228]},{e:[217,1990]},{e:[205,2229]},{e:[215,2230]},{e:[219,2231]},{e:[205,2232]},{e:[205,2233]},{e:[213,2234]},{e:[219,2235]},{e:[219,2236]},{e:[219,2237]},{e:[219,2238]},{e:[219,2239]},{e:[219,2202]},{e:[219,2240]},{e:[219,2241]},{e:[208,2242]},{e:[219,2243]},{e:[219,2244]},{e:[155,2245]},{e:[219,2246]},{e:[55,2247,219,2248]},{e:[215,2249]},{e:[219,2250]},{e:[219,2251]},{e:[206,1994]},{e:[213,2194]},{e:[203,2252,206,1941]},{e:[203,2253,206,1941]},{e:[205,2254]},{e:[203,2255]},{e:[203,2256,206,1961]},{e:[203,2257,206,1961]},{e:[219,2258]},{e:[206,2117]},{e:[13,2227,184,2259,198,2260]},{e:[212,2261,219,2262]},{e:[206,2161]},{e:[224,2230]},{e:[187,2263]},{e:[20,2264,42,2265,55,2266,118,2267,120,2268,217,2161]},{e:[206,2161]},{e:[206,2161]},{e:[219,2236]},{e:[219,2237]},{e:[219,2269]},{e:[219,2270]},{e:[219,2240]},{e:[219,2241]},{e:[203,2271]},{e:[219,2244]},{e:[54,1859]},{e:[222,2272]},{e:[176,2273]},{e:[223,2274]},{e:[219,2275]},{e:[219,2276]},{e:[224,2249]},{e:[46,2277]},{e:[219,2278]},{e:[206,2170]},{e:[215,2279]},{e:[219,2280]},{e:[213,2281]},{e:[219,2282]},{e:[217,2161]},{e:[205,2283]},{e:[215,2284]},{e:[219,2285]},{e:[205,2286]},{e:[10,2287,217,1954]},{e:[206,2178]},{e:[219,2262]},{e:[203,2288]},{e:[219,2289]},{e:[55,2290,219,2291]},{e:[215,2292]},{e:[219,2293]},{e:[219,2294]},{e:[219,2295]},{e:[206,2249]},{e:[224,2284]},{e:[187,2296]},{e:[20,2297,42,2298,55,2299,120,2300,217,2249]},{e:[206,2249]},{e:[203,2301]},{e:[206,1794,215,2302]},{e:[223,2303]},{e:[219,2304]},{e:[219,2305]},{e:[224,2292]},{e:[219,2306]},{e:[219,2307]},{e:[20,2308,217,1794]},{e:[217,2249]},{e:[205,2309]},{e:[215,2310]},{e:[205,2311]},{e:[155,2312,203,2301]},{e:[177,2313]},{e:[219,2314]},{e:[55,2315,219,2316]},{e:[219,2317]},{e:[219,2318]},{e:[219,2319]},{e:[206,2292]},{e:[224,2310]},{e:[187,2320]},{e:[206,2292]},{e:[184,2321]},{e:[208,2322]},{e:[223,2323]},{e:[219,2324]},{e:[222,2325]},{e:[217,2292]},{e:[203,2326]},{e:[199,2327,206,2302,212,2328]},{e:[219,2329]},{e:[223,2325]},{e:[219,2330]},{e:[203,2326,206,2279]},{e:[199,2331]},{e:[219,2332]},{e:[213,2325]}]},{d:287,s0:0,s:[{e:[20,1,22,2,57,3,70,4,81,5,115,5,126,6,128,7,166,8,177,6,193,9,205,10,219,11]},{e:[],a:1,p:3},{e:[],a:1,p:5},{e:[193,9,219,12]},{e:[],a:1,p:6},{e:[20,1,219,11]},{e:[],a:1,p:8},{e:[219,13]},{e:[20,1]},{e:[219,14]},{e:[],a:1,p:8},{e:[],a:1,p:8},{e:[205,15,206,16]},{e:[],a:1,p:1},{e:[20,1,176,17,219,18]},{e:[219,19]},{e:[],a:1,p:2},{e:[],a:1,p:7},{e:[],a:1,p:7},{e:[206,16,212,20]},{e:[222,21]},{e:[213,22]},{e:[206,16]}]},{d:288,s0:0,s:[{e:[3,1,5,2,10,3,11,4,12,5,15,6,26,7,33,8,37,9,42,10,60,11,61,12,81,13,83,14,86,15,92,16,100,17,111,18,115,13,118,19,119,20,120,21,128,22,134,23,136,24,138,25,143,26,154,25,163,27,166,1,167,28,170,29,171,30,193,31]},{e:[118,19]},{e:[],a:1,p:2},{e:[],a:1,p:1},{e:[],a:1,p:1},{e:[],a:1,p:2},{e:[],a:1,p:2},{e:[],a:1,p:2},{e:[],a:1,p:2},{e:[],a:1,p:1},{e:[],a:1,p:2},{e:[],a:1,p:1},{e:[],a:1,p:2},{e:[92,16]},{e:[219,32]},{e:[],a:1,p:1},{e:[],a:1,p:1},{e:[],a:1,p:1},{e:[],a:1,p:1},{e:[],a:1,p:1},{e:[],a:1,p:2},{e:[],a:1,p:1},{e:[92,16]},{e:[],a:1,p:2},{e:[],a:1,p:2},{e:[177,33,219,34]},{e:[],a:1,p:2},{e:[],a:1,p:2},{e:[],a:1,p:2},{e:[],a:1,p:1},{e:[],a:1,p:2},{e:[219,35]},{e:[],a:1,p:1},{e:[],a:1,p:1},{e:[],a:1,p:1},{e:[38,36,118,19]},{e:[],a:1,p:1}]},{d:289,s0:0,s:[{e:[3,1,10,2,11,3,37,4,60,5,71,6,81,7,83,8,86,9,92,10,100,11,111,12,115,7,118,13,120,14,128,15,138,16,154,16,166,1,170,17,193,18]},{e:[118,13]},{e:[],a:1,p:12},{e:[],a:1,p:12},{e:[],a:1,p:10},{e:[],a:1,p:4},{e:[],a:1,p:14},{e:[92,10,118,13]},{e:[219,19]},{e:[],a:1,p:11},{e:[],a:1,p:5},{e:[],a:1,p:13},{e:[],a:1,p:1},{e:[],a:1,p:6},{e:[],a:1,p:9},{e:[92,10]},{e:[177,20,219,21]},{e:[],a:1,p:7},{e:[219,22]},{e:[],a:1,p:2},{e:[],a:1,p:3},{e:[],a:1,p:3},{e:[38,23,118,13]},{e:[],a:1,p:10}]},{d:290,s0:0,s:[{e:[5,1,12,2,15,3,26,4,33,5,42,6,61,7,82,8,119,9,134,10,136,11,143,12,163,13,167,14,171,15]},{e:[],a:1,p:1},{e:[],a:1,p:8},{e:[42,16]},{e:[],a:1,p:2},{e:[],a:1,p:6},{e:[],a:1,p:4},{e:[],a:1,p:13},{e:[],a:1,p:14},{e:[],a:1,p:12},{e:[],a:1,p:5},{e:[],a:1,p:16},{e:[],a:1,p:3},{e:[],a:1,p:10},{e:[],a:1,p:9},{e:[],a:1,p:11},{e:[],a:1,p:15}]},{d:291,s0:0,s:[{e:[20,1,118,2]},{e:[],a:1,p:3},{e:[],a:1,p:11}]},{d:312,s0:0,s:[{e:[5,1,45,2,60,3,73,4,78,5,153,6,154,7]},{e:[],a:1,p:2},{e:[],a:1,p:2},{e:[],a:1,p:2},{e:[],a:1,p:2},{e:[],a:1,p:2},{e:[],a:1,p:2},{e:[],a:1,p:2}]},{d:326,s0:0,s:[{e:[20,1,42,2,55,3,57,4,71,5,86,6]},{e:[177,7,219,8]},{e:[215,9]},{e:[],a:1,p:1},{e:[219,10]},{e:[112,11,219,12]},{e:[219,13]},{e:[],a:1,p:3},{e:[],a:1,p:3},{e:[],a:1,p:4},{e:[205,14,206,15]},{e:[],a:1,p:4},{e:[],a:1,p:4},{e:[],a:1,p:4},{e:[218,16,219,17]},{e:[],a:1,p:4},{e:[219,18]},{e:[206,15,212,19]},{e:[206,15]},{e:[222,20]},{e:[182,21,213,22]},{e:[199,23]},{e:[206,15]},{e:[213,22]}]},{d:327,s0:0,s:[{e:[20,1]},{e:[],a:1,p:2}]},{d:328,s0:0,s:[{e:[42,1,57,2,71,3,86,4]},{e:[],a:1,p:3},{e:[],a:1,p:1},{e:[],a:1,p:2},{e:[],a:1,p:2}]},{d:332,s0:0,s:[{e:[219,1]},{e:[186,2,205,3]},{e:[],a:1,p:1},{e:[],a:1,p:1}]},{d:336,s0:0,s:[{e:[219,1]},{e:[176,2,203,3]},{e:[],a:1,p:1},{e:[],a:1,p:2}]},{d:344,s0:0,s:[{e:[112,1,219,2]},{e:[],a:1,p:1},{e:[112,1]}]},{d:349,s0:0,s:[{e:[153,1,217,2]},{e:[5,3,73,4,219,5]},{e:[],a:1,p:2},{e:[],a:1,p:2},{e:[],a:1,p:2},{e:[206,6]},{e:[],a:1,p:1}]},{d:351,s0:0,s:[{e:[5,1,26,2,70,3,71,4,78,5,82,6,92,7,93,8,99,9,135,10,153,11,217,12]},{e:[],a:1,p:2},{e:[],a:1,p:2},{e:[],a:1,p:2},{e:[],a:1,p:2},{e:[219,13]},{e:[],a:1,p:2},{e:[],a:1,p:2},{e:[],a:1,p:2},{e:[],a:1,p:2},{e:[],a:1,p:2},{e:[5,14,45,15,78,16,219,17]},{e:[],a:1,p:2},{e:[203,18]},{e:[],a:1,p:2},{e:[],a:1,p:2},{e:[],a:1,p:2},{e:[206,19]},{e:[219,20]},{e:[],a:1,p:1},{e:[188,21]},{e:[219,22]},{e:[153,23,184,24]},{e:[],a:1,p:1},{e:[219,22]}]},{d:352,s0:0,s:[{e:[5,1,15,2,20,3,26,4,42,5,55,6,70,7,71,8,73,9,81,10,82,11,92,12,93,13,97,14,99,15,115,10,118,16,153,17,211,18,224,19]},{e:[219,20,220,20]},{e:[],a:1,p:3},{e:[],a:1,p:1},{e:[186,21,219,22]},{e:[215,23]},{e:[],a:1,p:1},{e:[219,24]},{e:[],a:1,p:1},{e:[],a:1,p:3},{e:[20,25,92,26,118,27,219,28]},{e:[],a:1,p:3},{e:[],a:1,p:1},{e:[],a:1,p:3},{e:[],a:1,p:3},{e:[],a:1,p:3},{e:[],a:1,p:1},{e:[5,29,45,30,73,9,78,31]},{e:[],a:1,p:1},{e:[],a:1,p:1},{e:[],a:1,p:3},{e:[],a:1,p:3},{e:[],a:1,p:3},{e:[],a:1,p:3},{e:[153,32,206,33]},{e:[],a:1,p:1},{e:[],a:1,p:1},{e:[],a:1,p:1},{e:[126,34,186,35,205,36,206,37,208,38]},{e:[],a:1,p:3},{e:[],a:1,p:3},{e:[],a:1,p:3},{e:[],a:1,p:1},{e:[],a:1,p:2},{e:[219,39]},{e:[219,40]},{e:[219,41]},{e:[],a:1,p:1},{e:[219,42]},{e:[212,43]},{e:[184,44,206,37]},{e:[184,45,206,37,208,38,212,43]},{e:[197,46,203,47]},{e:[222,48]},{e:[219,40]},{e:[219,41]},{e:[219,49]},{e:[219,50]},{e:[213,51]},{e:[184,52,203,53]},{e:[206,37]},{e:[206,37,208,38]},{e:[219,49]},{e:[219,54]},{e:[197,55]},{e:[219,56]},{e:[198,57]},{e:[198,58]},{e:[206,37]}]},{d:354,s0:0,s:[{e:[20,1,55,2,70,3,71,4,81,5,92,6,115,5,118,7,128,8,211,9,224,10]},{e:[219,11]},{e:[],a:1,p:3},{e:[],a:1,p:5},{e:[75,12,112,13,219,14]},{e:[20,15,92,16,118,17,219,18]},{e:[46,19]},{e:[219,20]},{e:[219,21]},{e:[],a:1,p:3},{e:[],a:1,p:3},{e:[],a:1,p:5},{e:[],a:1,p:6},{e:[],a:1,p:6},{e:[],a:1,p:6},{e:[],a:1,p:5},{e:[],a:1,p:6},{e:[],a:1,p:6},{e:[],a:1,p:5},{e:[],a:1,p:3},{e:[],a:1,p:6},{e:[],a:1,p:5}]},{d:355,s0:0,s:[{e:[5,1,15,2,26,3,42,4,45,5,73,6,78,7,82,8,93,9,97,10,99,11]},{e:[219,12,220,12]},{e:[],a:1,p:1},{e:[],a:1,p:1},{e:[],a:1,p:1},{e:[],a:1,p:2},{e:[],a:1,p:2},{e:[],a:1,p:2},{e:[],a:1,p:1},{e:[],a:1,p:2},{e:[],a:1,p:2},{e:[],a:1,p:2},{e:[4,13,137,14,149,15,205,16,206,17,212,18,215,19]},{e:[],a:1,p:2},{e:[],a:1,p:2},{e:[219,20]},{e:[219,21]},{e:[],a:1,p:1},{e:[222,22]},{e:[],a:1,p:1},{e:[212,23]},{e:[206,17,215,19]},{e:[182,24]},{e:[222,25]},{e:[222,26]},{e:[213,27]},{e:[213,28]},{e:[206,17]},{e:[206,17]}]},{d:362,s0:0,s:[{e:[5,1,45,2,73,3,78,4,93,5,97,6,99,7]},{e:[219,8]},{e:[],a:1,p:1},{e:[],a:1,p:1},{e:[],a:1,p:6},{e:[],a:1,p:1},{e:[],a:1,p:7},{e:[],a:1,p:1},{e:[4,9,137,10]},{e:[],a:1,p:3},{e:[],a:1,p:2}]},{d:365,s0:0,s:[{e:[45,1,73,2,93,3,99,4]},{e:[],a:1,p:2},{e:[],a:1,p:4},{e:[],a:1,p:3},{e:[],a:1,p:1}]},{d:377,s0:0,s:[{e:[19,1,172,2,219,3]},{e:[],a:1,p:2},{e:[],a:1,p:2},{e:[54,4,153,5,205,6]},{e:[],a:1,p:1},{e:[],a:1,p:1},{e:[219,7]},{e:[169,8,206,9]},{e:[],a:1,p:1},{e:[],a:1,p:1}]},{d:391,s0:0,s:[{e:[217,1]},{e:[],a:1,p:2}]},{d:406,s0:0,s:[{e:[143,1,156,2,217,3]},{e:[],a:1,p:2},{e:[70,4,219,5]},{e:[],a:1,p:2},{e:[],a:1,p:2},{e:[],a:1,p:2}]},{d:407,s0:0,s:[{e:[54,1,143,2]},{e:[],a:1,p:2},{e:[],a:1,p:2}]},{d:408,s0:0,s:[{e:[42,1,54,2,55,3,58,4,62,5,128,6,143,7,156,8]},{e:[215,9]},{e:[],a:1,p:5},{e:[],a:1,p:1},{e:[],a:1,p:4},{e:[],a:1,p:6},{e:[219,10]},{e:[219,11]},{e:[],a:1,p:3},{e:[],a:1,p:2},{e:[],a:1,p:1},{e:[],a:1,p:2}]},{d:410,s0:0,s:[{e:[5,1,219,2]},{e:[219,3]},{e:[],a:1,p:2},{e:[206,4]},{e:[],a:1,p:2}]},{d:419,s0:0,s:[{e:[70,1,219,2,220,2]},{e:[],a:1,p:1},{e:[70,1,153,3]},{e:[],a:1,p:2}]},{d:430,s0:0,s:[{e:[137,1]},{e:[],a:1,p:4}]},{d:440,s0:0,s:[{e:[20,1,42,2,55,3,81,4,135,5,197,6,217,7,219,8]},{e:[],a:1,p:1},{e:[],a:1,p:1},{e:[],a:1,p:1},{e:[],a:1,p:1},{e:[],a:1,p:1},{e:[],a:1,p:2},{e:[],a:1,p:2},{e:[79,9,179,10,184,11,187,12,188,10,190,12,199,13,203,14,204,13,207,12,209,12]},{e:[],a:1,p:2},{e:[],a:1,p:2},{e:[],a:1,p:2},{e:[],a:1,p:2},{e:[],a:1,p:2},{e:[],a:1,p:2}]},{d:442,s0:0,s:[{e:[20,1,42,2,55,3,81,4,135,5]},{e:[],a:1,p:1},{e:[],a:1,p:1},{e:[],a:1,p:1},{e:[],a:1,p:1},{e:[],a:1,p:2}]},{d:450,s0:0,s:[{e:[10,1,18,2,20,3,55,4,74,5,120,6,126,7,133,2,134,8,141,9,147,10,168,11,211,12]},{e:[],a:1,p:1},{e:[],a:1,p:3},{e:[],a:1,p:1},{e:[],a:1,p:1},{e:[],a:1,p:4},{e:[],a:1,p:1},{e:[],a:1,p:1},{e:[],a:1,p:1},{e:[],a:1,p:7},{e:[],a:1,p:2},{e:[],a:1,p:5},{e:[],a:1,p:1}]},{d:455,s0:0,s:[{e:[42,1]},{e:[],a:1,p:1}]},{d:460,s0:0,s:[{e:[33,1]},{e:[],a:1,p:1}]},{d:471,s0:0,s:[{e:[5,1,6,2,15,3,20,4,26,5,55,6,70,7,71,8,73,9,81,10,82,11,92,12,93,13,110,14,118,15,135,16,147,17,153,18,211,19,217,20,224,21]},{e:[],a:1,p:1},{e:[],a:1,p:1},{e:[],a:1,p:1},{e:[],a:1,p:1},{e:[],a:1,p:1},{e:[],a:1,p:1},{e:[],a:1,p:1},{e:[],a:1,p:1},{e:[],a:1,p:1},{e:[],a:1,p:1},{e:[],a:1,p:1},{e:[],a:1,p:1},{e:[],a:1,p:1},{e:[],a:1,p:1},{e:[],a:1,p:1},{e:[],a:1,p:1},{e:[],a:1,p:1},{e:[],a:1,p:1},{e:[219,22]},{e:[],a:1,p:2},{e:[],a:1,p:1},{e:[215,23]},{e:[],a:1,p:1}]},{d:474,s0:0,s:[{e:[5,1,6,2,15,3,20,4,26,5,55,6,70,7,71,8,73,9,81,10,82,11,92,12,93,13,110,14,118,15,135,16,147,17,153,18,211,19,224,20]},{e:[],a:1,p:1},{e:[],a:1,p:4},{e:[],a:1,p:1},{e:[],a:1,p:1},{e:[],a:1,p:1},{e:[],a:1,p:1},{e:[],a:1,p:1},{e:[],a:1,p:1},{e:[],a:1,p:1},{e:[],a:1,p:1},{e:[],a:1,p:1},{e:[],a:1,p:1},{e:[],a:1,p:1},{e:[],a:1,p:5},{e:[],a:1,p:1},{e:[],a:1,p:2},{e:[],a:1,p:3},{e:[],a:1,p:1},{e:[],a:1,p:1},{e:[],a:1,p:1}]},{d:487,s0:0,s:[{e:[69,1,130,2,136,3]},{e:[],a:1,p:2},{e:[],a:1,p:3},{e:[],a:1,p:1}]},{d:497,s0:0,s:[{e:[63,1,69,2,130,3,136,4]},{e:[],a:1,p:4},{e:[],a:1,p:2},{e:[],a:1,p:3},{e:[],a:1,p:1}]},{d:498,s0:0,s:[{e:[219,1,220,2]},{e:[184,3,206,4]},{e:[184,3,206,4]},{e:[180,5,219,2]},{e:[],a:1,p:1},{e:[206,4]}]}];var _loaded=!1;function isDfaPreSeeded(){return _loaded}function clearPreSeededDFA(){if(!_loaded)return;let dfas=SysMLv2Parser.decisionsToDFA;for(let dfa of dfas)dfa.isPrecedenceDfa?dfa.s0=DFAState.fromState(-1):dfa.s0=void 0,dfa.states&&typeof dfa.states.clear=="function"&&dfa.states.clear();_loaded=!1}function loadDFASnapshot(){if(_loaded)return 0;SysMLv2Parser._ATN;let dfas=SysMLv2Parser.decisionsToDFA,totalStates=0;for(let snap of DFA_SNAPSHOT)loadDecision(dfas,snap),totalStates+=snap.s.length;return _loaded=!0,totalStates}function loadDecision(dfas,snap){let dfa=dfas[snap.d];if(!dfa)return;let emptyConfigs=new ATNConfigSet,states=new Array(snap.s.length);for(let i=0;i<snap.s.length;i++){let ss=snap.s[i],state=DFAState.fromState(i);state.configs=emptyConfigs,state.isAcceptState=ss.a===1,ss.p!==void 0&&(state.prediction=ss.p),state.requiresFullContext=ss.r===1,states[i]=state}let errorState=ATNSimulator.ERROR;for(let i=0;i<snap.s.length;i++){let ss=snap.s[i],state=states[i],e=ss.e;for(let j=0;j<e.length;j+=2){let tokenIndex=e[j],targetIdx=e[j+1];state.edges[tokenIndex]=targetIdx===-1?errorState:states[targetIdx]}}if(snap.prec){if(dfa.s0||(dfa.s0=DFAState.fromState(-1)),snap.precEdges){let pe=snap.precEdges;for(let j=0;j<pe.length;j+=2){let precedence=pe[j],stateIdx=pe[j+1];dfa.s0.edges[precedence]=states[stateIdx]}}}else dfa.s0=states[snap.s0]}var SysMLErrorListener=class extends BaseErrorListener{errors=[];syntaxError(recognizer,offendingSymbol,line,charPositionInLine,msg,_e){let token=offendingSymbol,length=token?.text?.length??1;this.errors.push({line:line-1,column:charPositionInLine,message:msg,offendingSymbol:token,length})}getErrors(){return this.errors}hasErrors(){return this.errors.length>0}};function parseDocument(text){try{let result=parseDocumentCore(text);return result.errors.length>0&&isDfaPreSeeded()?(clearPreSeededDFA(),parseDocumentCore(text)):result}catch(e){if(isDfaPreSeeded()&&e instanceof TypeError)return clearPreSeededDFA(),parseDocumentCore(text);throw e}}function parseDocumentCore(text){let inputStream=CharStream.fromString(text),lexer=new SysMLv2Lexer(inputStream),tokenStream=new CommonTokenStream(lexer),lexStart=Date.now();tokenStream.fill();let lexMs=Date.now()-lexStart,parser=new SysMLv2Parser(tokenStream),errorListener=new SysMLErrorListener;lexer.removeErrorListeners(),parser.removeErrorListeners();let tree=null,parseStart=Date.now();try{parser.interpreter.predictionMode=PredictionMode.SLL,parser.errorHandler=new BailErrorStrategy,tree=parser.rootNamespace()}catch{tree=null}if(!tree){tokenStream.seek(0),parser.reset(),parser.interpreter.predictionMode=PredictionMode.LL,parser.errorHandler=new DefaultErrorStrategy,parser.addErrorListener(errorListener);try{tree=parser.rootNamespace()}catch{}}let parseMs=Date.now()-parseStart;return{tree,tokenStream,parser,lexer,errors:errorListener.getErrors(),timing:{lexMs,parseMs}}}function tokenToPosition(token){return{line:(token.line??1)-1,character:token.column??0}}function tokenToRange(token){let start=tokenToPosition(token),length=token.text?.length??1;return{start,end:{line:start.line,character:start.character+length}}}function contextToRange(ctx){let startToken=ctx.start,stopToken=ctx.stop??ctx.start;if(!startToken)return{start:{line:0,character:0},end:{line:0,character:0}};let start={line:(startToken.line??1)-1,character:startToken.column??0},end=stopToken?{line:(stopToken.line??1)-1,character:(stopToken.column??0)+(stopToken.text?.length??1)}:{line:start.line,character:start.character+1};return{start,end}}var Scope=class{constructor(id,parent=null){this.id=id;this.parent=parent}symbols=new Map;define(symbol){this.symbols.set(symbol.name,symbol)}lookupLocal(name){return this.symbols.get(name)}resolve(name){let local=this.symbols.get(name);return local||this.parent?.resolve(name)}resolveQualified(qualifiedName){let parts=qualifiedName.split("::");if(parts.length===1)return this.resolve(parts[0]);let current=this.resolve(parts[0]);if(current)return current}getLocalSymbols(){return Array.from(this.symbols.values())}getAllVisibleSymbols(){let result=new Map,scope=this;for(;scope;){for(let[name,symbol]of scope.symbols)result.has(name)||result.set(name,symbol);scope=scope.parent}return Array.from(result.values())}};function isDefinition(kind){return kind.endsWith(" def")}function isUsage(kind){return!isDefinition(kind)&&kind!=="package"&&kind!=="import"&&kind!=="comment"&&kind!=="doc"&&kind!=="alias"&&kind!=="unknown"}function toMetaclassName(kind){switch(kind){case"package":return"Package";case"part def":return"PartDefinition";case"part":return"PartUsage";case"attribute def":return"AttributeDefinition";case"attribute":return"AttributeUsage";case"port def":return"PortDefinition";case"port":return"PortUsage";case"connection def":return"ConnectionDefinition";case"connection":return"ConnectionUsage";case"interface def":return"InterfaceDefinition";case"interface":return"InterfaceUsage";case"action def":return"ActionDefinition";case"action":return"ActionUsage";case"perform action":return"PerformActionUsage";case"state def":return"StateDefinition";case"state":return"StateUsage";case"exhibit state":return"ExhibitStateUsage";case"transition":return"TransitionUsage";case"requirement def":return"RequirementDefinition";case"requirement":return"RequirementUsage";case"constraint def":return"ConstraintDefinition";case"constraint":return"ConstraintUsage";case"item def":return"ItemDefinition";case"item":return"ItemUsage";case"allocation def":return"AllocationDefinition";case"allocation":return"AllocationUsage";case"use case def":return"UseCaseDefinition";case"use case":return"UseCaseUsage";case"include use case":return"IncludeUseCaseUsage";case"actor":return"ActorUsage";case"subject":return"SubjectUsage";case"enum def":return"EnumerationDefinition";case"enum":return"EnumerationUsage";case"calc def":return"CalculationDefinition";case"calc":return"CalculationUsage";case"view def":return"ViewDefinition";case"view":return"ViewUsage";case"viewpoint def":return"ViewpointDefinition";case"viewpoint":return"ViewpointUsage";case"occurrence def":return"OccurrenceDefinition";case"occurrence":return"OccurrenceUsage";case"ref":return"ReferenceUsage";case"metadata def":return"MetadataDefinition";case"rendering def":return"RenderingDefinition";case"analysis case def":return"AnalysisCaseDefinition";case"verification case def":return"VerificationCaseDefinition";case"comment":return"Comment";case"doc":return"Documentation";case"alias":return"Alias";case"import":return"Import";default:return"Element"}}var SymbolTable=class{symbols=new Map;symbolsByUri=new Map;globalScope;constructor(){this.globalScope=new Scope("__global__")}build(uri,parseResult){this.clearUri(uri),parseResult.tree&&this.walkTree(parseResult.tree,uri,this.globalScope,"")}getSymbol(qualifiedName){return this.symbols.get(qualifiedName)}findByName(name){let results=[];for(let symbol of this.symbols.values())symbol.name===name&&results.push(symbol);return results}getSymbolsForUri(uri){return this.symbolsByUri.get(uri)??[]}getAllSymbols(){return Array.from(this.symbols.values())}getGlobalScope(){return this.globalScope}findSymbolAtPosition(uri,line,character){let symbols=this.getSymbolsForUri(uri),best,bestSize=1/0;for(let symbol of symbols){let r=symbol.selectionRange;if(line>=r.start.line&&line<=r.end.line&&(line>r.start.line||character>=r.start.character)&&(line<r.end.line||character<=r.end.character)){let size=(r.end.line-r.start.line)*1e4+(r.end.character-r.start.character);size<bestSize&&(best=symbol,bestSize=size)}}return best}findReferences(name){let results=[];for(let symbol of this.symbols.values())(symbol.name===name||symbol.typeNames.includes(name))&&results.push(symbol);return results}removeUri(uri){this.clearUri(uri),this.symbolsByUri.delete(uri)}clearUri(uri){let existing=this.symbolsByUri.get(uri);if(existing)for(let sym of existing)this.symbols.delete(sym.qualifiedName);this.symbolsByUri.set(uri,[])}walkTree(ctx,uri,currentScope,parentQualifiedName){let ruleName=this.getRuleName(ctx),symbol=this.tryExtractSymbol(ctx,uri,ruleName,parentQualifiedName),childScope=currentScope;symbol&&(this.registerSymbol(symbol,uri,currentScope),childScope=new Scope(symbol.qualifiedName,currentScope));for(let i=0;i<ctx.getChildCount();i++){let child=ctx.getChild(i);child instanceof ParserRuleContext&&this.walkTree(child,uri,childScope,symbol?.qualifiedName??parentQualifiedName)}}registerSymbol(symbol,uri,scope){this.symbols.set(symbol.qualifiedName,symbol);let uriSymbols=this.symbolsByUri.get(uri)??[];uriSymbols.push(symbol),this.symbolsByUri.set(uri,uriSymbols),scope.define(symbol)}getRuleName(ctx){let idx=ctx.ruleIndex;if(idx>=0&&idx<SysMLv2Parser.ruleNames.length)return SysMLv2Parser.ruleNames[idx];let ctorName=ctx.constructor.name;return ctorName.endsWith("Context")?ctorName.slice(0,-7):ctorName}tryExtractSymbol(ctx,uri,ruleName,parentQualifiedName){let kind=this.inferKind(ruleName,ctx);if(kind===void 0)return;let name=this.extractName(ctx);if(!name)return;let qualifiedName=parentQualifiedName?`${parentQualifiedName}::${name}`:name,range=contextToRange(ctx),selectionRange=this.extractNameRange(ctx)??range,typeNames=this.extractTypeNames(ctx),typeName=typeNames[0],documentation=this.extractDocumentation(ctx),{multiplicity,multiplicityRange}=isUsage(kind)?this.extractMultiplicity(ctx):{};return{name,kind,qualifiedName,range,selectionRange,uri,typeName,typeNames,documentation,parentQualifiedName:parentQualifiedName||void 0,children:[],multiplicity,multiplicityRange}}inferKind(ruleName,_ctx){let lower=ruleName.toLowerCase();if(lower==="package"||lower==="librarypackage")return"package";if(lower==="partdefinition")return"part def";if(lower==="attributedefinition")return"attribute def";if(lower==="portdefinition")return"port def";if(lower==="connectiondefinition")return"connection def";if(lower==="interfacedefinition")return"interface def";if(lower==="actiondefinition")return"action def";if(lower==="statedefinition")return"state def";if(lower==="requirementdefinition")return"requirement def";if(lower==="constraintdefinition")return"constraint def";if(lower==="itemdefinition")return"item def";if(lower==="allocationdefinition")return"allocation def";if(lower==="usecasedefinition")return"use case def";if(lower==="enumerationdefinition")return"enum def";if(lower==="calculationdefinition"||lower==="calcdefinition")return"calc def";if(lower==="viewdefinition")return"view def";if(lower==="viewpointdefinition")return"viewpoint def";if(lower==="metadatadefinition")return"metadata def";if(lower==="partusage")return"part";if(lower==="attributeusage")return"attribute";if(lower==="portusage")return"port";if(lower==="connectionusage")return"connection";if(lower==="actionusage")return"action";if(lower==="stateusage")return"state";if(lower==="requirementusage")return"requirement";if(lower==="constraintusage")return"constraint";if(lower==="itemusage")return"item";if(lower==="allocationusage")return"allocation";if(lower==="usecaseusage")return"use case";if(lower==="includeusecaseusage")return"include use case";if(lower==="actorusage")return"actor";if(lower==="subjectusage")return"subject";if(lower==="referenceusage")return"ref";if(lower==="interfaceusage")return"interface";if(lower==="performactionusage")return"perform action";if(lower==="exhibitstateusage")return"exhibit state";if(lower==="transitionusage")return"transition";if(lower==="occurrencedefinition")return"occurrence def";if(lower==="occurrenceusage")return"occurrence";if(lower==="renderingdefinition")return"rendering def";if(lower==="viewusage")return"view";if(lower==="viewpointusage")return"viewpoint";if(lower==="aliasmember")return"alias"}extractName(ctx){for(let i=0;i<ctx.getChildCount();i++){let child=ctx.getChild(i);if(child instanceof TerminalNode){let token=child.symbol;if(this.isIdentifierToken(token))return token.text??void 0}if(child instanceof ParserRuleContext){let childRule=this.getRuleName(child);if(childRule.toLowerCase().includes("identification")||childRule.toLowerCase().includes("declarationname")||childRule.toLowerCase().includes("qualifiedname")||childRule.toLowerCase()==="name"){let name=this.extractTextFromSubtree(child);if(name)return name}}}for(let i=0;i<Math.min(ctx.getChildCount(),5);i++){let child=ctx.getChild(i);if(child instanceof ParserRuleContext){let name=this.extractName(child);if(name)return name}}}extractNameRange(ctx){for(let i=0;i<ctx.getChildCount();i++){let child=ctx.getChild(i);if(child instanceof TerminalNode&&this.isIdentifierToken(child.symbol))return tokenToRange(child.symbol);if(child instanceof ParserRuleContext){let result=this.extractNameRange(child);if(result)return result}}}extractTypeNames(ctx){let names=[];if(this.collectTypeNamesFromTree(ctx,names,0),names.length>0)return names;let fullText=ctx.getText(),braceIdx=fullText.indexOf("{"),text=braceIdx>=0?fullText.substring(0,braceIdx):fullText;text=text.replace(/(connect|bind|first|then|flow|allocate|assign|accept|send|decide|merge|join|fork)\b.*/i,"");let specMatch=text.match(/(?:specializes|:>|:>>)\s*([A-Za-z_][\w:]*(?:\s*,\s*[A-Za-z_][\w:]*)*)/);if(specMatch){for(let part of specMatch[1].split(",")){let m2=part.trim().match(/^([A-Za-z_][\w:]*)/);m2&&names.push(m2[1])}return names}let defByMatch=text.match(/definedby\s*([A-Za-z_][\w:]*(?:\s*,\s*[A-Za-z_][\w:]*)*)/);if(defByMatch){for(let part of defByMatch[1].split(",")){let m2=part.trim().match(/^([A-Za-z_][\w:]*)/);m2&&names.push(m2[1])}return names}let typingMatch=text.match(/:(?![:>])\s*([A-Za-z_][\w:]*(?:\s*,\s*[A-Za-z_][\w:]*)*)/);if(typingMatch){for(let part of typingMatch[1].split(",")){let m2=part.trim().match(/^([A-Za-z_][\w:]*)/);m2&&names.push(m2[1])}return names}return names}collectTypeNamesFromTree(ctx,names,depth){if(!(depth>6))for(let i=0;i<ctx.getChildCount();i++){let child=ctx.getChild(i);if(!(child instanceof ParserRuleContext))continue;let rn=this.getRuleName(child).toLowerCase();if(rn.includes("specialization")||rn.includes("subclassification")||rn.includes("typing")||rn.includes("conjugation")||rn.includes("disjoining")){let stripped=child.getText().replace(/^(specializes|:>|:>>|:\s|definedby|subsets|redefines|references|conjugates|disjoints)/i,"");for(let part of stripped.split(",")){let m2=part.match(/([A-Za-z_][\w:]*)/);m2&&names.push(m2[1])}}else(rn.includes("declaration")||rn.includes("featurespecialization")||rn.includes("typings")||rn.includes("subsettings")||rn.includes("redefinitions")||rn.includes("usagecompletion")||rn==="usage"||rn==="definition")&&this.collectTypeNamesFromTree(child,names,depth+1)}}extractDocumentation(ctx){for(let i=0;i<ctx.getChildCount();i++){let child=ctx.getChild(i);if(child instanceof ParserRuleContext){let ruleName=this.getRuleName(child).toLowerCase();if(ruleName.includes("comment")||ruleName.includes("doc")||ruleName.includes("documentation")){let raw=child.getText();if(raw){let text=raw;return text.startsWith("doc")&&(text=text.slice(3)),text.startsWith("comment")&&(text=text.slice(7)),text=text.replace(/^\/\*\s*/,"").replace(/\s*\*\/$/,""),text=text.replace(/^\/\/\s*/,""),text.trim()||raw}return raw??void 0}let nested=this.extractDocumentation(child);if(nested)return nested}}}extractMultiplicity(ctx){let multCtx=this.findMultiplicityBounds(ctx);if(!multCtx)return{};let members=multCtx.multiplicityExpressionMember();if(!members||members.length===0)return{};let values=[];for(let member of members){let rawText=member.getText()?.trim();rawText&&values.push(rawText)}if(values.length===0)return{};let lower,upper,multiplicity;if(values.length===1)if(multiplicity=values[0],values[0]==="*")lower=0,upper="*";else{let num=parseInt(values[0],10);if(isNaN(num))return{multiplicity};lower=num,upper=num}else{if(multiplicity=`${values[0]}..${values[1]}`,lower=parseInt(values[0],10),isNaN(lower))return{multiplicity};if(values[1]==="*")upper="*";else if(upper=parseInt(values[1],10),isNaN(upper))return{multiplicity}}return{multiplicity,multiplicityRange:{lower,upper}}}findMultiplicityBounds(ctx){if(ctx.ruleIndex===SysMLv2Parser.RULE_multiplicityBounds)return ctx;for(let i=0;i<ctx.getChildCount();i++){let child=ctx.getChild(i);if(child instanceof ParserRuleContext){let result=this.findMultiplicityBounds(child);if(result)return result}}}isIdentifierToken(token){let text=token.text;return text?/^[a-zA-Z_]/.test(text)&&!this.isKeyword(text):!1}isKeyword(text){return new Set(["about","abstract","accept","action","actor","after","alias","all","allocate","allocation","analysis","and","as","assert","assign","assume","attribute","bind","binding","bool","by","calc","case","comment","concern","connect","connection","constraint","decide","def","default","defined","dependency","derived","do","doc","else","end","entry","enum","event","exhibit","exit","expose","false","feature","filter","first","flow","for","fork","frame","from","hastype","if","implies","import","in","include","individual","inout","interface","istype","item","join","language","library","locale","merge","message","meta","metadata","multiplicity","namespace","nonunique","not","null","objective","occurrence","of","or","ordered","out","package","parallel","part","perform","port","private","protected","public","readonly","redefines","ref","references","render","rendering","rep","require","requirement","return","satisfy","send","snapshot","specializes","stakeholder","state","subject","subsets","succession","then","timeslice","to","transition","true","type","use","variant","variation","verification","verify","view","viewpoint","when","while","xor"]).has(text)}extractTextFromSubtree(ctx){let parts=[];for(let i=0;i<ctx.getChildCount();i++){let child=ctx.getChild(i);if(child instanceof TerminalNode){let text=child.symbol.text;text&&this.isIdentifierToken(child.symbol)&&parts.push(text)}else if(child instanceof ParserRuleContext){let sub=this.extractTextFromSubtree(child);sub&&parts.push(sub)}}return parts.length>0?parts.join("::"):void 0}};var DocumentManager=class{cache=new Map;wsSymbolTable=new SymbolTable;wsBuiltVersions=new Map;parse(document){let uri=document.uri,version=document.version,cached=this.cache.get(uri);if(cached&&cached.version===version)return cached.result;let text=document.getText(),result=parseDocument(text);return this.cache.set(uri,{version,text,result}),result}get(uri){return this.cache.get(uri)?.result}getText(uri){return this.cache.get(uri)?.text}getVersion(uri){return this.cache.get(uri)?.version??-1}getParseTimeMs(uri){let cached=this.cache.get(uri);if(!cached)return 0;let t=cached.result.timing;return t.lexMs+t.parseMs}getTimingBreakdown(uri){let cached=this.cache.get(uri);return cached?{lexMs:cached.result.timing.lexMs,parseMs:cached.result.timing.parseMs}:{lexMs:0,parseMs:0}}getSymbolTable(uri){let cached=this.cache.get(uri);if(cached){if(!cached.symbolTable){let st=new SymbolTable;st.build(uri,cached.result),cached.symbolTable=st}return cached.symbolTable}}getWorkspaceSymbolTable(){for(let[uri,cached]of this.cache)this.wsBuiltVersions.get(uri)!==cached.version&&(this.wsSymbolTable.build(uri,cached.result),this.wsBuiltVersions.set(uri,cached.version));return this.wsSymbolTable}setSemanticDiagnostics(uri,diagnostics){let cached=this.cache.get(uri);cached&&(cached.semanticDiagnostics={version:cached.version,diagnostics})}getSemanticDiagnostics(uri){let cached=this.cache.get(uri);if(cached?.semanticDiagnostics&&cached.semanticDiagnostics.version===cached.version)return cached.semanticDiagnostics.diagnostics}remove(uri){this.cache.delete(uri),this.wsSymbolTable.removeUri(uri),this.wsBuiltVersions.delete(uri)}getUris(){return Array.from(this.cache.keys())}};var import_node_fs=require("node:fs"),import_node_path=require("node:path"),import_node_url=require("node:url");function isIdentStart(c){return c>=65&&c<=90||c>=97&&c<=122||c===95}function isIdentPart(c){return c>=65&&c<=90||c>=97&&c<=122||c>=48&&c<=57||c===95}function extractQualifiedNameAt(lineText,character){let len=lineText.length,i=0;for(;i<len;){if(!isIdentStart(lineText.charCodeAt(i))){i++;continue}let wordStart=i;for(;i<len;){for(;i<len&&isIdentPart(lineText.charCodeAt(i));)i++;if(i+2<=len&&lineText[i]===":"&&lineText[i+1]===":"&&i+2<len&&isIdentStart(lineText.charCodeAt(i+2)))i+=2;else break}let wordEnd=i;if(character>=wordStart&&character<=wordEnd)return lineText.substring(wordStart,wordEnd)}}function skipSpaces(line,pos){for(;pos<line.length&&(line[pos]===" "||line[pos]===" ");)pos++;return pos}function readWord(line,pos){pos=skipSpaces(line,pos);let start=pos;for(;pos<line.length&&isIdentPart(line.charCodeAt(pos));)pos++;return pos>start?[line.slice(start,pos),pos]:void 0}function readName(line,pos){if(pos=skipSpaces(line,pos),pos<line.length&&line[pos]==="'"){pos++;let start=pos;for(;pos<line.length&&isIdentPart(line.charCodeAt(pos));)pos++;let name=line.slice(start,pos);return pos<line.length&&line[pos]==="'"&&pos++,name?[name,pos]:void 0}return readWord(line,pos)}function matchWord(line,pos,keyword){if(!line.startsWith(keyword,pos))return!1;let after=pos+keyword.length;return after>=line.length||!isIdentPart(line.charCodeAt(after))}var DEF_KEYWORDS=new Set(["part","attribute","port","action","state","item","connection","interface","requirement","constraint","allocation","usecase","enum","calc","view","viewpoint","metadata","analysis","case","concern","rendering","verification","flow","occurrence","ref"]),STANDALONE_TYPE_KEYWORDS=new Set(["datatype","struct","metaclass","alias","classifier"]),USAGE_KEYWORDS=new Set(["attribute","part","port","action","state","item","connection","interface","requirement","constraint","allocation","enum","calc","view","viewpoint","occurrence","ref","flow"]);function extractPackageNameFromHead(head){let lines=head.split(`
|
|
49
|
+
`);for(let line of lines){let pos=skipSpaces(line,0);if(matchWord(line,pos,"standard")&&(pos=skipSpaces(line,pos+8)),matchWord(line,pos,"library")&&(pos=skipSpaces(line,pos+7)),!matchWord(line,pos,"package"))continue;if(pos=skipSpaces(line,pos+7),pos<line.length&&line[pos]==="<"){let close=line.indexOf(">",pos);if(close<0)continue;pos=skipSpaces(line,close+1)}let w=readWord(line,pos);if(w)return w[0]}}function extractTypeNameFromLine(line){let w=readWord(line,0);if(!w)return;let[keyword,pos]=w;if(keyword==="abstract"){if(w=readWord(line,pos),!w)return;[keyword,pos]=w}if(!STANDALONE_TYPE_KEYWORDS.has(keyword))if(keyword==="use"){if(w=readWord(line,pos),!w||w[0]!=="case"||(w=readWord(line,w[1]),!w||w[0]!=="def"))return;pos=w[1]}else if(DEF_KEYWORDS.has(keyword)){if(w=readWord(line,pos),!w||w[0]!=="def")return;pos=w[1]}else return;let nameOrAll=readName(line,pos);if(nameOrAll)return nameOrAll[0]==="all"?readName(line,nameOrAll[1])?.[0]:nameOrAll[0]}function extractUsageNameFromLine(line){if(line.length<5||line[0]!==" "||line[1]!==" "||line[2]!==" "||line[3]!==" ")return;let w=readWord(line,4);if(!w)return;let[keyword,pos]=w;if(keyword==="abstract"){if(w=readWord(line,pos),!w)return;[keyword,pos]=w}if(keyword==="use"){if(w=readWord(line,pos),!w||w[0]!=="case")return;pos=w[1]}else if(!USAGE_KEYWORDS.has(keyword))return;let name=readName(line,pos);if(!name)return;let afterPos=skipSpaces(line,name[1]);if(afterPos>=line.length)return;let ch=line[afterPos];if(!(ch!==":"&&ch!=="["&&ch!==";"&&ch!=="{"))return name[0]}function cleanCommentLine(line){let s=0,e=line.length;if(s<e&&line[s]==="/"){for(s++;s<e&&line[s]==="*";)s++;for(;s<e&&(line[s]===" "||line[s]===" ");)s++}else s<e&&line[s]==="*"&&(s++,s<e&&line[s]===" "&&s++);if(e>s&&line[e-1]==="/"){let te=e-1;for(;te>s&&line[te-1]==="*";)te--;if(te<e-1)for(e=te;e>s&&(line[e-1]===" "||line[e-1]===" ");)e--}return line.slice(s,e).trim()}var index,typeIndex;function buildIndex(libRoot){let packages=new Map,types=new Map,walk=dir=>{let entries;try{entries=(0,import_node_fs.readdirSync)(dir)}catch{return}for(let name of entries){let full=(0,import_node_path.join)(dir,name);try{if((0,import_node_fs.statSync)(full).isDirectory())walk(full);else if(name.endsWith(".sysml")||name.endsWith(".kerml")){let fileUri=(0,import_node_url.pathToFileURL)(full).href,fd=(0,import_node_fs.openSync)(full,"r"),buf=Buffer.alloc(512);(0,import_node_fs.readSync)(fd,buf,0,512,0),(0,import_node_fs.closeSync)(fd);let head=buf.toString("utf8"),pkgName=extractPackageNameFromHead(head);pkgName&&packages.set(pkgName,fileUri);let lines=(0,import_node_fs.readFileSync)(full,"utf8").split(`
|
|
50
|
+
`);for(let i=0;i<lines.length;i++){let typeName=extractTypeNameFromLine(lines[i]);typeName&&(types.has(typeName)||types.set(typeName,{uri:fileUri,line:i}));let usageName=extractUsageNameFromLine(lines[i]);if(usageName&&(types.has(usageName)||types.set(usageName,{uri:fileUri,line:i}),pkgName)){let qualName=`${pkgName}::${usageName}`;types.has(qualName)||types.set(qualName,{uri:fileUri,line:i})}}}}catch{}}};return walk(libRoot),{packages,types}}function initLibraryIndex(serverDir,customPath){let libRoot;if(customPath&&customPath.trim()){let abs=(0,import_node_path.resolve)(customPath);(0,import_node_fs.existsSync)(abs)&&(libRoot=abs)}if(!libRoot){let bundled=(0,import_node_path.resolve)(serverDir,"..","..","sysml.library");(0,import_node_fs.existsSync)(bundled)&&(libRoot=bundled)}if(!libRoot)return index=new Map,typeIndex=new Map,0;let result=buildIndex(libRoot);return index=result.packages,typeIndex=result.types,index.size}function resolveLibraryType(name){if(!typeIndex)return;let exact=typeIndex.get(name);if(exact)return exact;if(name.includes("::")){let member=name.split("::").pop();return typeIndex.get(member)}}function getLibraryPackageNames(){return index?Array.from(index.keys()):[]}var fileContentCache=new Map,FILE_CACHE_MAX=50,hoverInfoCache=new Map,HOVER_CACHE_MAX=200;function getCachedFileLines(uri){let cached=fileContentCache.get(uri);if(cached)return cached;let filePath;try{filePath=(0,import_node_url.fileURLToPath)(uri)}catch{return}let content;try{content=(0,import_node_fs.readFileSync)(filePath,"utf8")}catch{return}let lines=content.split(`
|
|
51
|
+
`);if(fileContentCache.size>=FILE_CACHE_MAX){let firstKey=fileContentCache.keys().next().value;firstKey!==void 0&&fileContentCache.delete(firstKey)}return fileContentCache.set(uri,lines),lines}function getLibraryHoverInfo(name){if(hoverInfoCache.has(name))return hoverInfoCache.get(name)??void 0;let loc=resolveLibraryType(name);if(!loc){if(hoverInfoCache.size>=HOVER_CACHE_MAX){let firstKey=hoverInfoCache.keys().next().value;firstKey!==void 0&&hoverInfoCache.delete(firstKey)}hoverInfoCache.set(name,null);return}let lines=getCachedFileLines(loc.uri);if(!lines)return;let declLine=(lines[loc.line]??"").trim(),packageName;if(index){for(let[pkg,uri]of index.entries())if(uri===loc.uri){packageName=pkg;break}}let documentation,commentLines=[];for(let i=loc.line-1;i>=0&&i>=loc.line-30;i--){let l=(lines[i]??"").trim();if(l.endsWith("*/")){commentLines.unshift(l);for(let j=i-1;j>=0&&j>=i-50;j--){let cl=(lines[j]??"").trim();if(commentLines.unshift(cl),cl.startsWith("/*"))break}break}if(l!=="")break}commentLines.length>0&&(documentation=commentLines.map(l=>cleanCommentLine(l)).filter(l=>l.length>0).join(`
|
|
52
|
+
`));let result={declaration:declLine,packageName,documentation};if(hoverInfoCache.size>=HOVER_CACHE_MAX){let firstKey=hoverInfoCache.keys().next().value;firstKey!==void 0&&hoverInfoCache.delete(firstKey)}return hoverInfoCache.set(name,result),result}var WEIGHTS={size:.25,depth:.2,coupling:.25,docDebt:.1,fanOut:.2};function analyseComplexity(symbols){if(symbols.length===0)return emptyReport();let defs=symbols.filter(s=>isDefinition(s.kind)),usages=symbols.filter(s=>isUsage(s.kind)),packages=symbols.filter(s=>s.kind==="package"),depthMap=computeDepths(symbols),maxDepth=Math.max(...Array.from(depthMap.values()),0),byQualifiedName=new Map(symbols.map(s=>[s.qualifiedName,s])),childCounts=new Map;for(let d of defs)childCounts.set(d.qualifiedName,0);for(let s of symbols)s.parentQualifiedName&&childCounts.has(s.parentQualifiedName)&&childCounts.set(s.parentQualifiedName,(childCounts.get(s.parentQualifiedName)??0)+1);let avgChildrenPerDef=defs.length>0?round(Array.from(childCounts.values()).reduce((a,b)=>a+b,0)/defs.length):0,defNames=new Set(defs.map(d=>d.name)),couplingCount=0,typeRefsPerDef=new Map;for(let d of defs)typeRefsPerDef.set(d.qualifiedName,0);let advanced=computeAdvancedSignals(symbols,defs,byQualifiedName);for(let s of usages)for(let tn of s.typeNames)defNames.has(tn)&&(couplingCount++,s.parentQualifiedName&&typeRefsPerDef.has(s.parentQualifiedName)&&typeRefsPerDef.set(s.parentQualifiedName,(typeRefsPerDef.get(s.parentQualifiedName)??0)+1));let referencedTypes=new Set(usages.flatMap(s=>s.typeNames)),unusedDefinitions=defs.filter(d=>d.kind!=="enum def"&&!referencedTypes.has(d.name)).length,documentedDefs=defs.filter(d=>d.documentation).length,documentationCoverage=defs.length>0?round(documentedDefs/defs.length*100):100,hotspots=defs.map(d=>{let cc=childCounts.get(d.qualifiedName)??0,dp=depthMap.get(d.qualifiedName)??0,tr=typeRefsPerDef.get(d.qualifiedName)??0,hasDoc=!!d.documentation,behaviorSignal=advanced.behaviorByDef.get(d.qualifiedName)??0,score=computeDefScore(cc,dp,tr,hasDoc,behaviorSignal);return{qualifiedName:d.qualifiedName,kind:d.kind,childCount:cc,depth:dp,typeRefs:tr,hasDoc,score}}).sort((a,b)=>b.score-a.score),enrichedDepth=Math.max(maxDepth,advanced.maxCalcChainDepth+1),enrichedCoupling=couplingCount+advanced.specializationLinks+Math.round(advanced.performUsages*.5)+Math.round(advanced.transitionUsages*.5)+Math.round(advanced.stdLibTypeRefs*.6),enrichedFanOut=avgChildrenPerDef+advanced.actionComplexityBonus,complexityIndex=computeIndex(symbols.length,enrichedDepth,enrichedCoupling,defs.length,enrichedFanOut,documentationCoverage);return{totalElements:symbols.length,definitions:defs.length,usages:usages.length,packages:packages.length,maxDepth,avgChildrenPerDef,couplingCount,unusedDefinitions,documentationCoverage,complexityIndex,rating:indexToRating(complexityIndex),hotspots}}function computeAdvancedSignals(symbols,defs,byQualifiedName){let defNames=new Set(defs.map(d=>d.name)),behaviorByDef=new Map;for(let d of defs)behaviorByDef.set(d.qualifiedName,0);let specializationLinks=0,performUsages=0,transitionUsages=0,stdLibTypeRefs=0,maxCalcChainDepth=0,actionComplexityBonus=0,addBehavior=(qualifiedName,amount)=>{!qualifiedName||!behaviorByDef.has(qualifiedName)||behaviorByDef.set(qualifiedName,(behaviorByDef.get(qualifiedName)??0)+amount)};for(let d of defs)specializationLinks+=d.typeNames.length,addBehavior(d.qualifiedName,Math.min(3,d.typeNames.length));for(let s of symbols){switch(s.kind){case"perform action":performUsages++,addBehavior(s.parentQualifiedName,2);break;case"calc":addBehavior(s.parentQualifiedName,2);break;case"calc def":addBehavior(s.parentQualifiedName,1);break;case"transition":transitionUsages++,addBehavior(s.parentQualifiedName,2);break;case"exhibit state":addBehavior(s.parentQualifiedName,1);break;default:break}if(s.kind==="action def"){let localBehavior=symbols.filter(c=>c.parentQualifiedName===s.qualifiedName).reduce((score,c)=>c.kind==="perform action"||c.kind==="calc"||c.kind==="calc def"?score+2:c.kind==="action"?score+1:score,0);actionComplexityBonus+=Math.min(4,localBehavior/4),addBehavior(s.qualifiedName,Math.min(4,localBehavior))}if(s.kind==="calc"||s.kind==="calc def"){let chainDepth=calcChainDepth(s,byQualifiedName);chainDepth>maxCalcChainDepth&&(maxCalcChainDepth=chainDepth),addBehavior(s.parentQualifiedName,Math.min(3,chainDepth))}for(let typeName of s.typeNames)defNames.has(typeName)||looksLikeStdLibType(typeName)&&(stdLibTypeRefs++,addBehavior(s.parentQualifiedName,1))}return{specializationLinks,performUsages,transitionUsages,stdLibTypeRefs,maxCalcChainDepth,actionComplexityBonus,behaviorByDef}}function calcChainDepth(symbol,byQualifiedName){let depth=1,cursor=symbol.parentQualifiedName?byQualifiedName.get(symbol.parentQualifiedName):void 0;for(;cursor&&(cursor.kind==="calc"||cursor.kind==="calc def");)depth++,cursor=cursor.parentQualifiedName?byQualifiedName.get(cursor.parentQualifiedName):void 0;return depth}function looksLikeStdLibType(typeName){return typeName?typeName.includes("::")?!0:new Set(["String","Boolean","Integer","Natural","Real","Complex","Number","Map","OrderedMap","Set","Sequence","Bag","Vector","KeyValuePair","Duration","Time","DateTime","Mass","Length","Speed","Acceleration"]).has(typeName):!1}function emptyReport(){return{totalElements:0,definitions:0,usages:0,packages:0,maxDepth:0,avgChildrenPerDef:0,couplingCount:0,unusedDefinitions:0,documentationCoverage:100,complexityIndex:0,rating:"trivial",hotspots:[]}}function computeDepths(symbols){let result=new Map,byQN=new Map(symbols.map(s=>[s.qualifiedName,s]));function depth(qn){if(result.has(qn))return result.get(qn);let sym=byQN.get(qn);if(!sym||!sym.parentQualifiedName)return result.set(qn,0),0;let d=depth(sym.parentQualifiedName)+1;return result.set(qn,d),d}for(let s of symbols)depth(s.qualifiedName);return result}function computeIndex(elementCount,maxDepth,coupling,defCount,avgFanOut,docCoverage){let sizeN=clamp(Math.log2(Math.max(elementCount,1))/10),depthN=clamp(maxDepth/8),couplingN=defCount>0?clamp(coupling/defCount/5):0,fanOutN=clamp(avgFanOut/15),docDebtN=clamp(1-docCoverage/100),raw=WEIGHTS.size*sizeN+WEIGHTS.depth*depthN+WEIGHTS.coupling*couplingN+WEIGHTS.fanOut*fanOutN+WEIGHTS.docDebt*docDebtN;return Math.round(raw*100)}function computeDefScore(childCount,depth,typeRefs,hasDoc,behaviorSignal=0){let cc=clamp(childCount/15)*30,dp=clamp(depth/6)*20,tr=clamp(typeRefs/5)*25,dc=hasDoc?0:15,bs=clamp(behaviorSignal/8)*10;return Math.round(Math.min(100,cc+dp+tr+dc+bs))}function indexToRating(index2){return index2<=10?"trivial":index2<=25?"simple":index2<=50?"moderate":index2<=75?"complex":"very complex"}function clamp(value){return Math.max(0,Math.min(1,value))}function round(value){return Math.round(value*100)/100}function containsWord(text,word){let idx=0;for(;(idx=text.indexOf(word,idx))!==-1;){let before=idx>0?text.charCodeAt(idx-1):32,after=idx+word.length<text.length?text.charCodeAt(idx+word.length):32;if(!isIdentPart(before)&&!isIdentPart(after))return!0;idx+=1}return!1}function findWordPositions(text,word){let results=[],idx=0;for(;(idx=text.indexOf(word,idx))!==-1;){let before=idx>0?text.charCodeAt(idx-1):32,afterIdx=idx+word.length,after=afterIdx<text.length?text.charCodeAt(afterIdx):32;!isIdentPart(before)&&!isIdentPart(after)&&results.push({pos:idx,afterPos:afterIdx}),idx+=1}return results}function findWordPositionsCI(text,word){let lower=text.toLowerCase(),wordLower=word.toLowerCase(),results=[],idx=0;for(;(idx=lower.indexOf(wordLower,idx))!==-1;){let before=idx>0?lower.charCodeAt(idx-1):32,afterIdx=idx+wordLower.length,after=afterIdx<lower.length?lower.charCodeAt(afterIdx):32;!isIdentPart(before)&&!isIdentPart(after)&&results.push({pos:idx,afterPos:afterIdx}),idx+=1}return results}function skipWS(text,pos){for(;pos<text.length;){let ch=text[pos];if(ch===" "||ch===" "||ch===`
|
|
53
|
+
`||ch==="\r")pos++;else break}return pos}function readIdent(text,pos,allowDots=!1){let end=pos;for(;end<text.length;){let ch=text.charCodeAt(end);if(isIdentPart(ch))end++;else if(allowDots&&text[end]===".")end++;else if(text[end]===":"&&end+1<text.length&&text[end+1]===":")end+=2;else break}return[text.substring(pos,end),end]}function readNameOrQuoted(text,pos,allowDots=!1){if(pos<text.length&&text[pos]==="'"){let close=text.indexOf("'",pos+1);if(close>=0)return[text.substring(pos+1,close),close+1]}return readIdent(text,pos,allowDots)}function readWordAfterKeyword(text,afterPos,allowDots=!1){let start=skipWS(text,afterPos);return readIdent(text,start,allowDots)}function readCommaSeparatedIdents(text,pos){let names=[],p=skipWS(text,pos);for(;p<text.length;){let[name,end]=readIdent(text,p);if(!name)break;if(names.push(name),p=skipWS(text,end),p<text.length&&text[p]===",")p=skipWS(text,p+1);else break}return names}var SysMLModelProvider=class{constructor(documentManager2){this.documentManager=documentManager2}_stCache=new Map;removeUri(uri){this._stCache.delete(uri)}clearAll(){let count=this._stCache.size;return this._stCache.clear(),count}get cacheSize(){return this._stCache.size}_getSymbolTable(uri,parseResult){let version=this.documentManager.getVersion(uri),cached=this._stCache.get(uri);if(cached&&cached.version===version)return cached.table;let table=new SymbolTable;return table.build(uri,parseResult),this._stCache.set(uri,{version,table}),table}getModel(uri,version,scopes){let startTime=Date.now(),parseResult=this.documentManager.get(uri);if(!parseResult)return{version:-1};let scopeSet=new Set(scopes&&scopes.length>0?scopes:["elements","relationships","sequenceDiagrams","activityDiagrams","resolvedTypes","diagnostics"]),symbolTable=this._getSymbolTable(uri,parseResult),lines=(this.documentManager.getText(uri)??"").split(`
|
|
54
|
+
`),result={version};scopeSet.has("elements")&&(result.elements=this.convertToElementDTOs(symbolTable,uri,lines)),scopeSet.has("relationships")&&(result.relationships=this.extractRelationships(symbolTable,uri,lines)),scopeSet.has("sequenceDiagrams")&&(result.sequenceDiagrams=this.extractSequenceDiagrams(symbolTable,uri,lines)),scopeSet.has("activityDiagrams")&&(result.activityDiagrams=this.extractActivityDiagrams(symbolTable,uri,lines)),scopeSet.has("resolvedTypes")&&(result.resolvedTypes=this.extractResolvedTypes(symbolTable,uri,lines)),scopeSet.has("diagnostics")&&(result.diagnostics=this.extractSemanticDiagnostics(symbolTable,uri));let allSymbols=symbolTable.getSymbolsForUri(uri),resolved=allSymbols.filter(s=>s.typeNames.length>0),parseTimeMs=this.documentManager.getParseTimeMs(uri),timingBreakdown=this.documentManager.getTimingBreakdown(uri),modelBuildTimeMs=Date.now()-startTime;return result.stats={totalElements:allSymbols.length,resolvedElements:resolved.length,unresolvedElements:allSymbols.length-resolved.length,parseTimeMs,lexTimeMs:timingBreakdown.lexMs,parseOnlyTimeMs:timingBreakdown.parseMs,modelBuildTimeMs,complexity:analyseComplexity(allSymbols)},result}convertToElementDTOs(symbolTable,uri,lines){let symbols=symbolTable.getSymbolsForUri(uri),byQualifiedName=new Map;for(let sym of symbols)byQualifiedName.set(sym.qualifiedName,sym);let childrenOf=new Map;for(let sym of symbols)if(sym.parentQualifiedName&&byQualifiedName.has(sym.parentQualifiedName)){let list=childrenOf.get(sym.parentQualifiedName)??[];list.push(sym),childrenOf.set(sym.parentQualifiedName,list)}return symbols.filter(s=>!s.parentQualifiedName||!byQualifiedName.has(s.parentQualifiedName)).map(s=>this.symbolToElementDTO(s,childrenOf,lines))}symbolToElementDTO(symbol,childrenOf,lines){let children=(childrenOf.get(symbol.qualifiedName)??[]).filter(c=>c.qualifiedName!==symbol.qualifiedName).map(c=>this.symbolToElementDTO(c,childrenOf,lines)),attributes={};if(symbol.typeNames.length>0){let typeLabel=symbol.typeNames.join(", ");symbol.kind==="port"||symbol.kind==="port def"?attributes.portType=typeLabel:attributes.partType=typeLabel}symbol.documentation&&(attributes.documentation=symbol.documentation);let direction=this.extractDirection(symbol,lines);direction&&(attributes.direction=direction);let multiplicity=this.extractMultiplicity(symbol,lines);multiplicity&&(attributes.multiplicity=multiplicity);let modifier=this.extractModifier(symbol,lines);modifier&&(attributes.modifier=modifier);let visibility=this.extractVisibility(symbol,lines);visibility&&(attributes.visibility=visibility);let value=this.extractValue(symbol,lines);value&&(attributes.value=value);let relationships=[];for(let tn of symbol.typeNames)relationships.push({type:"typing",source:symbol.name,target:tn});let specializations=this.extractSpecializations(symbol,lines);for(let spec of specializations)relationships.push({type:"specializes",source:symbol.name,target:spec});return{type:symbol.kind,name:symbol.name,range:this.rangeToDTO(symbol.range),children,attributes,relationships}}extractRelationships(symbolTable,uri,lines){let symbols=symbolTable.getSymbolsForUri(uri),relationships=[];for(let symbol of symbols){if(symbol.kind==="package"||symbol.kind==="import"||symbol.kind==="comment"||symbol.kind==="doc")continue;if(symbol.typeNames.length>0&&isUsage(symbol.kind))for(let tn of symbol.typeNames)relationships.push({type:"typing",source:symbol.name,target:tn});let specializations=this.extractSpecializations(symbol,lines);for(let spec of specializations)relationships.push({type:"specializes",source:symbol.name,target:spec});if(symbol.kind==="connection"){let connectionTargets=this.extractConnectionEndpoints(symbol,lines);connectionTargets.length===2&&relationships.push({type:"connection",source:connectionTargets[0],target:connectionTargets[1],name:symbol.name})}if(symbol.kind==="allocation"){let allocTargets=this.extractConnectionEndpoints(symbol,lines);allocTargets.length===2&&relationships.push({type:"allocation",source:allocTargets[0],target:allocTargets[1],name:symbol.name})}let elementText=this.getElementText(symbol,lines),additionalRels=this.extractKeywordRelationships(symbol.name,elementText);relationships.push(...additionalRels)}return relationships}extractSequenceDiagrams(symbolTable,uri,lines){let symbols=symbolTable.getSymbolsForUri(uri),diagrams=[],seen=new Set;for(let symbol of symbols){if(symbol.kind!=="action def"&&symbol.kind!=="action")continue;let children=this.getChildSymbols(symbol,symbolTable),participants=[],messages=[];for(let child of children)(child.kind==="part"||child.kind==="item")&&participants.push({name:child.name,type:child.typeNames.join(", ")||child.kind,range:this.rangeToDTO(child.range)});let fullText=this.getFullElementText(symbol,lines),occurrence=1;for(let{afterPos}of findWordPositionsCI(fullText,"send")){let sigStart=skipWS(fullText,afterPos),[signal,afterSig]=readIdent(fullText,sigStart,!0);if(!signal)continue;let kwStart=skipWS(fullText,afterSig),[kw,afterKw]=readIdent(fullText,kwStart);if(kw!=="via"&&kw!=="to")continue;let tgtStart=skipWS(fullText,afterKw),[target]=readIdent(fullText,tgtStart,!0);target&&messages.push({name:`send_${occurrence}`,from:symbol.name,to:target,payload:signal,occurrence:occurrence++,range:this.rangeToDTO(symbol.range)})}for(let{afterPos}of findWordPositionsCI(fullText,"accept")){let sigStart=skipWS(fullText,afterPos),[signal,afterSig]=readIdent(fullText,sigStart,!0);if(!signal)continue;let kwStart=skipWS(fullText,afterSig),[kw,afterKw]=readIdent(fullText,kwStart);if(kw!=="via"&&kw!=="from")continue;let srcStart=skipWS(fullText,afterKw),[source]=readIdent(fullText,srcStart,!0);source&&messages.push({name:`accept_${occurrence}`,from:source,to:symbol.name,payload:signal,occurrence:occurrence++,range:this.rangeToDTO(symbol.range)})}for(let child of children)if(child.kind==="action"){let childText=this.getFullElementText(child,lines);for(let{afterPos}of findWordPositionsCI(childText,"send")){let sigStart=skipWS(childText,afterPos),[signal,afterSig]=readIdent(childText,sigStart,!0);if(!signal)continue;let kwStart=skipWS(childText,afterSig),[kw,afterKw]=readIdent(childText,kwStart);if(kw!=="via"&&kw!=="to")continue;let tgtStart=skipWS(childText,afterKw),[target]=readIdent(childText,tgtStart,!0);target&&messages.push({name:child.name,from:target??symbol.name,to:signal??"",payload:signal??"",occurrence:occurrence++,range:this.rangeToDTO(child.range)})}for(let{afterPos}of findWordPositionsCI(childText,"accept")){let sigStart=skipWS(childText,afterPos),[signal,afterSig]=readIdent(childText,sigStart,!0);if(!signal)continue;let kwStart=skipWS(childText,afterSig),[kw,afterKw]=readIdent(childText,kwStart);if(kw!=="via"&&kw!=="from")continue;let srcStart=skipWS(childText,afterKw),[source]=readIdent(childText,srcStart,!0);source&&messages.push({name:child.name,from:source??"",to:symbol.name,payload:signal??"",occurrence:occurrence++,range:this.rangeToDTO(child.range)})}}(participants.length>0||messages.length>0)&&(diagrams.push({name:symbol.name,participants,messages,range:this.rangeToDTO(symbol.range)}),messages.length>0&&seen.add(symbol.qualifiedName))}for(let symbol of symbols){if(seen.has(symbol.qualifiedName)||symbol.kind!=="action def"&&symbol.kind!=="action")continue;let children=this.getChildSymbols(symbol,symbolTable);if(!children.some(c=>c.kind==="action"||c.kind==="action def"))continue;let flows=this.extractSuccessions(symbol,lines);if(flows.length===0)continue;let participants=children.filter(c=>c.kind==="action"||c.kind==="action def").map(c=>({name:c.name,type:c.typeNames.join(", ")||"action",range:this.rangeToDTO(c.range)})),messages=[],occ=1;for(let flow of flows){if(flow.from==="start"||flow.to==="done")continue;let label=flow.guard??flow.to;messages.push({name:label,from:flow.from,to:flow.to,payload:flow.guard??"",occurrence:occ++,range:flow.range})}if(participants.length>0||messages.length>0){let existingIdx=diagrams.findIndex(d=>d.name===symbol.name);existingIdx>=0&&diagrams.splice(existingIdx,1),diagrams.push({name:symbol.name,participants,messages,range:this.rangeToDTO(symbol.range)})}}return diagrams}extractActivityDiagrams(symbolTable,uri,lines){let symbols=symbolTable.getSymbolsForUri(uri),diagrams=[];for(let symbol of symbols){if(symbol.kind!=="action def"&&symbol.kind!=="action")continue;let children=this.getChildSymbols(symbol,symbolTable),hasChildActions=children.some(c=>c.kind==="action"||c.kind==="action def");if(symbol.kind==="action"&&!hasChildActions)continue;let actions=[],decisions=[],flows=[],states=[];for(let child of children){let childText=this.getElementText(child,lines);if(child.kind==="action"||child.kind==="action def"){let actionType="action",lowerText=childText.toLowerCase();lowerText.includes("fork")?actionType="fork":lowerText.includes("join")?actionType="join":lowerText.includes("merge")?actionType="merge":lowerText.includes("decide")&&(actionType="decision");let subActions=this.getChildSymbols(child,symbolTable).filter(c=>c.kind==="action"||c.kind==="action def").map(c=>this.symbolToActionDTO(c,symbolTable,lines));if(actions.push({name:child.name,type:actionType,isDefinition:child.kind==="action def",range:this.rangeToDTO(child.range),parent:symbol.name,children:subActions.map(a=>a.name),subActions:subActions.length>0?subActions:void 0}),actionType==="decision"){let branches=this.extractDecisionBranches(child,lines);decisions.push({name:child.name,condition:"",branches,range:this.rangeToDTO(child.range)})}}if(child.kind==="state"||child.kind==="state def"){let stateType=childText.toLowerCase().includes("initial")?"initial":childText.toLowerCase().includes("final")?"final":"intermediate";states.push({name:child.name,type:stateType,range:this.rangeToDTO(child.range)})}}let successionFlows=this.extractSuccessions(symbol,lines);flows.push(...successionFlows);let fullText=this.getFullElementText(symbol,lines);if(findWordPositions(fullText,"decide").some(({afterPos})=>{let p=skipWS(fullText,afterPos);return p<fullText.length&&fullText[p]===";"})){let branches=[];for(let{afterPos:ifAfter}of findWordPositions(fullText,"if")){let thenIdx=fullText.indexOf("then",ifAfter);if(thenIdx<0)continue;let bBefore=thenIdx>0?fullText.charCodeAt(thenIdx-1):32,bAfter=thenIdx+4<fullText.length?fullText.charCodeAt(thenIdx+4):32;if(isIdentPart(bBefore)||isIdentPart(bAfter))continue;let condition=fullText.substring(ifAfter,thenIdx).trim(),[target]=readWordAfterKeyword(fullText,thenIdx+4);target&&branches.push({condition,target})}branches.length>0&&decisions.push({name:"decide",condition:"",branches,range:this.rangeToDTO(symbol.range)})}if(flows.length>0){let hasStartFlow=flows.some(f=>f.from==="start"),hasDoneFlow=flows.some(f=>f.to==="done");hasStartFlow&&actions.unshift({name:"start",type:"initial",isDefinition:!1,range:this.rangeToDTO(symbol.range)}),hasDoneFlow&&actions.push({name:"done",type:"final",isDefinition:!1,range:this.rangeToDTO(symbol.range)}),flows.some(f=>f.from==="decide")&&actions.push({name:"decide",type:"decision",isDefinition:!1,range:this.rangeToDTO(symbol.range)})}(actions.length>0||flows.length>0||states.length>0)&&diagrams.push({name:symbol.name,actions,decisions,flows,states,range:this.rangeToDTO(symbol.range)})}return diagrams}extractResolvedTypes(symbolTable,uri,lines){let symbols=symbolTable.getSymbolsForUri(uri),result={};for(let symbol of symbols){if(!isDefinition(symbol.kind)&&symbol.typeNames.length===0)continue;let specializes=[],specList=this.extractSpecializations(symbol,lines);for(let s of specList)specializes.includes(s)||specializes.push(s);for(let tn of symbol.typeNames)specializes.includes(tn)||specializes.push(tn);let specializationChain=[...specializes],features=this.getChildSymbols(symbol,symbolTable).filter(c=>isUsage(c.kind)).map(c=>({name:c.name,kind:this.featureKindFromElementKind(c.kind),type:c.typeNames.join(", ")||void 0,isDerived:!1,isReadonly:!1}));result[symbol.qualifiedName]={qualifiedName:symbol.qualifiedName,simpleName:symbol.name,kind:symbol.kind,isLibraryType:!1,specializationChain,specializes,features}}return result}extractSemanticDiagnostics(symbolTable,uri){let symbols=symbolTable.getSymbolsForUri(uri),diagnostics=[],allSymbolNames=new Set(symbolTable.getAllSymbols().map(s=>s.name));for(let symbol of symbols){for(let tn of symbol.typeNames)allSymbolNames.has(tn)||diagnostics.push({code:"unresolved-type",message:`Type '${tn}' could not be resolved in the current scope`,severity:"warning",range:this.rangeToDTO(symbol.selectionRange),elementName:symbol.name});symbol.kind==="enum def"&&(this.getChildSymbols(symbol,symbolTable).some(c=>c.kind==="enum"||c.kind==="attribute")||diagnostics.push({code:"empty-enum",message:`Enumeration '${symbol.name}' has no enum values defined`,severity:"info",range:this.rangeToDTO(symbol.range),elementName:symbol.name}))}return diagnostics}rangeToDTO(range){return{start:{line:range.start.line,character:range.start.character},end:{line:range.end.line,character:range.end.character}}}getChildSymbols(parent,symbolTable){return symbolTable.getSymbolsForUri(parent.uri).filter(s=>s.parentQualifiedName===parent.qualifiedName)}getElementText(symbol,lines){let startLine=symbol.range.start.line,endLine=Math.min(startLine+2,symbol.range.end.line,lines.length-1);return lines.slice(startLine,endLine+1).join(`
|
|
55
|
+
`)}getFullElementText(symbol,lines){let startLine=symbol.range.start.line,endLine=Math.min(symbol.range.end.line,lines.length-1);return lines.slice(startLine,endLine+1).join(`
|
|
56
|
+
`)}extractDirection(symbol,lines){if(symbol.kind!=="port"&&symbol.kind!=="port def")return;let elementText=this.getElementText(symbol,lines);if(containsWord(elementText,"inout"))return"inout";if(containsWord(elementText,"in"))return"in";if(containsWord(elementText,"out"))return"out"}extractMultiplicity(symbol,lines){let elementText=this.getElementText(symbol,lines),open=elementText.indexOf("[");if(open<0)return;let close=elementText.indexOf("]",open+1);if(!(close<0))return elementText.substring(open+1,close)}extractModifier(symbol,lines){let elementText=this.getElementText(symbol,lines),modifiers=[];return containsWord(elementText,"abstract")&&modifiers.push("abstract"),containsWord(elementText,"readonly")&&modifiers.push("readonly"),containsWord(elementText,"derived")&&modifiers.push("derived"),containsWord(elementText,"variation")&&modifiers.push("variation"),containsWord(elementText,"individual")&&modifiers.push("individual"),modifiers.length>0?modifiers.join(", "):void 0}extractVisibility(symbol,lines){let elementText=this.getElementText(symbol,lines);if(containsWord(elementText,"private"))return"private";if(containsWord(elementText,"protected"))return"protected";if(containsWord(elementText,"public"))return"public"}extractValue(symbol,lines){if(symbol.kind!=="attribute")return;let elementText=this.getElementText(symbol,lines),eqIdx=elementText.indexOf("=");if(eqIdx<0)return;let start=eqIdx+1;if(start<elementText.length&&elementText[start]==="=")return;start=skipWS(elementText,start);let end=start;for(;end<elementText.length;){let ch=elementText[end];if(ch===";"||ch==="{"||ch==="}"||ch===`
|
|
57
|
+
`)break;end++}let val=elementText.substring(start,end).trim();if(val&&!val.includes("def")&&val.length<100)return val}extractSpecializations(symbol,lines){let elementText=this.getElementText(symbol,lines),colonGtIdx=elementText.indexOf(":>");if(colonGtIdx>=0&&!(colonGtIdx+2<elementText.length&&elementText[colonGtIdx+2]===">"))return readCommaSeparatedIdents(elementText,colonGtIdx+2);let specPositions=findWordPositions(elementText,"specializes");return specPositions.length>0?readCommaSeparatedIdents(elementText,specPositions[0].afterPos):[]}extractConnectionEndpoints(symbol,lines){let elementText=this.getElementText(symbol,lines),endpoints=[],connectPositions=findWordPositions(elementText,"connect");for(let{afterPos}of connectPositions){let[name1,end1]=readWordAfterKeyword(elementText,afterPos,!0);if(!name1)continue;let toPos=skipWS(elementText,end1);if(elementText.substring(toPos,toPos+2)==="to"){let afterTo=toPos+2,[name2]=readWordAfterKeyword(elementText,afterTo,!0);if(name2)return endpoints.push(name1,name2),endpoints}}let endPositions=findWordPositions(elementText,"end");for(let{afterPos}of endPositions){let[name]=readWordAfterKeyword(elementText,afterPos,!0);name&&endpoints.push(name)}return endpoints}extractKeywordRelationships(elementName,elementText){let rels=[],subsetsPositions=findWordPositions(elementText,"subsets");if(subsetsPositions.length>0){let[target]=readWordAfterKeyword(elementText,subsetsPositions[0].afterPos);target&&rels.push({type:"subsetting",source:elementName,target})}let redefPositions=findWordPositions(elementText,"redefines");if(redefPositions.length>0){let[target]=readWordAfterKeyword(elementText,redefPositions[0].afterPos);target&&rels.push({type:"redefinition",source:elementName,target})}let satisfyPositions=findWordPositions(elementText,"satisfy");if(satisfyPositions.length>0){let pos=skipWS(elementText,satisfyPositions[0].afterPos),[nextWord,afterWord]=readIdent(elementText,pos);nextWord==="requirement"&&(pos=skipWS(elementText,afterWord));let[target]=readIdent(elementText,pos);target&&target!=="requirement"&&rels.push({type:"satisfy",source:elementName,target})}let verifyPositions=findWordPositions(elementText,"verify");if(verifyPositions.length>0){let pos=skipWS(elementText,verifyPositions[0].afterPos),[nextWord,afterWord]=readIdent(elementText,pos);nextWord==="requirement"&&(pos=skipWS(elementText,afterWord));let[target]=readIdent(elementText,pos);target&&target!=="requirement"&&rels.push({type:"verify",source:elementName,target})}return rels}extractDecisionBranches(symbol,lines){let elementText=this.getElementText(symbol,lines),branches=[],ifPositions=findWordPositions(elementText,"if");for(let{afterPos}of ifPositions){let thenIdx=elementText.indexOf("then",afterPos);if(thenIdx<0)continue;let beforeThen=thenIdx>0?elementText.charCodeAt(thenIdx-1):32,afterThen=thenIdx+4<elementText.length?elementText.charCodeAt(thenIdx+4):32;if(isIdentPart(beforeThen)||isIdentPart(afterThen))continue;let condition=elementText.substring(afterPos,thenIdx).trim(),[target]=readWordAfterKeyword(elementText,thenIdx+4);target&&branches.push({condition,target})}let elsePositions=findWordPositions(elementText,"else");if(elsePositions.length>0){let[target]=readWordAfterKeyword(elementText,elsePositions[0].afterPos);target&&branches.push({condition:"else",target})}return branches}extractSuccessions(parent,lines){let elementText=this.getFullElementText(parent,lines),flows=[],seen=new Set,range=this.rangeToDTO(parent.range),addFlow=(from,to,guard)=>{if(from===to)return;let key=`${from}->${to}`;if(seen.has(key))return;seen.add(key);let f={from,to,range};guard&&(f.guard=guard),flows.push(f)};function braceDepthAt(text,pos){let depth=0;for(let i=0;i<pos&&i<text.length;i++)text[i]==="{"?depth++:text[i]==="}"&&depth--;return depth}let firstBrace=elementText.indexOf("{"),topDepth=firstBrace>=0?braceDepthAt(elementText,firstBrace+1):1,stripQualifier=name=>{let idx=name.lastIndexOf("::");return idx>=0?name.substring(idx+2):name},tokens=[];for(let{pos,afterPos}of findWordPositions(elementText,"first")){if(braceDepthAt(elementText,pos)!==topDepth)continue;let nameStart=skipWS(elementText,afterPos),[name]=readNameOrQuoted(elementText,nameStart);name&&tokens.push({type:"first",name:stripQualifier(name),index:pos})}for(let{pos,afterPos}of findWordPositions(elementText,"then")){if(braceDepthAt(elementText,pos)!==topDepth)continue;let lookbackStart=Math.max(0,pos-100),preceding=elementText.substring(lookbackStart,pos);if(containsWord(preceding,"if")&&!preceding.includes(";"))continue;let nameStart=skipWS(elementText,afterPos),[maybeAction,afterAction]=readIdent(elementText,nameStart);maybeAction==="action"&&(nameStart=skipWS(elementText,afterAction));let[name]=readNameOrQuoted(elementText,nameStart);!name||name==="if"||tokens.push({type:"then",name:stripQualifier(name),index:pos})}tokens.sort((a,b)=>a.index-b.index);let coveredIndices=new Set;for(let i=0;i<tokens.length;i++)if(tokens[i].type==="first"){let chain=[tokens[i].name];coveredIndices.add(i);for(let j=i+1;j<tokens.length&&tokens[j].type==="then";j++)chain.push(tokens[j].name),coveredIndices.add(j);for(let k=0;k<chain.length-1;k++)addFlow(chain[k],chain[k+1])}let uncoveredThens=tokens.filter((t,i)=>!coveredIndices.has(i)&&t.type==="then");if(uncoveredThens.length>0)for(let i=0;i<uncoveredThens.length-1;i++)addFlow(uncoveredThens[i].name,uncoveredThens[i+1].name);if(flows.length>0){let allTargets=new Set(flows.map(f=>f.to)),allSources=new Set(flows.map(f=>f.from)),entryActions=flows.map(f=>f.from).filter(name=>name!=="start"&&name!=="done"&&!allTargets.has(name)),exitActions=flows.map(f=>f.to).filter(name=>name!=="start"&&name!=="done"&&!allSources.has(name));entryActions.length>0&&addFlow("start",entryActions[0]),exitActions.length>0&&addFlow(exitActions[exitActions.length-1],"done")}for(let{afterPos}of findWordPositions(elementText,"succession")){let p=skipWS(elementText,afterPos),[word1,afterWord1]=readIdent(elementText,p);if(word1==="flow"){p=skipWS(elementText,afterWord1);let[fromKw,afterFrom]=readIdent(elementText,p);if(fromKw==="from"){p=skipWS(elementText,afterFrom);let[srcFull,afterSrc]=readIdent(elementText,p,!0),src=srcFull.includes(".")?srcFull.substring(0,srcFull.indexOf(".")):srcFull;p=skipWS(elementText,afterSrc);let[toKw,afterTo]=readIdent(elementText,p);if(toKw==="to"){p=skipWS(elementText,afterTo);let[dstFull]=readIdent(elementText,p,!0),dst=dstFull.includes(".")?dstFull.substring(0,dstFull.indexOf(".")):dstFull;src&&dst&&addFlow(src,dst)}}continue}let nameStart=p;word1==="first"&&(nameStart=skipWS(elementText,afterWord1));let[name1]=readNameOrQuoted(elementText,nameStart);if(!name1)continue;let afterName1=nameStart+name1.length+(elementText[nameStart]==="'"?2:0),thenCheck=skipWS(elementText,afterName1),[thenKw,afterThen]=readIdent(elementText,thenCheck);if(thenKw==="then"){let name2Start=skipWS(elementText,afterThen),[name2]=readNameOrQuoted(elementText,name2Start);name2&&addFlow(stripQualifier(name1),stripQualifier(name2))}}if(findWordPositions(elementText,"decide").some(({afterPos})=>{let p=skipWS(elementText,afterPos);return p<elementText.length&&elementText[p]===";"})){for(let fi=flows.length-1;fi>=0;fi--)flows[fi].from==="decide"&&(seen.delete(`decide->${flows[fi].to}`),flows.splice(fi,1));let branchTargets=[];for(let{afterPos:ifAfter}of findWordPositions(elementText,"if")){let thenIdx=elementText.indexOf("then",ifAfter);if(thenIdx<0)continue;let bBefore=thenIdx>0?elementText.charCodeAt(thenIdx-1):32,bAfter=thenIdx+4<elementText.length?elementText.charCodeAt(thenIdx+4):32;if(isIdentPart(bBefore)||isIdentPart(bAfter))continue;let condition=elementText.substring(ifAfter,thenIdx).trim(),targetStart=skipWS(elementText,thenIdx+4),[target]=readNameOrQuoted(elementText,targetStart);if(target){let afterTarget=targetStart+target.length+(elementText[targetStart]==="'"?2:0),semi=skipWS(elementText,afterTarget);semi<elementText.length&&elementText[semi]===";"&&(addFlow("decide",target,condition),branchTargets.push(target))}}for(let{pos:mergePos,afterPos:mergeAfter}of findWordPositions(elementText,"merge")){let mStart=skipWS(elementText,mergeAfter),[mergeTarget]=readNameOrQuoted(elementText,mStart);if(!mergeTarget)continue;let afterMT=mStart+mergeTarget.length+(elementText[mStart]==="'"?2:0),semiP=skipWS(elementText,afterMT);if(semiP>=elementText.length||elementText[semiP]!==";")continue;for(let branch of branchTargets)addFlow(branch,mergeTarget);let afterMerge=tokens.filter(t=>t.type==="then"&&t.index>mergePos);afterMerge.length>0?addFlow(mergeTarget,afterMerge[0].name):mergeTarget!=="done"&&addFlow(mergeTarget,"done")}}return flows}featureKindFromElementKind(kind){switch(kind){case"attribute":case"attribute def":return"attribute";case"port":case"port def":return"port";case"action":case"action def":return"action";case"state":case"state def":return"state";default:return"reference"}}symbolToActionDTO(symbol,symbolTable,lines){let childText=this.getElementText(symbol,lines),actionType="action",lowerText=childText.toLowerCase();return lowerText.includes("fork")?actionType="fork":lowerText.includes("join")?actionType="join":lowerText.includes("merge")?actionType="merge":lowerText.includes("decide")&&(actionType="decision"),{name:symbol.name,type:actionType,isDefinition:symbol.kind==="action def",range:this.rangeToDTO(symbol.range)}}};var import_node=__toESM(require_node3());var CodeActionProvider=class{constructor(documentManager2){this.documentManager=documentManager2}provideCodeActions(params){let actions=[],uri=params.textDocument.uri;for(let diagnostic of params.context.diagnostics){let typoFix=this.tryKeywordTypoFix(uri,diagnostic);typoFix&&actions.push(typoFix);let namingFix=this.tryNamingConventionFix(uri,diagnostic);namingFix&&actions.push(namingFix);let docFix=this.tryMissingDocFix(uri,diagnostic);docFix&&actions.push(docFix);let enumFix=this.tryEmptyEnumFix(uri,diagnostic);enumFix&&actions.push(enumFix);let unusedFix=this.tryUnusedDefinitionFix(uri,diagnostic);unusedFix&&actions.push(unusedFix);let redefMultFix=this.tryRedefinitionMultiplicityFix(uri,diagnostic);redefMultFix&&actions.push(redefMultFix);let portCompatFix=this.tryPortCompatibilityFix(uri,diagnostic);portCompatFix&&actions.push(portCompatFix);let constraintRefFix=this.tryConstraintReferenceFix(uri,diagnostic);constraintRefFix&&actions.push(constraintRefFix);let unresolvedTypeFixes=this.tryUnresolvedTypeFixes(uri,diagnostic);unresolvedTypeFixes.length>0&&actions.push(...unresolvedTypeFixes)}return actions}tryUnresolvedTypeFixes(uri,diagnostic){if(diagnostic.code!=="unresolved-type")return[];let text=this.documentManager.getText(uri);if(!text)return[];let unresolvedType=diagnostic.data?.typeName??extractQuotedString(diagnostic.message,"Type '");if(!unresolvedType)return[];let actions=[],allSymbols=this.documentManager.getWorkspaceSymbolTable().getAllSymbols(),packageNames=new Set;for(let s of allSymbols){if(!isDefinition(s.kind)||s.name!==unresolvedType||s.uri===uri)continue;let parentQn=s.parentQualifiedName||"",qn=s.qualifiedName||"",pkg=(parentQn.split("::")[0]||qn.split("::")[0]||"").trim();!pkg||pkg===unresolvedType||pkg&&packageNames.add(pkg)}for(let pkg of packageNames){if(this.hasImportForPackage(text,pkg))continue;let insertPos=this.findImportInsertPosition(text),importText=`${this.getChildIndentForPackageLine(text,insertPos.line)}public import ${pkg}::*;
|
|
58
|
+
`,edit={changes:{[uri]:[import_node.TextEdit.insert(insertPos,importText)]}};actions.push({title:`Import '${pkg}::*' to resolve '${unresolvedType}'`,kind:import_node.CodeActionKind.QuickFix,diagnostics:[diagnostic],isPreferred:actions.length===0,edit})}let stubPos=this.findPackageBodyInsertPosition(text);if(stubPos){let childIndent=this.getChildIndentForPackageLine(text,stubPos.line),localTypeStub=this.buildLocalTypeStub(text,diagnostic,unresolvedType,childIndent),edit={changes:{[uri]:[import_node.TextEdit.insert(stubPos,localTypeStub.stubText)]}};actions.push({title:localTypeStub.title,kind:import_node.CodeActionKind.QuickFix,diagnostics:[diagnostic],isPreferred:actions.length===0,edit})}return actions}tryKeywordTypoFix(uri,diagnostic){let data=diagnostic.data,typo,suggestion;if(data?.typo&&data?.suggestion)typo=data.typo,suggestion=data.suggestion;else{let msg=diagnostic.message;typo=extractQuotedString(msg,"Unknown keyword '"),suggestion=extractQuotedString(msg,"Did you mean '")}if(!typo||!suggestion)return;let edit={changes:{[uri]:[import_node.TextEdit.replace(diagnostic.range,suggestion)]}};return{title:`Fix typo: '${typo}' \u2192 '${suggestion}'`,kind:import_node.CodeActionKind.QuickFix,diagnostics:[diagnostic],isPreferred:!0,edit}}tryNamingConventionFix(uri,diagnostic){if(diagnostic.code!=="naming-convention")return;let data=diagnostic.data,name,isPascal,isCamel;if(data?.name&&data?.convention?(name=data.name,isPascal=data.convention==="PascalCase",isCamel=data.convention==="camelCase"):(isPascal=diagnostic.message.includes("PascalCase"),isCamel=diagnostic.message.includes("camelCase"),name=extractQuotedString(diagnostic.message,"Definition '")??extractQuotedString(diagnostic.message,"Usage '")),!isPascal&&!isCamel||!name)return;let newName;isPascal?newName=name.charAt(0).toUpperCase()+name.slice(1):newName=name.charAt(0).toLowerCase()+name.slice(1);let edit={changes:{[uri]:[import_node.TextEdit.replace(diagnostic.range,newName)]}};return{title:`Rename to '${newName}'`,kind:import_node.CodeActionKind.QuickFix,diagnostics:[diagnostic],isPreferred:!0,edit}}tryMissingDocFix(uri,diagnostic){if(diagnostic.code!=="missing-doc")return;let name=diagnostic.data?.name??extractQuotedString(diagnostic.message,"Definition '");if(!name)return;let text=this.documentManager.getText(uri);if(!text)return;let lines=text.split(`
|
|
59
|
+
`),startLine=diagnostic.range.start.line,bracePos;for(let i=startLine;i<Math.min(startLine+5,lines.length);i++){let braceIdx=lines[i].indexOf("{");if(braceIdx>=0){bracePos=import_node.Position.create(i,braceIdx+1);break}}if(!bracePos)return;let docComment=`
|
|
60
|
+
${this.getLineIndent(text,startLine)+" "}doc /* TODO: Describe ${name} */`,edit={changes:{[uri]:[import_node.TextEdit.insert(bracePos,docComment)]}};return{title:`Add documentation for '${name}'`,kind:import_node.CodeActionKind.QuickFix,diagnostics:[diagnostic],isPreferred:!1,edit}}tryEmptyEnumFix(uri,diagnostic){if(diagnostic.code!=="empty-enum")return;let text=this.documentManager.getText(uri);if(!text)return;let lines=text.split(`
|
|
61
|
+
`),startLine=diagnostic.range.start.line,bracePos;for(let i=startLine;i<Math.min(startLine+5,lines.length);i++){let braceIdx=lines[i].indexOf("{");if(braceIdx>=0){bracePos=import_node.Position.create(i,braceIdx+1);break}}if(!bracePos)return;let childIndent=this.getLineIndent(text,startLine)+" ",insertText=`
|
|
62
|
+
${childIndent}enum value1;
|
|
63
|
+
${childIndent}enum value2;`,edit={changes:{[uri]:[import_node.TextEdit.insert(bracePos,insertText)]}};return{title:"Add placeholder enum values",kind:import_node.CodeActionKind.QuickFix,diagnostics:[diagnostic],isPreferred:!1,edit}}tryUnusedDefinitionFix(uri,diagnostic){if(diagnostic.code!=="unused-definition")return;let name=diagnostic.data?.name??extractQuotedString(diagnostic.message,"Definition '");if(!name||name.startsWith("_"))return;let newName=`_${name}`,edit={changes:{[uri]:[import_node.TextEdit.replace(diagnostic.range,newName)]}};return{title:`Prefix with underscore: '_${name}'`,kind:import_node.CodeActionKind.QuickFix,diagnostics:[diagnostic],isPreferred:!1,edit}}tryRedefinitionMultiplicityFix(uri,diagnostic){if(diagnostic.code!=="invalid-redefinition-multiplicity")return;let baseMatch=diagnostic.message.match(/base\s+'[^']+'\s+multiplicity\s+\[([^\]]+)\]/);if(!baseMatch)return;let baseMultiplicity=baseMatch[1],text=this.documentManager.getText(uri);if(!text)return;let line=diagnostic.range.start.line,multMatch=(text.split(`
|
|
64
|
+
`)[line]??"").match(/\[[^\]]+\]/);if(!multMatch)return;let startChar=multMatch.index??0,endChar=startChar+multMatch[0].length,edit={changes:{[uri]:[import_node.TextEdit.replace({start:import_node.Position.create(line,startChar),end:import_node.Position.create(line,endChar)},`[${baseMultiplicity}]`)]}};return{title:`Align multiplicity with base: [${baseMultiplicity}]`,kind:import_node.CodeActionKind.QuickFix,diagnostics:[diagnostic],isPreferred:!0,edit}}tryPortCompatibilityFix(uri,diagnostic){if(diagnostic.code!=="incompatible-port-types")return;let m2=diagnostic.message.match(/'([^']+)'\s+\(([^)]+)\)\s+is connected to\s+'([^']+)'\s+\(([^)]+)\)/);if(!m2)return;let left=m2[1],leftType=m2[2],right=m2[3],compatible=this.documentManager.getWorkspaceSymbolTable().getSymbolsForUri(uri).find(s=>s.kind==="port"&&s.name!==left&&s.name!==right&&(s.typeNames[0]??s.typeName)===leftType);if(!compatible)return;let text=this.documentManager.getText(uri);if(!text)return;let start=diagnostic.range.start,end=diagnostic.range.end,lines=text.split(`
|
|
65
|
+
`);if(start.line!==end.line)return;let segment=(lines[start.line]??"").slice(start.character,end.character);if(!segment)return;let replaced=segment.replace(new RegExp(`\\b${right}\\b`),compatible.name);if(replaced===segment)return;let edit={changes:{[uri]:[import_node.TextEdit.replace(diagnostic.range,replaced)]}};return{title:`Replace '${right}' with compatible port '${compatible.name}'`,kind:import_node.CodeActionKind.QuickFix,diagnostics:[diagnostic],isPreferred:!1,edit}}tryConstraintReferenceFix(uri,diagnostic){if(diagnostic.code!=="unresolved-constraint-reference")return;let msg=diagnostic.message,text=this.documentManager.getText(uri);if(!text)return;let lines=text.split(`
|
|
66
|
+
`),sameLine=diagnostic.range.start.line===diagnostic.range.end.line,lineText=sameLine?lines[diagnostic.range.start.line]??"":"",rangeExpr=sameLine?lineText.slice(diagnostic.range.start.character,diagnostic.range.end.character):"",tokenExpr=sameLine?extractDottedTokenAtRange(lineText,diagnostic.range.start.character,diagnostic.range.end.character):"",m2=msg.match(/Unresolved constraint reference\s+'([^']+)'(?:\s+in scope\s+'([^']+)')?/),expr=rangeExpr&&rangeExpr.includes(".")?rangeExpr:tokenExpr&&tokenExpr.includes(".")?tokenExpr:m2?.[1]??"",scopeName=m2?.[2];if(!expr||!expr.includes("."))return;let parts=expr.split(".");if(parts.length<2)return;let root=parts[0],unresolvedLeaf=parts[parts.length-1],symbolTable=this.documentManager.getWorkspaceSymbolTable(),symbolsInUri=symbolTable.getSymbolsForUri(uri),allSymbols=symbolTable.getAllSymbols(),scope=scopeName?symbolsInUri.find(s=>s.name===scopeName):void 0,rootUsage=(scope?allSymbols.filter(s=>s.parentQualifiedName===scope.qualifiedName):[]).find(s=>s.name===root)??symbolsInUri.find(s=>s.name===root&&!!(s.typeNames[0]??s.typeName)),rootType=rootUsage?rootUsage.typeNames[0]??rootUsage.typeName:void 0,memberNames=[];if(rootType){let typeDef=allSymbols.find(s=>s.name===rootType&&s.kind.endsWith(" def"));typeDef&&(memberNames=allSymbols.filter(s=>s.parentQualifiedName===typeDef.qualifiedName).map(s=>s.name))}if(memberNames.length===0&&(memberNames=symbolsInUri.map(s=>s.name).filter(n2=>n2!==root)),memberNames.length===0&&(memberNames=allSymbols.filter(s=>s.uri===uri).map(s=>s.name).filter(n2=>n2!==root)),memberNames.length===0)return;let best=memberNames.map(name=>({name,dist:levenshtein(unresolvedLeaf,name)})).sort((a,b)=>a.dist-b.dist)[0];if(!best||best.dist>3||best.name===unresolvedLeaf){let fallback=extractLikelyMemberNames(text,root).map(name=>({name,dist:levenshtein(unresolvedLeaf,name)})).sort((a,b)=>a.dist-b.dist)[0];fallback&&fallback.name!==unresolvedLeaf&&(best=fallback)}if(!best||best.dist>4||best.name===unresolvedLeaf)return;let fixedExpr=`${root}.${best.name}`,edit={changes:{[uri]:[import_node.TextEdit.replace(diagnostic.range,fixedExpr)]}};return{title:`Replace '${expr}' with '${fixedExpr}'`,kind:import_node.CodeActionKind.QuickFix,diagnostics:[diagnostic],isPreferred:!0,edit}}getLineIndent(text,line){if(!text)return"";let lines=text.split(`
|
|
67
|
+
`);if(line<0||line>=lines.length)return"";let ln=lines[line],end=0;for(;end<ln.length&&(ln[end]===" "||ln[end]===" ");)end++;return ln.substring(0,end)}hasImportForPackage(text,pkg){let escaped=pkg.replace(/[.*+?^${}()|[\]\\]/g,"\\$&");return new RegExp(`^\\s*(?:public\\s+)?import\\s+${escaped}::\\*\\s*;\\s*$`,"m").test(text)}findImportInsertPosition(text){let lines=text.split(`
|
|
68
|
+
`),packageLine=-1,firstImport=-1,lastImport=-1;for(let i=0;i<lines.length;i++){let ln=lines[i];packageLine<0&&/^\s*(?:standard\s+library\s+)?package\b/.test(ln)&&(packageLine=i),/^\s*(?:public\s+)?import\b/.test(ln)&&(firstImport<0&&(firstImport=i),lastImport=i)}return lastImport>=0?import_node.Position.create(lastImport+1,0):packageLine>=0?import_node.Position.create(packageLine+1,0):import_node.Position.create(0,0)}findPackageBodyInsertPosition(text){let lines=text.split(`
|
|
69
|
+
`),lastClosingBraceLine=-1;for(let i=lines.length-1;i>=0;i--)if(/^\s*}\s*;?\s*$/.test(lines[i])){lastClosingBraceLine=i;break}if(!(lastClosingBraceLine<0))return import_node.Position.create(lastClosingBraceLine,0)}getChildIndentForPackageLine(text,line){return`${this.getLineIndent(text,Math.max(0,line))} `}isAttributeTypeContext(text,diagnostic,unresolvedType){let line=text.split(`
|
|
70
|
+
`)[diagnostic.range.start.line]??"",beforeRange=line.slice(0,diagnostic.range.start.character),unresolvedInLine=line.slice(diagnostic.range.start.character,diagnostic.range.end.character),escapedType=unresolvedType.replace(/[.*+?^${}()|[\]\\]/g,"\\$&");return/^\s*attribute\s+[A-Za-z_][A-Za-z0-9_]*\s*:/.test(line)&&new RegExp(`:\\s*${escapedType}\\b`).test(line)||/\battribute\s+[A-Za-z_][A-Za-z0-9_]*\s*:\s*$/.test(beforeRange)?!0:/\battribute\s+[A-Za-z_][A-Za-z0-9_]*\s*:\s*[A-Za-z_][A-Za-z0-9_]*\b/.test(beforeRange+unresolvedInLine)}buildLocalTypeStub(text,diagnostic,unresolvedType,childIndent){return this.isAttributeTypeContext(text,diagnostic,unresolvedType)?{title:`Create local 'attribute def ${unresolvedType};'`,stubText:`
|
|
71
|
+
${childIndent}attribute def ${unresolvedType};
|
|
72
|
+
`}:{title:`Create local 'item def ${unresolvedType};'`,stubText:`
|
|
73
|
+
${childIndent}item def ${unresolvedType};
|
|
74
|
+
`}}};function levenshtein(a,b){if(a===b)return 0;if(!a.length)return b.length;if(!b.length)return a.length;let prev=new Array(b.length+1),curr=new Array(b.length+1);for(let j=0;j<=b.length;j++)prev[j]=j;for(let i=1;i<=a.length;i++){curr[0]=i;for(let j=1;j<=b.length;j++){let cost=a[i-1]===b[j-1]?0:1;curr[j]=Math.min(prev[j]+1,curr[j-1]+1,prev[j-1]+cost)}for(let j=0;j<=b.length;j++)prev[j]=curr[j]}return prev[b.length]}function extractQuotedString(text,prefixWithQuote){let idx=text.indexOf(prefixWithQuote);if(idx<0)return;let start=idx+prefixWithQuote.length,end=text.indexOf("'",start);if(!(end<0))return text.substring(start,end)}function extractDottedTokenAtRange(line,start,end){if(!line||start<0||end<0||start>line.length||end>line.length)return"";let isTokenChar=ch=>ch>="a"&&ch<="z"||ch>="A"&&ch<="Z"||ch>="0"&&ch<="9"||ch==="_"||ch===".",left=Math.max(0,start);for(;left>0&&isTokenChar(line[left-1]);)left--;let right=Math.min(line.length,end);for(;right<line.length&&isTokenChar(line[right]);)right++;let token=line.slice(left,right).trim();return token.includes(".")?token:""}function extractLikelyMemberNames(text,excludeName){let names=new Set,addMatches=re=>{let m2;for(;(m2=re.exec(text))!==null;){let n2=m2[1];n2&&n2!==excludeName&&names.add(n2)}};return addMatches(/\battribute\s+([A-Za-z_][A-Za-z0-9_]*)\b/g),addMatches(/\bpart\s+([A-Za-z_][A-Za-z0-9_]*)\b/g),addMatches(/\bport\s+([A-Za-z_][A-Za-z0-9_]*)\b/g),addMatches(/\bitem\s+([A-Za-z_][A-Za-z0-9_]*)\b/g),addMatches(/\bsubject\s+([A-Za-z_][A-Za-z0-9_]*)\b/g),[...names]}var import_node2=__toESM(require_node3());var SYSML_KEYWORDS=[{label:"part def",kind:import_node2.CompletionItemKind.Class,detail:"Part definition",documentation:"Defines a type of part that can be instantiated",insertText:`part def \${1:Name} {
|
|
75
|
+
$0
|
|
76
|
+
}`,insertTextFormat:import_node2.InsertTextFormat.Snippet},{label:"action def",kind:import_node2.CompletionItemKind.Function,detail:"Action definition",documentation:"Defines a type of action/behavior",insertText:`action def \${1:Name} {
|
|
77
|
+
$0
|
|
78
|
+
}`,insertTextFormat:import_node2.InsertTextFormat.Snippet},{label:"state def",kind:import_node2.CompletionItemKind.Enum,detail:"State definition",documentation:"Defines a state machine",insertText:`state def \${1:Name} {
|
|
79
|
+
$0
|
|
80
|
+
}`,insertTextFormat:import_node2.InsertTextFormat.Snippet},{label:"requirement def",kind:import_node2.CompletionItemKind.Interface,detail:"Requirement definition",documentation:"Defines a type of requirement",insertText:`requirement def \${1:Name} {
|
|
81
|
+
doc /* \${2:description} */
|
|
82
|
+
$0
|
|
83
|
+
}`,insertTextFormat:import_node2.InsertTextFormat.Snippet},{label:"constraint def",kind:import_node2.CompletionItemKind.Constant,detail:"Constraint definition",documentation:"Defines a reusable constraint",insertText:`constraint def \${1:Name} {
|
|
84
|
+
$0
|
|
85
|
+
}`,insertTextFormat:import_node2.InsertTextFormat.Snippet},{label:"attribute def",kind:import_node2.CompletionItemKind.Property,detail:"Attribute definition",documentation:"Defines a type of attribute/value",insertText:`attribute def \${1:Name} {
|
|
86
|
+
$0
|
|
87
|
+
}`,insertTextFormat:import_node2.InsertTextFormat.Snippet},{label:"item def",kind:import_node2.CompletionItemKind.Class,detail:"Item definition",documentation:"Defines a type of item that can flow",insertText:`item def \${1:Name} {
|
|
88
|
+
$0
|
|
89
|
+
}`,insertTextFormat:import_node2.InsertTextFormat.Snippet},{label:"port def",kind:import_node2.CompletionItemKind.Interface,detail:"Port definition",documentation:"Defines a type of port for connections",insertText:`port def \${1:Name} {
|
|
90
|
+
$0
|
|
91
|
+
}`,insertTextFormat:import_node2.InsertTextFormat.Snippet},{label:"interface def",kind:import_node2.CompletionItemKind.Interface,detail:"Interface definition",documentation:"Defines an interface contract",insertText:`interface def \${1:Name} {
|
|
92
|
+
$0
|
|
93
|
+
}`,insertTextFormat:import_node2.InsertTextFormat.Snippet},{label:"connection def",kind:import_node2.CompletionItemKind.Interface,detail:"Connection definition",documentation:"Defines a type of connection",insertText:`connection def \${1:Name} {
|
|
94
|
+
$0
|
|
95
|
+
}`,insertTextFormat:import_node2.InsertTextFormat.Snippet},{label:"allocation def",kind:import_node2.CompletionItemKind.Interface,detail:"Allocation definition",documentation:"Defines a type of allocation",insertText:`allocation def \${1:Name} {
|
|
96
|
+
$0
|
|
97
|
+
}`,insertTextFormat:import_node2.InsertTextFormat.Snippet},{label:"use case def",kind:import_node2.CompletionItemKind.Event,detail:"Use case definition",documentation:"Defines a use case",insertText:`use case def \${1:Name} {
|
|
98
|
+
$0
|
|
99
|
+
}`,insertTextFormat:import_node2.InsertTextFormat.Snippet},{label:"view def",kind:import_node2.CompletionItemKind.Struct,detail:"View definition",documentation:"Defines a view of the model",insertText:`view def \${1:Name} {
|
|
100
|
+
$0
|
|
101
|
+
}`,insertTextFormat:import_node2.InsertTextFormat.Snippet},{label:"viewpoint def",kind:import_node2.CompletionItemKind.Struct,detail:"Viewpoint definition",documentation:"Defines a viewpoint for stakeholders",insertText:`viewpoint def \${1:Name} {
|
|
102
|
+
$0
|
|
103
|
+
}`,insertTextFormat:import_node2.InsertTextFormat.Snippet},{label:"enum def",kind:import_node2.CompletionItemKind.Enum,detail:"Enumeration definition",documentation:"Defines an enumeration type",insertText:"enum def ${1:Name} {\n ${2:value1};\n ${3:value2};\n}",insertTextFormat:import_node2.InsertTextFormat.Snippet},{label:"calc def",kind:import_node2.CompletionItemKind.Function,detail:"Calculation definition",documentation:"Defines a calculation/function",insertText:`calc def \${1:Name} {
|
|
104
|
+
$0
|
|
105
|
+
}`,insertTextFormat:import_node2.InsertTextFormat.Snippet},{label:"metadata def",kind:import_node2.CompletionItemKind.TypeParameter,detail:"Metadata definition",documentation:"Defines custom metadata/stereotypes",insertText:`metadata def \${1:Name} {
|
|
106
|
+
$0
|
|
107
|
+
}`,insertTextFormat:import_node2.InsertTextFormat.Snippet},{label:"part",kind:import_node2.CompletionItemKind.Variable,detail:"Part usage",documentation:"Creates a part instance",insertText:"part ${1:name} : ${2:Type};",insertTextFormat:import_node2.InsertTextFormat.Snippet},{label:"action",kind:import_node2.CompletionItemKind.Function,detail:"Action usage",documentation:"Creates an action/behavior instance",insertText:`action \${1:name} {
|
|
108
|
+
$0
|
|
109
|
+
}`,insertTextFormat:import_node2.InsertTextFormat.Snippet},{label:"state",kind:import_node2.CompletionItemKind.Enum,detail:"State usage",documentation:"Creates a state instance",insertText:`state \${1:name} {
|
|
110
|
+
$0
|
|
111
|
+
}`,insertTextFormat:import_node2.InsertTextFormat.Snippet},{label:"attribute",kind:import_node2.CompletionItemKind.Property,detail:"Attribute usage",documentation:"Creates an attribute/value",insertText:"attribute ${1:name} : ${2:Type};",insertTextFormat:import_node2.InsertTextFormat.Snippet},{label:"port",kind:import_node2.CompletionItemKind.Interface,detail:"Port usage",documentation:"Creates a port",insertText:"port ${1:name} : ${2:PortType};",insertTextFormat:import_node2.InsertTextFormat.Snippet},{label:"item",kind:import_node2.CompletionItemKind.Variable,detail:"Item usage",documentation:"Creates an item instance",insertText:"item ${1:name} : ${2:Type};",insertTextFormat:import_node2.InsertTextFormat.Snippet},{label:"requirement",kind:import_node2.CompletionItemKind.Interface,detail:"Requirement usage",documentation:"Creates a requirement instance",insertText:`requirement \${1:name} {
|
|
112
|
+
$0
|
|
113
|
+
}`,insertTextFormat:import_node2.InsertTextFormat.Snippet},{label:"connection",kind:import_node2.CompletionItemKind.Reference,detail:"Connection usage",documentation:"Creates a connection between parts",insertText:"connection ${1:name} connect ${2:source} to ${3:target};",insertTextFormat:import_node2.InsertTextFormat.Snippet},{label:"ref",kind:import_node2.CompletionItemKind.Reference,detail:"Reference usage",documentation:"Creates a reference to another element",insertText:"ref ${1:name} : ${2:Type};",insertTextFormat:import_node2.InsertTextFormat.Snippet},{label:"package",kind:import_node2.CompletionItemKind.Module,detail:"Package",documentation:"Creates a namespace container",insertText:`package \${1:Name} {
|
|
114
|
+
$0
|
|
115
|
+
}`,insertTextFormat:import_node2.InsertTextFormat.Snippet},{label:"import",kind:import_node2.CompletionItemKind.Module,detail:"Import",documentation:"Imports elements from another namespace",insertText:"import ${1:namespace}::*;",insertTextFormat:import_node2.InsertTextFormat.Snippet},{label:"alias",kind:import_node2.CompletionItemKind.Reference,detail:"Alias",documentation:"Creates an alias for an element",insertText:"alias ${1:newName} for ${2:existingElement};",insertTextFormat:import_node2.InsertTextFormat.Snippet},{label:"connect",kind:import_node2.CompletionItemKind.Operator,detail:"Connection",documentation:"Connects two endpoints",insertText:"connect ${1:source} to ${2:target};",insertTextFormat:import_node2.InsertTextFormat.Snippet},{label:"bind",kind:import_node2.CompletionItemKind.Operator,detail:"Binding",documentation:"Binds two features together",insertText:"bind ${1:source} = ${2:target};",insertTextFormat:import_node2.InsertTextFormat.Snippet},{label:"flow",kind:import_node2.CompletionItemKind.Operator,detail:"Flow",documentation:"Defines item flow between parts",insertText:"flow of ${1:ItemType} from ${2:source} to ${3:target};",insertTextFormat:import_node2.InsertTextFormat.Snippet},{label:"satisfy",kind:import_node2.CompletionItemKind.Operator,detail:"Satisfaction",documentation:"Indicates requirement satisfaction",insertText:"satisfy ${1:requirement} by ${2:element};",insertTextFormat:import_node2.InsertTextFormat.Snippet},{label:"abstract",kind:import_node2.CompletionItemKind.Keyword,detail:"Abstract modifier",documentation:"Makes element abstract"},{label:"readonly",kind:import_node2.CompletionItemKind.Keyword,detail:"Readonly modifier",documentation:"Makes attribute readonly"},{label:"derived",kind:import_node2.CompletionItemKind.Keyword,detail:"Derived modifier",documentation:"Indicates value is derived/calculated"},{label:"in",kind:import_node2.CompletionItemKind.Keyword,detail:"Input direction",documentation:"Port/parameter receives input"},{label:"out",kind:import_node2.CompletionItemKind.Keyword,detail:"Output direction",documentation:"Port/parameter provides output"},{label:"inout",kind:import_node2.CompletionItemKind.Keyword,detail:"Bidirectional direction",documentation:"Port/parameter is bidirectional"},{label:"doc",kind:import_node2.CompletionItemKind.Text,detail:"Documentation",documentation:"Creates a documentation comment",insertText:"doc /* ${1:description} */",insertTextFormat:import_node2.InsertTextFormat.Snippet},{label:"comment",kind:import_node2.CompletionItemKind.Text,detail:"Comment",documentation:"Creates a comment element",insertText:"comment /* ${1:text} */",insertTextFormat:import_node2.InsertTextFormat.Snippet}],CompletionProvider=class{constructor(documentManager2){this.documentManager=documentManager2}provideCompletions(params){let items=[],uri=params.textDocument.uri,context=this.detectContext(uri,params.position.line,params.position.character);for(let kw of SYSML_KEYWORDS){let item={label:kw.label,kind:kw.kind,detail:kw.detail,documentation:kw.documentation,data:kw.label,sortText:`2_${kw.label}`};kw.insertText&&(item.insertText=kw.insertText,item.insertTextFormat=kw.insertTextFormat),items.push(item)}let allSymbols=this.documentManager.getWorkspaceSymbolTable().getAllSymbols(),definitionSymbols=allSymbols.filter(s=>isDefinition(s.kind)),seen=new Set;for(let sym of definitionSymbols)!sym.name||seen.has(sym.name)||(seen.add(sym.name),items.push({label:sym.name,kind:this.mapSymbolKindToCompletionKind(sym.kind),detail:`${sym.kind}${sym.qualifiedName!==sym.name?` (${sym.qualifiedName})`:""}`,documentation:sym.documentation,data:sym.qualifiedName,sortText:`1_${sym.name}`}));if(context==="connect-endpoint"){let portSymbols=allSymbols.filter(s=>s.kind==="port"||s.kind==="port def"),seenPorts=new Set;for(let sym of portSymbols)!sym.name||seenPorts.has(sym.name)||(seenPorts.add(sym.name),items.push({label:sym.name,kind:import_node2.CompletionItemKind.Interface,detail:`${sym.kind}${sym.typeNames[0]?` : ${sym.typeNames[0]}`:""}`,data:sym.qualifiedName,sortText:`0_${sym.name}`}))}return context==="type-annotation"?items.filter(i=>this.isTypeOrDefinitionCompletion(i)):context==="connect-endpoint"?items.filter(i=>this.isConnectContextCompletion(i)):items}resolveCompletion(item){return item}mapSymbolKindToCompletionKind(kind){return kind==="part def"||kind==="item def"?import_node2.CompletionItemKind.Class:kind==="action def"||kind==="calc def"?import_node2.CompletionItemKind.Function:kind==="port def"||kind==="interface def"?import_node2.CompletionItemKind.Interface:kind==="enum def"?import_node2.CompletionItemKind.Enum:kind==="attribute def"?import_node2.CompletionItemKind.Property:import_node2.CompletionItemKind.Text}detectContext(uri,line,character){let text=this.documentManager.getText(uri);if(!text)return"general";let lines=text.split(`
|
|
116
|
+
`);if(line<0||line>=lines.length)return"general";let lineText=lines[line]??"",beforeCursor=lineText.slice(0,Math.max(0,Math.min(character,lineText.length))),beforeTrim=beforeCursor.trimEnd();return/\bconnect\b/.test(beforeCursor)&&!beforeCursor.includes(";")||/\bconnect\b/.test(beforeCursor)&&/\b(to|from)$/.test(beforeTrim)||/\bconnect\s*$/.test(beforeTrim)||/\bconnect\s+[A-Za-z_][\w.]*\s*$/.test(beforeTrim)?"connect-endpoint":/:\s*[A-Za-z_\d]*$/.test(beforeCursor)?"type-annotation":"general"}isTypeOrDefinitionCompletion(item){return typeof item.detail=="string"&&item.detail.includes(" def")||typeof item.data=="string"&&item.data.includes("::")?!0:["part def","action def","state def","requirement def","constraint def","attribute def","item def","port def","interface def","connection def","allocation def","use case def","view def","viewpoint def","enum def","calc def","metadata def"].includes(item.label)}isConnectContextCompletion(item){return typeof item.detail=="string"&&(item.detail.startsWith("port")||item.detail.includes(" port"))?!0:item.label==="connect"||item.label==="port"||item.label==="port def"}};var DefinitionProvider=class{constructor(documentManager2){this.documentManager=documentManager2}provideDefinition(params){let symbolTable=this.documentManager.getSymbolTable(params.textDocument.uri);if(!symbolTable)return null;let symbol=symbolTable.findSymbolAtPosition(params.textDocument.uri,params.position.line,params.position.character);if(!symbol){let text=this.documentManager.getText(params.textDocument.uri);if(!text)return null;let word=this.getWordAtPosition(text,params.position.line,params.position.character);if(!word)return null;if(word.includes("::")){let libLoc=this.resolveFromLibrary(word);if(libLoc)return libLoc;let member=word.split("::").pop(),memberMatches=symbolTable.findByName(member);return memberMatches.length>0?{uri:memberMatches[0].uri,range:memberMatches[0].selectionRange}:null}let matches=symbolTable.findByName(word);return matches.length>0?{uri:matches[0].uri,range:matches[0].selectionRange}:this.resolveFromLibrary(word)}if(symbol.typeName){let typeMatches=symbolTable.findByName(symbol.typeName);if(typeMatches.length>0)return{uri:typeMatches[0].uri,range:typeMatches[0].selectionRange};let libLoc=this.resolveFromLibrary(symbol.typeName);if(libLoc)return libLoc}return{uri:symbol.uri,range:symbol.selectionRange}}resolveFromLibrary(name){let loc=resolveLibraryType(name);return loc?{uri:loc.uri,range:{start:{line:loc.line,character:0},end:{line:loc.line,character:0}}}:null}getWordAtPosition(text,line,character){let lines=text.split(`
|
|
117
|
+
`);if(line>=lines.length)return;let lineText=lines[line];if(!(character>=lineText.length))return extractQualifiedNameAt(lineText,character)}};var import_node3=__toESM(require_node3()),DiagnosticsProvider=class{constructor(documentManager2){this.documentManager=documentManager2}getDiagnostics(uri){let result=this.documentManager.get(uri);if(!result)return[];let diagnostics=[];for(let error of result.errors)diagnostics.push(this.syntaxErrorToDiagnostic(error));return diagnostics}syntaxErrorToDiagnostic(error){return{severity:import_node3.DiagnosticSeverity.Error,range:{start:{line:error.line,character:error.column},end:{line:error.line,character:error.column+error.length}},message:error.message,source:"sysml"}}};var import_node4=__toESM(require_node3());function toSysMLSymbolKind(kind){switch(kind){case"part def":case"occurrence def":return import_node4.SymbolKind.Class;case"part":case"occurrence":case"ref":return import_node4.SymbolKind.Field;case"attribute def":case"attribute":return import_node4.SymbolKind.Property;case"port def":case"port":case"interface def":case"interface":return import_node4.SymbolKind.Interface;case"connection def":case"connection":return import_node4.SymbolKind.Interface;case"action def":case"action":case"perform action":return import_node4.SymbolKind.Method;case"state def":case"state":case"exhibit state":return import_node4.SymbolKind.Event;case"transition":return import_node4.SymbolKind.Event;case"requirement def":case"requirement":case"actor":case"subject":return import_node4.SymbolKind.Object;case"constraint def":case"constraint":return import_node4.SymbolKind.Constant;case"item def":case"item":return import_node4.SymbolKind.Struct;case"allocation def":case"allocation":return import_node4.SymbolKind.TypeParameter;case"enum def":return import_node4.SymbolKind.Enum;case"enum":return import_node4.SymbolKind.EnumMember;case"calc def":case"calc":case"analysis case def":case"verification case def":return import_node4.SymbolKind.Function;case"use case def":case"use case":case"include use case":return import_node4.SymbolKind.Event;case"view def":case"view":case"viewpoint def":case"viewpoint":case"rendering def":return import_node4.SymbolKind.Namespace;case"metadata def":return import_node4.SymbolKind.TypeParameter;case"package":return import_node4.SymbolKind.Package;case"comment":case"doc":return import_node4.SymbolKind.String;case"import":case"alias":return import_node4.SymbolKind.Module;default:return import_node4.SymbolKind.Variable}}var DocumentSymbolProvider=class{constructor(documentManager2){this.documentManager=documentManager2}provideDocumentSymbols(params){let symbolTable=this.documentManager.getSymbolTable(params.textDocument.uri);if(!symbolTable)return[];let symbols=symbolTable.getSymbolsForUri(params.textDocument.uri);return this.buildHierarchy(symbols)}buildHierarchy(symbols){let topLevel=[],byQualifiedName=new Map,childrenOf=new Map;for(let sym of symbols)if(byQualifiedName.set(sym.qualifiedName,sym),!sym.parentQualifiedName)topLevel.push(sym);else{let siblings=childrenOf.get(sym.parentQualifiedName)??[];siblings.push(sym),childrenOf.set(sym.parentQualifiedName,siblings)}let buildSymbol=sym=>{let children=childrenOf.get(sym.qualifiedName)??[];return{name:sym.name,detail:toMetaclassName(sym.kind),kind:toSysMLSymbolKind(sym.kind),range:sym.range,selectionRange:sym.selectionRange,children:children.map(buildSymbol)}};return topLevel.map(buildSymbol)}};var import_node5=__toESM(require_node3()),FoldingRangeProvider=class{constructor(documentManager2){this.documentManager=documentManager2}provideFoldingRanges(params){let text=this.documentManager.getText(params.textDocument.uri);if(!text)return[];let ranges=[],lines=text.split(`
|
|
118
|
+
`),braceStack=[],commentStart;for(let i=0;i<lines.length;i++){let line=lines[i];line.includes("/*")&&!line.includes("*/")?commentStart=i:commentStart!==void 0&&line.includes("*/")&&(ranges.push({startLine:commentStart,endLine:i,kind:import_node5.FoldingRangeKind.Comment}),commentStart=void 0);for(let ch of line)if(ch==="{")braceStack.push(i);else if(ch==="}"){let startLine=braceStack.pop();startLine!==void 0&&i>startLine&&ranges.push({startLine,endLine:i,kind:import_node5.FoldingRangeKind.Region})}}return ranges}};var import_node7=__toESM(require_node3());var import_node6=__toESM(require_node3());var STANDARD_LIBRARY_TYPES=new Set(["Boolean","String","Integer","Real","Natural","Positive","Complex","Number","Rational","ScalarValues","DataFunctions","Anything","Nothing","Object","Occurrence","Base","Objects","Occurrences","Items","Parts","Ports","Actions","States","Connections","Interfaces","Allocations","Requirements","Constraints","Calculations","Cases","Flows","Transfers","Performances","TransitionPerformances","ISQ","SI","USCustomaryUnits","Quantities","MeasurementReferences","ScalarValues","LengthValue","MassValue","DurationValue","TimeValue","ElectricCurrentValue","ThermodynamicTemperatureValue","TemperatureValue","AmountOfSubstanceValue","LuminousIntensityValue","AreaValue","VolumeValue","SpeedValue","VelocityValue","AccelerationValue","ForceValue","EnergyValue","PowerValue","PressureValue","TorqueValue","MomentOfForceValue","AngularVelocityValue","FrequencyValue","DensityValue","MassFlowRateValue","VolumeFlowRateValue","LengthUnit","MassUnit","DurationUnit","TimeUnit"]),CONSTRAINT_KEYWORDS=new Set(["and","or","not","if","then","else","true","false","require","constraint","subject","return","doc","comment"]);function isISQValueType(name){if(!name.endsWith("Value")||name.length<6)return!1;let ch0=name.charCodeAt(0);if(ch0<65||ch0>90)return!1;for(let i=1;i<name.length;i++){let c=name.charCodeAt(i);if(!(c>=65&&c<=90||c>=97&&c<=122))return!1}return!0}var SemanticValidator=class _SemanticValidator{constructor(documentManager2){this.documentManager=documentManager2}validate(uri){let symbolTable=this.documentManager.getWorkspaceSymbolTable(),symbols=symbolTable.getSymbolsForUri(uri);if(symbols.length===0)return[];let allSymbols=symbolTable.getAllSymbols(),allSymbolNames=new Set(allSymbols.map(s=>s.name)),libraryNames=new Set(getLibraryPackageNames()),text=this.documentManager.getText(uri)??"",indexes=this.buildSymbolIndexes(allSymbols),diagnostics=[];for(let symbol of symbols)diagnostics.push(...this.checkUnresolvedType(symbol,allSymbolNames,libraryNames),...this.checkInvalidMultiplicity(symbol),...this.checkEmptyEnum(symbol,symbols),...this.checkNamingConvention(symbol),...this.checkMissingDocumentation(symbol));return diagnostics.push(...this.checkDuplicateDefinitions(symbols)),diagnostics.push(...this.checkUnusedDefinitions(allSymbols,uri)),diagnostics.push(...this.checkRedefinitionMultiplicity(symbols,indexes)),diagnostics.push(...this.checkPortCompatibility(text,uri,indexes)),diagnostics.push(...this.checkConstraintBodyReferences(text,uri,symbols,indexes)),this.dedupeDiagnostics(diagnostics)}checkUnresolvedType(symbol,allSymbolNames,libraryNames){if(!symbol.typeName)return[];let rootSegment=symbol.typeName.split("::")[0];if(allSymbolNames.has(symbol.typeName)||allSymbolNames.has(rootSegment)||STANDARD_LIBRARY_TYPES.has(symbol.typeName)||STANDARD_LIBRARY_TYPES.has(rootSegment)||libraryNames.has(rootSegment)||isISQValueType(symbol.typeName)||resolveLibraryType(symbol.typeName)!==void 0||resolveLibraryType(rootSegment)!==void 0||symbol.typeName.charCodeAt(0)>=97&&symbol.typeName.charCodeAt(0)<=122)return[];let isMandatory=symbol.multiplicityRange&&symbol.multiplicityRange.lower>=1,severity=isMandatory?import_node6.DiagnosticSeverity.Error:import_node6.DiagnosticSeverity.Warning,message=`Type '${symbol.typeName}' is not defined in the current document or standard library`;if(isMandatory){let multStr=symbol.multiplicity??"1";message+=` (feature '${symbol.name}' requires multiplicity [${multStr}])`}return[{severity,range:symbol.selectionRange,message,source:"sysml",code:"unresolved-type",data:{typeName:symbol.typeName}}]}checkInvalidMultiplicity(symbol){if(!symbol.multiplicityRange||!symbol.multiplicity)return[];let{lower,upper}=symbol.multiplicityRange;return typeof upper=="number"&&lower>upper?[{severity:import_node6.DiagnosticSeverity.Error,range:symbol.selectionRange,message:`Invalid multiplicity [${symbol.multiplicity}]: lower bound (${lower}) exceeds upper bound (${upper})`,source:"sysml",code:"invalid-multiplicity"}]:lower<0?[{severity:import_node6.DiagnosticSeverity.Error,range:symbol.selectionRange,message:`Invalid multiplicity [${symbol.multiplicity}]: lower bound cannot be negative`,source:"sysml",code:"invalid-multiplicity"}]:[]}checkEmptyEnum(symbol,allSymbols){return symbol.kind!=="enum def"?[]:allSymbols.filter(s=>s.parentQualifiedName===symbol.qualifiedName).some(c=>c.kind==="enum"||c.kind==="attribute")?[]:[{severity:import_node6.DiagnosticSeverity.Information,range:symbol.selectionRange,message:`Enumeration '${symbol.name}' has no enum values defined`,source:"sysml",code:"empty-enum"}]}checkNamingConvention(symbol){if(!symbol.name)return[];if(symbol.kind==="package"||symbol.kind==="import"||symbol.kind==="comment"||symbol.kind==="doc"||symbol.kind==="alias"||symbol.kind==="unknown")return[];if(isDefinition(symbol.kind)){let ch=symbol.name[0];if(ch===ch.toLowerCase()&&ch!==ch.toUpperCase())return[{severity:import_node6.DiagnosticSeverity.Hint,range:symbol.selectionRange,message:`Definition '${symbol.name}' should use PascalCase`,source:"sysml",code:"naming-convention",data:{name:symbol.name,convention:"PascalCase"}}]}else{let ch=symbol.name[0];if(ch===ch.toUpperCase()&&ch!==ch.toLowerCase())return[{severity:import_node6.DiagnosticSeverity.Hint,range:symbol.selectionRange,message:`Usage '${symbol.name}' should use camelCase`,source:"sysml",code:"naming-convention",data:{name:symbol.name,convention:"camelCase"}}]}return[]}checkMissingDocumentation(symbol){return isDefinition(symbol.kind)?symbol.documentation?[]:[{severity:import_node6.DiagnosticSeverity.Information,range:symbol.selectionRange,message:`Definition '${symbol.name}' has no documentation`,source:"sysml",code:"missing-doc",data:{name:symbol.name}}]:[]}checkUnusedDefinitions(symbols,targetUri){let defs=symbols.filter(s=>s.kind==="part def"||s.kind==="action def"),defsInScope=targetUri?defs.filter(def=>def.uri===targetUri):defs,referencedTypes=new Set(symbols.filter(s=>s.kind!=="package").flatMap(s=>s.typeNames)),diagnostics=[];for(let def of defsInScope){let isReferenced=referencedTypes.has(def.name),hasBaseType=(def.typeNames?.length??0)>0;!isReferenced&&!hasBaseType&&diagnostics.push({severity:import_node6.DiagnosticSeverity.Warning,range:def.selectionRange,message:`Definition '${def.name}' is not referenced by any usage in the workspace`,source:"sysml",code:"unused-definition",data:{name:def.name}})}return diagnostics}static validateSymbols(symbolsInUri,allNames,opts){let diagnostics=[],instance=Object.create(_SemanticValidator.prototype),allSymbols=opts?.allSymbols??symbolsInUri,includeStyleRules=opts?.includeStyleRules??!0,indexes=instance.buildSymbolIndexes(allSymbols);for(let symbol of symbolsInUri)diagnostics.push(...instance.checkUnresolvedType(symbol,allNames,new Set),...instance.checkInvalidMultiplicity(symbol),...instance.checkEmptyEnum(symbol,symbolsInUri)),includeStyleRules&&diagnostics.push(...instance.checkNamingConvention(symbol),...instance.checkMissingDocumentation(symbol));return diagnostics.push(...instance.checkDuplicateDefinitions(symbolsInUri)),diagnostics.push(...instance.checkUnusedDefinitions(allSymbols)),diagnostics.push(...instance.checkRedefinitionMultiplicity(symbolsInUri,indexes)),opts?.text&&opts.uri&&(diagnostics.push(...instance.checkPortCompatibility(opts.text,opts.uri,indexes)),diagnostics.push(...instance.checkConstraintBodyReferences(opts.text,opts.uri,symbolsInUri,indexes))),instance.dedupeDiagnostics(diagnostics)}checkRedefinitionMultiplicity(symbolsInUri,indexes){let diagnostics=[];for(let s of symbolsInUri){if(!s.typeName||!s.multiplicityRange)continue;let c0=s.typeName.charCodeAt(0);if(!(c0>=97&&c0<=122))continue;let base=(indexes.byName.get(s.typeName)??[]).find(c=>!!c.multiplicityRange);if(!base?.multiplicityRange)continue;let baseLower=base.multiplicityRange.lower,baseUpper=base.multiplicityRange.upper,curLower=s.multiplicityRange.lower,curUpper=s.multiplicityRange.upper,lowerOk=curLower>=baseLower,upperOk=baseUpper==="*"||curUpper!=="*"&&curUpper<=baseUpper;lowerOk&&upperOk||diagnostics.push({severity:import_node6.DiagnosticSeverity.Error,range:s.selectionRange,message:`Redefinition multiplicity [${s.multiplicity??"?"}] is incompatible with base '${base.name}' multiplicity [${base.multiplicity??"?"}]`,source:"sysml",code:"invalid-redefinition-multiplicity"})}return diagnostics}checkPortCompatibility(text,uri,indexes){if(!text)return[];let diagnostics=[],re=/\bconnect\s+([A-Za-z_][\w.]*)\s+to\s+([A-Za-z_][\w.]*)/g,m2;for(;(m2=re.exec(text))!==null;){let left=m2[1].split(".").pop(),right=m2[2].split(".").pop(),lSym=(indexes.portsByName.get(left)??[])[0],rSym=(indexes.portsByName.get(right)??[])[0];if(!lSym||!rSym)continue;let lType=lSym.typeNames[0]??lSym.typeName,rType=rSym.typeNames[0]??rSym.typeName;if(!lType||!rType||lType===rType)continue;let range=this.indexToRange(text,m2.index,m2[0].length);diagnostics.push({severity:import_node6.DiagnosticSeverity.Warning,range,message:`Port compatibility issue: '${left}' (${lType}) is connected to '${right}' (${rType})`,source:"sysml",code:"incompatible-port-types",data:{uri}})}return diagnostics}checkConstraintBodyReferences(text,uri,symbolsInUri,indexes){if(!text)return[];let diagnostics=[],blocks=this.extractConstraintBlocks(text);for(let b of blocks){if(this.hasDocumentationOnlyConstraintBody(b.body)){let trimStart=b.body.search(/\S/),startInBody=trimStart>=0?trimStart:0,trimmedLen=Math.max(1,b.body.trim().length);diagnostics.push({severity:import_node6.DiagnosticSeverity.Warning,range:this.indexToRange(text,b.bodyOffset+startInBody,trimmedLen),message:"Invalid constraint body: expected expression, found documentation text",source:"sysml",code:"invalid-constraint-body",data:{uri}});continue}let parent=this.findConstraintScopeSymbol(symbolsInUri,indexes,b.startLine);if(!parent)continue;let parentMembers=indexes.byParent.get(parent.qualifiedName)??[];if(parentMembers.length===0)continue;let ignoredRanges=this.getIgnoredBodyRanges(b.body),idRe=/\b([A-Za-z_][\w]*(?:\.[A-Za-z_][\w]*)*)\b/g,im;for(;(im=idRe.exec(b.body))!==null;){if(this.isIndexInRanges(im.index,ignoredRanges))continue;let expr=im[1];if(this.isConstraintKeyword(expr)||/^\d/.test(expr))continue;let path=expr.split(".");if(this.resolvePathFromParent(path,parentMembers,indexes))continue;let absoluteStart=b.bodyOffset+im.index;diagnostics.push({severity:import_node6.DiagnosticSeverity.Warning,range:this.indexToRange(text,absoluteStart,expr.length),message:`Unresolved constraint reference '${expr}' in scope '${parent.name}'`,source:"sysml",code:"unresolved-constraint-reference",data:{uri}})}}return diagnostics}extractConstraintBlocks(text){let out=[],re=/\b(?:require\s+)?constraint\s*\{/g,m2;for(;(m2=re.exec(text))!==null;){let open=m2.index+m2[0].length-1,depth=1,i=open+1;for(;i<text.length&&depth>0;){let ch=text[i];ch==="{"&&depth++,ch==="}"&&depth--,i++}if(depth!==0)continue;let bodyStart=open+1,bodyEnd=i-1,body=text.slice(bodyStart,bodyEnd),startLine=text.slice(0,bodyStart).split(`
|
|
119
|
+
`).length-1;out.push({body,bodyOffset:bodyStart,startLine})}return out}resolvePathFromParent(path,parentMembers,indexes){let root=parentMembers.find(s=>s.name===path[0]);if(!root)return!1;if(path.length===1)return!0;let typeName=root.typeNames[0]??root.typeName;for(let i=1;i<path.length;i++){if(!typeName)return!1;let typeDef=(indexes.definitionsByName.get(typeName)??[])[0];if(!typeDef)return!1;let member=(indexes.byParent.get(typeDef.qualifiedName)??[]).find(s=>s.name===path[i]);if(!member)return!1;typeName=member.typeNames[0]??member.typeName}return!0}findContainingSymbolByLine(symbols,line){return symbols.filter(s=>s.range.start.line<=line&&s.range.end.line>=line).sort((a,b)=>{let ar=(a.range.end.line-a.range.start.line)*1e3+(a.range.end.character-a.range.start.character),br=(b.range.end.line-b.range.start.line)*1e3+(b.range.end.character-b.range.start.character);return ar-br})[0]}findConstraintScopeSymbol(symbolsInUri,indexes,line){let scope=this.findContainingSymbolByLine(symbolsInUri,line);for(;scope;){if((indexes.byParent.get(scope.qualifiedName)??[]).length>0||!scope.parentQualifiedName)return scope;scope=indexes.byQualifiedName.get(scope.parentQualifiedName)}}buildSymbolIndexes(allSymbols){let byName=new Map,byParent=new Map,byQualifiedName=new Map,definitionsByName=new Map,portsByName=new Map;for(let s of allSymbols){let nameList=byName.get(s.name)??[];if(nameList.push(s),byName.set(s.name,nameList),byQualifiedName.set(s.qualifiedName,s),s.parentQualifiedName){let children=byParent.get(s.parentQualifiedName)??[];children.push(s),byParent.set(s.parentQualifiedName,children)}if(isDefinition(s.kind)){let defs=definitionsByName.get(s.name)??[];defs.push(s),definitionsByName.set(s.name,defs)}if(s.kind==="port"||s.kind==="port def"){let ports=portsByName.get(s.name)??[];ports.push(s),portsByName.set(s.name,ports)}}return{byName,byParent,byQualifiedName,definitionsByName,portsByName}}isConstraintKeyword(value){return CONSTRAINT_KEYWORDS.has(value)}getIgnoredBodyRanges(body){let ranges=[],blockRe=/\/\*[\s\S]*?\*\//g,m2;for(;(m2=blockRe.exec(body))!==null;)ranges.push({start:m2.index,end:m2.index+m2[0].length});let lineRe=/\/\/[^\n\r]*/g;for(;(m2=lineRe.exec(body))!==null;)ranges.push({start:m2.index,end:m2.index+m2[0].length});return ranges}isIndexInRanges(index2,ranges){for(let r of ranges)if(index2>=r.start&&index2<r.end)return!0;return!1}hasDocumentationOnlyConstraintBody(body){let trimmed=body.trim();if(!trimmed)return!1;let withoutComments=trimmed.replace(/\/\*[\s\S]*?\*\//g," ").replace(/\/\/[^\n\r]*/g," ").trim();if(withoutComments==="doc"||withoutComments==="comment")return!0;let hasExprSignal=/[<>=!+\-*/%()[\].,:]|\b(and|or|not)\b/.test(withoutComments);return/^[A-Za-z_\s]+$/.test(withoutComments)&&!hasExprSignal}indexToRange(text,start,length){let prefix=text.slice(0,start),startLine=prefix.split(`
|
|
120
|
+
`).length-1,startChar=start-(prefix.lastIndexOf(`
|
|
121
|
+
`)+1);return{start:{line:startLine,character:startChar},end:{line:startLine,character:startChar+length}}}dedupeDiagnostics(diags){let seen=new Set,out=[];for(let d of diags){let key=[d.code??"no-code",d.range.start.line,d.range.start.character,d.range.end.line,d.range.end.character,d.message].join("|");seen.has(key)||(seen.add(key),out.push(d))}return out}checkDuplicateDefinitions(symbols){let diagnostics=[],definitionsByScope=new Map;for(let symbol of symbols){if(!isDefinition(symbol.kind))continue;let scope=symbol.parentQualifiedName??"__root__",scopeMap=definitionsByScope.get(scope);scopeMap||(scopeMap=new Map,definitionsByScope.set(scope,scopeMap));let defs=scopeMap.get(symbol.name);defs||(defs=[],scopeMap.set(symbol.name,defs)),defs.push(symbol)}for(let scopeMap of definitionsByScope.values())for(let[name,defs]of scopeMap)if(defs.length>1)for(let def of defs)diagnostics.push({severity:import_node6.DiagnosticSeverity.Warning,range:def.selectionRange,message:`Duplicate definition: '${name}' is defined ${defs.length} times in the same scope`,source:"sysml",code:"duplicate-definition"});return diagnostics}};var HoverProvider=class{constructor(documentManager2){this.documentManager=documentManager2}provideHover(params){let symbolTable=this.documentManager.getSymbolTable(params.textDocument.uri);if(!symbolTable)return null;let text=this.documentManager.getText(params.textDocument.uri),word=text?this.getWordAtPosition(text,params.position.line,params.position.character):void 0;if(word&&word.includes("::")){let libHover=this.buildLibraryHover(word);if(libHover)return libHover}let symbol=symbolTable.findSymbolAtPosition(params.textDocument.uri,params.position.line,params.position.character);if(!symbol){if(word){let libHover=this.buildLibraryHover(word);if(libHover)return libHover}return null}let lines=[],metaclass=toMetaclassName(symbol.kind);if(lines.push(`**${metaclass}** \`${symbol.name}\``),symbol.qualifiedName!==symbol.name&&lines.push(`
|
|
122
|
+
Fully qualified: \`${symbol.qualifiedName}\``),symbol.typeName){lines.push(`
|
|
123
|
+
Type: \`${symbol.typeName}\``);let libInfo=getLibraryHoverInfo(symbol.typeName);libInfo&&(libInfo.packageName&&lines.push(`
|
|
124
|
+
From: \`${libInfo.packageName}\``),lines.push(`
|
|
125
|
+
\`\`\`sysml
|
|
126
|
+
${libInfo.declaration}
|
|
127
|
+
\`\`\``),libInfo.documentation&&lines.push(`
|
|
128
|
+
${libInfo.documentation}`))}symbol.documentation&&lines.push(`
|
|
129
|
+
---
|
|
130
|
+
${symbol.documentation}`);let semanticDiags=this.documentManager.getSemanticDiagnostics(params.textDocument.uri);semanticDiags||(semanticDiags=new SemanticValidator(this.documentManager).validate(params.textDocument.uri),this.documentManager.setSemanticDiagnostics(params.textDocument.uri,semanticDiags));let hoverDiags=semanticDiags.filter(d=>this.rangeContainsPosition(d.range,params.position));if(hoverDiags.length>0){lines.push(`
|
|
131
|
+
---
|
|
132
|
+
**Semantic Feedback**`);for(let d of hoverDiags.slice(0,3)){let sev=d.severity===import_node7.DiagnosticSeverity.Error?"Error":d.severity===import_node7.DiagnosticSeverity.Warning?"Warning":"Hint";lines.push(`- **${sev}**: ${d.message}`);let hint=this.getRepairHint(String(d.code??""));hint&&lines.push(` - Suggestion: ${hint}`)}}return{contents:{kind:import_node7.MarkupKind.Markdown,value:lines.join(`
|
|
133
|
+
`)},range:symbol.selectionRange}}buildLibraryHover(name){let info=getLibraryHoverInfo(name);if(!info)return null;let lines=[],displayName=name.includes("::")?name:info.packageName?`${info.packageName}::${name}`:name;return lines.push(`**Standard Library** \`${displayName}\``),lines.push(`
|
|
134
|
+
\`\`\`sysml
|
|
135
|
+
${info.declaration}
|
|
136
|
+
\`\`\``),info.packageName&&lines.push(`
|
|
137
|
+
Package: \`${info.packageName}\``),info.documentation&&lines.push(`
|
|
138
|
+
---
|
|
139
|
+
${info.documentation}`),{contents:{kind:import_node7.MarkupKind.Markdown,value:lines.join(`
|
|
140
|
+
`)}}}getWordAtPosition(text,line,character){let lines=text.split(`
|
|
141
|
+
`);if(line>=lines.length)return;let lineText=lines[line];if(!(character>=lineText.length))return extractQualifiedNameAt(lineText,character)}rangeContainsPosition(range,position){let afterStart=position.line>range.start.line||position.line===range.start.line&&position.character>=range.start.character,beforeEnd=position.line<range.end.line||position.line===range.end.line&&position.character<=range.end.character;return afterStart&&beforeEnd}getRepairHint(code){switch(code){case"invalid-redefinition-multiplicity":return"Align the redefined feature multiplicity with its base feature bounds.";case"incompatible-port-types":return"Connect endpoints with matching port types, or update one endpoint type.";case"unresolved-constraint-reference":return"Fix the reference path or add the missing feature in the referenced type.";case"unresolved-type":return"Define/import the missing type or correct the type name.";case"invalid-multiplicity":return"Use a valid bound where lower <= upper and lower is non-negative.";default:return}}};var import_node8=__toESM(require_node3());var DEFINITION_KEYWORDS=new Set(["about","abstract","accept","action","actor","after","alias","all","allocate","allocation","analysis","assert","assign","assume","attribute","bind","binding","calc","case","comment","concern","connect","connection","constraint","decide","def","default","defined","dependency","derived","do","doc","else","end","entry","enum","event","exhibit","exit","expose","feature","filter","first","flow","for","fork","frame","from","if","import","in","include","individual","inout","interface","item","join","language","library","locale","merge","message","meta","metadata","multiplicity","namespace","nonunique","not","null","objective","occurrence","of","ordered","out","package","parallel","part","perform","port","private","protected","public","readonly","redefines","ref","references","render","rendering","rep","require","requirement","return","satisfy","send","snapshot","specializes","stakeholder","state","subject","subsets","succession","then","timeslice","to","transition","type","use","variant","variation","verification","verify","view","viewpoint","when","while","datatype"]);function levenshtein2(a,b){if(a.length<b.length){let t=a;a=b,b=t}let m2=a.length,n2=b.length,prev=new Uint16Array(n2+1),curr=new Uint16Array(n2+1);for(let j=0;j<=n2;j++)prev[j]=j;for(let i=1;i<=m2;i++){curr[0]=i;for(let j=1;j<=n2;j++){let cost=a.charCodeAt(i-1)===b.charCodeAt(j-1)?0:1;curr[j]=Math.min(prev[j]+1,curr[j-1]+1,prev[j-1]+cost)}[prev,curr]=[curr,prev]}return prev[n2]}function findClosestKeyword(identifier,maxDistance=2){let lower=identifier.toLowerCase();if(lower.length<4||DEFINITION_KEYWORDS.has(lower))return;let effectiveMax=lower.length<=5?1:maxDistance,bestMatch,bestDist=effectiveMax+1;for(let keyword of DEFINITION_KEYWORDS){if(Math.abs(keyword.length-lower.length)>maxDistance)continue;let dist=levenshtein2(lower,keyword);dist>0&&dist<bestDist&&(bestDist=dist,bestMatch=keyword)}return bestMatch}var KEYWORD_CONTINUATIONS=new Set([SysMLv2Lexer.IDENTIFIER,SysMLv2Lexer.COLON,SysMLv2Lexer.DEF,SysMLv2Lexer.LBRACE,SysMLv2Lexer.LBRACK,SysMLv2Lexer.ABOUT]),NAME_PRECEDING_KEYWORDS=new Set([SysMLv2Lexer.PART,SysMLv2Lexer.PORT,SysMLv2Lexer.ITEM,SysMLv2Lexer.ATTRIBUTE,SysMLv2Lexer.ACTION,SysMLv2Lexer.CALC,SysMLv2Lexer.STATE,SysMLv2Lexer.CONSTRAINT,SysMLv2Lexer.REQUIREMENT,SysMLv2Lexer.CONCERN,SysMLv2Lexer.CASE,SysMLv2Lexer.ANALYSIS,SysMLv2Lexer.VERIFICATION,SysMLv2Lexer.VIEW,SysMLv2Lexer.VIEWPOINT,SysMLv2Lexer.RENDERING,SysMLv2Lexer.METADATA,SysMLv2Lexer.PACKAGE,SysMLv2Lexer.NAMESPACE,SysMLv2Lexer.ENUM,SysMLv2Lexer.ALLOCATION,SysMLv2Lexer.CONNECTION,SysMLv2Lexer.INTERFACE,SysMLv2Lexer.OCCURRENCE,SysMLv2Lexer.INDIVIDUAL,SysMLv2Lexer.FLOW,SysMLv2Lexer.SUCCESSION,SysMLv2Lexer.BINDING,SysMLv2Lexer.MESSAGE,SysMLv2Lexer.TRANSITION,SysMLv2Lexer.TYPE,SysMLv2Lexer.CLASSIFIER,SysMLv2Lexer.DATATYPE,SysMLv2Lexer.CLASS,SysMLv2Lexer.STRUCT,SysMLv2Lexer.ASSOC,SysMLv2Lexer.METACLASS,SysMLv2Lexer.INTERACTION,SysMLv2Lexer.BEHAVIOR,SysMLv2Lexer.FUNCTION,SysMLv2Lexer.PREDICATE,SysMLv2Lexer.FEATURE,SysMLv2Lexer.CONNECTOR,SysMLv2Lexer.STEP,SysMLv2Lexer.EXPR,SysMLv2Lexer.BOOL,SysMLv2Lexer.INV,SysMLv2Lexer.MULTIPLICITY,SysMLv2Lexer.ALIAS,SysMLv2Lexer.COMMENT,SysMLv2Lexer.DOC,SysMLv2Lexer.REP,SysMLv2Lexer.DEPENDENCY,SysMLv2Lexer.IMPORT,SysMLv2Lexer.DEF,SysMLv2Lexer.REF,SysMLv2Lexer.ALL,SysMLv2Lexer.ABSTRACT,SysMLv2Lexer.VARIATION,SysMLv2Lexer.DERIVED,SysMLv2Lexer.COMPOSITE,SysMLv2Lexer.CONST,SysMLv2Lexer.CONSTANT,SysMLv2Lexer.VAR,SysMLv2Lexer.MEMBER,SysMLv2Lexer.RETURN,SysMLv2Lexer.PUBLIC,SysMLv2Lexer.PRIVATE,SysMLv2Lexer.PROTECTED,SysMLv2Lexer.IN,SysMLv2Lexer.OUT,SysMLv2Lexer.INOUT,SysMLv2Lexer.END,SysMLv2Lexer.ACTOR,SysMLv2Lexer.STAKEHOLDER,SysMLv2Lexer.SUBJECT,SysMLv2Lexer.VARIANT,SysMLv2Lexer.SNAPSHOT,SysMLv2Lexer.TIMESLICE,SysMLv2Lexer.FORK,SysMLv2Lexer.JOIN,SysMLv2Lexer.MERGE,SysMLv2Lexer.DECIDE,SysMLv2Lexer.PERFORM,SysMLv2Lexer.EXHIBIT,SysMLv2Lexer.INCLUDE,SysMLv2Lexer.SATISFY,SysMLv2Lexer.ASSERT,SysMLv2Lexer.VERIFY,SysMLv2Lexer.RENDER,SysMLv2Lexer.CONNECT,SysMLv2Lexer.ALLOCATE,SysMLv2Lexer.BIND,SysMLv2Lexer.EXPOSE,SysMLv2Lexer.EVENT,SysMLv2Lexer.FIRST,SysMLv2Lexer.THEN,SysMLv2Lexer.TO,SysMLv2Lexer.FROM,SysMLv2Lexer.REDEFINES,SysMLv2Lexer.SUBSETS,SysMLv2Lexer.SPECIALIZES,SysMLv2Lexer.REFERENCES,SysMLv2Lexer.CONJUGATES,SysMLv2Lexer.CHAINS,SysMLv2Lexer.CROSSES,SysMLv2Lexer.UNIONS,SysMLv2Lexer.INTERSECTS,SysMLv2Lexer.DIFFERENCES,SysMLv2Lexer.SPECIALIZATION,SysMLv2Lexer.CONJUGATION,SysMLv2Lexer.DISJOINING,SysMLv2Lexer.INVERTING,SysMLv2Lexer.FEATURING,SysMLv2Lexer.TYPING,SysMLv2Lexer.REDEFINITION,SysMLv2Lexer.SUBTYPE,SysMLv2Lexer.SUBCLASSIFIER,SysMLv2Lexer.SUBSET,SysMLv2Lexer.CONJUGATE,SysMLv2Lexer.DISJOINT,SysMLv2Lexer.INVERSE,SysMLv2Lexer.ASSUME,SysMLv2Lexer.REQUIRE,SysMLv2Lexer.FRAME,SysMLv2Lexer.OBJECTIVE,SysMLv2Lexer.ENTRY,SysMLv2Lexer.DO,SysMLv2Lexer.EXIT,SysMLv2Lexer.ACCEPT,SysMLv2Lexer.SEND,SysMLv2Lexer.ASSIGN,SysMLv2Lexer.TERMINATE,SysMLv2Lexer.FOR,SysMLv2Lexer.ABOUT,SysMLv2Lexer.BY,SysMLv2Lexer.FILTER,SysMLv2Lexer.NEW,SysMLv2Lexer.META,SysMLv2Lexer.OF,SysMLv2Lexer.COLON,SysMLv2Lexer.COLON_GT,SysMLv2Lexer.COLON_GT_GT,SysMLv2Lexer.COLON_COLON,SysMLv2Lexer.COLON_COLON_GT,SysMLv2Lexer.GT,SysMLv2Lexer.FAT_ARROW,SysMLv2Lexer.TILDE,SysMLv2Lexer.COMMA,SysMLv2Lexer.HASH,SysMLv2Lexer.AT]);function looksLikeKeywordPosition(visibleTokens,index2){if(index2>0){let prev=visibleTokens[index2-1];if(NAME_PRECEDING_KEYWORDS.has(prev.type)||prev.type===SysMLv2Lexer.DOT||prev.type===SysMLv2Lexer.EQ||prev.type===SysMLv2Lexer.COLON_EQ)return!1}if(index2+1<visibleTokens.length){let next=visibleTokens[index2+1];if(KEYWORD_CONTINUATIONS.has(next.type))return!0}return index2===0}function validateKeywords(result){let diagnostics=[];result.tokenStream.fill();let allTokens=result.tokenStream.getTokens(),visibleTokens=[];for(let j=0;j<allTokens.length;j++){let t=allTokens[j];t.channel===0&&t.type!==Token.EOF&&visibleTokens.push(t)}for(let i=0;i<visibleTokens.length;i++){let token=visibleTokens[i];if(token.type!==SysMLv2Lexer.IDENTIFIER)continue;let text=token.text;if(!text||!looksLikeKeywordPosition(visibleTokens,i))continue;let suggestion=findClosestKeyword(text);if(!suggestion)continue;let line=(token.line??1)-1,char=token.column??0,message=`Unknown keyword '${text}'. Did you mean '${suggestion}'?`;diagnostics.push({severity:import_node8.DiagnosticSeverity.Error,range:{start:{line,character:char},end:{line,character:char+text.length}},message,source:"sysml",data:{typo:text,suggestion}})}return diagnostics}var ReferencesProvider=class{constructor(documentManager2){this.documentManager=documentManager2}provideReferences(params){if(!this.documentManager.get(params.textDocument.uri))return[];let symbolTable=this.documentManager.getWorkspaceSymbolTable(),symbol=symbolTable.findSymbolAtPosition(params.textDocument.uri,params.position.line,params.position.character);if(!symbol)return[];let references=symbolTable.findReferences(symbol.name),locations=[];for(let ref of references)locations.push({uri:ref.uri,range:ref.selectionRange});return params.context.includeDeclaration,locations}};function findWordOccurrences(line,word){let positions=[],from=0;for(;from<=line.length-word.length;){let idx=line.indexOf(word,from);if(idx<0)break;(idx===0||!isIdentPart(line.charCodeAt(idx-1)))&&(idx+word.length>=line.length||!isIdentPart(line.charCodeAt(idx+word.length)))&&positions.push(idx),from=idx+1}return positions}var RenameProvider=class{constructor(documentManager2){this.documentManager=documentManager2}prepareRename(params){let symbolTable=this.documentManager.getSymbolTable(params.textDocument.uri);if(!symbolTable)return null;let symbol=symbolTable.findSymbolAtPosition(params.textDocument.uri,params.position.line,params.position.character);return symbol?symbol.selectionRange:null}provideRename(params){let symbolTable=this.documentManager.getSymbolTable(params.textDocument.uri);if(!symbolTable)return null;let symbol=symbolTable.findSymbolAtPosition(params.textDocument.uri,params.position.line,params.position.character);if(!symbol)return null;let text=this.documentManager.getText(params.textDocument.uri);if(!text)return null;let edits=[],oldName=symbol.name,newName=params.newName,references=symbolTable.findReferences(oldName);for(let ref of references)ref.uri===params.textDocument.uri&&edits.push({range:ref.selectionRange,newText:newName});let lines=text.split(`
|
|
142
|
+
`);for(let i=0;i<lines.length;i++)for(let col of findWordOccurrences(lines[i],oldName)){let range={start:{line:i,character:col},end:{line:i,character:col+oldName.length}};edits.some(e=>e.range.start.line===i&&e.range.start.character===col)||edits.push({range,newText:newName})}return edits.length===0?null:{changes:{[params.textDocument.uri]:edits}}}};var import_node9=__toESM(require_node3());var SYSML_KEYWORDS_ARRAY=SysMLv2Lexer.literalNames.filter(n2=>n2!=null).map(n2=>n2.replace(/^'|'$/g,"")).filter(n2=>/^[a-z]+$/.test(n2)).sort(),SYSML_KEYWORDS2=new Set(SYSML_KEYWORDS_ARRAY);var OPERATOR_TOKENS=new Set([SysMLv2Lexer.BANG_EQ_EQ,SysMLv2Lexer.STAR_STAR,SysMLv2Lexer.COLON_GT,SysMLv2Lexer.COLON_GT_GT,SysMLv2Lexer.AMP,SysMLv2Lexer.COLON_COLON,SysMLv2Lexer.STAR,SysMLv2Lexer.PIPE,SysMLv2Lexer.EQ_EQ,SysMLv2Lexer.BANG_EQ,SysMLv2Lexer.PLUS,SysMLv2Lexer.MINUS,SysMLv2Lexer.ARROW,SysMLv2Lexer.SLASH,SysMLv2Lexer.LT,SysMLv2Lexer.EQ,SysMLv2Lexer.GT,SysMLv2Lexer.CARET,SysMLv2Lexer.TILDE]),PUNCTUATION_TOKENS=new Set([SysMLv2Lexer.LBRACE,SysMLv2Lexer.RBRACE,SysMLv2Lexer.LPAREN,SysMLv2Lexer.RPAREN,SysMLv2Lexer.SEMI,SysMLv2Lexer.COMMA,SysMLv2Lexer.DOT,SysMLv2Lexer.LBRACK,SysMLv2Lexer.RBRACK,SysMLv2Lexer.COLON]),STRUCTURAL_KEYWORDS=new Set(["part","port","item","state","constraint","requirement","concern","case","view","viewpoint","rendering","allocation","connection","interface","occurrence","individual","flow","binding","succession","metadata","enum","actor","subject","ref","use"]),tokenTypes=["namespace","type","class","variable","property","function","keyword","comment","string","number","operator","enum","interface"],tokenModifiers=["declaration","definition","readonly","abstract"],SemanticTokensProvider=class{constructor(documentManager2){this.documentManager=documentManager2}provideSemanticTokens(params){let builder=new import_node9.SemanticTokensBuilder,result=this.documentManager.get(params.textDocument.uri);if(!result)return builder.build();result.tokenStream.fill();let tokens=result.tokenStream.getTokens(),prevMeaningful;for(let token of tokens){if(!token.text||token.channel!==0)continue;let text=token.text,tokenType=this.classifyTokenInContext(text,prevMeaningful,token.type);if(prevMeaningful=text,tokenType===void 0)continue;let line=(token.line??1)-1,char=token.column??0,length=text.length;builder.push(line,char,length,tokenType,0)}return builder.build()}classifyTokenInContext(text,prev,lexerType){if(lexerType===SysMLv2Lexer.REGULAR_COMMENT||lexerType===SysMLv2Lexer.SINGLE_LINE_NOTE)return 7;if(lexerType===SysMLv2Lexer.STRING||lexerType===SysMLv2Lexer.DOUBLE_STRING)return 8;if(lexerType===SysMLv2Lexer.INTEGER||lexerType===SysMLv2Lexer.REAL)return 9;if(OPERATOR_TOKENS.has(lexerType))return 10;if(!PUNCTUATION_TOKENS.has(lexerType)){if(this.isKeyword(text))return 6;if(lexerType===SysMLv2Lexer.IDENTIFIER)return this.classifyIdentifier(prev)}}classifyIdentifier(prev){return prev?prev==="def"?2:prev==="package"||prev==="namespace"||prev==="library"?0:prev==="action"||prev==="calc"||prev==="analysis"||prev==="verification"?5:prev===":"||prev===":>"||prev===":>>"?1:prev==="attribute"?4:(this.isStructuralKeyword(prev),3):3}isStructuralKeyword(text){return STRUCTURAL_KEYWORDS.has(text)}isKeyword(text){return SYSML_KEYWORDS2.has(text)}};var connection=(0,import_node10.createConnection)(import_node10.ProposedFeatures.all),documents=new import_node10.TextDocuments(TextDocument),serverStartTime=Date.now(),documentManager=new DocumentManager,modelProvider=new SysMLModelProvider(documentManager),diagnosticsProvider=new DiagnosticsProvider(documentManager),completionProvider=new CompletionProvider(documentManager),hoverProvider=new HoverProvider(documentManager),definitionProvider=new DefinitionProvider(documentManager),referencesProvider=new ReferencesProvider(documentManager),documentSymbolProvider=new DocumentSymbolProvider(documentManager),semanticTokensProvider=new SemanticTokensProvider(documentManager),foldingRangeProvider=new FoldingRangeProvider(documentManager),renameProvider=new RenameProvider(documentManager),codeActionProvider=new CodeActionProvider(documentManager),hasConfigurationCapability=!1,hasWorkspaceFolderCapability=!1;connection.onInitialize(params=>{let capabilities=params.capabilities;hasConfigurationCapability=!!(capabilities.workspace&&capabilities.workspace.configuration),hasWorkspaceFolderCapability=!!(capabilities.workspace&&capabilities.workspace.workspaceFolders);let legend={tokenTypes,tokenModifiers},result={capabilities:{textDocumentSync:import_node10.TextDocumentSyncKind.Incremental,completionProvider:{resolveProvider:!0,triggerCharacters:[".",":"," "]},hoverProvider:!0,definitionProvider:!0,referencesProvider:!0,documentSymbolProvider:!0,semanticTokensProvider:{full:!0,legend},foldingRangeProvider:!0,renameProvider:{prepareProvider:!0},codeActionProvider:{codeActionKinds:[import_node10.CodeActionKind.QuickFix]}}};return hasWorkspaceFolderCapability&&(result.capabilities.workspace={workspaceFolders:{supported:!0}}),result});connection.onInitialized(()=>{hasConfigurationCapability&&connection.client.register(import_node10.DidChangeConfigurationNotification.type,void 0);let libCount=initLibraryIndex(__dirname);connection.console.log(`SysML v2 Language Server initialized (${libCount} library packages indexed)`);let dfaT0=Date.now();try{let dfaStates=loadDFASnapshot(),dfaMs=Date.now()-dfaT0;connection.console.log(`DFA snapshot loaded: ${dfaStates} states in ${dfaMs} ms`)}catch(e){connection.console.log(`DFA snapshot load failed (will use cold DFA): ${e}`)}});documents.onDidOpen(event=>{validateDocument(event.document)});var debounceTimers=new Map,semanticTimers=new Map,DEBOUNCE_MS=200;documents.onDidChangeContent(event=>{let uri=event.document.uri,existing=debounceTimers.get(uri);existing&&clearTimeout(existing),debounceTimers.set(uri,setTimeout(()=>{debounceTimers.delete(uri),documents.get(uri)&&validateDocument(event.document)},DEBOUNCE_MS))});documents.onDidClose(event=>{let uri=event.document.uri,debounceTimer=debounceTimers.get(uri);debounceTimer&&(clearTimeout(debounceTimer),debounceTimers.delete(uri));let semanticTimer=semanticTimers.get(uri);semanticTimer&&(clearTimeout(semanticTimer),semanticTimers.delete(uri)),documentManager.remove(event.document.uri),modelProvider.removeUri(event.document.uri),connection.sendDiagnostics({uri:event.document.uri,diagnostics:[]})});async function validateDocument(document){if(!documents.get(document.uri))return;let fileName=document.uri.split("/").pop()??document.uri;connection.sendNotification("sysml/status",{state:"begin",message:`Parsing ${fileName}`,fileName,uri:document.uri});let parseT0=Date.now();documentManager.parse(document);let parseMs=Date.now()-parseT0,diagnostics=diagnosticsProvider.getDiagnostics(document.uri),parseResult=documentManager.get(document.uri);parseResult&&diagnostics.push(...validateKeywords(parseResult)),connection.sendDiagnostics({uri:document.uri,diagnostics}),connection.sendNotification("sysml/status",{state:"end",message:`Parsed ${fileName} (${parseMs} ms)`,fileName,uri:document.uri});let version=document.version,existingSemantic=semanticTimers.get(document.uri);existingSemantic&&clearTimeout(existingSemantic);let semanticTimer=setTimeout(()=>{if(semanticTimers.delete(document.uri),documentManager.getVersion(document.uri)!==version||!documents.get(document.uri))return;let semanticDiags=new SemanticValidator(documentManager).validate(document.uri);documentManager.setSemanticDiagnostics(document.uri,semanticDiags),semanticDiags.length!==0&&(diagnostics.push(...semanticDiags),connection.sendDiagnostics({uri:document.uri,diagnostics}))},50);semanticTimers.set(document.uri,semanticTimer)}connection.onCompletion(params=>completionProvider.provideCompletions(params));connection.onCompletionResolve(item=>completionProvider.resolveCompletion(item));connection.onHover(params=>hoverProvider.provideHover(params));connection.onDefinition(params=>definitionProvider.provideDefinition(params));connection.onReferences(params=>referencesProvider.provideReferences(params));connection.onDocumentSymbol(params=>documentSymbolProvider.provideDocumentSymbols(params));connection.languages.semanticTokens.on(params=>semanticTokensProvider.provideSemanticTokens(params));connection.onFoldingRanges(params=>foldingRangeProvider.provideFoldingRanges(params));connection.onPrepareRename(params=>renameProvider.prepareRename(params));connection.onRenameRequest(params=>renameProvider.provideRename(params));connection.onCodeAction(params=>codeActionProvider.provideCodeActions(params));connection.onRequest("sysml/model",params=>modelProvider.getModel(params.textDocument.uri,1,params.scope));connection.onRequest("sysml/serverStats",()=>{let mem=process.memoryUsage(),toMB=bytes=>Math.round(bytes/1024/1024);return{uptime:Math.round((Date.now()-serverStartTime)/1e3),memory:{heapUsed:toMB(mem.heapUsed),heapTotal:toMB(mem.heapTotal),rss:toMB(mem.rss),external:toMB(mem.external)},caches:{documents:documentManager.getUris().length,symbolTables:modelProvider.cacheSize,semanticTokens:0}}});connection.onRequest("sysml/clearCache",()=>{let docCount=documentManager.getUris().length,stCount=modelProvider.clearAll();for(let uri of documentManager.getUris())documentManager.remove(uri);return{documents:docCount,symbolTables:stCount,semanticTokens:0}});documents.listen(connection);connection.listen();
|