From 272c7c5dd04feb54806b92d88dc1a5029cddc397 Mon Sep 17 00:00:00 2001 From: Kristóf Marussy Date: Tue, 29 Jun 2021 11:37:14 +0200 Subject: Webpack build for frontend --- .gitignore | 1 + language-web/.editorconfig | 15 + language-web/package-lock.json | 6722 ++++++++++++++++++++ language-web/package.json | 38 + language-web/src/main/css/index.scss | 105 + .../src/main/css/xtext/xtext-codemirror.css | 58 + language-web/src/main/html/index.html | 48 + language-web/src/main/images/error_an.gif | Bin 0 -> 553 bytes language-web/src/main/images/info_an.gif | Bin 0 -> 101 bytes language-web/src/main/images/warning_an.gif | Bin 0 -> 522 bytes language-web/src/main/js-gen/mode-problem.js | 41 + language-web/src/main/js/index.js | 12 + .../src/main/js/xtext/CodeMirrorEditorContext.js | 111 + language-web/src/main/js/xtext/ServiceBuilder.js | 274 + language-web/src/main/js/xtext/compatibility.js | 63 + .../main/js/xtext/services/ContentAssistService.js | 132 + .../main/js/xtext/services/FormattingService.js | 52 + .../main/js/xtext/services/HighlightingService.js | 33 + .../src/main/js/xtext/services/HoverService.js | 59 + .../main/js/xtext/services/LoadResourceService.js | 42 + .../main/js/xtext/services/OccurrencesService.js | 39 + .../main/js/xtext/services/SaveResourceService.js | 32 + .../src/main/js/xtext/services/UpdateService.js | 159 + .../main/js/xtext/services/ValidationService.js | 33 + .../src/main/js/xtext/services/XtextService.js | 280 + language-web/src/main/js/xtext/xtext-codemirror.js | 472 ++ language-web/src/main/webapp/index.html | 56 - language-web/src/main/webapp/script.js | 20 - language-web/src/main/webapp/style.css | 100 - .../xtext-resources/generated/mode-problem.js | 41 - language-web/webpack.config.js | 94 + .../language/AbstractProblemRuntimeModule.java | 201 - .../viatra/solver/language/Problem.xtextbin | Bin 6159 -> 0 bytes .../language/ProblemStandaloneSetupGenerated.java | 37 - .../antlr/ProblemAntlrTokenFileProvider.java | 16 - .../language/parser/antlr/ProblemParser.java | 40 - .../parser/antlr/internal/InternalProblem.g | 1909 ------ .../parser/antlr/internal/InternalProblem.tokens | 72 - .../antlr/internal/InternalProblemLexer.java | 1797 ------ .../antlr/internal/InternalProblemParser.java | 5296 --------------- .../scoping/AbstractProblemScopeProvider.java | 9 - .../serializer/ProblemSemanticSequencer.java | 369 -- .../serializer/ProblemSyntacticSequencer.java | 139 - .../language/services/ProblemGrammarAccess.java | 1706 ----- .../validation/AbstractProblemValidator.java | 19 - .../ProblemConfigurableIssueCodesProvider.java | 22 - .../viatra/solver/language/GenerateProblem.mwe2 | 6 +- 47 files changed, 8920 insertions(+), 11850 deletions(-) create mode 100644 language-web/.editorconfig create mode 100644 language-web/package-lock.json create mode 100644 language-web/package.json create mode 100644 language-web/src/main/css/index.scss create mode 100644 language-web/src/main/css/xtext/xtext-codemirror.css create mode 100644 language-web/src/main/html/index.html create mode 100644 language-web/src/main/images/error_an.gif create mode 100644 language-web/src/main/images/info_an.gif create mode 100644 language-web/src/main/images/warning_an.gif create mode 100644 language-web/src/main/js-gen/mode-problem.js create mode 100644 language-web/src/main/js/index.js create mode 100644 language-web/src/main/js/xtext/CodeMirrorEditorContext.js create mode 100644 language-web/src/main/js/xtext/ServiceBuilder.js create mode 100644 language-web/src/main/js/xtext/compatibility.js create mode 100644 language-web/src/main/js/xtext/services/ContentAssistService.js create mode 100644 language-web/src/main/js/xtext/services/FormattingService.js create mode 100644 language-web/src/main/js/xtext/services/HighlightingService.js create mode 100644 language-web/src/main/js/xtext/services/HoverService.js create mode 100644 language-web/src/main/js/xtext/services/LoadResourceService.js create mode 100644 language-web/src/main/js/xtext/services/OccurrencesService.js create mode 100644 language-web/src/main/js/xtext/services/SaveResourceService.js create mode 100644 language-web/src/main/js/xtext/services/UpdateService.js create mode 100644 language-web/src/main/js/xtext/services/ValidationService.js create mode 100644 language-web/src/main/js/xtext/services/XtextService.js create mode 100644 language-web/src/main/js/xtext/xtext-codemirror.js delete mode 100644 language-web/src/main/webapp/index.html delete mode 100644 language-web/src/main/webapp/script.js delete mode 100644 language-web/src/main/webapp/style.css delete mode 100644 language-web/src/main/webapp/xtext-resources/generated/mode-problem.js create mode 100644 language-web/webpack.config.js delete mode 100644 language-web/xtext-gen/org/eclipse/viatra/solver/language/AbstractProblemRuntimeModule.java delete mode 100644 language-web/xtext-gen/org/eclipse/viatra/solver/language/Problem.xtextbin delete mode 100644 language-web/xtext-gen/org/eclipse/viatra/solver/language/ProblemStandaloneSetupGenerated.java delete mode 100644 language-web/xtext-gen/org/eclipse/viatra/solver/language/parser/antlr/ProblemAntlrTokenFileProvider.java delete mode 100644 language-web/xtext-gen/org/eclipse/viatra/solver/language/parser/antlr/ProblemParser.java delete mode 100644 language-web/xtext-gen/org/eclipse/viatra/solver/language/parser/antlr/internal/InternalProblem.g delete mode 100644 language-web/xtext-gen/org/eclipse/viatra/solver/language/parser/antlr/internal/InternalProblem.tokens delete mode 100644 language-web/xtext-gen/org/eclipse/viatra/solver/language/parser/antlr/internal/InternalProblemLexer.java delete mode 100644 language-web/xtext-gen/org/eclipse/viatra/solver/language/parser/antlr/internal/InternalProblemParser.java delete mode 100644 language-web/xtext-gen/org/eclipse/viatra/solver/language/scoping/AbstractProblemScopeProvider.java delete mode 100644 language-web/xtext-gen/org/eclipse/viatra/solver/language/serializer/ProblemSemanticSequencer.java delete mode 100644 language-web/xtext-gen/org/eclipse/viatra/solver/language/serializer/ProblemSyntacticSequencer.java delete mode 100644 language-web/xtext-gen/org/eclipse/viatra/solver/language/services/ProblemGrammarAccess.java delete mode 100644 language-web/xtext-gen/org/eclipse/viatra/solver/language/validation/AbstractProblemValidator.java delete mode 100644 language-web/xtext-gen/org/eclipse/viatra/solver/language/validation/ProblemConfigurableIssueCodesProvider.java diff --git a/.gitignore b/.gitignore index 8e2b3658..31cea6a8 100644 --- a/.gitignore +++ b/.gitignore @@ -8,3 +8,4 @@ build/ .launch .project .settings +node_modules/ diff --git a/language-web/.editorconfig b/language-web/.editorconfig new file mode 100644 index 00000000..710ef217 --- /dev/null +++ b/language-web/.editorconfig @@ -0,0 +1,15 @@ +root = true + +[*] +charset = utf-8 +insert_final_newline = true + +[*.{html,js,json,scss}] +indent_style = space +indent_size = 2 + +[src/main/css/xtext/**.css] +indent_style = tab + +[src/main/js/xtext/**.js] +indent_style = tab diff --git a/language-web/package-lock.json b/language-web/package-lock.json new file mode 100644 index 00000000..10ab38f1 --- /dev/null +++ b/language-web/package-lock.json @@ -0,0 +1,6722 @@ +{ + "name": "language-web", + "version": "0.1.0", + "lockfileVersion": 1, + "requires": true, + "dependencies": { + "@babel/code-frame": { + "version": "7.14.5", + "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.14.5.tgz", + "integrity": "sha512-9pzDqyc6OLDaqe+zbACgFkb6fKMNG6CObKpnYXChRsvYGyEdc7CA2BaqeOM+vOtCS5ndmJicPJhKAwYRI6UfFw==", + "dev": true, + "requires": { + "@babel/highlight": "^7.14.5" + } + }, + "@babel/compat-data": { + "version": "7.14.7", + "resolved": "https://registry.npmjs.org/@babel/compat-data/-/compat-data-7.14.7.tgz", + "integrity": "sha512-nS6dZaISCXJ3+518CWiBfEr//gHyMO02uDxBkXTKZDN5POruCnOZ1N4YBRZDCabwF8nZMWBpRxIicmXtBs+fvw==", + "dev": true + }, + "@babel/core": { + "version": "7.14.6", + "resolved": "https://registry.npmjs.org/@babel/core/-/core-7.14.6.tgz", + "integrity": "sha512-gJnOEWSqTk96qG5BoIrl5bVtc23DCycmIePPYnamY9RboYdI4nFy5vAQMSl81O5K/W0sLDWfGysnOECC+KUUCA==", + "dev": true, + "requires": { + "@babel/code-frame": "^7.14.5", + "@babel/generator": "^7.14.5", + "@babel/helper-compilation-targets": "^7.14.5", + "@babel/helper-module-transforms": "^7.14.5", + "@babel/helpers": "^7.14.6", + "@babel/parser": "^7.14.6", + "@babel/template": "^7.14.5", + "@babel/traverse": "^7.14.5", + "@babel/types": "^7.14.5", + "convert-source-map": "^1.7.0", + "debug": "^4.1.0", + "gensync": "^1.0.0-beta.2", + "json5": "^2.1.2", + "semver": "^6.3.0", + "source-map": "^0.5.0" + } + }, + "@babel/generator": { + "version": "7.14.5", + "resolved": "https://registry.npmjs.org/@babel/generator/-/generator-7.14.5.tgz", + "integrity": "sha512-y3rlP+/G25OIX3mYKKIOlQRcqj7YgrvHxOLbVmyLJ9bPmi5ttvUmpydVjcFjZphOktWuA7ovbx91ECloWTfjIA==", + "dev": true, + "requires": { + "@babel/types": "^7.14.5", + "jsesc": "^2.5.1", + "source-map": "^0.5.0" + } + }, + "@babel/helper-annotate-as-pure": { + "version": "7.14.5", + "resolved": "https://registry.npmjs.org/@babel/helper-annotate-as-pure/-/helper-annotate-as-pure-7.14.5.tgz", + "integrity": "sha512-EivH9EgBIb+G8ij1B2jAwSH36WnGvkQSEC6CkX/6v6ZFlw5fVOHvsgGF4uiEHO2GzMvunZb6tDLQEQSdrdocrA==", + "dev": true, + "requires": { + "@babel/types": "^7.14.5" + } + }, + "@babel/helper-builder-binary-assignment-operator-visitor": { + "version": "7.14.5", + "resolved": "https://registry.npmjs.org/@babel/helper-builder-binary-assignment-operator-visitor/-/helper-builder-binary-assignment-operator-visitor-7.14.5.tgz", + "integrity": "sha512-YTA/Twn0vBXDVGJuAX6PwW7x5zQei1luDDo2Pl6q1qZ7hVNl0RZrhHCQG/ArGpR29Vl7ETiB8eJyrvpuRp300w==", + "dev": true, + "requires": { + "@babel/helper-explode-assignable-expression": "^7.14.5", + "@babel/types": "^7.14.5" + } + }, + "@babel/helper-compilation-targets": { + "version": "7.14.5", + "resolved": "https://registry.npmjs.org/@babel/helper-compilation-targets/-/helper-compilation-targets-7.14.5.tgz", + "integrity": "sha512-v+QtZqXEiOnpO6EYvlImB6zCD2Lel06RzOPzmkz/D/XgQiUu3C/Jb1LOqSt/AIA34TYi/Q+KlT8vTQrgdxkbLw==", + "dev": true, + "requires": { + "@babel/compat-data": "^7.14.5", + "@babel/helper-validator-option": "^7.14.5", + "browserslist": "^4.16.6", + "semver": "^6.3.0" + } + }, + "@babel/helper-create-class-features-plugin": { + "version": "7.14.6", + "resolved": "https://registry.npmjs.org/@babel/helper-create-class-features-plugin/-/helper-create-class-features-plugin-7.14.6.tgz", + "integrity": "sha512-Z6gsfGofTxH/+LQXqYEK45kxmcensbzmk/oi8DmaQytlQCgqNZt9XQF8iqlI/SeXWVjaMNxvYvzaYw+kh42mDg==", + "dev": true, + "requires": { + "@babel/helper-annotate-as-pure": "^7.14.5", + "@babel/helper-function-name": "^7.14.5", + "@babel/helper-member-expression-to-functions": "^7.14.5", + "@babel/helper-optimise-call-expression": "^7.14.5", + "@babel/helper-replace-supers": "^7.14.5", + "@babel/helper-split-export-declaration": "^7.14.5" + } + }, + "@babel/helper-create-regexp-features-plugin": { + "version": "7.14.5", + "resolved": "https://registry.npmjs.org/@babel/helper-create-regexp-features-plugin/-/helper-create-regexp-features-plugin-7.14.5.tgz", + "integrity": "sha512-TLawwqpOErY2HhWbGJ2nZT5wSkR192QpN+nBg1THfBfftrlvOh+WbhrxXCH4q4xJ9Gl16BGPR/48JA+Ryiho/A==", + "dev": true, + "requires": { + "@babel/helper-annotate-as-pure": "^7.14.5", + "regexpu-core": "^4.7.1" + } + }, + "@babel/helper-define-polyfill-provider": { + "version": "0.2.3", + "resolved": "https://registry.npmjs.org/@babel/helper-define-polyfill-provider/-/helper-define-polyfill-provider-0.2.3.tgz", + "integrity": "sha512-RH3QDAfRMzj7+0Nqu5oqgO5q9mFtQEVvCRsi8qCEfzLR9p2BHfn5FzhSB2oj1fF7I2+DcTORkYaQ6aTR9Cofew==", + "dev": true, + "requires": { + "@babel/helper-compilation-targets": "^7.13.0", + "@babel/helper-module-imports": "^7.12.13", + "@babel/helper-plugin-utils": "^7.13.0", + "@babel/traverse": "^7.13.0", + "debug": "^4.1.1", + "lodash.debounce": "^4.0.8", + "resolve": "^1.14.2", + "semver": "^6.1.2" + } + }, + "@babel/helper-explode-assignable-expression": { + "version": "7.14.5", + "resolved": "https://registry.npmjs.org/@babel/helper-explode-assignable-expression/-/helper-explode-assignable-expression-7.14.5.tgz", + "integrity": "sha512-Htb24gnGJdIGT4vnRKMdoXiOIlqOLmdiUYpAQ0mYfgVT/GDm8GOYhgi4GL+hMKrkiPRohO4ts34ELFsGAPQLDQ==", + "dev": true, + "requires": { + "@babel/types": "^7.14.5" + } + }, + "@babel/helper-function-name": { + "version": "7.14.5", + "resolved": "https://registry.npmjs.org/@babel/helper-function-name/-/helper-function-name-7.14.5.tgz", + "integrity": "sha512-Gjna0AsXWfFvrAuX+VKcN/aNNWonizBj39yGwUzVDVTlMYJMK2Wp6xdpy72mfArFq5uK+NOuexfzZlzI1z9+AQ==", + "dev": true, + "requires": { + "@babel/helper-get-function-arity": "^7.14.5", + "@babel/template": "^7.14.5", + "@babel/types": "^7.14.5" + } + }, + "@babel/helper-get-function-arity": { + "version": "7.14.5", + "resolved": "https://registry.npmjs.org/@babel/helper-get-function-arity/-/helper-get-function-arity-7.14.5.tgz", + "integrity": "sha512-I1Db4Shst5lewOM4V+ZKJzQ0JGGaZ6VY1jYvMghRjqs6DWgxLCIyFt30GlnKkfUeFLpJt2vzbMVEXVSXlIFYUg==", + "dev": true, + "requires": { + "@babel/types": "^7.14.5" + } + }, + "@babel/helper-hoist-variables": { + "version": "7.14.5", + "resolved": "https://registry.npmjs.org/@babel/helper-hoist-variables/-/helper-hoist-variables-7.14.5.tgz", + "integrity": "sha512-R1PXiz31Uc0Vxy4OEOm07x0oSjKAdPPCh3tPivn/Eo8cvz6gveAeuyUUPB21Hoiif0uoPQSSdhIPS3352nvdyQ==", + "dev": true, + "requires": { + "@babel/types": "^7.14.5" + } + }, + "@babel/helper-member-expression-to-functions": { + "version": "7.14.7", + "resolved": "https://registry.npmjs.org/@babel/helper-member-expression-to-functions/-/helper-member-expression-to-functions-7.14.7.tgz", + "integrity": "sha512-TMUt4xKxJn6ccjcOW7c4hlwyJArizskAhoSTOCkA0uZ+KghIaci0Qg9R043kUMWI9mtQfgny+NQ5QATnZ+paaA==", + "dev": true, + "requires": { + "@babel/types": "^7.14.5" + } + }, + "@babel/helper-module-imports": { + "version": "7.14.5", + "resolved": "https://registry.npmjs.org/@babel/helper-module-imports/-/helper-module-imports-7.14.5.tgz", + "integrity": "sha512-SwrNHu5QWS84XlHwGYPDtCxcA0hrSlL2yhWYLgeOc0w7ccOl2qv4s/nARI0aYZW+bSwAL5CukeXA47B/1NKcnQ==", + "dev": true, + "requires": { + "@babel/types": "^7.14.5" + } + }, + "@babel/helper-module-transforms": { + "version": "7.14.5", + "resolved": "https://registry.npmjs.org/@babel/helper-module-transforms/-/helper-module-transforms-7.14.5.tgz", + "integrity": "sha512-iXpX4KW8LVODuAieD7MzhNjmM6dzYY5tfRqT+R9HDXWl0jPn/djKmA+G9s/2C2T9zggw5tK1QNqZ70USfedOwA==", + "dev": true, + "requires": { + "@babel/helper-module-imports": "^7.14.5", + "@babel/helper-replace-supers": "^7.14.5", + "@babel/helper-simple-access": "^7.14.5", + "@babel/helper-split-export-declaration": "^7.14.5", + "@babel/helper-validator-identifier": "^7.14.5", + "@babel/template": "^7.14.5", + "@babel/traverse": "^7.14.5", + "@babel/types": "^7.14.5" + } + }, + "@babel/helper-optimise-call-expression": { + "version": "7.14.5", + "resolved": "https://registry.npmjs.org/@babel/helper-optimise-call-expression/-/helper-optimise-call-expression-7.14.5.tgz", + "integrity": "sha512-IqiLIrODUOdnPU9/F8ib1Fx2ohlgDhxnIDU7OEVi+kAbEZcyiF7BLU8W6PfvPi9LzztjS7kcbzbmL7oG8kD6VA==", + "dev": true, + "requires": { + "@babel/types": "^7.14.5" + } + }, + "@babel/helper-plugin-utils": { + "version": "7.14.5", + "resolved": "https://registry.npmjs.org/@babel/helper-plugin-utils/-/helper-plugin-utils-7.14.5.tgz", + "integrity": "sha512-/37qQCE3K0vvZKwoK4XU/irIJQdIfCJuhU5eKnNxpFDsOkgFaUAwbv+RYw6eYgsC0E4hS7r5KqGULUogqui0fQ==", + "dev": true + }, + "@babel/helper-remap-async-to-generator": { + "version": "7.14.5", + "resolved": "https://registry.npmjs.org/@babel/helper-remap-async-to-generator/-/helper-remap-async-to-generator-7.14.5.tgz", + "integrity": "sha512-rLQKdQU+HYlxBwQIj8dk4/0ENOUEhA/Z0l4hN8BexpvmSMN9oA9EagjnhnDpNsRdWCfjwa4mn/HyBXO9yhQP6A==", + "dev": true, + "requires": { + "@babel/helper-annotate-as-pure": "^7.14.5", + "@babel/helper-wrap-function": "^7.14.5", + "@babel/types": "^7.14.5" + } + }, + "@babel/helper-replace-supers": { + "version": "7.14.5", + "resolved": "https://registry.npmjs.org/@babel/helper-replace-supers/-/helper-replace-supers-7.14.5.tgz", + "integrity": "sha512-3i1Qe9/8x/hCHINujn+iuHy+mMRLoc77b2nI9TB0zjH1hvn9qGlXjWlggdwUcju36PkPCy/lpM7LLUdcTyH4Ow==", + "dev": true, + "requires": { + "@babel/helper-member-expression-to-functions": "^7.14.5", + "@babel/helper-optimise-call-expression": "^7.14.5", + "@babel/traverse": "^7.14.5", + "@babel/types": "^7.14.5" + } + }, + "@babel/helper-simple-access": { + "version": "7.14.5", + "resolved": "https://registry.npmjs.org/@babel/helper-simple-access/-/helper-simple-access-7.14.5.tgz", + "integrity": "sha512-nfBN9xvmCt6nrMZjfhkl7i0oTV3yxR4/FztsbOASyTvVcoYd0TRHh7eMLdlEcCqobydC0LAF3LtC92Iwxo0wyw==", + "dev": true, + "requires": { + "@babel/types": "^7.14.5" + } + }, + "@babel/helper-skip-transparent-expression-wrappers": { + "version": "7.14.5", + "resolved": "https://registry.npmjs.org/@babel/helper-skip-transparent-expression-wrappers/-/helper-skip-transparent-expression-wrappers-7.14.5.tgz", + "integrity": "sha512-dmqZB7mrb94PZSAOYtr+ZN5qt5owZIAgqtoTuqiFbHFtxgEcmQlRJVI+bO++fciBunXtB6MK7HrzrfcAzIz2NQ==", + "dev": true, + "requires": { + "@babel/types": "^7.14.5" + } + }, + "@babel/helper-split-export-declaration": { + "version": "7.14.5", + "resolved": "https://registry.npmjs.org/@babel/helper-split-export-declaration/-/helper-split-export-declaration-7.14.5.tgz", + "integrity": "sha512-hprxVPu6e5Kdp2puZUmvOGjaLv9TCe58E/Fl6hRq4YiVQxIcNvuq6uTM2r1mT/oPskuS9CgR+I94sqAYv0NGKA==", + "dev": true, + "requires": { + "@babel/types": "^7.14.5" + } + }, + "@babel/helper-validator-identifier": { + "version": "7.14.5", + "resolved": "https://registry.npmjs.org/@babel/helper-validator-identifier/-/helper-validator-identifier-7.14.5.tgz", + "integrity": "sha512-5lsetuxCLilmVGyiLEfoHBRX8UCFD+1m2x3Rj97WrW3V7H3u4RWRXA4evMjImCsin2J2YT0QaVDGf+z8ondbAg==", + "dev": true + }, + "@babel/helper-validator-option": { + "version": "7.14.5", + "resolved": "https://registry.npmjs.org/@babel/helper-validator-option/-/helper-validator-option-7.14.5.tgz", + "integrity": "sha512-OX8D5eeX4XwcroVW45NMvoYaIuFI+GQpA2a8Gi+X/U/cDUIRsV37qQfF905F0htTRCREQIB4KqPeaveRJUl3Ow==", + "dev": true + }, + "@babel/helper-wrap-function": { + "version": "7.14.5", + "resolved": "https://registry.npmjs.org/@babel/helper-wrap-function/-/helper-wrap-function-7.14.5.tgz", + "integrity": "sha512-YEdjTCq+LNuNS1WfxsDCNpgXkJaIyqco6DAelTUjT4f2KIWC1nBcaCaSdHTBqQVLnTBexBcVcFhLSU1KnYuePQ==", + "dev": true, + "requires": { + "@babel/helper-function-name": "^7.14.5", + "@babel/template": "^7.14.5", + "@babel/traverse": "^7.14.5", + "@babel/types": "^7.14.5" + } + }, + "@babel/helpers": { + "version": "7.14.6", + "resolved": "https://registry.npmjs.org/@babel/helpers/-/helpers-7.14.6.tgz", + "integrity": "sha512-yesp1ENQBiLI+iYHSJdoZKUtRpfTlL1grDIX9NRlAVppljLw/4tTyYupIB7uIYmC3stW/imAv8EqaKaS/ibmeA==", + "dev": true, + "requires": { + "@babel/template": "^7.14.5", + "@babel/traverse": "^7.14.5", + "@babel/types": "^7.14.5" + } + }, + "@babel/highlight": { + "version": "7.14.5", + "resolved": "https://registry.npmjs.org/@babel/highlight/-/highlight-7.14.5.tgz", + "integrity": "sha512-qf9u2WFWVV0MppaL877j2dBtQIDgmidgjGk5VIMw3OadXvYaXn66U1BFlH2t4+t3i+8PhedppRv+i40ABzd+gg==", + "dev": true, + "requires": { + "@babel/helper-validator-identifier": "^7.14.5", + "chalk": "^2.0.0", + "js-tokens": "^4.0.0" + } + }, + "@babel/parser": { + "version": "7.14.7", + "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.14.7.tgz", + "integrity": "sha512-X67Z5y+VBJuHB/RjwECp8kSl5uYi0BvRbNeWqkaJCVh+LiTPl19WBUfG627psSgp9rSf6ojuXghQM3ha6qHHdA==", + "dev": true + }, + "@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining": { + "version": "7.14.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining/-/plugin-bugfix-v8-spread-parameters-in-optional-chaining-7.14.5.tgz", + "integrity": "sha512-ZoJS2XCKPBfTmL122iP6NM9dOg+d4lc9fFk3zxc8iDjvt8Pk4+TlsHSKhIPf6X+L5ORCdBzqMZDjL/WHj7WknQ==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.14.5", + "@babel/helper-skip-transparent-expression-wrappers": "^7.14.5", + "@babel/plugin-proposal-optional-chaining": "^7.14.5" + } + }, + "@babel/plugin-proposal-async-generator-functions": { + "version": "7.14.7", + "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-async-generator-functions/-/plugin-proposal-async-generator-functions-7.14.7.tgz", + "integrity": "sha512-RK8Wj7lXLY3bqei69/cc25gwS5puEc3dknoFPFbqfy3XxYQBQFvu4ioWpafMBAB+L9NyptQK4nMOa5Xz16og8Q==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.14.5", + "@babel/helper-remap-async-to-generator": "^7.14.5", + "@babel/plugin-syntax-async-generators": "^7.8.4" + } + }, + "@babel/plugin-proposal-class-properties": { + "version": "7.14.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-class-properties/-/plugin-proposal-class-properties-7.14.5.tgz", + "integrity": "sha512-q/PLpv5Ko4dVc1LYMpCY7RVAAO4uk55qPwrIuJ5QJ8c6cVuAmhu7I/49JOppXL6gXf7ZHzpRVEUZdYoPLM04Gg==", + "dev": true, + "requires": { + "@babel/helper-create-class-features-plugin": "^7.14.5", + "@babel/helper-plugin-utils": "^7.14.5" + } + }, + "@babel/plugin-proposal-class-static-block": { + "version": "7.14.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-class-static-block/-/plugin-proposal-class-static-block-7.14.5.tgz", + "integrity": "sha512-KBAH5ksEnYHCegqseI5N9skTdxgJdmDoAOc0uXa+4QMYKeZD0w5IARh4FMlTNtaHhbB8v+KzMdTgxMMzsIy6Yg==", + "dev": true, + "requires": { + "@babel/helper-create-class-features-plugin": "^7.14.5", + "@babel/helper-plugin-utils": "^7.14.5", + "@babel/plugin-syntax-class-static-block": "^7.14.5" + } + }, + "@babel/plugin-proposal-dynamic-import": { + "version": "7.14.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-dynamic-import/-/plugin-proposal-dynamic-import-7.14.5.tgz", + "integrity": "sha512-ExjiNYc3HDN5PXJx+bwC50GIx/KKanX2HiggnIUAYedbARdImiCU4RhhHfdf0Kd7JNXGpsBBBCOm+bBVy3Gb0g==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.14.5", + "@babel/plugin-syntax-dynamic-import": "^7.8.3" + } + }, + "@babel/plugin-proposal-export-namespace-from": { + "version": "7.14.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-export-namespace-from/-/plugin-proposal-export-namespace-from-7.14.5.tgz", + "integrity": "sha512-g5POA32bXPMmSBu5Dx/iZGLGnKmKPc5AiY7qfZgurzrCYgIztDlHFbznSNCoQuv57YQLnQfaDi7dxCtLDIdXdA==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.14.5", + "@babel/plugin-syntax-export-namespace-from": "^7.8.3" + } + }, + "@babel/plugin-proposal-json-strings": { + "version": "7.14.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-json-strings/-/plugin-proposal-json-strings-7.14.5.tgz", + "integrity": "sha512-NSq2fczJYKVRIsUJyNxrVUMhB27zb7N7pOFGQOhBKJrChbGcgEAqyZrmZswkPk18VMurEeJAaICbfm57vUeTbQ==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.14.5", + "@babel/plugin-syntax-json-strings": "^7.8.3" + } + }, + "@babel/plugin-proposal-logical-assignment-operators": { + "version": "7.14.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-logical-assignment-operators/-/plugin-proposal-logical-assignment-operators-7.14.5.tgz", + "integrity": "sha512-YGn2AvZAo9TwyhlLvCCWxD90Xq8xJ4aSgaX3G5D/8DW94L8aaT+dS5cSP+Z06+rCJERGSr9GxMBZ601xoc2taw==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.14.5", + "@babel/plugin-syntax-logical-assignment-operators": "^7.10.4" + } + }, + "@babel/plugin-proposal-nullish-coalescing-operator": { + "version": "7.14.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-nullish-coalescing-operator/-/plugin-proposal-nullish-coalescing-operator-7.14.5.tgz", + "integrity": "sha512-gun/SOnMqjSb98Nkaq2rTKMwervfdAoz6NphdY0vTfuzMfryj+tDGb2n6UkDKwez+Y8PZDhE3D143v6Gepp4Hg==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.14.5", + "@babel/plugin-syntax-nullish-coalescing-operator": "^7.8.3" + } + }, + "@babel/plugin-proposal-numeric-separator": { + "version": "7.14.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-numeric-separator/-/plugin-proposal-numeric-separator-7.14.5.tgz", + "integrity": "sha512-yiclALKe0vyZRZE0pS6RXgjUOt87GWv6FYa5zqj15PvhOGFO69R5DusPlgK/1K5dVnCtegTiWu9UaBSrLLJJBg==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.14.5", + "@babel/plugin-syntax-numeric-separator": "^7.10.4" + } + }, + "@babel/plugin-proposal-object-rest-spread": { + "version": "7.14.7", + "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-object-rest-spread/-/plugin-proposal-object-rest-spread-7.14.7.tgz", + "integrity": "sha512-082hsZz+sVabfmDWo1Oct1u1AgbKbUAyVgmX4otIc7bdsRgHBXwTwb3DpDmD4Eyyx6DNiuz5UAATT655k+kL5g==", + "dev": true, + "requires": { + "@babel/compat-data": "^7.14.7", + "@babel/helper-compilation-targets": "^7.14.5", + "@babel/helper-plugin-utils": "^7.14.5", + "@babel/plugin-syntax-object-rest-spread": "^7.8.3", + "@babel/plugin-transform-parameters": "^7.14.5" + } + }, + "@babel/plugin-proposal-optional-catch-binding": { + "version": "7.14.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-optional-catch-binding/-/plugin-proposal-optional-catch-binding-7.14.5.tgz", + "integrity": "sha512-3Oyiixm0ur7bzO5ybNcZFlmVsygSIQgdOa7cTfOYCMY+wEPAYhZAJxi3mixKFCTCKUhQXuCTtQ1MzrpL3WT8ZQ==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.14.5", + "@babel/plugin-syntax-optional-catch-binding": "^7.8.3" + } + }, + "@babel/plugin-proposal-optional-chaining": { + "version": "7.14.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-optional-chaining/-/plugin-proposal-optional-chaining-7.14.5.tgz", + "integrity": "sha512-ycz+VOzo2UbWNI1rQXxIuMOzrDdHGrI23fRiz/Si2R4kv2XZQ1BK8ccdHwehMKBlcH/joGW/tzrUmo67gbJHlQ==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.14.5", + "@babel/helper-skip-transparent-expression-wrappers": "^7.14.5", + "@babel/plugin-syntax-optional-chaining": "^7.8.3" + } + }, + "@babel/plugin-proposal-private-methods": { + "version": "7.14.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-private-methods/-/plugin-proposal-private-methods-7.14.5.tgz", + "integrity": "sha512-838DkdUA1u+QTCplatfq4B7+1lnDa/+QMI89x5WZHBcnNv+47N8QEj2k9I2MUU9xIv8XJ4XvPCviM/Dj7Uwt9g==", + "dev": true, + "requires": { + "@babel/helper-create-class-features-plugin": "^7.14.5", + "@babel/helper-plugin-utils": "^7.14.5" + } + }, + "@babel/plugin-proposal-private-property-in-object": { + "version": "7.14.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-private-property-in-object/-/plugin-proposal-private-property-in-object-7.14.5.tgz", + "integrity": "sha512-62EyfyA3WA0mZiF2e2IV9mc9Ghwxcg8YTu8BS4Wss4Y3PY725OmS9M0qLORbJwLqFtGh+jiE4wAmocK2CTUK2Q==", + "dev": true, + "requires": { + "@babel/helper-annotate-as-pure": "^7.14.5", + "@babel/helper-create-class-features-plugin": "^7.14.5", + "@babel/helper-plugin-utils": "^7.14.5", + "@babel/plugin-syntax-private-property-in-object": "^7.14.5" + } + }, + "@babel/plugin-proposal-unicode-property-regex": { + "version": "7.14.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-unicode-property-regex/-/plugin-proposal-unicode-property-regex-7.14.5.tgz", + "integrity": "sha512-6axIeOU5LnY471KenAB9vI8I5j7NQ2d652hIYwVyRfgaZT5UpiqFKCuVXCDMSrU+3VFafnu2c5m3lrWIlr6A5Q==", + "dev": true, + "requires": { + "@babel/helper-create-regexp-features-plugin": "^7.14.5", + "@babel/helper-plugin-utils": "^7.14.5" + } + }, + "@babel/plugin-syntax-async-generators": { + "version": "7.8.4", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-async-generators/-/plugin-syntax-async-generators-7.8.4.tgz", + "integrity": "sha512-tycmZxkGfZaxhMRbXlPXuVFpdWlXpir2W4AMhSJgRKzk/eDlIXOhb2LHWoLpDF7TEHylV5zNhykX6KAgHJmTNw==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.8.0" + } + }, + "@babel/plugin-syntax-class-properties": { + "version": "7.12.13", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-class-properties/-/plugin-syntax-class-properties-7.12.13.tgz", + "integrity": "sha512-fm4idjKla0YahUNgFNLCB0qySdsoPiZP3iQE3rky0mBUtMZ23yDJ9SJdg6dXTSDnulOVqiF3Hgr9nbXvXTQZYA==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.12.13" + } + }, + "@babel/plugin-syntax-class-static-block": { + "version": "7.14.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-class-static-block/-/plugin-syntax-class-static-block-7.14.5.tgz", + "integrity": "sha512-b+YyPmr6ldyNnM6sqYeMWE+bgJcJpO6yS4QD7ymxgH34GBPNDM/THBh8iunyvKIZztiwLH4CJZ0RxTk9emgpjw==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.14.5" + } + }, + "@babel/plugin-syntax-dynamic-import": { + "version": "7.8.3", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-dynamic-import/-/plugin-syntax-dynamic-import-7.8.3.tgz", + "integrity": "sha512-5gdGbFon+PszYzqs83S3E5mpi7/y/8M9eC90MRTZfduQOYW76ig6SOSPNe41IG5LoP3FGBn2N0RjVDSQiS94kQ==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.8.0" + } + }, + "@babel/plugin-syntax-export-namespace-from": { + "version": "7.8.3", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-export-namespace-from/-/plugin-syntax-export-namespace-from-7.8.3.tgz", + "integrity": "sha512-MXf5laXo6c1IbEbegDmzGPwGNTsHZmEy6QGznu5Sh2UCWvueywb2ee+CCE4zQiZstxU9BMoQO9i6zUFSY0Kj0Q==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.8.3" + } + }, + "@babel/plugin-syntax-json-strings": { + "version": "7.8.3", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-json-strings/-/plugin-syntax-json-strings-7.8.3.tgz", + "integrity": "sha512-lY6kdGpWHvjoe2vk4WrAapEuBR69EMxZl+RoGRhrFGNYVK8mOPAW8VfbT/ZgrFbXlDNiiaxQnAtgVCZ6jv30EA==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.8.0" + } + }, + "@babel/plugin-syntax-logical-assignment-operators": { + "version": "7.10.4", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-logical-assignment-operators/-/plugin-syntax-logical-assignment-operators-7.10.4.tgz", + "integrity": "sha512-d8waShlpFDinQ5MtvGU9xDAOzKH47+FFoney2baFIoMr952hKOLp1HR7VszoZvOsV/4+RRszNY7D17ba0te0ig==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.10.4" + } + }, + "@babel/plugin-syntax-nullish-coalescing-operator": { + "version": "7.8.3", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-nullish-coalescing-operator/-/plugin-syntax-nullish-coalescing-operator-7.8.3.tgz", + "integrity": "sha512-aSff4zPII1u2QD7y+F8oDsz19ew4IGEJg9SVW+bqwpwtfFleiQDMdzA/R+UlWDzfnHFCxxleFT0PMIrR36XLNQ==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.8.0" + } + }, + "@babel/plugin-syntax-numeric-separator": { + "version": "7.10.4", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-numeric-separator/-/plugin-syntax-numeric-separator-7.10.4.tgz", + "integrity": "sha512-9H6YdfkcK/uOnY/K7/aA2xpzaAgkQn37yzWUMRK7OaPOqOpGS1+n0H5hxT9AUw9EsSjPW8SVyMJwYRtWs3X3ug==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.10.4" + } + }, + "@babel/plugin-syntax-object-rest-spread": { + "version": "7.8.3", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-object-rest-spread/-/plugin-syntax-object-rest-spread-7.8.3.tgz", + "integrity": "sha512-XoqMijGZb9y3y2XskN+P1wUGiVwWZ5JmoDRwx5+3GmEplNyVM2s2Dg8ILFQm8rWM48orGy5YpI5Bl8U1y7ydlA==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.8.0" + } + }, + "@babel/plugin-syntax-optional-catch-binding": { + "version": "7.8.3", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-optional-catch-binding/-/plugin-syntax-optional-catch-binding-7.8.3.tgz", + "integrity": "sha512-6VPD0Pc1lpTqw0aKoeRTMiB+kWhAoT24PA+ksWSBrFtl5SIRVpZlwN3NNPQjehA2E/91FV3RjLWoVTglWcSV3Q==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.8.0" + } + }, + "@babel/plugin-syntax-optional-chaining": { + "version": "7.8.3", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-optional-chaining/-/plugin-syntax-optional-chaining-7.8.3.tgz", + "integrity": "sha512-KoK9ErH1MBlCPxV0VANkXW2/dw4vlbGDrFgz8bmUsBGYkFRcbRwMh6cIJubdPrkxRwuGdtCk0v/wPTKbQgBjkg==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.8.0" + } + }, + "@babel/plugin-syntax-private-property-in-object": { + "version": "7.14.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-private-property-in-object/-/plugin-syntax-private-property-in-object-7.14.5.tgz", + "integrity": "sha512-0wVnp9dxJ72ZUJDV27ZfbSj6iHLoytYZmh3rFcxNnvsJF3ktkzLDZPy/mA17HGsaQT3/DQsWYX1f1QGWkCoVUg==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.14.5" + } + }, + "@babel/plugin-syntax-top-level-await": { + "version": "7.14.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-top-level-await/-/plugin-syntax-top-level-await-7.14.5.tgz", + "integrity": "sha512-hx++upLv5U1rgYfwe1xBQUhRmU41NEvpUvrp8jkrSCdvGSnM5/qdRMtylJ6PG5OFkBaHkbTAKTnd3/YyESRHFw==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.14.5" + } + }, + "@babel/plugin-transform-arrow-functions": { + "version": "7.14.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-arrow-functions/-/plugin-transform-arrow-functions-7.14.5.tgz", + "integrity": "sha512-KOnO0l4+tD5IfOdi4x8C1XmEIRWUjNRV8wc6K2vz/3e8yAOoZZvsRXRRIF/yo/MAOFb4QjtAw9xSxMXbSMRy8A==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.14.5" + } + }, + "@babel/plugin-transform-async-to-generator": { + "version": "7.14.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-async-to-generator/-/plugin-transform-async-to-generator-7.14.5.tgz", + "integrity": "sha512-szkbzQ0mNk0rpu76fzDdqSyPu0MuvpXgC+6rz5rpMb5OIRxdmHfQxrktL8CYolL2d8luMCZTR0DpIMIdL27IjA==", + "dev": true, + "requires": { + "@babel/helper-module-imports": "^7.14.5", + "@babel/helper-plugin-utils": "^7.14.5", + "@babel/helper-remap-async-to-generator": "^7.14.5" + } + }, + "@babel/plugin-transform-block-scoped-functions": { + "version": "7.14.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-block-scoped-functions/-/plugin-transform-block-scoped-functions-7.14.5.tgz", + "integrity": "sha512-dtqWqdWZ5NqBX3KzsVCWfQI3A53Ft5pWFCT2eCVUftWZgjc5DpDponbIF1+c+7cSGk2wN0YK7HGL/ezfRbpKBQ==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.14.5" + } + }, + "@babel/plugin-transform-block-scoping": { + "version": "7.14.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-block-scoping/-/plugin-transform-block-scoping-7.14.5.tgz", + "integrity": "sha512-LBYm4ZocNgoCqyxMLoOnwpsmQ18HWTQvql64t3GvMUzLQrNoV1BDG0lNftC8QKYERkZgCCT/7J5xWGObGAyHDw==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.14.5" + } + }, + "@babel/plugin-transform-classes": { + "version": "7.14.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-classes/-/plugin-transform-classes-7.14.5.tgz", + "integrity": "sha512-J4VxKAMykM06K/64z9rwiL6xnBHgB1+FVspqvlgCdwD1KUbQNfszeKVVOMh59w3sztHYIZDgnhOC4WbdEfHFDA==", + "dev": true, + "requires": { + "@babel/helper-annotate-as-pure": "^7.14.5", + "@babel/helper-function-name": "^7.14.5", + "@babel/helper-optimise-call-expression": "^7.14.5", + "@babel/helper-plugin-utils": "^7.14.5", + "@babel/helper-replace-supers": "^7.14.5", + "@babel/helper-split-export-declaration": "^7.14.5", + "globals": "^11.1.0" + } + }, + "@babel/plugin-transform-computed-properties": { + "version": "7.14.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-computed-properties/-/plugin-transform-computed-properties-7.14.5.tgz", + "integrity": "sha512-pWM+E4283UxaVzLb8UBXv4EIxMovU4zxT1OPnpHJcmnvyY9QbPPTKZfEj31EUvG3/EQRbYAGaYEUZ4yWOBC2xg==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.14.5" + } + }, + "@babel/plugin-transform-destructuring": { + "version": "7.14.7", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-destructuring/-/plugin-transform-destructuring-7.14.7.tgz", + "integrity": "sha512-0mDE99nK+kVh3xlc5vKwB6wnP9ecuSj+zQCa/n0voENtP/zymdT4HH6QEb65wjjcbqr1Jb/7z9Qp7TF5FtwYGw==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.14.5" + } + }, + "@babel/plugin-transform-dotall-regex": { + "version": "7.14.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-dotall-regex/-/plugin-transform-dotall-regex-7.14.5.tgz", + "integrity": "sha512-loGlnBdj02MDsFaHhAIJzh7euK89lBrGIdM9EAtHFo6xKygCUGuuWe07o1oZVk287amtW1n0808sQM99aZt3gw==", + "dev": true, + "requires": { + "@babel/helper-create-regexp-features-plugin": "^7.14.5", + "@babel/helper-plugin-utils": "^7.14.5" + } + }, + "@babel/plugin-transform-duplicate-keys": { + "version": "7.14.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-duplicate-keys/-/plugin-transform-duplicate-keys-7.14.5.tgz", + "integrity": "sha512-iJjbI53huKbPDAsJ8EmVmvCKeeq21bAze4fu9GBQtSLqfvzj2oRuHVx4ZkDwEhg1htQ+5OBZh/Ab0XDf5iBZ7A==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.14.5" + } + }, + "@babel/plugin-transform-exponentiation-operator": { + "version": "7.14.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-exponentiation-operator/-/plugin-transform-exponentiation-operator-7.14.5.tgz", + "integrity": "sha512-jFazJhMBc9D27o9jDnIE5ZErI0R0m7PbKXVq77FFvqFbzvTMuv8jaAwLZ5PviOLSFttqKIW0/wxNSDbjLk0tYA==", + "dev": true, + "requires": { + "@babel/helper-builder-binary-assignment-operator-visitor": "^7.14.5", + "@babel/helper-plugin-utils": "^7.14.5" + } + }, + "@babel/plugin-transform-for-of": { + "version": "7.14.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-for-of/-/plugin-transform-for-of-7.14.5.tgz", + "integrity": "sha512-CfmqxSUZzBl0rSjpoQSFoR9UEj3HzbGuGNL21/iFTmjb5gFggJp3ph0xR1YBhexmLoKRHzgxuFvty2xdSt6gTA==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.14.5" + } + }, + "@babel/plugin-transform-function-name": { + "version": "7.14.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-function-name/-/plugin-transform-function-name-7.14.5.tgz", + "integrity": "sha512-vbO6kv0fIzZ1GpmGQuvbwwm+O4Cbm2NrPzwlup9+/3fdkuzo1YqOZcXw26+YUJB84Ja7j9yURWposEHLYwxUfQ==", + "dev": true, + "requires": { + "@babel/helper-function-name": "^7.14.5", + "@babel/helper-plugin-utils": "^7.14.5" + } + }, + "@babel/plugin-transform-literals": { + "version": "7.14.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-literals/-/plugin-transform-literals-7.14.5.tgz", + "integrity": "sha512-ql33+epql2F49bi8aHXxvLURHkxJbSmMKl9J5yHqg4PLtdE6Uc48CH1GS6TQvZ86eoB/ApZXwm7jlA+B3kra7A==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.14.5" + } + }, + "@babel/plugin-transform-member-expression-literals": { + "version": "7.14.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-member-expression-literals/-/plugin-transform-member-expression-literals-7.14.5.tgz", + "integrity": "sha512-WkNXxH1VXVTKarWFqmso83xl+2V3Eo28YY5utIkbsmXoItO8Q3aZxN4BTS2k0hz9dGUloHK26mJMyQEYfkn/+Q==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.14.5" + } + }, + "@babel/plugin-transform-modules-amd": { + "version": "7.14.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-modules-amd/-/plugin-transform-modules-amd-7.14.5.tgz", + "integrity": "sha512-3lpOU8Vxmp3roC4vzFpSdEpGUWSMsHFreTWOMMLzel2gNGfHE5UWIh/LN6ghHs2xurUp4jRFYMUIZhuFbody1g==", + "dev": true, + "requires": { + "@babel/helper-module-transforms": "^7.14.5", + "@babel/helper-plugin-utils": "^7.14.5", + "babel-plugin-dynamic-import-node": "^2.3.3" + } + }, + "@babel/plugin-transform-modules-commonjs": { + "version": "7.14.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-modules-commonjs/-/plugin-transform-modules-commonjs-7.14.5.tgz", + "integrity": "sha512-en8GfBtgnydoao2PS+87mKyw62k02k7kJ9ltbKe0fXTHrQmG6QZZflYuGI1VVG7sVpx4E1n7KBpNlPb8m78J+A==", + "dev": true, + "requires": { + "@babel/helper-module-transforms": "^7.14.5", + "@babel/helper-plugin-utils": "^7.14.5", + "@babel/helper-simple-access": "^7.14.5", + "babel-plugin-dynamic-import-node": "^2.3.3" + } + }, + "@babel/plugin-transform-modules-systemjs": { + "version": "7.14.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-modules-systemjs/-/plugin-transform-modules-systemjs-7.14.5.tgz", + "integrity": "sha512-mNMQdvBEE5DcMQaL5LbzXFMANrQjd2W7FPzg34Y4yEz7dBgdaC+9B84dSO+/1Wba98zoDbInctCDo4JGxz1VYA==", + "dev": true, + "requires": { + "@babel/helper-hoist-variables": "^7.14.5", + "@babel/helper-module-transforms": "^7.14.5", + "@babel/helper-plugin-utils": "^7.14.5", + "@babel/helper-validator-identifier": "^7.14.5", + "babel-plugin-dynamic-import-node": "^2.3.3" + } + }, + "@babel/plugin-transform-modules-umd": { + "version": "7.14.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-modules-umd/-/plugin-transform-modules-umd-7.14.5.tgz", + "integrity": "sha512-RfPGoagSngC06LsGUYyM9QWSXZ8MysEjDJTAea1lqRjNECE3y0qIJF/qbvJxc4oA4s99HumIMdXOrd+TdKaAAA==", + "dev": true, + "requires": { + "@babel/helper-module-transforms": "^7.14.5", + "@babel/helper-plugin-utils": "^7.14.5" + } + }, + "@babel/plugin-transform-named-capturing-groups-regex": { + "version": "7.14.7", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-named-capturing-groups-regex/-/plugin-transform-named-capturing-groups-regex-7.14.7.tgz", + "integrity": "sha512-DTNOTaS7TkW97xsDMrp7nycUVh6sn/eq22VaxWfEdzuEbRsiaOU0pqU7DlyUGHVsbQbSghvjKRpEl+nUCKGQSg==", + "dev": true, + "requires": { + "@babel/helper-create-regexp-features-plugin": "^7.14.5" + } + }, + "@babel/plugin-transform-new-target": { + "version": "7.14.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-new-target/-/plugin-transform-new-target-7.14.5.tgz", + "integrity": "sha512-Nx054zovz6IIRWEB49RDRuXGI4Gy0GMgqG0cII9L3MxqgXz/+rgII+RU58qpo4g7tNEx1jG7rRVH4ihZoP4esQ==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.14.5" + } + }, + "@babel/plugin-transform-object-super": { + "version": "7.14.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-object-super/-/plugin-transform-object-super-7.14.5.tgz", + "integrity": "sha512-MKfOBWzK0pZIrav9z/hkRqIk/2bTv9qvxHzPQc12RcVkMOzpIKnFCNYJip00ssKWYkd8Sf5g0Wr7pqJ+cmtuFg==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.14.5", + "@babel/helper-replace-supers": "^7.14.5" + } + }, + "@babel/plugin-transform-parameters": { + "version": "7.14.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-parameters/-/plugin-transform-parameters-7.14.5.tgz", + "integrity": "sha512-Tl7LWdr6HUxTmzQtzuU14SqbgrSKmaR77M0OKyq4njZLQTPfOvzblNKyNkGwOfEFCEx7KeYHQHDI0P3F02IVkA==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.14.5" + } + }, + "@babel/plugin-transform-property-literals": { + "version": "7.14.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-property-literals/-/plugin-transform-property-literals-7.14.5.tgz", + "integrity": "sha512-r1uilDthkgXW8Z1vJz2dKYLV1tuw2xsbrp3MrZmD99Wh9vsfKoob+JTgri5VUb/JqyKRXotlOtwgu4stIYCmnw==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.14.5" + } + }, + "@babel/plugin-transform-regenerator": { + "version": "7.14.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-regenerator/-/plugin-transform-regenerator-7.14.5.tgz", + "integrity": "sha512-NVIY1W3ITDP5xQl50NgTKlZ0GrotKtLna08/uGY6ErQt6VEQZXla86x/CTddm5gZdcr+5GSsvMeTmWA5Ii6pkg==", + "dev": true, + "requires": { + "regenerator-transform": "^0.14.2" + } + }, + "@babel/plugin-transform-reserved-words": { + "version": "7.14.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-reserved-words/-/plugin-transform-reserved-words-7.14.5.tgz", + "integrity": "sha512-cv4F2rv1nD4qdexOGsRQXJrOcyb5CrgjUH9PKrrtyhSDBNWGxd0UIitjyJiWagS+EbUGjG++22mGH1Pub8D6Vg==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.14.5" + } + }, + "@babel/plugin-transform-shorthand-properties": { + "version": "7.14.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-shorthand-properties/-/plugin-transform-shorthand-properties-7.14.5.tgz", + "integrity": "sha512-xLucks6T1VmGsTB+GWK5Pl9Jl5+nRXD1uoFdA5TSO6xtiNjtXTjKkmPdFXVLGlK5A2/or/wQMKfmQ2Y0XJfn5g==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.14.5" + } + }, + "@babel/plugin-transform-spread": { + "version": "7.14.6", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-spread/-/plugin-transform-spread-7.14.6.tgz", + "integrity": "sha512-Zr0x0YroFJku7n7+/HH3A2eIrGMjbmAIbJSVv0IZ+t3U2WUQUA64S/oeied2e+MaGSjmt4alzBCsK9E8gh+fag==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.14.5", + "@babel/helper-skip-transparent-expression-wrappers": "^7.14.5" + } + }, + "@babel/plugin-transform-sticky-regex": { + "version": "7.14.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-sticky-regex/-/plugin-transform-sticky-regex-7.14.5.tgz", + "integrity": "sha512-Z7F7GyvEMzIIbwnziAZmnSNpdijdr4dWt+FJNBnBLz5mwDFkqIXU9wmBcWWad3QeJF5hMTkRe4dAq2sUZiG+8A==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.14.5" + } + }, + "@babel/plugin-transform-template-literals": { + "version": "7.14.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-template-literals/-/plugin-transform-template-literals-7.14.5.tgz", + "integrity": "sha512-22btZeURqiepOfuy/VkFr+zStqlujWaarpMErvay7goJS6BWwdd6BY9zQyDLDa4x2S3VugxFb162IZ4m/S/+Gg==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.14.5" + } + }, + "@babel/plugin-transform-typeof-symbol": { + "version": "7.14.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-typeof-symbol/-/plugin-transform-typeof-symbol-7.14.5.tgz", + "integrity": "sha512-lXzLD30ffCWseTbMQzrvDWqljvZlHkXU+CnseMhkMNqU1sASnCsz3tSzAaH3vCUXb9PHeUb90ZT1BdFTm1xxJw==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.14.5" + } + }, + "@babel/plugin-transform-unicode-escapes": { + "version": "7.14.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-unicode-escapes/-/plugin-transform-unicode-escapes-7.14.5.tgz", + "integrity": "sha512-crTo4jATEOjxj7bt9lbYXcBAM3LZaUrbP2uUdxb6WIorLmjNKSpHfIybgY4B8SRpbf8tEVIWH3Vtm7ayCrKocA==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.14.5" + } + }, + "@babel/plugin-transform-unicode-regex": { + "version": "7.14.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-unicode-regex/-/plugin-transform-unicode-regex-7.14.5.tgz", + "integrity": "sha512-UygduJpC5kHeCiRw/xDVzC+wj8VaYSoKl5JNVmbP7MadpNinAm3SvZCxZ42H37KZBKztz46YC73i9yV34d0Tzw==", + "dev": true, + "requires": { + "@babel/helper-create-regexp-features-plugin": "^7.14.5", + "@babel/helper-plugin-utils": "^7.14.5" + } + }, + "@babel/preset-env": { + "version": "7.14.7", + "resolved": "https://registry.npmjs.org/@babel/preset-env/-/preset-env-7.14.7.tgz", + "integrity": "sha512-itOGqCKLsSUl0Y+1nSfhbuuOlTs0MJk2Iv7iSH+XT/mR8U1zRLO7NjWlYXB47yhK4J/7j+HYty/EhFZDYKa/VA==", + "dev": true, + "requires": { + "@babel/compat-data": "^7.14.7", + "@babel/helper-compilation-targets": "^7.14.5", + "@babel/helper-plugin-utils": "^7.14.5", + "@babel/helper-validator-option": "^7.14.5", + "@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining": "^7.14.5", + "@babel/plugin-proposal-async-generator-functions": "^7.14.7", + "@babel/plugin-proposal-class-properties": "^7.14.5", + "@babel/plugin-proposal-class-static-block": "^7.14.5", + "@babel/plugin-proposal-dynamic-import": "^7.14.5", + "@babel/plugin-proposal-export-namespace-from": "^7.14.5", + "@babel/plugin-proposal-json-strings": "^7.14.5", + "@babel/plugin-proposal-logical-assignment-operators": "^7.14.5", + "@babel/plugin-proposal-nullish-coalescing-operator": "^7.14.5", + "@babel/plugin-proposal-numeric-separator": "^7.14.5", + "@babel/plugin-proposal-object-rest-spread": "^7.14.7", + "@babel/plugin-proposal-optional-catch-binding": "^7.14.5", + "@babel/plugin-proposal-optional-chaining": "^7.14.5", + "@babel/plugin-proposal-private-methods": "^7.14.5", + "@babel/plugin-proposal-private-property-in-object": "^7.14.5", + "@babel/plugin-proposal-unicode-property-regex": "^7.14.5", + "@babel/plugin-syntax-async-generators": "^7.8.4", + "@babel/plugin-syntax-class-properties": "^7.12.13", + "@babel/plugin-syntax-class-static-block": "^7.14.5", + "@babel/plugin-syntax-dynamic-import": "^7.8.3", + "@babel/plugin-syntax-export-namespace-from": "^7.8.3", + "@babel/plugin-syntax-json-strings": "^7.8.3", + "@babel/plugin-syntax-logical-assignment-operators": "^7.10.4", + "@babel/plugin-syntax-nullish-coalescing-operator": "^7.8.3", + "@babel/plugin-syntax-numeric-separator": "^7.10.4", + "@babel/plugin-syntax-object-rest-spread": "^7.8.3", + "@babel/plugin-syntax-optional-catch-binding": "^7.8.3", + "@babel/plugin-syntax-optional-chaining": "^7.8.3", + "@babel/plugin-syntax-private-property-in-object": "^7.14.5", + "@babel/plugin-syntax-top-level-await": "^7.14.5", + "@babel/plugin-transform-arrow-functions": "^7.14.5", + "@babel/plugin-transform-async-to-generator": "^7.14.5", + "@babel/plugin-transform-block-scoped-functions": "^7.14.5", + "@babel/plugin-transform-block-scoping": "^7.14.5", + "@babel/plugin-transform-classes": "^7.14.5", + "@babel/plugin-transform-computed-properties": "^7.14.5", + "@babel/plugin-transform-destructuring": "^7.14.7", + "@babel/plugin-transform-dotall-regex": "^7.14.5", + "@babel/plugin-transform-duplicate-keys": "^7.14.5", + "@babel/plugin-transform-exponentiation-operator": "^7.14.5", + "@babel/plugin-transform-for-of": "^7.14.5", + "@babel/plugin-transform-function-name": "^7.14.5", + "@babel/plugin-transform-literals": "^7.14.5", + "@babel/plugin-transform-member-expression-literals": "^7.14.5", + "@babel/plugin-transform-modules-amd": "^7.14.5", + "@babel/plugin-transform-modules-commonjs": "^7.14.5", + "@babel/plugin-transform-modules-systemjs": "^7.14.5", + "@babel/plugin-transform-modules-umd": "^7.14.5", + "@babel/plugin-transform-named-capturing-groups-regex": "^7.14.7", + "@babel/plugin-transform-new-target": "^7.14.5", + "@babel/plugin-transform-object-super": "^7.14.5", + "@babel/plugin-transform-parameters": "^7.14.5", + "@babel/plugin-transform-property-literals": "^7.14.5", + "@babel/plugin-transform-regenerator": "^7.14.5", + "@babel/plugin-transform-reserved-words": "^7.14.5", + "@babel/plugin-transform-shorthand-properties": "^7.14.5", + "@babel/plugin-transform-spread": "^7.14.6", + "@babel/plugin-transform-sticky-regex": "^7.14.5", + "@babel/plugin-transform-template-literals": "^7.14.5", + "@babel/plugin-transform-typeof-symbol": "^7.14.5", + "@babel/plugin-transform-unicode-escapes": "^7.14.5", + "@babel/plugin-transform-unicode-regex": "^7.14.5", + "@babel/preset-modules": "^0.1.4", + "@babel/types": "^7.14.5", + "babel-plugin-polyfill-corejs2": "^0.2.2", + "babel-plugin-polyfill-corejs3": "^0.2.2", + "babel-plugin-polyfill-regenerator": "^0.2.2", + "core-js-compat": "^3.15.0", + "semver": "^6.3.0" + } + }, + "@babel/preset-modules": { + "version": "0.1.4", + "resolved": "https://registry.npmjs.org/@babel/preset-modules/-/preset-modules-0.1.4.tgz", + "integrity": "sha512-J36NhwnfdzpmH41M1DrnkkgAqhZaqr/NBdPfQ677mLzlaXo+oDiv1deyCDtgAhz8p328otdob0Du7+xgHGZbKg==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.0.0", + "@babel/plugin-proposal-unicode-property-regex": "^7.4.4", + "@babel/plugin-transform-dotall-regex": "^7.4.4", + "@babel/types": "^7.4.4", + "esutils": "^2.0.2" + } + }, + "@babel/runtime": { + "version": "7.14.6", + "resolved": "https://registry.npmjs.org/@babel/runtime/-/runtime-7.14.6.tgz", + "integrity": "sha512-/PCB2uJ7oM44tz8YhC4Z/6PeOKXp4K588f+5M3clr1M4zbqztlo0XEfJ2LEzj/FgwfgGcIdl8n7YYjTCI0BYwg==", + "dev": true, + "requires": { + "regenerator-runtime": "^0.13.4" + } + }, + "@babel/template": { + "version": "7.14.5", + "resolved": "https://registry.npmjs.org/@babel/template/-/template-7.14.5.tgz", + "integrity": "sha512-6Z3Po85sfxRGachLULUhOmvAaOo7xCvqGQtxINai2mEGPFm6pQ4z5QInFnUrRpfoSV60BnjyF5F3c+15fxFV1g==", + "dev": true, + "requires": { + "@babel/code-frame": "^7.14.5", + "@babel/parser": "^7.14.5", + "@babel/types": "^7.14.5" + } + }, + "@babel/traverse": { + "version": "7.14.7", + "resolved": "https://registry.npmjs.org/@babel/traverse/-/traverse-7.14.7.tgz", + "integrity": "sha512-9vDr5NzHu27wgwejuKL7kIOm4bwEtaPQ4Z6cpCmjSuaRqpH/7xc4qcGEscwMqlkwgcXl6MvqoAjZkQ24uSdIZQ==", + "dev": true, + "requires": { + "@babel/code-frame": "^7.14.5", + "@babel/generator": "^7.14.5", + "@babel/helper-function-name": "^7.14.5", + "@babel/helper-hoist-variables": "^7.14.5", + "@babel/helper-split-export-declaration": "^7.14.5", + "@babel/parser": "^7.14.7", + "@babel/types": "^7.14.5", + "debug": "^4.1.0", + "globals": "^11.1.0" + } + }, + "@babel/types": { + "version": "7.14.5", + "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.14.5.tgz", + "integrity": "sha512-M/NzBpEL95I5Hh4dwhin5JlE7EzO5PHMAuzjxss3tiOBD46KfQvVedN/3jEPZvdRvtsK2222XfdHogNIttFgcg==", + "dev": true, + "requires": { + "@babel/helper-validator-identifier": "^7.14.5", + "to-fast-properties": "^2.0.0" + } + }, + "@discoveryjs/json-ext": { + "version": "0.5.3", + "resolved": "https://registry.npmjs.org/@discoveryjs/json-ext/-/json-ext-0.5.3.tgz", + "integrity": "sha512-Fxt+AfXgjMoin2maPIYzFZnQjAXjAL0PHscM5pRTtatFqB+vZxAM9tLp2Optnuw3QOQC40jTNeGYFOMvyf7v9g==", + "dev": true + }, + "@nodelib/fs.scandir": { + "version": "2.1.5", + "resolved": "https://registry.npmjs.org/@nodelib/fs.scandir/-/fs.scandir-2.1.5.tgz", + "integrity": "sha512-vq24Bq3ym5HEQm2NKCr3yXDwjc7vTsEThRDnkp2DK9p1uqLR+DHurm/NOTo0KG7HYHU7eppKZj3MyqYuMBf62g==", + "dev": true, + "requires": { + "@nodelib/fs.stat": "2.0.5", + "run-parallel": "^1.1.9" + } + }, + "@nodelib/fs.stat": { + "version": "2.0.5", + "resolved": "https://registry.npmjs.org/@nodelib/fs.stat/-/fs.stat-2.0.5.tgz", + "integrity": "sha512-RkhPPp2zrqDAQA/2jNhnztcPAlv64XdhIp7a7454A5ovI7Bukxgt7MX7udwAu3zg1DcpPU0rz3VV1SeaqvY4+A==", + "dev": true + }, + "@nodelib/fs.walk": { + "version": "1.2.7", + "resolved": "https://registry.npmjs.org/@nodelib/fs.walk/-/fs.walk-1.2.7.tgz", + "integrity": "sha512-BTIhocbPBSrRmHxOAJFtR18oLhxTtAFDAvL8hY1S3iU8k+E60W/YFs4jrixGzQjMpF4qPXxIQHcjVD9dz1C2QA==", + "dev": true, + "requires": { + "@nodelib/fs.scandir": "2.1.5", + "fastq": "^1.6.0" + } + }, + "@sindresorhus/is": { + "version": "0.7.0", + "resolved": "https://registry.npmjs.org/@sindresorhus/is/-/is-0.7.0.tgz", + "integrity": "sha512-ONhaKPIufzzrlNbqtWFFd+jlnemX6lJAgq9ZeiZtS7I1PIf/la7CW4m83rTXRnVnsMbW2k56pGYu7AUFJD9Pow==", + "dev": true, + "optional": true + }, + "@types/eslint": { + "version": "7.2.13", + "resolved": "https://registry.npmjs.org/@types/eslint/-/eslint-7.2.13.tgz", + "integrity": "sha512-LKmQCWAlnVHvvXq4oasNUMTJJb2GwSyTY8+1C7OH5ILR8mPLaljv1jxL1bXW3xB3jFbQxTKxJAvI8PyjB09aBg==", + "dev": true, + "requires": { + "@types/estree": "*", + "@types/json-schema": "*" + } + }, + "@types/eslint-scope": { + "version": "3.7.0", + "resolved": "https://registry.npmjs.org/@types/eslint-scope/-/eslint-scope-3.7.0.tgz", + "integrity": "sha512-O/ql2+rrCUe2W2rs7wMR+GqPRcgB6UiqN5RhrR5xruFlY7l9YLMn0ZkDzjoHLeiFkR8MCQZVudUuuvQ2BLC9Qw==", + "dev": true, + "requires": { + "@types/eslint": "*", + "@types/estree": "*" + } + }, + "@types/estree": { + "version": "0.0.48", + "resolved": "https://registry.npmjs.org/@types/estree/-/estree-0.0.48.tgz", + "integrity": "sha512-LfZwXoGUDo0C3me81HXgkBg5CTQYb6xzEl+fNmbO4JdRiSKQ8A0GD1OBBvKAIsbCUgoyAty7m99GqqMQe784ew==", + "dev": true + }, + "@types/glob": { + "version": "7.1.3", + "resolved": "https://registry.npmjs.org/@types/glob/-/glob-7.1.3.tgz", + "integrity": "sha512-SEYeGAIQIQX8NN6LDKprLjbrd5dARM5EXsd8GI/A5l0apYI1fGMWgPHSe4ZKL4eozlAyI+doUE9XbYS4xCkQ1w==", + "dev": true, + "requires": { + "@types/minimatch": "*", + "@types/node": "*" + } + }, + "@types/html-minifier-terser": { + "version": "5.1.1", + "resolved": "https://registry.npmjs.org/@types/html-minifier-terser/-/html-minifier-terser-5.1.1.tgz", + "integrity": "sha512-giAlZwstKbmvMk1OO7WXSj4OZ0keXAcl2TQq4LWHiiPH2ByaH7WeUzng+Qej8UPxxv+8lRTuouo0iaNDBuzIBA==", + "dev": true + }, + "@types/json-schema": { + "version": "7.0.7", + "resolved": "https://registry.npmjs.org/@types/json-schema/-/json-schema-7.0.7.tgz", + "integrity": "sha512-cxWFQVseBm6O9Gbw1IWb8r6OS4OhSt3hPZLkFApLjM8TEXROBuQGLAH2i2gZpcXdLBIrpXuTDhH7Vbm1iXmNGA==", + "dev": true + }, + "@types/minimatch": { + "version": "3.0.4", + "resolved": "https://registry.npmjs.org/@types/minimatch/-/minimatch-3.0.4.tgz", + "integrity": "sha512-1z8k4wzFnNjVK/tlxvrWuK5WMt6mydWWP7+zvH5eFep4oj+UkrfiJTRtjCeBXNpwaA/FYqqtb4/QS4ianFpIRA==", + "dev": true + }, + "@types/node": { + "version": "15.12.5", + "resolved": "https://registry.npmjs.org/@types/node/-/node-15.12.5.tgz", + "integrity": "sha512-se3yX7UHv5Bscf8f1ERKvQOD6sTyycH3hdaoozvaLxgUiY5lIGEeH37AD0G0Qi9kPqihPn0HOfd2yaIEN9VwEg==", + "dev": true + }, + "@types/q": { + "version": "1.5.4", + "resolved": "https://registry.npmjs.org/@types/q/-/q-1.5.4.tgz", + "integrity": "sha512-1HcDas8SEj4z1Wc696tH56G8OlRaH/sqZOynNNB+HF0WOeXPaxTtbYzJY2oEfiUxjSKjhCKr+MvR7dCHcEelug==", + "dev": true, + "optional": true + }, + "@webassemblyjs/ast": { + "version": "1.11.0", + "resolved": "https://registry.npmjs.org/@webassemblyjs/ast/-/ast-1.11.0.tgz", + "integrity": "sha512-kX2W49LWsbthrmIRMbQZuQDhGtjyqXfEmmHyEi4XWnSZtPmxY0+3anPIzsnRb45VH/J55zlOfWvZuY47aJZTJg==", + "dev": true, + "requires": { + "@webassemblyjs/helper-numbers": "1.11.0", + "@webassemblyjs/helper-wasm-bytecode": "1.11.0" + } + }, + "@webassemblyjs/floating-point-hex-parser": { + "version": "1.11.0", + "resolved": "https://registry.npmjs.org/@webassemblyjs/floating-point-hex-parser/-/floating-point-hex-parser-1.11.0.tgz", + "integrity": "sha512-Q/aVYs/VnPDVYvsCBL/gSgwmfjeCb4LW8+TMrO3cSzJImgv8lxxEPM2JA5jMrivE7LSz3V+PFqtMbls3m1exDA==", + "dev": true + }, + "@webassemblyjs/helper-api-error": { + "version": "1.11.0", + "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-api-error/-/helper-api-error-1.11.0.tgz", + "integrity": "sha512-baT/va95eXiXb2QflSx95QGT5ClzWpGaa8L7JnJbgzoYeaA27FCvuBXU758l+KXWRndEmUXjP0Q5fibhavIn8w==", + "dev": true + }, + "@webassemblyjs/helper-buffer": { + "version": "1.11.0", + "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-buffer/-/helper-buffer-1.11.0.tgz", + "integrity": "sha512-u9HPBEl4DS+vA8qLQdEQ6N/eJQ7gT7aNvMIo8AAWvAl/xMrcOSiI2M0MAnMCy3jIFke7bEee/JwdX1nUpCtdyA==", + "dev": true + }, + "@webassemblyjs/helper-numbers": { + "version": "1.11.0", + "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-numbers/-/helper-numbers-1.11.0.tgz", + "integrity": "sha512-DhRQKelIj01s5IgdsOJMKLppI+4zpmcMQ3XboFPLwCpSNH6Hqo1ritgHgD0nqHeSYqofA6aBN/NmXuGjM1jEfQ==", + "dev": true, + "requires": { + "@webassemblyjs/floating-point-hex-parser": "1.11.0", + "@webassemblyjs/helper-api-error": "1.11.0", + "@xtuc/long": "4.2.2" + } + }, + "@webassemblyjs/helper-wasm-bytecode": { + "version": "1.11.0", + "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-wasm-bytecode/-/helper-wasm-bytecode-1.11.0.tgz", + "integrity": "sha512-MbmhvxXExm542tWREgSFnOVo07fDpsBJg3sIl6fSp9xuu75eGz5lz31q7wTLffwL3Za7XNRCMZy210+tnsUSEA==", + "dev": true + }, + "@webassemblyjs/helper-wasm-section": { + "version": "1.11.0", + "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-wasm-section/-/helper-wasm-section-1.11.0.tgz", + "integrity": "sha512-3Eb88hcbfY/FCukrg6i3EH8H2UsD7x8Vy47iVJrP967A9JGqgBVL9aH71SETPx1JrGsOUVLo0c7vMCN22ytJew==", + "dev": true, + "requires": { + "@webassemblyjs/ast": "1.11.0", + "@webassemblyjs/helper-buffer": "1.11.0", + "@webassemblyjs/helper-wasm-bytecode": "1.11.0", + "@webassemblyjs/wasm-gen": "1.11.0" + } + }, + "@webassemblyjs/ieee754": { + "version": "1.11.0", + "resolved": "https://registry.npmjs.org/@webassemblyjs/ieee754/-/ieee754-1.11.0.tgz", + "integrity": "sha512-KXzOqpcYQwAfeQ6WbF6HXo+0udBNmw0iXDmEK5sFlmQdmND+tr773Ti8/5T/M6Tl/413ArSJErATd8In3B+WBA==", + "dev": true, + "requires": { + "@xtuc/ieee754": "^1.2.0" + } + }, + "@webassemblyjs/leb128": { + "version": "1.11.0", + "resolved": "https://registry.npmjs.org/@webassemblyjs/leb128/-/leb128-1.11.0.tgz", + "integrity": "sha512-aqbsHa1mSQAbeeNcl38un6qVY++hh8OpCOzxhixSYgbRfNWcxJNJQwe2rezK9XEcssJbbWIkblaJRwGMS9zp+g==", + "dev": true, + "requires": { + "@xtuc/long": "4.2.2" + } + }, + "@webassemblyjs/utf8": { + "version": "1.11.0", + "resolved": "https://registry.npmjs.org/@webassemblyjs/utf8/-/utf8-1.11.0.tgz", + "integrity": "sha512-A/lclGxH6SpSLSyFowMzO/+aDEPU4hvEiooCMXQPcQFPPJaYcPQNKGOCLUySJsYJ4trbpr+Fs08n4jelkVTGVw==", + "dev": true + }, + "@webassemblyjs/wasm-edit": { + "version": "1.11.0", + "resolved": "https://registry.npmjs.org/@webassemblyjs/wasm-edit/-/wasm-edit-1.11.0.tgz", + "integrity": "sha512-JHQ0damXy0G6J9ucyKVXO2j08JVJ2ntkdJlq1UTiUrIgfGMmA7Ik5VdC/L8hBK46kVJgujkBIoMtT8yVr+yVOQ==", + "dev": true, + "requires": { + "@webassemblyjs/ast": "1.11.0", + "@webassemblyjs/helper-buffer": "1.11.0", + "@webassemblyjs/helper-wasm-bytecode": "1.11.0", + "@webassemblyjs/helper-wasm-section": "1.11.0", + "@webassemblyjs/wasm-gen": "1.11.0", + "@webassemblyjs/wasm-opt": "1.11.0", + "@webassemblyjs/wasm-parser": "1.11.0", + "@webassemblyjs/wast-printer": "1.11.0" + } + }, + "@webassemblyjs/wasm-gen": { + "version": "1.11.0", + "resolved": "https://registry.npmjs.org/@webassemblyjs/wasm-gen/-/wasm-gen-1.11.0.tgz", + "integrity": "sha512-BEUv1aj0WptCZ9kIS30th5ILASUnAPEvE3tVMTrItnZRT9tXCLW2LEXT8ezLw59rqPP9klh9LPmpU+WmRQmCPQ==", + "dev": true, + "requires": { + "@webassemblyjs/ast": "1.11.0", + "@webassemblyjs/helper-wasm-bytecode": "1.11.0", + "@webassemblyjs/ieee754": "1.11.0", + "@webassemblyjs/leb128": "1.11.0", + "@webassemblyjs/utf8": "1.11.0" + } + }, + "@webassemblyjs/wasm-opt": { + "version": "1.11.0", + "resolved": "https://registry.npmjs.org/@webassemblyjs/wasm-opt/-/wasm-opt-1.11.0.tgz", + "integrity": "sha512-tHUSP5F4ywyh3hZ0+fDQuWxKx3mJiPeFufg+9gwTpYp324mPCQgnuVKwzLTZVqj0duRDovnPaZqDwoyhIO8kYg==", + "dev": true, + "requires": { + "@webassemblyjs/ast": "1.11.0", + "@webassemblyjs/helper-buffer": "1.11.0", + "@webassemblyjs/wasm-gen": "1.11.0", + "@webassemblyjs/wasm-parser": "1.11.0" + } + }, + "@webassemblyjs/wasm-parser": { + "version": "1.11.0", + "resolved": "https://registry.npmjs.org/@webassemblyjs/wasm-parser/-/wasm-parser-1.11.0.tgz", + "integrity": "sha512-6L285Sgu9gphrcpDXINvm0M9BskznnzJTE7gYkjDbxET28shDqp27wpruyx3C2S/dvEwiigBwLA1cz7lNUi0kw==", + "dev": true, + "requires": { + "@webassemblyjs/ast": "1.11.0", + "@webassemblyjs/helper-api-error": "1.11.0", + "@webassemblyjs/helper-wasm-bytecode": "1.11.0", + "@webassemblyjs/ieee754": "1.11.0", + "@webassemblyjs/leb128": "1.11.0", + "@webassemblyjs/utf8": "1.11.0" + } + }, + "@webassemblyjs/wast-printer": { + "version": "1.11.0", + "resolved": "https://registry.npmjs.org/@webassemblyjs/wast-printer/-/wast-printer-1.11.0.tgz", + "integrity": "sha512-Fg5OX46pRdTgB7rKIUojkh9vXaVN6sGYCnEiJN1GYkb0RPwShZXp6KTDqmoMdQPKhcroOXh3fEzmkWmCYaKYhQ==", + "dev": true, + "requires": { + "@webassemblyjs/ast": "1.11.0", + "@xtuc/long": "4.2.2" + } + }, + "@webpack-cli/configtest": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/@webpack-cli/configtest/-/configtest-1.0.4.tgz", + "integrity": "sha512-cs3XLy+UcxiP6bj0A6u7MLLuwdXJ1c3Dtc0RkKg+wiI1g/Ti1om8+/2hc2A2B60NbBNAbMgyBMHvyymWm/j4wQ==", + "dev": true + }, + "@webpack-cli/info": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/@webpack-cli/info/-/info-1.3.0.tgz", + "integrity": "sha512-ASiVB3t9LOKHs5DyVUcxpraBXDOKubYu/ihHhU+t1UPpxsivg6Od2E2qU4gJCekfEddzRBzHhzA/Acyw/mlK/w==", + "dev": true, + "requires": { + "envinfo": "^7.7.3" + } + }, + "@webpack-cli/serve": { + "version": "1.5.1", + "resolved": "https://registry.npmjs.org/@webpack-cli/serve/-/serve-1.5.1.tgz", + "integrity": "sha512-4vSVUiOPJLmr45S8rMGy7WDvpWxfFxfP/Qx/cxZFCfvoypTYpPPL1X8VIZMe0WTA+Jr7blUxwUSEZNkjoMTgSw==", + "dev": true + }, + "@xtuc/ieee754": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/@xtuc/ieee754/-/ieee754-1.2.0.tgz", + "integrity": "sha512-DX8nKgqcGwsc0eJSqYt5lwP4DH5FlHnmuWWBRy7X0NcaGR0ZtuyeESgMwTYVEtxmsNGY+qit4QYT/MIYTOTPeA==", + "dev": true + }, + "@xtuc/long": { + "version": "4.2.2", + "resolved": "https://registry.npmjs.org/@xtuc/long/-/long-4.2.2.tgz", + "integrity": "sha512-NuHqBY1PB/D8xU6s/thBgOAiAP7HOYDQ32+BFZILJ8ivkUkAHQnWfn6WhL79Owj1qmUnoN/YPhktdIoucipkAQ==", + "dev": true + }, + "acorn": { + "version": "8.4.1", + "resolved": "https://registry.npmjs.org/acorn/-/acorn-8.4.1.tgz", + "integrity": "sha512-asabaBSkEKosYKMITunzX177CXxQ4Q8BSSzMTKD+FefUhipQC70gfW5SiUDhYQ3vk8G+81HqQk7Fv9OXwwn9KA==", + "dev": true + }, + "ajv": { + "version": "6.12.6", + "resolved": "https://registry.npmjs.org/ajv/-/ajv-6.12.6.tgz", + "integrity": "sha512-j3fVLgvTo527anyYyJOGTYJbG+vnnQYvE0m5mmkc1TK+nxAppkCLMIL0aZ4dblVCNoGShhm+kzE4ZUykBoMg4g==", + "dev": true, + "requires": { + "fast-deep-equal": "^3.1.1", + "fast-json-stable-stringify": "^2.0.0", + "json-schema-traverse": "^0.4.1", + "uri-js": "^4.2.2" + } + }, + "ajv-keywords": { + "version": "3.5.2", + "resolved": "https://registry.npmjs.org/ajv-keywords/-/ajv-keywords-3.5.2.tgz", + "integrity": "sha512-5p6WTN0DdTGVQk6VjcEju19IgaHudalcfabD7yhDGeA6bcQnmL+CpveLJq/3hvfwd1aof6L386Ougkx6RfyMIQ==", + "dev": true + }, + "ansi-regex": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-2.1.1.tgz", + "integrity": "sha1-w7M6te42DYbg5ijwRorn7yfWVN8=", + "dev": true + }, + "ansi-styles": { + "version": "3.2.1", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.1.tgz", + "integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==", + "dev": true, + "requires": { + "color-convert": "^1.9.0" + } + }, + "anymatch": { + "version": "3.1.2", + "resolved": "https://registry.npmjs.org/anymatch/-/anymatch-3.1.2.tgz", + "integrity": "sha512-P43ePfOAIupkguHUycrc4qJ9kz8ZiuOUijaETwX7THt0Y/GNK7v0aa8rY816xWjZ7rJdA5XdMcpVFTKMq+RvWg==", + "dev": true, + "requires": { + "normalize-path": "^3.0.0", + "picomatch": "^2.0.4" + } + }, + "arch": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/arch/-/arch-2.2.0.tgz", + "integrity": "sha512-Of/R0wqp83cgHozfIYLbBMnej79U/SVGOOyuB3VVFv1NRM/PSFMK12x9KVtiYzJqmnU5WR2qp0Z5rHb7sWGnFQ==", + "dev": true, + "optional": true + }, + "archive-type": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/archive-type/-/archive-type-4.0.0.tgz", + "integrity": "sha1-+S5yIzBW38aWlHJ0nCZ72wRrHXA=", + "dev": true, + "optional": true, + "requires": { + "file-type": "^4.2.0" + }, + "dependencies": { + "file-type": { + "version": "4.4.0", + "resolved": "https://registry.npmjs.org/file-type/-/file-type-4.4.0.tgz", + "integrity": "sha1-G2AOX8ofvcboDApwxxyNul95BsU=", + "dev": true, + "optional": true + } + } + }, + "argparse": { + "version": "1.0.10", + "resolved": "https://registry.npmjs.org/argparse/-/argparse-1.0.10.tgz", + "integrity": "sha512-o5Roy6tNG4SL/FOkCAN6RzjiakZS25RLYFrcMttJqbdd8BWrnA+fGz57iN5Pb06pvBGvl5gQ0B48dJlslXvoTg==", + "dev": true, + "optional": true, + "requires": { + "sprintf-js": "~1.0.2" + } + }, + "array-find-index": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/array-find-index/-/array-find-index-1.0.2.tgz", + "integrity": "sha1-3wEKoSh+Fku9pvlyOwqWoexBh6E=", + "dev": true, + "optional": true + }, + "array-union": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/array-union/-/array-union-2.1.0.tgz", + "integrity": "sha512-HGyxoOTYUyCM6stUe6EJgnd4EoewAI7zMdfqO+kGjnlZmBDz/cR5pf8r/cR4Wq60sL/p0IkcjUEEPwS3GFrIyw==", + "dev": true + }, + "babel-loader": { + "version": "8.2.2", + "resolved": "https://registry.npmjs.org/babel-loader/-/babel-loader-8.2.2.tgz", + "integrity": "sha512-JvTd0/D889PQBtUXJ2PXaKU/pjZDMtHA9V2ecm+eNRmmBCMR09a+fmpGTNwnJtFmFl5Ei7Vy47LjBb+L0wQ99g==", + "dev": true, + "requires": { + "find-cache-dir": "^3.3.1", + "loader-utils": "^1.4.0", + "make-dir": "^3.1.0", + "schema-utils": "^2.6.5" + } + }, + "babel-plugin-dynamic-import-node": { + "version": "2.3.3", + "resolved": "https://registry.npmjs.org/babel-plugin-dynamic-import-node/-/babel-plugin-dynamic-import-node-2.3.3.tgz", + "integrity": "sha512-jZVI+s9Zg3IqA/kdi0i6UDCybUI3aSBLnglhYbSSjKlV7yF1F/5LWv8MakQmvYpnbJDS6fcBL2KzHSxNCMtWSQ==", + "dev": true, + "requires": { + "object.assign": "^4.1.0" + } + }, + "babel-plugin-polyfill-corejs2": { + "version": "0.2.2", + "resolved": "https://registry.npmjs.org/babel-plugin-polyfill-corejs2/-/babel-plugin-polyfill-corejs2-0.2.2.tgz", + "integrity": "sha512-kISrENsJ0z5dNPq5eRvcctITNHYXWOA4DUZRFYCz3jYCcvTb/A546LIddmoGNMVYg2U38OyFeNosQwI9ENTqIQ==", + "dev": true, + "requires": { + "@babel/compat-data": "^7.13.11", + "@babel/helper-define-polyfill-provider": "^0.2.2", + "semver": "^6.1.1" + } + }, + "babel-plugin-polyfill-corejs3": { + "version": "0.2.3", + "resolved": "https://registry.npmjs.org/babel-plugin-polyfill-corejs3/-/babel-plugin-polyfill-corejs3-0.2.3.tgz", + "integrity": "sha512-rCOFzEIJpJEAU14XCcV/erIf/wZQMmMT5l5vXOpL5uoznyOGfDIjPj6FVytMvtzaKSTSVKouOCTPJ5OMUZH30g==", + "dev": true, + "requires": { + "@babel/helper-define-polyfill-provider": "^0.2.2", + "core-js-compat": "^3.14.0" + } + }, + "babel-plugin-polyfill-regenerator": { + "version": "0.2.2", + "resolved": "https://registry.npmjs.org/babel-plugin-polyfill-regenerator/-/babel-plugin-polyfill-regenerator-0.2.2.tgz", + "integrity": "sha512-Goy5ghsc21HgPDFtzRkSirpZVW35meGoTmTOb2bxqdl60ghub4xOidgNTHaZfQ2FaxQsKmwvXtOAkcIS4SMBWg==", + "dev": true, + "requires": { + "@babel/helper-define-polyfill-provider": "^0.2.2" + } + }, + "balanced-match": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-1.0.2.tgz", + "integrity": "sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw==", + "dev": true + }, + "base64-js": { + "version": "1.5.1", + "resolved": "https://registry.npmjs.org/base64-js/-/base64-js-1.5.1.tgz", + "integrity": "sha512-AKpaYlHn8t4SVbOHCy+b5+KKgvR4vrsD8vbvrbiQJps7fKDTkjkDry6ji0rUJjC0kzbNePLwzxq8iypo41qeWA==", + "dev": true, + "optional": true + }, + "big.js": { + "version": "5.2.2", + "resolved": "https://registry.npmjs.org/big.js/-/big.js-5.2.2.tgz", + "integrity": "sha512-vyL2OymJxmarO8gxMr0mhChsO9QGwhynfuu4+MHTAW6czfq9humCB7rKpUjDd9YUiDPU4mzpyupFSvOClAwbmQ==", + "dev": true + }, + "bin-build": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/bin-build/-/bin-build-3.0.0.tgz", + "integrity": "sha512-jcUOof71/TNAI2uM5uoUaDq2ePcVBQ3R/qhxAz1rX7UfvduAL/RXD3jXzvn8cVcDJdGVkiR1shal3OH0ImpuhA==", + "dev": true, + "optional": true, + "requires": { + "decompress": "^4.0.0", + "download": "^6.2.2", + "execa": "^0.7.0", + "p-map-series": "^1.0.0", + "tempfile": "^2.0.0" + }, + "dependencies": { + "cross-spawn": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-5.1.0.tgz", + "integrity": "sha1-6L0O/uWPz/b4+UUQoKVUu/ojVEk=", + "dev": true, + "optional": true, + "requires": { + "lru-cache": "^4.0.1", + "shebang-command": "^1.2.0", + "which": "^1.2.9" + } + }, + "execa": { + "version": "0.7.0", + "resolved": "https://registry.npmjs.org/execa/-/execa-0.7.0.tgz", + "integrity": "sha1-lEvs00zEHuMqY6n68nrVpl/Fl3c=", + "dev": true, + "optional": true, + "requires": { + "cross-spawn": "^5.0.1", + "get-stream": "^3.0.0", + "is-stream": "^1.1.0", + "npm-run-path": "^2.0.0", + "p-finally": "^1.0.0", + "signal-exit": "^3.0.0", + "strip-eof": "^1.0.0" + } + }, + "get-stream": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/get-stream/-/get-stream-3.0.0.tgz", + "integrity": "sha1-jpQ9E1jcN1VQVOy+LtsFqhdO3hQ=", + "dev": true, + "optional": true + }, + "is-stream": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/is-stream/-/is-stream-1.1.0.tgz", + "integrity": "sha1-EtSj3U5o4Lec6428hBc66A2RykQ=", + "dev": true, + "optional": true + }, + "lru-cache": { + "version": "4.1.5", + "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-4.1.5.tgz", + "integrity": "sha512-sWZlbEP2OsHNkXrMl5GYk/jKk70MBng6UU4YI/qGDYbgf6YbP4EvmqISbXCoJiRKs+1bSpFHVgQxvJ17F2li5g==", + "dev": true, + "optional": true, + "requires": { + "pseudomap": "^1.0.2", + "yallist": "^2.1.2" + } + }, + "npm-run-path": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/npm-run-path/-/npm-run-path-2.0.2.tgz", + "integrity": "sha1-NakjLfo11wZ7TLLd8jV7GHFTbF8=", + "dev": true, + "optional": true, + "requires": { + "path-key": "^2.0.0" + } + }, + "path-key": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/path-key/-/path-key-2.0.1.tgz", + "integrity": "sha1-QRyttXTFoUDTpLGRDUDYDMn0C0A=", + "dev": true, + "optional": true + }, + "shebang-command": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/shebang-command/-/shebang-command-1.2.0.tgz", + "integrity": "sha1-RKrGW2lbAzmJaMOfNj/uXer98eo=", + "dev": true, + "optional": true, + "requires": { + "shebang-regex": "^1.0.0" + } + }, + "shebang-regex": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/shebang-regex/-/shebang-regex-1.0.0.tgz", + "integrity": "sha1-2kL0l0DAtC2yypcoVxyxkMmO/qM=", + "dev": true, + "optional": true + }, + "which": { + "version": "1.3.1", + "resolved": "https://registry.npmjs.org/which/-/which-1.3.1.tgz", + "integrity": "sha512-HxJdYWq1MTIQbJ3nw0cqssHoTNU267KlrDuGZ1WYlxDStUtKUhOaJmh112/TZmHxxUfuJqPXSOm7tDyas0OSIQ==", + "dev": true, + "optional": true, + "requires": { + "isexe": "^2.0.0" + } + }, + "yallist": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/yallist/-/yallist-2.1.2.tgz", + "integrity": "sha1-HBH5IY8HYImkfdUS+TxmmaaoHVI=", + "dev": true, + "optional": true + } + } + }, + "bin-check": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/bin-check/-/bin-check-4.1.0.tgz", + "integrity": "sha512-b6weQyEUKsDGFlACWSIOfveEnImkJyK/FGW6FAG42loyoquvjdtOIqO6yBFzHyqyVVhNgNkQxxx09SFLK28YnA==", + "dev": true, + "optional": true, + "requires": { + "execa": "^0.7.0", + "executable": "^4.1.0" + }, + "dependencies": { + "cross-spawn": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-5.1.0.tgz", + "integrity": "sha1-6L0O/uWPz/b4+UUQoKVUu/ojVEk=", + "dev": true, + "optional": true, + "requires": { + "lru-cache": "^4.0.1", + "shebang-command": "^1.2.0", + "which": "^1.2.9" + } + }, + "execa": { + "version": "0.7.0", + "resolved": "https://registry.npmjs.org/execa/-/execa-0.7.0.tgz", + "integrity": "sha1-lEvs00zEHuMqY6n68nrVpl/Fl3c=", + "dev": true, + "optional": true, + "requires": { + "cross-spawn": "^5.0.1", + "get-stream": "^3.0.0", + "is-stream": "^1.1.0", + "npm-run-path": "^2.0.0", + "p-finally": "^1.0.0", + "signal-exit": "^3.0.0", + "strip-eof": "^1.0.0" + } + }, + "get-stream": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/get-stream/-/get-stream-3.0.0.tgz", + "integrity": "sha1-jpQ9E1jcN1VQVOy+LtsFqhdO3hQ=", + "dev": true, + "optional": true + }, + "is-stream": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/is-stream/-/is-stream-1.1.0.tgz", + "integrity": "sha1-EtSj3U5o4Lec6428hBc66A2RykQ=", + "dev": true, + "optional": true + }, + "lru-cache": { + "version": "4.1.5", + "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-4.1.5.tgz", + "integrity": "sha512-sWZlbEP2OsHNkXrMl5GYk/jKk70MBng6UU4YI/qGDYbgf6YbP4EvmqISbXCoJiRKs+1bSpFHVgQxvJ17F2li5g==", + "dev": true, + "optional": true, + "requires": { + "pseudomap": "^1.0.2", + "yallist": "^2.1.2" + } + }, + "npm-run-path": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/npm-run-path/-/npm-run-path-2.0.2.tgz", + "integrity": "sha1-NakjLfo11wZ7TLLd8jV7GHFTbF8=", + "dev": true, + "optional": true, + "requires": { + "path-key": "^2.0.0" + } + }, + "path-key": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/path-key/-/path-key-2.0.1.tgz", + "integrity": "sha1-QRyttXTFoUDTpLGRDUDYDMn0C0A=", + "dev": true, + "optional": true + }, + "shebang-command": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/shebang-command/-/shebang-command-1.2.0.tgz", + "integrity": "sha1-RKrGW2lbAzmJaMOfNj/uXer98eo=", + "dev": true, + "optional": true, + "requires": { + "shebang-regex": "^1.0.0" + } + }, + "shebang-regex": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/shebang-regex/-/shebang-regex-1.0.0.tgz", + "integrity": "sha1-2kL0l0DAtC2yypcoVxyxkMmO/qM=", + "dev": true, + "optional": true + }, + "which": { + "version": "1.3.1", + "resolved": "https://registry.npmjs.org/which/-/which-1.3.1.tgz", + "integrity": "sha512-HxJdYWq1MTIQbJ3nw0cqssHoTNU267KlrDuGZ1WYlxDStUtKUhOaJmh112/TZmHxxUfuJqPXSOm7tDyas0OSIQ==", + "dev": true, + "optional": true, + "requires": { + "isexe": "^2.0.0" + } + }, + "yallist": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/yallist/-/yallist-2.1.2.tgz", + "integrity": "sha1-HBH5IY8HYImkfdUS+TxmmaaoHVI=", + "dev": true, + "optional": true + } + } + }, + "bin-version": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/bin-version/-/bin-version-3.1.0.tgz", + "integrity": "sha512-Mkfm4iE1VFt4xd4vH+gx+0/71esbfus2LsnCGe8Pi4mndSPyT+NGES/Eg99jx8/lUGWfu3z2yuB/bt5UB+iVbQ==", + "dev": true, + "optional": true, + "requires": { + "execa": "^1.0.0", + "find-versions": "^3.0.0" + }, + "dependencies": { + "cross-spawn": { + "version": "6.0.5", + "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-6.0.5.tgz", + "integrity": "sha512-eTVLrBSt7fjbDygz805pMnstIs2VTBNkRm0qxZd+M7A5XDdxVRWO5MxGBXZhjY4cqLYLdtrGqRf8mBPmzwSpWQ==", + "dev": true, + "optional": true, + "requires": { + "nice-try": "^1.0.4", + "path-key": "^2.0.1", + "semver": "^5.5.0", + "shebang-command": "^1.2.0", + "which": "^1.2.9" + } + }, + "execa": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/execa/-/execa-1.0.0.tgz", + "integrity": "sha512-adbxcyWV46qiHyvSp50TKt05tB4tK3HcmF7/nxfAdhnox83seTDbwnaqKO4sXRy7roHAIFqJP/Rw/AuEbX61LA==", + "dev": true, + "optional": true, + "requires": { + "cross-spawn": "^6.0.0", + "get-stream": "^4.0.0", + "is-stream": "^1.1.0", + "npm-run-path": "^2.0.0", + "p-finally": "^1.0.0", + "signal-exit": "^3.0.0", + "strip-eof": "^1.0.0" + } + }, + "get-stream": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/get-stream/-/get-stream-4.1.0.tgz", + "integrity": "sha512-GMat4EJ5161kIy2HevLlr4luNjBgvmj413KaQA7jt4V8B4RDsfpHk7WQ9GVqfYyyx8OS/L66Kox+rJRNklLK7w==", + "dev": true, + "optional": true, + "requires": { + "pump": "^3.0.0" + } + }, + "is-stream": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/is-stream/-/is-stream-1.1.0.tgz", + "integrity": "sha1-EtSj3U5o4Lec6428hBc66A2RykQ=", + "dev": true, + "optional": true + }, + "npm-run-path": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/npm-run-path/-/npm-run-path-2.0.2.tgz", + "integrity": "sha1-NakjLfo11wZ7TLLd8jV7GHFTbF8=", + "dev": true, + "optional": true, + "requires": { + "path-key": "^2.0.0" + } + }, + "path-key": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/path-key/-/path-key-2.0.1.tgz", + "integrity": "sha1-QRyttXTFoUDTpLGRDUDYDMn0C0A=", + "dev": true, + "optional": true + }, + "semver": { + "version": "5.7.1", + "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.1.tgz", + "integrity": "sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ==", + "dev": true, + "optional": true + }, + "shebang-command": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/shebang-command/-/shebang-command-1.2.0.tgz", + "integrity": "sha1-RKrGW2lbAzmJaMOfNj/uXer98eo=", + "dev": true, + "optional": true, + "requires": { + "shebang-regex": "^1.0.0" + } + }, + "shebang-regex": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/shebang-regex/-/shebang-regex-1.0.0.tgz", + "integrity": "sha1-2kL0l0DAtC2yypcoVxyxkMmO/qM=", + "dev": true, + "optional": true + }, + "which": { + "version": "1.3.1", + "resolved": "https://registry.npmjs.org/which/-/which-1.3.1.tgz", + "integrity": "sha512-HxJdYWq1MTIQbJ3nw0cqssHoTNU267KlrDuGZ1WYlxDStUtKUhOaJmh112/TZmHxxUfuJqPXSOm7tDyas0OSIQ==", + "dev": true, + "optional": true, + "requires": { + "isexe": "^2.0.0" + } + } + } + }, + "bin-version-check": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/bin-version-check/-/bin-version-check-4.0.0.tgz", + "integrity": "sha512-sR631OrhC+1f8Cvs8WyVWOA33Y8tgwjETNPyyD/myRBXLkfS/vl74FmH/lFcRl9KY3zwGh7jFhvyk9vV3/3ilQ==", + "dev": true, + "optional": true, + "requires": { + "bin-version": "^3.0.0", + "semver": "^5.6.0", + "semver-truncate": "^1.1.2" + }, + "dependencies": { + "semver": { + "version": "5.7.1", + "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.1.tgz", + "integrity": "sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ==", + "dev": true, + "optional": true + } + } + }, + "bin-wrapper": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/bin-wrapper/-/bin-wrapper-4.1.0.tgz", + "integrity": "sha512-hfRmo7hWIXPkbpi0ZltboCMVrU+0ClXR/JgbCKKjlDjQf6igXa7OwdqNcFWQZPZTgiY7ZpzE3+LjjkLiTN2T7Q==", + "dev": true, + "optional": true, + "requires": { + "bin-check": "^4.1.0", + "bin-version-check": "^4.0.0", + "download": "^7.1.0", + "import-lazy": "^3.1.0", + "os-filter-obj": "^2.0.0", + "pify": "^4.0.1" + }, + "dependencies": { + "download": { + "version": "7.1.0", + "resolved": "https://registry.npmjs.org/download/-/download-7.1.0.tgz", + "integrity": "sha512-xqnBTVd/E+GxJVrX5/eUJiLYjCGPwMpdL+jGhGU57BvtcA7wwhtHVbXBeUk51kOpW3S7Jn3BQbN9Q1R1Km2qDQ==", + "dev": true, + "optional": true, + "requires": { + "archive-type": "^4.0.0", + "caw": "^2.0.1", + "content-disposition": "^0.5.2", + "decompress": "^4.2.0", + "ext-name": "^5.0.0", + "file-type": "^8.1.0", + "filenamify": "^2.0.0", + "get-stream": "^3.0.0", + "got": "^8.3.1", + "make-dir": "^1.2.0", + "p-event": "^2.1.0", + "pify": "^3.0.0" + }, + "dependencies": { + "pify": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/pify/-/pify-3.0.0.tgz", + "integrity": "sha1-5aSs0sEB/fPZpNB/DbxNtJ3SgXY=", + "dev": true, + "optional": true + } + } + }, + "file-type": { + "version": "8.1.0", + "resolved": "https://registry.npmjs.org/file-type/-/file-type-8.1.0.tgz", + "integrity": "sha512-qyQ0pzAy78gVoJsmYeNgl8uH8yKhr1lVhW7JbzJmnlRi0I4R2eEDEJZVKG8agpDnLpacwNbDhLNG/LMdxHD2YQ==", + "dev": true, + "optional": true + }, + "get-stream": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/get-stream/-/get-stream-3.0.0.tgz", + "integrity": "sha1-jpQ9E1jcN1VQVOy+LtsFqhdO3hQ=", + "dev": true, + "optional": true + }, + "got": { + "version": "8.3.2", + "resolved": "https://registry.npmjs.org/got/-/got-8.3.2.tgz", + "integrity": "sha512-qjUJ5U/hawxosMryILofZCkm3C84PLJS/0grRIpjAwu+Lkxxj5cxeCU25BG0/3mDSpXKTyZr8oh8wIgLaH0QCw==", + "dev": true, + "optional": true, + "requires": { + "@sindresorhus/is": "^0.7.0", + "cacheable-request": "^2.1.1", + "decompress-response": "^3.3.0", + "duplexer3": "^0.1.4", + "get-stream": "^3.0.0", + "into-stream": "^3.1.0", + "is-retry-allowed": "^1.1.0", + "isurl": "^1.0.0-alpha5", + "lowercase-keys": "^1.0.0", + "mimic-response": "^1.0.0", + "p-cancelable": "^0.4.0", + "p-timeout": "^2.0.1", + "pify": "^3.0.0", + "safe-buffer": "^5.1.1", + "timed-out": "^4.0.1", + "url-parse-lax": "^3.0.0", + "url-to-options": "^1.0.1" + }, + "dependencies": { + "pify": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/pify/-/pify-3.0.0.tgz", + "integrity": "sha1-5aSs0sEB/fPZpNB/DbxNtJ3SgXY=", + "dev": true, + "optional": true + } + } + }, + "make-dir": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/make-dir/-/make-dir-1.3.0.tgz", + "integrity": "sha512-2w31R7SJtieJJnQtGc7RVL2StM2vGYVfqUOvUDxH6bC6aJTxPxTF0GnIgCyu7tjockiUWAYQRbxa7vKn34s5sQ==", + "dev": true, + "optional": true, + "requires": { + "pify": "^3.0.0" + }, + "dependencies": { + "pify": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/pify/-/pify-3.0.0.tgz", + "integrity": "sha1-5aSs0sEB/fPZpNB/DbxNtJ3SgXY=", + "dev": true, + "optional": true + } + } + }, + "p-cancelable": { + "version": "0.4.1", + "resolved": "https://registry.npmjs.org/p-cancelable/-/p-cancelable-0.4.1.tgz", + "integrity": "sha512-HNa1A8LvB1kie7cERyy21VNeHb2CWJJYqyyC2o3klWFfMGlFmWv2Z7sFgZH8ZiaYL95ydToKTFVXgMV/Os0bBQ==", + "dev": true, + "optional": true + }, + "p-event": { + "version": "2.3.1", + "resolved": "https://registry.npmjs.org/p-event/-/p-event-2.3.1.tgz", + "integrity": "sha512-NQCqOFhbpVTMX4qMe8PF8lbGtzZ+LCiN7pcNrb/413Na7+TRoe1xkKUzuWa/YEJdGQ0FvKtj35EEbDoVPO2kbA==", + "dev": true, + "optional": true, + "requires": { + "p-timeout": "^2.0.1" + } + }, + "p-timeout": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/p-timeout/-/p-timeout-2.0.1.tgz", + "integrity": "sha512-88em58dDVB/KzPEx1X0N3LwFfYZPyDc4B6eF38M1rk9VTZMbxXXgjugz8mmwpS9Ox4BDZ+t6t3QP5+/gazweIA==", + "dev": true, + "optional": true, + "requires": { + "p-finally": "^1.0.0" + } + }, + "pify": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/pify/-/pify-4.0.1.tgz", + "integrity": "sha512-uB80kBFb/tfd68bVleG9T5GGsGPjJrLAUpR5PZIrhBnIaRTQRjqdJSsIKkOP6OAIFbj7GOrcudc5pNjZ+geV2g==", + "dev": true, + "optional": true + }, + "prepend-http": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/prepend-http/-/prepend-http-2.0.0.tgz", + "integrity": "sha1-6SQ0v6XqjBn0HN/UAddBo8gZ2Jc=", + "dev": true, + "optional": true + }, + "url-parse-lax": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/url-parse-lax/-/url-parse-lax-3.0.0.tgz", + "integrity": "sha1-FrXK/Afb42dsGxmZF3gj1lA6yww=", + "dev": true, + "optional": true, + "requires": { + "prepend-http": "^2.0.0" + } + } + } + }, + "binary-extensions": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/binary-extensions/-/binary-extensions-2.2.0.tgz", + "integrity": "sha512-jDctJ/IVQbZoJykoeHbhXpOlNBqGNcwXJKJog42E5HDPUwQTSdjCHdihjj0DlnheQ7blbT6dHOafNAiS8ooQKA==", + "dev": true + }, + "bl": { + "version": "1.2.3", + "resolved": "https://registry.npmjs.org/bl/-/bl-1.2.3.tgz", + "integrity": "sha512-pvcNpa0UU69UT341rO6AYy4FVAIkUHuZXRIWbq+zHnsVcRzDDjIAhGuuYoi0d//cwIwtt4pkpKycWEfjdV+vww==", + "dev": true, + "optional": true, + "requires": { + "readable-stream": "^2.3.5", + "safe-buffer": "^5.1.1" + } + }, + "boolbase": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/boolbase/-/boolbase-1.0.0.tgz", + "integrity": "sha1-aN/1++YMUes3cl6p4+0xDcwed24=", + "dev": true + }, + "brace-expansion": { + "version": "1.1.11", + "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.11.tgz", + "integrity": "sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==", + "dev": true, + "requires": { + "balanced-match": "^1.0.0", + "concat-map": "0.0.1" + } + }, + "braces": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/braces/-/braces-3.0.2.tgz", + "integrity": "sha512-b8um+L1RzM3WDSzvhm6gIz1yfTbBt6YTlcEKAvsmqCZZFw46z626lVj9j1yEPW33H5H+lBQpZMP1k8l+78Ha0A==", + "dev": true, + "requires": { + "fill-range": "^7.0.1" + } + }, + "browserslist": { + "version": "4.16.6", + "resolved": "https://registry.npmjs.org/browserslist/-/browserslist-4.16.6.tgz", + "integrity": "sha512-Wspk/PqO+4W9qp5iUTJsa1B/QrYn1keNCcEP5OvP7WBwT4KaDly0uONYmC6Xa3Z5IqnUgS0KcgLYu1l74x0ZXQ==", + "dev": true, + "requires": { + "caniuse-lite": "^1.0.30001219", + "colorette": "^1.2.2", + "electron-to-chromium": "^1.3.723", + "escalade": "^3.1.1", + "node-releases": "^1.1.71" + } + }, + "buffer": { + "version": "5.7.1", + "resolved": "https://registry.npmjs.org/buffer/-/buffer-5.7.1.tgz", + "integrity": "sha512-EHcyIPBQ4BSGlvjB16k5KgAJ27CIsHY/2JBmCRReo48y9rQ3MaUzWX3KVlBa4U7MyX02HdVj0K7C3WaB3ju7FQ==", + "dev": true, + "optional": true, + "requires": { + "base64-js": "^1.3.1", + "ieee754": "^1.1.13" + } + }, + "buffer-alloc": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/buffer-alloc/-/buffer-alloc-1.2.0.tgz", + "integrity": "sha512-CFsHQgjtW1UChdXgbyJGtnm+O/uLQeZdtbDo8mfUgYXCHSM1wgrVxXm6bSyrUuErEb+4sYVGCzASBRot7zyrow==", + "dev": true, + "optional": true, + "requires": { + "buffer-alloc-unsafe": "^1.1.0", + "buffer-fill": "^1.0.0" + } + }, + "buffer-alloc-unsafe": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/buffer-alloc-unsafe/-/buffer-alloc-unsafe-1.1.0.tgz", + "integrity": "sha512-TEM2iMIEQdJ2yjPJoSIsldnleVaAk1oW3DBVUykyOLsEsFmEc9kn+SFFPz+gl54KQNxlDnAwCXosOS9Okx2xAg==", + "dev": true, + "optional": true + }, + "buffer-crc32": { + "version": "0.2.13", + "resolved": "https://registry.npmjs.org/buffer-crc32/-/buffer-crc32-0.2.13.tgz", + "integrity": "sha1-DTM+PwDqxQqhRUq9MO+MKl2ackI=", + "dev": true, + "optional": true + }, + "buffer-fill": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/buffer-fill/-/buffer-fill-1.0.0.tgz", + "integrity": "sha1-+PeLdniYiO858gXNY39o5wISKyw=", + "dev": true, + "optional": true + }, + "buffer-from": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/buffer-from/-/buffer-from-1.1.1.tgz", + "integrity": "sha512-MQcXEUbCKtEo7bhqEs6560Hyd4XaovZlO/k9V3hjVUF/zwW7KBVdSK4gIt/bzwS9MbR5qob+F5jusZsb0YQK2A==", + "dev": true + }, + "cacheable-request": { + "version": "2.1.4", + "resolved": "https://registry.npmjs.org/cacheable-request/-/cacheable-request-2.1.4.tgz", + "integrity": "sha1-DYCIAbY0KtM8kd+dC0TcCbkeXD0=", + "dev": true, + "optional": true, + "requires": { + "clone-response": "1.0.2", + "get-stream": "3.0.0", + "http-cache-semantics": "3.8.1", + "keyv": "3.0.0", + "lowercase-keys": "1.0.0", + "normalize-url": "2.0.1", + "responselike": "1.0.2" + }, + "dependencies": { + "get-stream": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/get-stream/-/get-stream-3.0.0.tgz", + "integrity": "sha1-jpQ9E1jcN1VQVOy+LtsFqhdO3hQ=", + "dev": true, + "optional": true + }, + "lowercase-keys": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/lowercase-keys/-/lowercase-keys-1.0.0.tgz", + "integrity": "sha1-TjNms55/VFfjXxMkvfb4jQv8cwY=", + "dev": true, + "optional": true + } + } + }, + "call-bind": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/call-bind/-/call-bind-1.0.2.tgz", + "integrity": "sha512-7O+FbCihrB5WGbFYesctwmTKae6rOiIzmz1icreWJ+0aA7LJfuqhEso2T9ncpcFtzMQtzXf2QGGueWJGTYsqrA==", + "dev": true, + "requires": { + "function-bind": "^1.1.1", + "get-intrinsic": "^1.0.2" + } + }, + "camel-case": { + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/camel-case/-/camel-case-4.1.2.tgz", + "integrity": "sha512-gxGWBrTT1JuMx6R+o5PTXMmUnhnVzLQ9SNutD4YqKtI6ap897t3tKECYla6gCWEkplXnlNybEkZg9GEGxKFCgw==", + "dev": true, + "requires": { + "pascal-case": "^3.1.2", + "tslib": "^2.0.3" + } + }, + "camelcase": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-2.1.1.tgz", + "integrity": "sha1-fB0W1nmhu+WcoCys7PsBHiAfWh8=", + "dev": true, + "optional": true + }, + "camelcase-keys": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/camelcase-keys/-/camelcase-keys-2.1.0.tgz", + "integrity": "sha1-MIvur/3ygRkFHvodkyITyRuPkuc=", + "dev": true, + "optional": true, + "requires": { + "camelcase": "^2.0.0", + "map-obj": "^1.0.0" + } + }, + "caniuse-lite": { + "version": "1.0.30001240", + "resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001240.tgz", + "integrity": "sha512-nb8mDzfMdxBDN7ZKx8chWafAdBp5DAAlpWvNyUGe5tcDWd838zpzDN3Rah9cjCqhfOKkrvx40G2SDtP0qiWX/w==", + "dev": true + }, + "caw": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/caw/-/caw-2.0.1.tgz", + "integrity": "sha512-Cg8/ZSBEa8ZVY9HspcGUYaK63d/bN7rqS3CYCzEGUxuYv6UlmcjzDUz2fCFFHyTvUW5Pk0I+3hkA3iXlIj6guA==", + "dev": true, + "optional": true, + "requires": { + "get-proxy": "^2.0.0", + "isurl": "^1.0.0-alpha5", + "tunnel-agent": "^0.6.0", + "url-to-options": "^1.0.1" + } + }, + "chalk": { + "version": "2.4.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.2.tgz", + "integrity": "sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==", + "dev": true, + "requires": { + "ansi-styles": "^3.2.1", + "escape-string-regexp": "^1.0.5", + "supports-color": "^5.3.0" + } + }, + "chokidar": { + "version": "3.5.2", + "resolved": "https://registry.npmjs.org/chokidar/-/chokidar-3.5.2.tgz", + "integrity": "sha512-ekGhOnNVPgT77r4K/U3GDhu+FQ2S8TnK/s2KbIGXi0SZWuwkZ2QNyfWdZW+TVfn84DpEP7rLeCt2UI6bJ8GwbQ==", + "dev": true, + "requires": { + "anymatch": "~3.1.2", + "braces": "~3.0.2", + "fsevents": "~2.3.2", + "glob-parent": "~5.1.2", + "is-binary-path": "~2.1.0", + "is-glob": "~4.0.1", + "normalize-path": "~3.0.0", + "readdirp": "~3.6.0" + } + }, + "chrome-trace-event": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/chrome-trace-event/-/chrome-trace-event-1.0.3.tgz", + "integrity": "sha512-p3KULyQg4S7NIHixdwbGX+nFHkoBiA4YQmyWtjb8XngSKV124nJmRysgAeujbUVb15vh+RvFUfCPqU7rXk+hZg==", + "dev": true + }, + "clean-css": { + "version": "4.2.3", + "resolved": "https://registry.npmjs.org/clean-css/-/clean-css-4.2.3.tgz", + "integrity": "sha512-VcMWDN54ZN/DS+g58HYL5/n4Zrqe8vHJpGA8KdgUXFU4fuP/aHNw8eld9SyEIyabIMJX/0RaY/fplOo5hYLSFA==", + "dev": true, + "requires": { + "source-map": "~0.6.0" + }, + "dependencies": { + "source-map": { + "version": "0.6.1", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", + "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", + "dev": true + } + } + }, + "clone-deep": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/clone-deep/-/clone-deep-4.0.1.tgz", + "integrity": "sha512-neHB9xuzh/wk0dIHweyAXv2aPGZIVk3pLMe+/RNzINf17fe0OG96QroktYAUm7SM1PBnzTabaLboqqxDyMU+SQ==", + "dev": true, + "requires": { + "is-plain-object": "^2.0.4", + "kind-of": "^6.0.2", + "shallow-clone": "^3.0.0" + } + }, + "clone-response": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/clone-response/-/clone-response-1.0.2.tgz", + "integrity": "sha1-0dyXOSAxTfZ/vrlCI7TuNQI56Ws=", + "dev": true, + "optional": true, + "requires": { + "mimic-response": "^1.0.0" + } + }, + "coa": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/coa/-/coa-2.0.2.tgz", + "integrity": "sha512-q5/jG+YQnSy4nRTV4F7lPepBJZ8qBNJJDBuJdoejDyLXgmL7IEo+Le2JDZudFTFt7mrCqIRaSjws4ygRCTCAXA==", + "dev": true, + "optional": true, + "requires": { + "@types/q": "^1.5.1", + "chalk": "^2.4.1", + "q": "^1.1.2" + } + }, + "codemirror": { + "version": "5.62.0", + "resolved": "https://registry.npmjs.org/codemirror/-/codemirror-5.62.0.tgz", + "integrity": "sha512-Xnl3304iCc8nyVZuRkzDVVwc794uc9QNX0UcPGeNic1fbzkSrO4l4GVXho9tRNKBgPYZXgocUqXyfIv3BILhCQ==" + }, + "color-convert": { + "version": "1.9.3", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-1.9.3.tgz", + "integrity": "sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg==", + "dev": true, + "requires": { + "color-name": "1.1.3" + } + }, + "color-name": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.3.tgz", + "integrity": "sha1-p9BVi9icQveV3UIyj3QIMcpTvCU=", + "dev": true + }, + "colorette": { + "version": "1.2.2", + "resolved": "https://registry.npmjs.org/colorette/-/colorette-1.2.2.tgz", + "integrity": "sha512-MKGMzyfeuutC/ZJ1cba9NqcNpfeqMUcYmyF1ZFY6/Cn7CNSAKx6a+s48sqLqyAiZuaP2TcqMhoo+dlwFnVxT9w==", + "dev": true + }, + "commander": { + "version": "2.20.3", + "resolved": "https://registry.npmjs.org/commander/-/commander-2.20.3.tgz", + "integrity": "sha512-GpVkmM8vF2vQUkj2LvZmD35JxeJOLCwJ9cUkugyk2nuhbv3+mJvpLYYt+0+USMxE+oj+ey/lJEnhZw75x/OMcQ==", + "dev": true + }, + "commondir": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/commondir/-/commondir-1.0.1.tgz", + "integrity": "sha1-3dgA2gxmEnOTzKWVDqloo6rxJTs=", + "dev": true + }, + "concat-map": { + "version": "0.0.1", + "resolved": "https://registry.npmjs.org/concat-map/-/concat-map-0.0.1.tgz", + "integrity": "sha1-2Klr13/Wjfd5OnMDajug1UBdR3s=", + "dev": true + }, + "config-chain": { + "version": "1.1.13", + "resolved": "https://registry.npmjs.org/config-chain/-/config-chain-1.1.13.tgz", + "integrity": "sha512-qj+f8APARXHrM0hraqXYb2/bOVSV4PvJQlNZ/DVj0QrmNM2q2euizkeuVckQ57J+W0mRH6Hvi+k50M4Jul2VRQ==", + "dev": true, + "optional": true, + "requires": { + "ini": "^1.3.4", + "proto-list": "~1.2.1" + } + }, + "console-stream": { + "version": "0.1.1", + "resolved": "https://registry.npmjs.org/console-stream/-/console-stream-0.1.1.tgz", + "integrity": "sha1-oJX+B7IEZZVfL6/Si11yvM2UnUQ=", + "dev": true, + "optional": true + }, + "content-disposition": { + "version": "0.5.3", + "resolved": "https://registry.npmjs.org/content-disposition/-/content-disposition-0.5.3.tgz", + "integrity": "sha512-ExO0774ikEObIAEV9kDo50o+79VCUdEB6n6lzKgGwupcVeRlhrj3qGAfwq8G6uBJjkqLrhT0qEYFcWng8z1z0g==", + "dev": true, + "optional": true, + "requires": { + "safe-buffer": "5.1.2" + } + }, + "convert-source-map": { + "version": "1.8.0", + "resolved": "https://registry.npmjs.org/convert-source-map/-/convert-source-map-1.8.0.tgz", + "integrity": "sha512-+OQdjP49zViI/6i7nIJpA8rAl4sV/JdPfU9nZs3VqOwGIgizICvuN2ru6fMd+4llL0tar18UYJXfZ/TWtmhUjA==", + "dev": true, + "requires": { + "safe-buffer": "~5.1.1" + } + }, + "core-js-compat": { + "version": "3.15.1", + "resolved": "https://registry.npmjs.org/core-js-compat/-/core-js-compat-3.15.1.tgz", + "integrity": "sha512-xGhzYMX6y7oEGQGAJmP2TmtBLvR4nZmRGEcFa3ubHOq5YEp51gGN9AovVa0AoujGZIq+Wm6dISiYyGNfdflYww==", + "dev": true, + "requires": { + "browserslist": "^4.16.6", + "semver": "7.0.0" + }, + "dependencies": { + "semver": { + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/semver/-/semver-7.0.0.tgz", + "integrity": "sha512-+GB6zVA9LWh6zovYQLALHwv5rb2PHGlJi3lfiqIHxR0uuwCgefcOJc59v9fv1w8GbStwxuuqqAjI9NMAOOgq1A==", + "dev": true + } + } + }, + "core-util-is": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/core-util-is/-/core-util-is-1.0.2.tgz", + "integrity": "sha1-tf1UIgqivFq1eqtxQMlAdUUDwac=", + "dev": true, + "optional": true + }, + "cross-spawn": { + "version": "7.0.3", + "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-7.0.3.tgz", + "integrity": "sha512-iRDPJKUPVEND7dHPO8rkbOnPpyDygcDFtWjpeWNCgy8WP2rXcxXL8TskReQl6OrB2G7+UJrags1q15Fudc7G6w==", + "dev": true, + "requires": { + "path-key": "^3.1.0", + "shebang-command": "^2.0.0", + "which": "^2.0.1" + } + }, + "css-loader": { + "version": "5.2.6", + "resolved": "https://registry.npmjs.org/css-loader/-/css-loader-5.2.6.tgz", + "integrity": "sha512-0wyN5vXMQZu6BvjbrPdUJvkCzGEO24HC7IS7nW4llc6BBFC+zwR9CKtYGv63Puzsg10L/o12inMY5/2ByzfD6w==", + "dev": true, + "requires": { + "icss-utils": "^5.1.0", + "loader-utils": "^2.0.0", + "postcss": "^8.2.15", + "postcss-modules-extract-imports": "^3.0.0", + "postcss-modules-local-by-default": "^4.0.0", + "postcss-modules-scope": "^3.0.0", + "postcss-modules-values": "^4.0.0", + "postcss-value-parser": "^4.1.0", + "schema-utils": "^3.0.0", + "semver": "^7.3.5" + }, + "dependencies": { + "loader-utils": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/loader-utils/-/loader-utils-2.0.0.tgz", + "integrity": "sha512-rP4F0h2RaWSvPEkD7BLDFQnvSf+nK+wr3ESUjNTyAGobqrijmW92zc+SO6d4p4B1wh7+B/Jg1mkQe5NYUEHtHQ==", + "dev": true, + "requires": { + "big.js": "^5.2.2", + "emojis-list": "^3.0.0", + "json5": "^2.1.2" + } + }, + "schema-utils": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-3.0.0.tgz", + "integrity": "sha512-6D82/xSzO094ajanoOSbe4YvXWMfn2A//8Y1+MUqFAJul5Bs+yn36xbK9OtNDcRVSBJ9jjeoXftM6CfztsjOAA==", + "dev": true, + "requires": { + "@types/json-schema": "^7.0.6", + "ajv": "^6.12.5", + "ajv-keywords": "^3.5.2" + } + }, + "semver": { + "version": "7.3.5", + "resolved": "https://registry.npmjs.org/semver/-/semver-7.3.5.tgz", + "integrity": "sha512-PoeGJYh8HK4BTO/a9Tf6ZG3veo/A7ZVsYrSA6J8ny9nb3B1VrpkuN+z9OE5wfE5p6H4LchYZsegiQgbJD94ZFQ==", + "dev": true, + "requires": { + "lru-cache": "^6.0.0" + } + } + } + }, + "css-select": { + "version": "4.1.3", + "resolved": "https://registry.npmjs.org/css-select/-/css-select-4.1.3.tgz", + "integrity": "sha512-gT3wBNd9Nj49rAbmtFHj1cljIAOLYSX1nZ8CB7TBO3INYckygm5B7LISU/szY//YmdiSLbJvDLOx9VnMVpMBxA==", + "dev": true, + "requires": { + "boolbase": "^1.0.0", + "css-what": "^5.0.0", + "domhandler": "^4.2.0", + "domutils": "^2.6.0", + "nth-check": "^2.0.0" + } + }, + "css-select-base-adapter": { + "version": "0.1.1", + "resolved": "https://registry.npmjs.org/css-select-base-adapter/-/css-select-base-adapter-0.1.1.tgz", + "integrity": "sha512-jQVeeRG70QI08vSTwf1jHxp74JoZsr2XSgETae8/xC8ovSnL2WF87GTLO86Sbwdt2lK4Umg4HnnwMO4YF3Ce7w==", + "dev": true, + "optional": true + }, + "css-tree": { + "version": "1.0.0-alpha.37", + "resolved": "https://registry.npmjs.org/css-tree/-/css-tree-1.0.0-alpha.37.tgz", + "integrity": "sha512-DMxWJg0rnz7UgxKT0Q1HU/L9BeJI0M6ksor0OgqOnF+aRCDWg/N2641HmVyU9KVIu0OVVWOb2IpC9A+BJRnejg==", + "dev": true, + "optional": true, + "requires": { + "mdn-data": "2.0.4", + "source-map": "^0.6.1" + }, + "dependencies": { + "source-map": { + "version": "0.6.1", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", + "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", + "dev": true, + "optional": true + } + } + }, + "css-what": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/css-what/-/css-what-5.0.1.tgz", + "integrity": "sha512-FYDTSHb/7KXsWICVsxdmiExPjCfRC4qRFBdVwv7Ax9hMnvMmEjP9RfxTEZ3qPZGmADDn2vAKSo9UcN1jKVYscg==", + "dev": true + }, + "cssesc": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/cssesc/-/cssesc-3.0.0.tgz", + "integrity": "sha512-/Tb/JcjK111nNScGob5MNtsntNM1aCNUDipB/TkwZFhyDrrE47SOx/18wF2bbjgc3ZzCSKW1T5nt5EbFoAz/Vg==", + "dev": true + }, + "csso": { + "version": "4.2.0", + "resolved": "https://registry.npmjs.org/csso/-/csso-4.2.0.tgz", + "integrity": "sha512-wvlcdIbf6pwKEk7vHj8/Bkc0B4ylXZruLvOgs9doS5eOsOpuodOV2zJChSpkp+pRpYQLQMeF04nr3Z68Sta9jA==", + "dev": true, + "optional": true, + "requires": { + "css-tree": "^1.1.2" + }, + "dependencies": { + "css-tree": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/css-tree/-/css-tree-1.1.3.tgz", + "integrity": "sha512-tRpdppF7TRazZrjJ6v3stzv93qxRcSsFmW6cX0Zm2NVKpxE1WV1HblnghVv9TreireHkqI/VDEsfolRF1p6y7Q==", + "dev": true, + "optional": true, + "requires": { + "mdn-data": "2.0.14", + "source-map": "^0.6.1" + } + }, + "mdn-data": { + "version": "2.0.14", + "resolved": "https://registry.npmjs.org/mdn-data/-/mdn-data-2.0.14.tgz", + "integrity": "sha512-dn6wd0uw5GsdswPFfsgMp5NSB0/aDe6fK94YJV/AJDYXL6HVLWBsxeq7js7Ad+mU2K9LAlwpk6kN2D5mwCPVow==", + "dev": true, + "optional": true + }, + "source-map": { + "version": "0.6.1", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", + "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", + "dev": true, + "optional": true + } + } + }, + "currently-unhandled": { + "version": "0.4.1", + "resolved": "https://registry.npmjs.org/currently-unhandled/-/currently-unhandled-0.4.1.tgz", + "integrity": "sha1-mI3zP+qxke95mmE2nddsF635V+o=", + "dev": true, + "optional": true, + "requires": { + "array-find-index": "^1.0.1" + } + }, + "cwebp-bin": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/cwebp-bin/-/cwebp-bin-5.1.0.tgz", + "integrity": "sha512-BsPKStaNr98zfxwejWWLIGELbPERULJoD2v5ijvpeutSAGsegX7gmABgnkRK7MUucCPROXXfaPqkLAwI509JzA==", + "dev": true, + "optional": true, + "requires": { + "bin-build": "^3.0.0", + "bin-wrapper": "^4.0.1", + "logalot": "^2.1.0" + } + }, + "debug": { + "version": "4.3.1", + "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.1.tgz", + "integrity": "sha512-doEwdvm4PCeK4K3RQN2ZC2BYUBaxwLARCqZmMjtF8a51J2Rb0xpVloFRnCODwqjpwnAoao4pelN8l3RJdv3gRQ==", + "dev": true, + "requires": { + "ms": "2.1.2" + } + }, + "decamelize": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/decamelize/-/decamelize-1.2.0.tgz", + "integrity": "sha1-9lNNFRSCabIDUue+4m9QH5oZEpA=", + "dev": true, + "optional": true + }, + "decode-uri-component": { + "version": "0.2.0", + "resolved": "https://registry.npmjs.org/decode-uri-component/-/decode-uri-component-0.2.0.tgz", + "integrity": "sha1-6zkTMzRYd1y4TNGh+uBiEGu4dUU=", + "dev": true, + "optional": true + }, + "decompress": { + "version": "4.2.1", + "resolved": "https://registry.npmjs.org/decompress/-/decompress-4.2.1.tgz", + "integrity": "sha512-e48kc2IjU+2Zw8cTb6VZcJQ3lgVbS4uuB1TfCHbiZIP/haNXm+SVyhu+87jts5/3ROpd82GSVCoNs/z8l4ZOaQ==", + "dev": true, + "optional": true, + "requires": { + "decompress-tar": "^4.0.0", + "decompress-tarbz2": "^4.0.0", + "decompress-targz": "^4.0.0", + "decompress-unzip": "^4.0.1", + "graceful-fs": "^4.1.10", + "make-dir": "^1.0.0", + "pify": "^2.3.0", + "strip-dirs": "^2.0.0" + }, + "dependencies": { + "make-dir": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/make-dir/-/make-dir-1.3.0.tgz", + "integrity": "sha512-2w31R7SJtieJJnQtGc7RVL2StM2vGYVfqUOvUDxH6bC6aJTxPxTF0GnIgCyu7tjockiUWAYQRbxa7vKn34s5sQ==", + "dev": true, + "optional": true, + "requires": { + "pify": "^3.0.0" + }, + "dependencies": { + "pify": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/pify/-/pify-3.0.0.tgz", + "integrity": "sha1-5aSs0sEB/fPZpNB/DbxNtJ3SgXY=", + "dev": true, + "optional": true + } + } + } + } + }, + "decompress-response": { + "version": "3.3.0", + "resolved": "https://registry.npmjs.org/decompress-response/-/decompress-response-3.3.0.tgz", + "integrity": "sha1-gKTdMjdIOEv6JICDYirt7Jgq3/M=", + "dev": true, + "optional": true, + "requires": { + "mimic-response": "^1.0.0" + } + }, + "decompress-tar": { + "version": "4.1.1", + "resolved": "https://registry.npmjs.org/decompress-tar/-/decompress-tar-4.1.1.tgz", + "integrity": "sha512-JdJMaCrGpB5fESVyxwpCx4Jdj2AagLmv3y58Qy4GE6HMVjWz1FeVQk1Ct4Kye7PftcdOo/7U7UKzYBJgqnGeUQ==", + "dev": true, + "optional": true, + "requires": { + "file-type": "^5.2.0", + "is-stream": "^1.1.0", + "tar-stream": "^1.5.2" + }, + "dependencies": { + "file-type": { + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/file-type/-/file-type-5.2.0.tgz", + "integrity": "sha1-LdvqfHP/42No365J3DOMBYwritY=", + "dev": true, + "optional": true + }, + "is-stream": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/is-stream/-/is-stream-1.1.0.tgz", + "integrity": "sha1-EtSj3U5o4Lec6428hBc66A2RykQ=", + "dev": true, + "optional": true + } + } + }, + "decompress-tarbz2": { + "version": "4.1.1", + "resolved": "https://registry.npmjs.org/decompress-tarbz2/-/decompress-tarbz2-4.1.1.tgz", + "integrity": "sha512-s88xLzf1r81ICXLAVQVzaN6ZmX4A6U4z2nMbOwobxkLoIIfjVMBg7TeguTUXkKeXni795B6y5rnvDw7rxhAq9A==", + "dev": true, + "optional": true, + "requires": { + "decompress-tar": "^4.1.0", + "file-type": "^6.1.0", + "is-stream": "^1.1.0", + "seek-bzip": "^1.0.5", + "unbzip2-stream": "^1.0.9" + }, + "dependencies": { + "file-type": { + "version": "6.2.0", + "resolved": "https://registry.npmjs.org/file-type/-/file-type-6.2.0.tgz", + "integrity": "sha512-YPcTBDV+2Tm0VqjybVd32MHdlEGAtuxS3VAYsumFokDSMG+ROT5wawGlnHDoz7bfMcMDt9hxuXvXwoKUx2fkOg==", + "dev": true, + "optional": true + }, + "is-stream": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/is-stream/-/is-stream-1.1.0.tgz", + "integrity": "sha1-EtSj3U5o4Lec6428hBc66A2RykQ=", + "dev": true, + "optional": true + } + } + }, + "decompress-targz": { + "version": "4.1.1", + "resolved": "https://registry.npmjs.org/decompress-targz/-/decompress-targz-4.1.1.tgz", + "integrity": "sha512-4z81Znfr6chWnRDNfFNqLwPvm4db3WuZkqV+UgXQzSngG3CEKdBkw5jrv3axjjL96glyiiKjsxJG3X6WBZwX3w==", + "dev": true, + "optional": true, + "requires": { + "decompress-tar": "^4.1.1", + "file-type": "^5.2.0", + "is-stream": "^1.1.0" + }, + "dependencies": { + "file-type": { + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/file-type/-/file-type-5.2.0.tgz", + "integrity": "sha1-LdvqfHP/42No365J3DOMBYwritY=", + "dev": true, + "optional": true + }, + "is-stream": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/is-stream/-/is-stream-1.1.0.tgz", + "integrity": "sha1-EtSj3U5o4Lec6428hBc66A2RykQ=", + "dev": true, + "optional": true + } + } + }, + "decompress-unzip": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/decompress-unzip/-/decompress-unzip-4.0.1.tgz", + "integrity": "sha1-3qrM39FK6vhVePczroIQ+bSEj2k=", + "dev": true, + "optional": true, + "requires": { + "file-type": "^3.8.0", + "get-stream": "^2.2.0", + "pify": "^2.3.0", + "yauzl": "^2.4.2" + }, + "dependencies": { + "file-type": { + "version": "3.9.0", + "resolved": "https://registry.npmjs.org/file-type/-/file-type-3.9.0.tgz", + "integrity": "sha1-JXoHg4TR24CHvESdEH1SpSZyuek=", + "dev": true, + "optional": true + }, + "get-stream": { + "version": "2.3.1", + "resolved": "https://registry.npmjs.org/get-stream/-/get-stream-2.3.1.tgz", + "integrity": "sha1-Xzj5PzRgCWZu4BUKBUFn+Rvdld4=", + "dev": true, + "optional": true, + "requires": { + "object-assign": "^4.0.1", + "pinkie-promise": "^2.0.0" + } + } + } + }, + "define-properties": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/define-properties/-/define-properties-1.1.3.tgz", + "integrity": "sha512-3MqfYKj2lLzdMSf8ZIZE/V+Zuy+BgD6f164e8K2w7dgnpKArBDerGYpM46IYYcjnkdPNMjPk9A6VFB8+3SKlXQ==", + "dev": true, + "requires": { + "object-keys": "^1.0.12" + } + }, + "dir-glob": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/dir-glob/-/dir-glob-3.0.1.tgz", + "integrity": "sha512-WkrWp9GR4KXfKGYzOLmTuGVi1UWFfws377n9cc55/tb6DuqyF6pcQ5AbiHEshaDpY9v6oaSr2XCDidGmMwdzIA==", + "dev": true, + "requires": { + "path-type": "^4.0.0" + } + }, + "dom-converter": { + "version": "0.2.0", + "resolved": "https://registry.npmjs.org/dom-converter/-/dom-converter-0.2.0.tgz", + "integrity": "sha512-gd3ypIPfOMr9h5jIKq8E3sHOTCjeirnl0WK5ZdS1AW0Odt0b1PaWaHdJ4Qk4klv+YB9aJBS7mESXjFoDQPu6DA==", + "dev": true, + "requires": { + "utila": "~0.4" + } + }, + "dom-serializer": { + "version": "1.3.2", + "resolved": "https://registry.npmjs.org/dom-serializer/-/dom-serializer-1.3.2.tgz", + "integrity": "sha512-5c54Bk5Dw4qAxNOI1pFEizPSjVsx5+bpJKmL2kPn8JhBUq2q09tTCa3mjijun2NfK78NMouDYNMBkOrPZiS+ig==", + "dev": true, + "requires": { + "domelementtype": "^2.0.1", + "domhandler": "^4.2.0", + "entities": "^2.0.0" + } + }, + "domelementtype": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/domelementtype/-/domelementtype-2.2.0.tgz", + "integrity": "sha512-DtBMo82pv1dFtUmHyr48beiuq792Sxohr+8Hm9zoxklYPfa6n0Z3Byjj2IV7bmr2IyqClnqEQhfgHJJ5QF0R5A==", + "dev": true + }, + "domhandler": { + "version": "4.2.0", + "resolved": "https://registry.npmjs.org/domhandler/-/domhandler-4.2.0.tgz", + "integrity": "sha512-zk7sgt970kzPks2Bf+dwT/PLzghLnsivb9CcxkvR8Mzr66Olr0Ofd8neSbglHJHaHa2MadfoSdNlKYAaafmWfA==", + "dev": true, + "requires": { + "domelementtype": "^2.2.0" + } + }, + "domutils": { + "version": "2.7.0", + "resolved": "https://registry.npmjs.org/domutils/-/domutils-2.7.0.tgz", + "integrity": "sha512-8eaHa17IwJUPAiB+SoTYBo5mCdeMgdcAoXJ59m6DT1vw+5iLS3gNoqYaRowaBKtGVrOF1Jz4yDTgYKLK2kvfJg==", + "dev": true, + "requires": { + "dom-serializer": "^1.0.1", + "domelementtype": "^2.2.0", + "domhandler": "^4.2.0" + } + }, + "dot-case": { + "version": "3.0.4", + "resolved": "https://registry.npmjs.org/dot-case/-/dot-case-3.0.4.tgz", + "integrity": "sha512-Kv5nKlh6yRrdrGvxeJ2e5y2eRUpkUosIW4A2AS38zwSz27zu7ufDwQPi5Jhs3XAlGNetl3bmnGhQsMtkKJnj3w==", + "dev": true, + "requires": { + "no-case": "^3.0.4", + "tslib": "^2.0.3" + } + }, + "download": { + "version": "6.2.5", + "resolved": "https://registry.npmjs.org/download/-/download-6.2.5.tgz", + "integrity": "sha512-DpO9K1sXAST8Cpzb7kmEhogJxymyVUd5qz/vCOSyvwtp2Klj2XcDt5YUuasgxka44SxF0q5RriKIwJmQHG2AuA==", + "dev": true, + "optional": true, + "requires": { + "caw": "^2.0.0", + "content-disposition": "^0.5.2", + "decompress": "^4.0.0", + "ext-name": "^5.0.0", + "file-type": "5.2.0", + "filenamify": "^2.0.0", + "get-stream": "^3.0.0", + "got": "^7.0.0", + "make-dir": "^1.0.0", + "p-event": "^1.0.0", + "pify": "^3.0.0" + }, + "dependencies": { + "file-type": { + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/file-type/-/file-type-5.2.0.tgz", + "integrity": "sha1-LdvqfHP/42No365J3DOMBYwritY=", + "dev": true, + "optional": true + }, + "get-stream": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/get-stream/-/get-stream-3.0.0.tgz", + "integrity": "sha1-jpQ9E1jcN1VQVOy+LtsFqhdO3hQ=", + "dev": true, + "optional": true + }, + "make-dir": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/make-dir/-/make-dir-1.3.0.tgz", + "integrity": "sha512-2w31R7SJtieJJnQtGc7RVL2StM2vGYVfqUOvUDxH6bC6aJTxPxTF0GnIgCyu7tjockiUWAYQRbxa7vKn34s5sQ==", + "dev": true, + "optional": true, + "requires": { + "pify": "^3.0.0" + } + }, + "pify": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/pify/-/pify-3.0.0.tgz", + "integrity": "sha1-5aSs0sEB/fPZpNB/DbxNtJ3SgXY=", + "dev": true, + "optional": true + } + } + }, + "duplexer3": { + "version": "0.1.4", + "resolved": "https://registry.npmjs.org/duplexer3/-/duplexer3-0.1.4.tgz", + "integrity": "sha1-7gHdHKwO08vH/b6jfcCo8c4ALOI=", + "dev": true, + "optional": true + }, + "electron-to-chromium": { + "version": "1.3.760", + "resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.3.760.tgz", + "integrity": "sha512-XPKwjX6pHezJWB4FLVuSil9gGmU6XYl27ahUwEHODXF4KjCEB8RuIT05MkU1au2Tdye57o49yY0uCMK+bwUt+A==", + "dev": true + }, + "emojis-list": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/emojis-list/-/emojis-list-3.0.0.tgz", + "integrity": "sha512-/kyM18EfinwXZbno9FyUGeFh87KC8HRQBQGildHZbEuRyWFOmv1U10o9BBp8XVZDVNNuQKyIGIu5ZYAAXJ0V2Q==", + "dev": true + }, + "end-of-stream": { + "version": "1.4.4", + "resolved": "https://registry.npmjs.org/end-of-stream/-/end-of-stream-1.4.4.tgz", + "integrity": "sha512-+uw1inIHVPQoaVuHzRyXd21icM+cnt4CzD5rW+NC1wjOUSTOs+Te7FOv7AhN7vS9x/oIyhLP5PR1H+phQAHu5Q==", + "dev": true, + "optional": true, + "requires": { + "once": "^1.4.0" + } + }, + "enhanced-resolve": { + "version": "5.8.2", + "resolved": "https://registry.npmjs.org/enhanced-resolve/-/enhanced-resolve-5.8.2.tgz", + "integrity": "sha512-F27oB3WuHDzvR2DOGNTaYy0D5o0cnrv8TeI482VM4kYgQd/FT9lUQwuNsJ0oOHtBUq7eiW5ytqzp7nBFknL+GA==", + "dev": true, + "requires": { + "graceful-fs": "^4.2.4", + "tapable": "^2.2.0" + } + }, + "entities": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/entities/-/entities-2.2.0.tgz", + "integrity": "sha512-p92if5Nz619I0w+akJrLZH0MX0Pb5DX39XOwQTtXSdQQOaYH03S1uIQp4mhOZtAXrxq4ViO67YTiLBo2638o9A==", + "dev": true + }, + "envinfo": { + "version": "7.8.1", + "resolved": "https://registry.npmjs.org/envinfo/-/envinfo-7.8.1.tgz", + "integrity": "sha512-/o+BXHmB7ocbHEAs6F2EnG0ogybVVUdkRunTT2glZU9XAaGmhqskrvKwqXuDfNjEO0LZKWdejEEpnq8aM0tOaw==", + "dev": true + }, + "error-ex": { + "version": "1.3.2", + "resolved": "https://registry.npmjs.org/error-ex/-/error-ex-1.3.2.tgz", + "integrity": "sha512-7dFHNmqeFSEt2ZBsCriorKnn3Z2pj+fd9kmI6QoWw4//DL+icEBfc0U7qJCisqrTsKTjw4fNFy2pW9OqStD84g==", + "dev": true, + "optional": true, + "requires": { + "is-arrayish": "^0.2.1" + } + }, + "es-abstract": { + "version": "1.18.3", + "resolved": "https://registry.npmjs.org/es-abstract/-/es-abstract-1.18.3.tgz", + "integrity": "sha512-nQIr12dxV7SSxE6r6f1l3DtAeEYdsGpps13dR0TwJg1S8gyp4ZPgy3FZcHBgbiQqnoqSTb+oC+kO4UQ0C/J8vw==", + "dev": true, + "optional": true, + "requires": { + "call-bind": "^1.0.2", + "es-to-primitive": "^1.2.1", + "function-bind": "^1.1.1", + "get-intrinsic": "^1.1.1", + "has": "^1.0.3", + "has-symbols": "^1.0.2", + "is-callable": "^1.2.3", + "is-negative-zero": "^2.0.1", + "is-regex": "^1.1.3", + "is-string": "^1.0.6", + "object-inspect": "^1.10.3", + "object-keys": "^1.1.1", + "object.assign": "^4.1.2", + "string.prototype.trimend": "^1.0.4", + "string.prototype.trimstart": "^1.0.4", + "unbox-primitive": "^1.0.1" + } + }, + "es-module-lexer": { + "version": "0.6.0", + "resolved": "https://registry.npmjs.org/es-module-lexer/-/es-module-lexer-0.6.0.tgz", + "integrity": "sha512-f8kcHX1ArhllUtb/wVSyvygoKCznIjnxhLxy7TCvIiMdT7fL4ZDTIKaadMe6eLvOXg6Wk02UeoFgUoZ2EKZZUA==", + "dev": true + }, + "es-to-primitive": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/es-to-primitive/-/es-to-primitive-1.2.1.tgz", + "integrity": "sha512-QCOllgZJtaUo9miYBcLChTUaHNjJF3PYs1VidD7AwiEj1kYxKeQTctLAezAOH5ZKRH0g2IgPn6KwB4IT8iRpvA==", + "dev": true, + "optional": true, + "requires": { + "is-callable": "^1.1.4", + "is-date-object": "^1.0.1", + "is-symbol": "^1.0.2" + } + }, + "escalade": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/escalade/-/escalade-3.1.1.tgz", + "integrity": "sha512-k0er2gUkLf8O0zKJiAhmkTnJlTvINGv7ygDNPbeIsX/TJjGJZHuh9B2UxbsaEkmlEo9MfhrSzmhIlhRlI2GXnw==", + "dev": true + }, + "escape-string-regexp": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz", + "integrity": "sha1-G2HAViGQqN/2rjuyzwIAyhMLhtQ=", + "dev": true + }, + "eslint-scope": { + "version": "5.1.1", + "resolved": "https://registry.npmjs.org/eslint-scope/-/eslint-scope-5.1.1.tgz", + "integrity": "sha512-2NxwbF/hZ0KpepYN0cNbo+FN6XoK7GaHlQhgx/hIZl6Va0bF45RQOOwhLIy8lQDbuCiadSLCBnH2CFYquit5bw==", + "dev": true, + "requires": { + "esrecurse": "^4.3.0", + "estraverse": "^4.1.1" + } + }, + "esprima": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/esprima/-/esprima-4.0.1.tgz", + "integrity": "sha512-eGuFFw7Upda+g4p+QHvnW0RyTX/SVeJBDM/gCtMARO0cLuT2HcEKnTPvhjV6aGeqrCB/sbNop0Kszm0jsaWU4A==", + "dev": true, + "optional": true + }, + "esrecurse": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/esrecurse/-/esrecurse-4.3.0.tgz", + "integrity": "sha512-KmfKL3b6G+RXvP8N1vr3Tq1kL/oCFgn2NYXEtqP8/L3pKapUA4G8cFVaoF3SU323CD4XypR/ffioHmkti6/Tag==", + "dev": true, + "requires": { + "estraverse": "^5.2.0" + }, + "dependencies": { + "estraverse": { + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-5.2.0.tgz", + "integrity": "sha512-BxbNGGNm0RyRYvUdHpIwv9IWzeM9XClbOxwoATuFdOE7ZE6wHL+HQ5T8hoPM+zHvmKzzsEqhgy0GrQ5X13afiQ==", + "dev": true + } + } + }, + "estraverse": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-4.3.0.tgz", + "integrity": "sha512-39nnKffWz8xN1BU/2c79n9nB9HDzo0niYUqx6xyqUnyoAnQyyWpOTdZEeiCch8BBu515t4wp9ZmgVfVhn9EBpw==", + "dev": true + }, + "esutils": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/esutils/-/esutils-2.0.3.tgz", + "integrity": "sha512-kVscqXk4OCp68SZ0dkgEKVi6/8ij300KBWTJq32P/dYeWTSwK41WyTxalN1eRmA5Z9UU/LX9D7FWSmV9SAYx6g==", + "dev": true + }, + "events": { + "version": "3.3.0", + "resolved": "https://registry.npmjs.org/events/-/events-3.3.0.tgz", + "integrity": "sha512-mQw+2fkQbALzQ7V0MY0IqdnXNOeTtP4r0lN9z7AAawCXgqea7bDii20AYrIBrFd/Hx0M2Ocz6S111CaFkUcb0Q==", + "dev": true + }, + "exec-buffer": { + "version": "3.2.0", + "resolved": "https://registry.npmjs.org/exec-buffer/-/exec-buffer-3.2.0.tgz", + "integrity": "sha512-wsiD+2Tp6BWHoVv3B+5Dcx6E7u5zky+hUwOHjuH2hKSLR3dvRmX8fk8UD8uqQixHs4Wk6eDmiegVrMPjKj7wpA==", + "dev": true, + "optional": true, + "requires": { + "execa": "^0.7.0", + "p-finally": "^1.0.0", + "pify": "^3.0.0", + "rimraf": "^2.5.4", + "tempfile": "^2.0.0" + }, + "dependencies": { + "cross-spawn": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-5.1.0.tgz", + "integrity": "sha1-6L0O/uWPz/b4+UUQoKVUu/ojVEk=", + "dev": true, + "optional": true, + "requires": { + "lru-cache": "^4.0.1", + "shebang-command": "^1.2.0", + "which": "^1.2.9" + } + }, + "execa": { + "version": "0.7.0", + "resolved": "https://registry.npmjs.org/execa/-/execa-0.7.0.tgz", + "integrity": "sha1-lEvs00zEHuMqY6n68nrVpl/Fl3c=", + "dev": true, + "optional": true, + "requires": { + "cross-spawn": "^5.0.1", + "get-stream": "^3.0.0", + "is-stream": "^1.1.0", + "npm-run-path": "^2.0.0", + "p-finally": "^1.0.0", + "signal-exit": "^3.0.0", + "strip-eof": "^1.0.0" + } + }, + "get-stream": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/get-stream/-/get-stream-3.0.0.tgz", + "integrity": "sha1-jpQ9E1jcN1VQVOy+LtsFqhdO3hQ=", + "dev": true, + "optional": true + }, + "is-stream": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/is-stream/-/is-stream-1.1.0.tgz", + "integrity": "sha1-EtSj3U5o4Lec6428hBc66A2RykQ=", + "dev": true, + "optional": true + }, + "lru-cache": { + "version": "4.1.5", + "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-4.1.5.tgz", + "integrity": "sha512-sWZlbEP2OsHNkXrMl5GYk/jKk70MBng6UU4YI/qGDYbgf6YbP4EvmqISbXCoJiRKs+1bSpFHVgQxvJ17F2li5g==", + "dev": true, + "optional": true, + "requires": { + "pseudomap": "^1.0.2", + "yallist": "^2.1.2" + } + }, + "npm-run-path": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/npm-run-path/-/npm-run-path-2.0.2.tgz", + "integrity": "sha1-NakjLfo11wZ7TLLd8jV7GHFTbF8=", + "dev": true, + "optional": true, + "requires": { + "path-key": "^2.0.0" + } + }, + "path-key": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/path-key/-/path-key-2.0.1.tgz", + "integrity": "sha1-QRyttXTFoUDTpLGRDUDYDMn0C0A=", + "dev": true, + "optional": true + }, + "pify": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/pify/-/pify-3.0.0.tgz", + "integrity": "sha1-5aSs0sEB/fPZpNB/DbxNtJ3SgXY=", + "dev": true, + "optional": true + }, + "shebang-command": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/shebang-command/-/shebang-command-1.2.0.tgz", + "integrity": "sha1-RKrGW2lbAzmJaMOfNj/uXer98eo=", + "dev": true, + "optional": true, + "requires": { + "shebang-regex": "^1.0.0" + } + }, + "shebang-regex": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/shebang-regex/-/shebang-regex-1.0.0.tgz", + "integrity": "sha1-2kL0l0DAtC2yypcoVxyxkMmO/qM=", + "dev": true, + "optional": true + }, + "which": { + "version": "1.3.1", + "resolved": "https://registry.npmjs.org/which/-/which-1.3.1.tgz", + "integrity": "sha512-HxJdYWq1MTIQbJ3nw0cqssHoTNU267KlrDuGZ1WYlxDStUtKUhOaJmh112/TZmHxxUfuJqPXSOm7tDyas0OSIQ==", + "dev": true, + "optional": true, + "requires": { + "isexe": "^2.0.0" + } + }, + "yallist": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/yallist/-/yallist-2.1.2.tgz", + "integrity": "sha1-HBH5IY8HYImkfdUS+TxmmaaoHVI=", + "dev": true, + "optional": true + } + } + }, + "execa": { + "version": "5.1.1", + "resolved": "https://registry.npmjs.org/execa/-/execa-5.1.1.tgz", + "integrity": "sha512-8uSpZZocAZRBAPIEINJj3Lo9HyGitllczc27Eh5YYojjMFMn8yHMDMaUHE2Jqfq05D/wucwI4JGURyXt1vchyg==", + "dev": true, + "requires": { + "cross-spawn": "^7.0.3", + "get-stream": "^6.0.0", + "human-signals": "^2.1.0", + "is-stream": "^2.0.0", + "merge-stream": "^2.0.0", + "npm-run-path": "^4.0.1", + "onetime": "^5.1.2", + "signal-exit": "^3.0.3", + "strip-final-newline": "^2.0.0" + } + }, + "executable": { + "version": "4.1.1", + "resolved": "https://registry.npmjs.org/executable/-/executable-4.1.1.tgz", + "integrity": "sha512-8iA79xD3uAch729dUG8xaaBBFGaEa0wdD2VkYLFHwlqosEj/jT66AzcreRDSgV7ehnNLBW2WR5jIXwGKjVdTLg==", + "dev": true, + "optional": true, + "requires": { + "pify": "^2.2.0" + } + }, + "ext-list": { + "version": "2.2.2", + "resolved": "https://registry.npmjs.org/ext-list/-/ext-list-2.2.2.tgz", + "integrity": "sha512-u+SQgsubraE6zItfVA0tBuCBhfU9ogSRnsvygI7wht9TS510oLkBRXBsqopeUG/GBOIQyKZO9wjTqIu/sf5zFA==", + "dev": true, + "optional": true, + "requires": { + "mime-db": "^1.28.0" + } + }, + "ext-name": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/ext-name/-/ext-name-5.0.0.tgz", + "integrity": "sha512-yblEwXAbGv1VQDmow7s38W77hzAgJAO50ztBLMcUyUBfxv1HC+LGwtiEN+Co6LtlqT/5uwVOxsD4TNIilWhwdQ==", + "dev": true, + "optional": true, + "requires": { + "ext-list": "^2.0.0", + "sort-keys-length": "^1.0.0" + } + }, + "fast-deep-equal": { + "version": "3.1.3", + "resolved": "https://registry.npmjs.org/fast-deep-equal/-/fast-deep-equal-3.1.3.tgz", + "integrity": "sha512-f3qQ9oQy9j2AhBe/H9VC91wLmKBCCU/gDOnKNAYG5hswO7BLKj09Hc5HYNz9cGI++xlpDCIgDaitVs03ATR84Q==", + "dev": true + }, + "fast-glob": { + "version": "3.2.6", + "resolved": "https://registry.npmjs.org/fast-glob/-/fast-glob-3.2.6.tgz", + "integrity": "sha512-GnLuqj/pvQ7pX8/L4J84nijv6sAnlwvSDpMkJi9i7nPmPxGtRPkBSStfvDW5l6nMdX9VWe+pkKWFTgD+vF2QSQ==", + "dev": true, + "requires": { + "@nodelib/fs.stat": "^2.0.2", + "@nodelib/fs.walk": "^1.2.3", + "glob-parent": "^5.1.2", + "merge2": "^1.3.0", + "micromatch": "^4.0.4" + } + }, + "fast-json-stable-stringify": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/fast-json-stable-stringify/-/fast-json-stable-stringify-2.1.0.tgz", + "integrity": "sha512-lhd/wF+Lk98HZoTCtlVraHtfh5XYijIjalXck7saUtuanSDyLMxnHhSXEDJqHxD7msR8D0uCmqlkwjCV8xvwHw==", + "dev": true + }, + "fast-xml-parser": { + "version": "3.19.0", + "resolved": "https://registry.npmjs.org/fast-xml-parser/-/fast-xml-parser-3.19.0.tgz", + "integrity": "sha512-4pXwmBplsCPv8FOY1WRakF970TjNGnGnfbOnLqjlYvMiF1SR3yOHyxMR/YCXpPTOspNF5gwudqktIP4VsWkvBg==", + "dev": true, + "optional": true + }, + "fastest-levenshtein": { + "version": "1.0.12", + "resolved": "https://registry.npmjs.org/fastest-levenshtein/-/fastest-levenshtein-1.0.12.tgz", + "integrity": "sha512-On2N+BpYJ15xIC974QNVuYGMOlEVt4s0EOI3wwMqOmK1fdDY+FN/zltPV8vosq4ad4c/gJ1KHScUn/6AWIgiow==", + "dev": true + }, + "fastq": { + "version": "1.11.0", + "resolved": "https://registry.npmjs.org/fastq/-/fastq-1.11.0.tgz", + "integrity": "sha512-7Eczs8gIPDrVzT+EksYBcupqMyxSHXXrHOLRRxU2/DicV8789MRBRR8+Hc2uWzUupOs4YS4JzBmBxjjCVBxD/g==", + "dev": true, + "requires": { + "reusify": "^1.0.4" + } + }, + "fd-slicer": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/fd-slicer/-/fd-slicer-1.1.0.tgz", + "integrity": "sha1-JcfInLH5B3+IkbvmHY85Dq4lbx4=", + "dev": true, + "optional": true, + "requires": { + "pend": "~1.2.0" + } + }, + "figures": { + "version": "1.7.0", + "resolved": "https://registry.npmjs.org/figures/-/figures-1.7.0.tgz", + "integrity": "sha1-y+Hjr/zxzUS4DK3+0o3Hk6lwHS4=", + "dev": true, + "optional": true, + "requires": { + "escape-string-regexp": "^1.0.5", + "object-assign": "^4.1.0" + } + }, + "file-loader": { + "version": "6.2.0", + "resolved": "https://registry.npmjs.org/file-loader/-/file-loader-6.2.0.tgz", + "integrity": "sha512-qo3glqyTa61Ytg4u73GultjHGjdRyig3tG6lPtyX/jOEJvHif9uB0/OCI2Kif6ctF3caQTW2G5gym21oAsI4pw==", + "dev": true, + "requires": { + "loader-utils": "^2.0.0", + "schema-utils": "^3.0.0" + }, + "dependencies": { + "loader-utils": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/loader-utils/-/loader-utils-2.0.0.tgz", + "integrity": "sha512-rP4F0h2RaWSvPEkD7BLDFQnvSf+nK+wr3ESUjNTyAGobqrijmW92zc+SO6d4p4B1wh7+B/Jg1mkQe5NYUEHtHQ==", + "dev": true, + "requires": { + "big.js": "^5.2.2", + "emojis-list": "^3.0.0", + "json5": "^2.1.2" + } + }, + "schema-utils": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-3.0.0.tgz", + "integrity": "sha512-6D82/xSzO094ajanoOSbe4YvXWMfn2A//8Y1+MUqFAJul5Bs+yn36xbK9OtNDcRVSBJ9jjeoXftM6CfztsjOAA==", + "dev": true, + "requires": { + "@types/json-schema": "^7.0.6", + "ajv": "^6.12.5", + "ajv-keywords": "^3.5.2" + } + } + } + }, + "file-type": { + "version": "12.4.2", + "resolved": "https://registry.npmjs.org/file-type/-/file-type-12.4.2.tgz", + "integrity": "sha512-UssQP5ZgIOKelfsaB5CuGAL+Y+q7EmONuiwF3N5HAH0t27rvrttgi6Ra9k/+DVaY9UF6+ybxu5pOXLUdA8N7Vg==", + "dev": true + }, + "filename-reserved-regex": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/filename-reserved-regex/-/filename-reserved-regex-2.0.0.tgz", + "integrity": "sha1-q/c9+rc10EVECr/qLZHzieu/oik=", + "dev": true, + "optional": true + }, + "filenamify": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/filenamify/-/filenamify-2.1.0.tgz", + "integrity": "sha512-ICw7NTT6RsDp2rnYKVd8Fu4cr6ITzGy3+u4vUujPkabyaz+03F24NWEX7fs5fp+kBonlaqPH8fAO2NM+SXt/JA==", + "dev": true, + "optional": true, + "requires": { + "filename-reserved-regex": "^2.0.0", + "strip-outer": "^1.0.0", + "trim-repeated": "^1.0.0" + } + }, + "fill-range": { + "version": "7.0.1", + "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-7.0.1.tgz", + "integrity": "sha512-qOo9F+dMUmC2Lcb4BbVvnKJxTPjCm+RRpe4gDuGrzkL7mEVl/djYSu2OdQ2Pa302N4oqkSg9ir6jaLWJ2USVpQ==", + "dev": true, + "requires": { + "to-regex-range": "^5.0.1" + } + }, + "find-cache-dir": { + "version": "3.3.1", + "resolved": "https://registry.npmjs.org/find-cache-dir/-/find-cache-dir-3.3.1.tgz", + "integrity": "sha512-t2GDMt3oGC/v+BMwzmllWDuJF/xcDtE5j/fCGbqDD7OLuJkj0cfh1YSA5VKPvwMeLFLNDBkwOKZ2X85jGLVftQ==", + "dev": true, + "requires": { + "commondir": "^1.0.1", + "make-dir": "^3.0.2", + "pkg-dir": "^4.1.0" + } + }, + "find-up": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/find-up/-/find-up-4.1.0.tgz", + "integrity": "sha512-PpOwAdQ/YlXQ2vj8a3h8IipDuYRi3wceVQQGYWxNINccq40Anw7BlsEXCMbt1Zt+OLA6Fq9suIpIWD0OsnISlw==", + "dev": true, + "requires": { + "locate-path": "^5.0.0", + "path-exists": "^4.0.0" + } + }, + "find-versions": { + "version": "3.2.0", + "resolved": "https://registry.npmjs.org/find-versions/-/find-versions-3.2.0.tgz", + "integrity": "sha512-P8WRou2S+oe222TOCHitLy8zj+SIsVJh52VP4lvXkaFVnOFFdoWv1H1Jjvel1aI6NCFOAaeAVm8qrI0odiLcww==", + "dev": true, + "optional": true, + "requires": { + "semver-regex": "^2.0.0" + } + }, + "from2": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/from2/-/from2-2.3.0.tgz", + "integrity": "sha1-i/tVAr3kpNNs/e6gB/zKIdfjgq8=", + "dev": true, + "optional": true, + "requires": { + "inherits": "^2.0.1", + "readable-stream": "^2.0.0" + } + }, + "fs-constants": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/fs-constants/-/fs-constants-1.0.0.tgz", + "integrity": "sha512-y6OAwoSIf7FyjMIv94u+b5rdheZEjzR63GTyZJm5qh4Bi+2YgwLCcI/fPFZkL5PSixOt6ZNKm+w+Hfp/Bciwow==", + "dev": true, + "optional": true + }, + "fs.realpath": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/fs.realpath/-/fs.realpath-1.0.0.tgz", + "integrity": "sha1-FQStJSMVjKpA20onh8sBQRmU6k8=", + "dev": true + }, + "fsevents": { + "version": "2.3.2", + "resolved": "https://registry.npmjs.org/fsevents/-/fsevents-2.3.2.tgz", + "integrity": "sha512-xiqMQR4xAeHTuB9uWm+fFRcIOgKBMiOBP+eXiyT7jsgVCq1bkVygt00oASowB7EdtpOHaaPgKt812P9ab+DDKA==", + "dev": true, + "optional": true + }, + "function-bind": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/function-bind/-/function-bind-1.1.1.tgz", + "integrity": "sha512-yIovAzMX49sF8Yl58fSCWJ5svSLuaibPxXQJFLmBObTuCr0Mf1KiPopGM9NiFjiYBCbfaa2Fh6breQ6ANVTI0A==", + "dev": true + }, + "gensync": { + "version": "1.0.0-beta.2", + "resolved": "https://registry.npmjs.org/gensync/-/gensync-1.0.0-beta.2.tgz", + "integrity": "sha512-3hN7NaskYvMDLQY55gnW3NQ+mesEAepTqlg+VEbj7zzqEMBVNhzcGYYeqFo/TlYz6eQiFcp1HcsCZO+nGgS8zg==", + "dev": true + }, + "get-intrinsic": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/get-intrinsic/-/get-intrinsic-1.1.1.tgz", + "integrity": "sha512-kWZrnVM42QCiEA2Ig1bG8zjoIMOgxWwYCEeNdwY6Tv/cOSeGpcoX4pXHfKUxNKVoArnrEr2e9srnAxxGIraS9Q==", + "dev": true, + "requires": { + "function-bind": "^1.1.1", + "has": "^1.0.3", + "has-symbols": "^1.0.1" + } + }, + "get-proxy": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/get-proxy/-/get-proxy-2.1.0.tgz", + "integrity": "sha512-zmZIaQTWnNQb4R4fJUEp/FC51eZsc6EkErspy3xtIYStaq8EB/hDIWipxsal+E8rz0qD7f2sL/NA9Xee4RInJw==", + "dev": true, + "optional": true, + "requires": { + "npm-conf": "^1.1.0" + } + }, + "get-stdin": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/get-stdin/-/get-stdin-4.0.1.tgz", + "integrity": "sha1-uWjGsKBDhDJJAui/Gl3zJXmkUP4=", + "dev": true, + "optional": true + }, + "get-stream": { + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/get-stream/-/get-stream-6.0.1.tgz", + "integrity": "sha512-ts6Wi+2j3jQjqi70w5AlN8DFnkSwC+MqmxEzdEALB2qXZYV3X/b1CTfgPLGJNMeAWxdPfU8FO1ms3NUfaHCPYg==", + "dev": true + }, + "gifsicle": { + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/gifsicle/-/gifsicle-5.2.0.tgz", + "integrity": "sha512-vOIS3j0XoTCxq9pkGj43gEix82RkI5FveNgaFZutjbaui/HH+4fR8Y56dwXDuxYo8hR4xOo6/j2h1WHoQW6XLw==", + "dev": true, + "optional": true, + "requires": { + "bin-build": "^3.0.0", + "bin-wrapper": "^4.0.0", + "execa": "^5.0.0", + "logalot": "^2.0.0" + } + }, + "glob": { + "version": "7.1.7", + "resolved": "https://registry.npmjs.org/glob/-/glob-7.1.7.tgz", + "integrity": "sha512-OvD9ENzPLbegENnYP5UUfJIirTg4+XwMWGaQfQTY0JenxNvvIKP3U3/tAQSPIu/lHxXYSZmpXlUHeqAIdKzBLQ==", + "dev": true, + "requires": { + "fs.realpath": "^1.0.0", + "inflight": "^1.0.4", + "inherits": "2", + "minimatch": "^3.0.4", + "once": "^1.3.0", + "path-is-absolute": "^1.0.0" + } + }, + "glob-parent": { + "version": "5.1.2", + "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-5.1.2.tgz", + "integrity": "sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow==", + "dev": true, + "requires": { + "is-glob": "^4.0.1" + } + }, + "glob-to-regexp": { + "version": "0.4.1", + "resolved": "https://registry.npmjs.org/glob-to-regexp/-/glob-to-regexp-0.4.1.tgz", + "integrity": "sha512-lkX1HJXwyMcprw/5YUZc2s7DrpAiHB21/V+E1rHUrVNokkvB6bqMzT0VfV6/86ZNabt1k14YOIaT7nDvOX3Iiw==", + "dev": true + }, + "globals": { + "version": "11.12.0", + "resolved": "https://registry.npmjs.org/globals/-/globals-11.12.0.tgz", + "integrity": "sha512-WOBp/EEGUiIsJSp7wcv/y6MO+lV9UoncWqxuFfm8eBwzWNgyfBd6Gz+IeKQ9jCmyhoH99g15M3T+QaVHFjizVA==", + "dev": true + }, + "globby": { + "version": "10.0.2", + "resolved": "https://registry.npmjs.org/globby/-/globby-10.0.2.tgz", + "integrity": "sha512-7dUi7RvCoT/xast/o/dLN53oqND4yk0nsHkhRgn9w65C4PofCLOoJ39iSOg+qVDdWQPIEj+eszMHQ+aLVwwQSg==", + "dev": true, + "requires": { + "@types/glob": "^7.1.1", + "array-union": "^2.1.0", + "dir-glob": "^3.0.1", + "fast-glob": "^3.0.3", + "glob": "^7.1.3", + "ignore": "^5.1.1", + "merge2": "^1.2.3", + "slash": "^3.0.0" + } + }, + "got": { + "version": "7.1.0", + "resolved": "https://registry.npmjs.org/got/-/got-7.1.0.tgz", + "integrity": "sha512-Y5WMo7xKKq1muPsxD+KmrR8DH5auG7fBdDVueZwETwV6VytKyU9OX/ddpq2/1hp1vIPvVb4T81dKQz3BivkNLw==", + "dev": true, + "optional": true, + "requires": { + "decompress-response": "^3.2.0", + "duplexer3": "^0.1.4", + "get-stream": "^3.0.0", + "is-plain-obj": "^1.1.0", + "is-retry-allowed": "^1.0.0", + "is-stream": "^1.0.0", + "isurl": "^1.0.0-alpha5", + "lowercase-keys": "^1.0.0", + "p-cancelable": "^0.3.0", + "p-timeout": "^1.1.1", + "safe-buffer": "^5.0.1", + "timed-out": "^4.0.0", + "url-parse-lax": "^1.0.0", + "url-to-options": "^1.0.1" + }, + "dependencies": { + "get-stream": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/get-stream/-/get-stream-3.0.0.tgz", + "integrity": "sha1-jpQ9E1jcN1VQVOy+LtsFqhdO3hQ=", + "dev": true, + "optional": true + }, + "is-stream": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/is-stream/-/is-stream-1.1.0.tgz", + "integrity": "sha1-EtSj3U5o4Lec6428hBc66A2RykQ=", + "dev": true, + "optional": true + } + } + }, + "graceful-fs": { + "version": "4.2.6", + "resolved": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.2.6.tgz", + "integrity": "sha512-nTnJ528pbqxYanhpDYsi4Rd8MAeaBA67+RZ10CM1m3bTAVFEDcd5AuA4a6W5YkGZ1iNXHzZz8T6TBKLeBuNriQ==", + "dev": true + }, + "has": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/has/-/has-1.0.3.tgz", + "integrity": "sha512-f2dvO0VU6Oej7RkWJGrehjbzMAjFp5/VKPp5tTpWIV4JHHZK1/BxbFRtf/siA2SWTe09caDmVtYYzWEIbBS4zw==", + "dev": true, + "requires": { + "function-bind": "^1.1.1" + } + }, + "has-ansi": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/has-ansi/-/has-ansi-2.0.0.tgz", + "integrity": "sha1-NPUEnOHs3ysGSa8+8k5F7TVBbZE=", + "dev": true, + "optional": true, + "requires": { + "ansi-regex": "^2.0.0" + } + }, + "has-bigints": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/has-bigints/-/has-bigints-1.0.1.tgz", + "integrity": "sha512-LSBS2LjbNBTf6287JEbEzvJgftkF5qFkmCo9hDRpAzKhUOlJ+hx8dd4USs00SgsUNwc4617J9ki5YtEClM2ffA==", + "dev": true, + "optional": true + }, + "has-flag": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-3.0.0.tgz", + "integrity": "sha1-tdRU3CGZriJWmfNGfloH87lVuv0=", + "dev": true + }, + "has-symbol-support-x": { + "version": "1.4.2", + "resolved": "https://registry.npmjs.org/has-symbol-support-x/-/has-symbol-support-x-1.4.2.tgz", + "integrity": "sha512-3ToOva++HaW+eCpgqZrCfN51IPB+7bJNVT6CUATzueB5Heb8o6Nam0V3HG5dlDvZU1Gn5QLcbahiKw/XVk5JJw==", + "dev": true, + "optional": true + }, + "has-symbols": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/has-symbols/-/has-symbols-1.0.2.tgz", + "integrity": "sha512-chXa79rL/UC2KlX17jo3vRGz0azaWEx5tGqZg5pO3NUyEJVB17dMruQlzCCOfUvElghKcm5194+BCRvi2Rv/Gw==", + "dev": true + }, + "has-to-string-tag-x": { + "version": "1.4.1", + "resolved": "https://registry.npmjs.org/has-to-string-tag-x/-/has-to-string-tag-x-1.4.1.tgz", + "integrity": "sha512-vdbKfmw+3LoOYVr+mtxHaX5a96+0f3DljYd8JOqvOLsf5mw2Otda2qCDT9qRqLAhrjyQ0h7ual5nOiASpsGNFw==", + "dev": true, + "optional": true, + "requires": { + "has-symbol-support-x": "^1.4.1" + } + }, + "he": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/he/-/he-1.2.0.tgz", + "integrity": "sha512-F/1DnUGPopORZi0ni+CvrCgHQ5FyEAHRLSApuYWMmrbSwoN2Mn/7k+Gl38gJnR7yyDZk6WLXwiGod1JOWNDKGw==", + "dev": true + }, + "hosted-git-info": { + "version": "2.8.9", + "resolved": "https://registry.npmjs.org/hosted-git-info/-/hosted-git-info-2.8.9.tgz", + "integrity": "sha512-mxIDAb9Lsm6DoOJ7xH+5+X4y1LU/4Hi50L9C5sIswK3JzULS4bwk1FvjdBgvYR4bzT4tuUQiC15FE2f5HbLvYw==", + "dev": true, + "optional": true + }, + "html-minifier-terser": { + "version": "5.1.1", + "resolved": "https://registry.npmjs.org/html-minifier-terser/-/html-minifier-terser-5.1.1.tgz", + "integrity": "sha512-ZPr5MNObqnV/T9akshPKbVgyOqLmy+Bxo7juKCfTfnjNniTAMdy4hz21YQqoofMBJD2kdREaqPPdThoR78Tgxg==", + "dev": true, + "requires": { + "camel-case": "^4.1.1", + "clean-css": "^4.2.3", + "commander": "^4.1.1", + "he": "^1.2.0", + "param-case": "^3.0.3", + "relateurl": "^0.2.7", + "terser": "^4.6.3" + }, + "dependencies": { + "commander": { + "version": "4.1.1", + "resolved": "https://registry.npmjs.org/commander/-/commander-4.1.1.tgz", + "integrity": "sha512-NOKm8xhkzAjzFx8B2v5OAHT+u5pRQc2UCa2Vq9jYL/31o2wi9mxBA7LIFs3sV5VSC49z6pEhfbMULvShKj26WA==", + "dev": true + }, + "source-map": { + "version": "0.6.1", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", + "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", + "dev": true + }, + "terser": { + "version": "4.8.0", + "resolved": "https://registry.npmjs.org/terser/-/terser-4.8.0.tgz", + "integrity": "sha512-EAPipTNeWsb/3wLPeup1tVPaXfIaU68xMnVdPafIL1TV05OhASArYyIfFvnvJCNrR2NIOvDVNNTFRa+Re2MWyw==", + "dev": true, + "requires": { + "commander": "^2.20.0", + "source-map": "~0.6.1", + "source-map-support": "~0.5.12" + }, + "dependencies": { + "commander": { + "version": "2.20.3", + "resolved": "https://registry.npmjs.org/commander/-/commander-2.20.3.tgz", + "integrity": "sha512-GpVkmM8vF2vQUkj2LvZmD35JxeJOLCwJ9cUkugyk2nuhbv3+mJvpLYYt+0+USMxE+oj+ey/lJEnhZw75x/OMcQ==", + "dev": true + } + } + } + } + }, + "html-webpack-plugin": { + "version": "5.3.2", + "resolved": "https://registry.npmjs.org/html-webpack-plugin/-/html-webpack-plugin-5.3.2.tgz", + "integrity": "sha512-HvB33boVNCz2lTyBsSiMffsJ+m0YLIQ+pskblXgN9fnjS1BgEcuAfdInfXfGrkdXV406k9FiDi86eVCDBgJOyQ==", + "dev": true, + "requires": { + "@types/html-minifier-terser": "^5.0.0", + "html-minifier-terser": "^5.0.1", + "lodash": "^4.17.21", + "pretty-error": "^3.0.4", + "tapable": "^2.0.0" + } + }, + "htmlparser2": { + "version": "6.1.0", + "resolved": "https://registry.npmjs.org/htmlparser2/-/htmlparser2-6.1.0.tgz", + "integrity": "sha512-gyyPk6rgonLFEDGoeRgQNaEUvdJ4ktTmmUh/h2t7s+M8oPpIPxgNACWa+6ESR57kXstwqPiCut0V8NRpcwgU7A==", + "dev": true, + "requires": { + "domelementtype": "^2.0.1", + "domhandler": "^4.0.0", + "domutils": "^2.5.2", + "entities": "^2.0.0" + } + }, + "http-cache-semantics": { + "version": "3.8.1", + "resolved": "https://registry.npmjs.org/http-cache-semantics/-/http-cache-semantics-3.8.1.tgz", + "integrity": "sha512-5ai2iksyV8ZXmnZhHH4rWPoxxistEexSi5936zIQ1bnNTW5VnA85B6P/VpXiRM017IgRvb2kKo1a//y+0wSp3w==", + "dev": true, + "optional": true + }, + "human-signals": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/human-signals/-/human-signals-2.1.0.tgz", + "integrity": "sha512-B4FFZ6q/T2jhhksgkbEW3HBvWIfDW85snkQgawt07S7J5QXTk6BkNV+0yAeZrM5QpMAdYlocGoljn0sJ/WQkFw==", + "dev": true + }, + "icss-utils": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/icss-utils/-/icss-utils-5.1.0.tgz", + "integrity": "sha512-soFhflCVWLfRNOPU3iv5Z9VUdT44xFRbzjLsEzSr5AQmgqPMTHdU3PMT1Cf1ssx8fLNJDA1juftYl+PUcv3MqA==", + "dev": true + }, + "ieee754": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/ieee754/-/ieee754-1.2.1.tgz", + "integrity": "sha512-dcyqhDvX1C46lXZcVqCpK+FtMRQVdIMN6/Df5js2zouUsqG7I6sFxitIC+7KYK29KdXOLHdu9zL4sFnoVQnqaA==", + "dev": true, + "optional": true + }, + "ignore": { + "version": "5.1.8", + "resolved": "https://registry.npmjs.org/ignore/-/ignore-5.1.8.tgz", + "integrity": "sha512-BMpfD7PpiETpBl/A6S498BaIJ6Y/ABT93ETbby2fP00v4EbvPBXWEoaR1UBPKs3iR53pJY7EtZk5KACI57i1Uw==", + "dev": true + }, + "image-webpack-loader": { + "version": "7.0.1", + "resolved": "https://registry.npmjs.org/image-webpack-loader/-/image-webpack-loader-7.0.1.tgz", + "integrity": "sha512-Y6/lRqMGMhZayIx4AONjU1FIljNb9AfiA2SUZ2o65bN4xPcfHmI3MmhrcmphxK/hiwShK/Q7/9/JkPqQMX8HPw==", + "dev": true, + "requires": { + "imagemin": "^7.0.1", + "imagemin-gifsicle": "^7.0.0", + "imagemin-mozjpeg": "^9.0.0", + "imagemin-optipng": "^8.0.0", + "imagemin-pngquant": "^9.0.1", + "imagemin-svgo": "^8.0.0", + "imagemin-webp": "^6.0.0", + "loader-utils": "^2.0.0", + "object-assign": "^4.1.1", + "schema-utils": "^2.7.1" + }, + "dependencies": { + "loader-utils": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/loader-utils/-/loader-utils-2.0.0.tgz", + "integrity": "sha512-rP4F0h2RaWSvPEkD7BLDFQnvSf+nK+wr3ESUjNTyAGobqrijmW92zc+SO6d4p4B1wh7+B/Jg1mkQe5NYUEHtHQ==", + "dev": true, + "requires": { + "big.js": "^5.2.2", + "emojis-list": "^3.0.0", + "json5": "^2.1.2" + } + } + } + }, + "imagemin": { + "version": "7.0.1", + "resolved": "https://registry.npmjs.org/imagemin/-/imagemin-7.0.1.tgz", + "integrity": "sha512-33AmZ+xjZhg2JMCe+vDf6a9mzWukE7l+wAtesjE7KyteqqKjzxv7aVQeWnul1Ve26mWvEQqyPwl0OctNBfSR9w==", + "dev": true, + "requires": { + "file-type": "^12.0.0", + "globby": "^10.0.0", + "graceful-fs": "^4.2.2", + "junk": "^3.1.0", + "make-dir": "^3.0.0", + "p-pipe": "^3.0.0", + "replace-ext": "^1.0.0" + } + }, + "imagemin-gifsicle": { + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/imagemin-gifsicle/-/imagemin-gifsicle-7.0.0.tgz", + "integrity": "sha512-LaP38xhxAwS3W8PFh4y5iQ6feoTSF+dTAXFRUEYQWYst6Xd+9L/iPk34QGgK/VO/objmIlmq9TStGfVY2IcHIA==", + "dev": true, + "optional": true, + "requires": { + "execa": "^1.0.0", + "gifsicle": "^5.0.0", + "is-gif": "^3.0.0" + }, + "dependencies": { + "cross-spawn": { + "version": "6.0.5", + "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-6.0.5.tgz", + "integrity": "sha512-eTVLrBSt7fjbDygz805pMnstIs2VTBNkRm0qxZd+M7A5XDdxVRWO5MxGBXZhjY4cqLYLdtrGqRf8mBPmzwSpWQ==", + "dev": true, + "optional": true, + "requires": { + "nice-try": "^1.0.4", + "path-key": "^2.0.1", + "semver": "^5.5.0", + "shebang-command": "^1.2.0", + "which": "^1.2.9" + } + }, + "execa": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/execa/-/execa-1.0.0.tgz", + "integrity": "sha512-adbxcyWV46qiHyvSp50TKt05tB4tK3HcmF7/nxfAdhnox83seTDbwnaqKO4sXRy7roHAIFqJP/Rw/AuEbX61LA==", + "dev": true, + "optional": true, + "requires": { + "cross-spawn": "^6.0.0", + "get-stream": "^4.0.0", + "is-stream": "^1.1.0", + "npm-run-path": "^2.0.0", + "p-finally": "^1.0.0", + "signal-exit": "^3.0.0", + "strip-eof": "^1.0.0" + } + }, + "get-stream": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/get-stream/-/get-stream-4.1.0.tgz", + "integrity": "sha512-GMat4EJ5161kIy2HevLlr4luNjBgvmj413KaQA7jt4V8B4RDsfpHk7WQ9GVqfYyyx8OS/L66Kox+rJRNklLK7w==", + "dev": true, + "optional": true, + "requires": { + "pump": "^3.0.0" + } + }, + "is-stream": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/is-stream/-/is-stream-1.1.0.tgz", + "integrity": "sha1-EtSj3U5o4Lec6428hBc66A2RykQ=", + "dev": true, + "optional": true + }, + "npm-run-path": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/npm-run-path/-/npm-run-path-2.0.2.tgz", + "integrity": "sha1-NakjLfo11wZ7TLLd8jV7GHFTbF8=", + "dev": true, + "optional": true, + "requires": { + "path-key": "^2.0.0" + } + }, + "path-key": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/path-key/-/path-key-2.0.1.tgz", + "integrity": "sha1-QRyttXTFoUDTpLGRDUDYDMn0C0A=", + "dev": true, + "optional": true + }, + "semver": { + "version": "5.7.1", + "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.1.tgz", + "integrity": "sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ==", + "dev": true, + "optional": true + }, + "shebang-command": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/shebang-command/-/shebang-command-1.2.0.tgz", + "integrity": "sha1-RKrGW2lbAzmJaMOfNj/uXer98eo=", + "dev": true, + "optional": true, + "requires": { + "shebang-regex": "^1.0.0" + } + }, + "shebang-regex": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/shebang-regex/-/shebang-regex-1.0.0.tgz", + "integrity": "sha1-2kL0l0DAtC2yypcoVxyxkMmO/qM=", + "dev": true, + "optional": true + }, + "which": { + "version": "1.3.1", + "resolved": "https://registry.npmjs.org/which/-/which-1.3.1.tgz", + "integrity": "sha512-HxJdYWq1MTIQbJ3nw0cqssHoTNU267KlrDuGZ1WYlxDStUtKUhOaJmh112/TZmHxxUfuJqPXSOm7tDyas0OSIQ==", + "dev": true, + "optional": true, + "requires": { + "isexe": "^2.0.0" + } + } + } + }, + "imagemin-mozjpeg": { + "version": "9.0.0", + "resolved": "https://registry.npmjs.org/imagemin-mozjpeg/-/imagemin-mozjpeg-9.0.0.tgz", + "integrity": "sha512-TwOjTzYqCFRgROTWpVSt5UTT0JeCuzF1jswPLKALDd89+PmrJ2PdMMYeDLYZ1fs9cTovI9GJd68mRSnuVt691w==", + "dev": true, + "optional": true, + "requires": { + "execa": "^4.0.0", + "is-jpg": "^2.0.0", + "mozjpeg": "^7.0.0" + }, + "dependencies": { + "execa": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/execa/-/execa-4.1.0.tgz", + "integrity": "sha512-j5W0//W7f8UxAn8hXVnwG8tLwdiUy4FJLcSupCg6maBYZDpyBvTApK7KyuI4bKj8KOh1r2YH+6ucuYtJv1bTZA==", + "dev": true, + "optional": true, + "requires": { + "cross-spawn": "^7.0.0", + "get-stream": "^5.0.0", + "human-signals": "^1.1.1", + "is-stream": "^2.0.0", + "merge-stream": "^2.0.0", + "npm-run-path": "^4.0.0", + "onetime": "^5.1.0", + "signal-exit": "^3.0.2", + "strip-final-newline": "^2.0.0" + } + }, + "get-stream": { + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/get-stream/-/get-stream-5.2.0.tgz", + "integrity": "sha512-nBF+F1rAZVCu/p7rjzgA+Yb4lfYXrpl7a6VmJrU8wF9I1CKvP/QwPNZHnOlwbTkY6dvtFIzFMSyQXbLoTQPRpA==", + "dev": true, + "optional": true, + "requires": { + "pump": "^3.0.0" + } + }, + "human-signals": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/human-signals/-/human-signals-1.1.1.tgz", + "integrity": "sha512-SEQu7vl8KjNL2eoGBLF3+wAjpsNfA9XMlXAYj/3EdaNfAlxKthD1xjEQfGOUhllCGGJVNY34bRr6lPINhNjyZw==", + "dev": true, + "optional": true + } + } + }, + "imagemin-optipng": { + "version": "8.0.0", + "resolved": "https://registry.npmjs.org/imagemin-optipng/-/imagemin-optipng-8.0.0.tgz", + "integrity": "sha512-CUGfhfwqlPjAC0rm8Fy+R2DJDBGjzy2SkfyT09L8rasnF9jSoHFqJ1xxSZWK6HVPZBMhGPMxCTL70OgTHlLF5A==", + "dev": true, + "optional": true, + "requires": { + "exec-buffer": "^3.0.0", + "is-png": "^2.0.0", + "optipng-bin": "^7.0.0" + } + }, + "imagemin-pngquant": { + "version": "9.0.2", + "resolved": "https://registry.npmjs.org/imagemin-pngquant/-/imagemin-pngquant-9.0.2.tgz", + "integrity": "sha512-cj//bKo8+Frd/DM8l6Pg9pws1pnDUjgb7ae++sUX1kUVdv2nrngPykhiUOgFeE0LGY/LmUbCf4egCHC4YUcZSg==", + "dev": true, + "optional": true, + "requires": { + "execa": "^4.0.0", + "is-png": "^2.0.0", + "is-stream": "^2.0.0", + "ow": "^0.17.0", + "pngquant-bin": "^6.0.0" + }, + "dependencies": { + "execa": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/execa/-/execa-4.1.0.tgz", + "integrity": "sha512-j5W0//W7f8UxAn8hXVnwG8tLwdiUy4FJLcSupCg6maBYZDpyBvTApK7KyuI4bKj8KOh1r2YH+6ucuYtJv1bTZA==", + "dev": true, + "optional": true, + "requires": { + "cross-spawn": "^7.0.0", + "get-stream": "^5.0.0", + "human-signals": "^1.1.1", + "is-stream": "^2.0.0", + "merge-stream": "^2.0.0", + "npm-run-path": "^4.0.0", + "onetime": "^5.1.0", + "signal-exit": "^3.0.2", + "strip-final-newline": "^2.0.0" + } + }, + "get-stream": { + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/get-stream/-/get-stream-5.2.0.tgz", + "integrity": "sha512-nBF+F1rAZVCu/p7rjzgA+Yb4lfYXrpl7a6VmJrU8wF9I1CKvP/QwPNZHnOlwbTkY6dvtFIzFMSyQXbLoTQPRpA==", + "dev": true, + "optional": true, + "requires": { + "pump": "^3.0.0" + } + }, + "human-signals": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/human-signals/-/human-signals-1.1.1.tgz", + "integrity": "sha512-SEQu7vl8KjNL2eoGBLF3+wAjpsNfA9XMlXAYj/3EdaNfAlxKthD1xjEQfGOUhllCGGJVNY34bRr6lPINhNjyZw==", + "dev": true, + "optional": true + } + } + }, + "imagemin-svgo": { + "version": "8.0.0", + "resolved": "https://registry.npmjs.org/imagemin-svgo/-/imagemin-svgo-8.0.0.tgz", + "integrity": "sha512-++fDnnxsLT+4rpt8babwiIbzapgBzeS2Kgcy+CwgBvgSRFltBFhX2WnpCziMtxhRCzqJcCE9EcHWZP/sj+G3rQ==", + "dev": true, + "optional": true, + "requires": { + "is-svg": "^4.2.1", + "svgo": "^1.3.2" + } + }, + "imagemin-webp": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/imagemin-webp/-/imagemin-webp-6.0.0.tgz", + "integrity": "sha512-DmVCkI8H1csyqAExsk93LzC88gj2uKXaLLW5Ly+WYsvNx7xv5cJAlozXWIx9Z0kEQr9w98gphi5aP2b++iDH8g==", + "dev": true, + "optional": true, + "requires": { + "cwebp-bin": "^5.0.0", + "exec-buffer": "^3.0.0", + "is-cwebp-readable": "^3.0.0" + } + }, + "import-lazy": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/import-lazy/-/import-lazy-3.1.0.tgz", + "integrity": "sha512-8/gvXvX2JMn0F+CDlSC4l6kOmVaLOO3XLkksI7CI3Ud95KDYJuYur2b9P/PUt/i/pDAMd/DulQsNbbbmRRsDIQ==", + "dev": true, + "optional": true + }, + "import-local": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/import-local/-/import-local-3.0.2.tgz", + "integrity": "sha512-vjL3+w0oulAVZ0hBHnxa/Nm5TAurf9YLQJDhqRZyqb+VKGOB6LU8t9H1Nr5CIo16vh9XfJTOoHwU0B71S557gA==", + "dev": true, + "requires": { + "pkg-dir": "^4.2.0", + "resolve-cwd": "^3.0.0" + } + }, + "indent-string": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/indent-string/-/indent-string-2.1.0.tgz", + "integrity": "sha1-ji1INIdCEhtKghi3oTfppSBJ3IA=", + "dev": true, + "optional": true, + "requires": { + "repeating": "^2.0.0" + } + }, + "inflight": { + "version": "1.0.6", + "resolved": "https://registry.npmjs.org/inflight/-/inflight-1.0.6.tgz", + "integrity": "sha1-Sb1jMdfQLQwJvJEKEHW6gWW1bfk=", + "dev": true, + "requires": { + "once": "^1.3.0", + "wrappy": "1" + } + }, + "inherits": { + "version": "2.0.4", + "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.4.tgz", + "integrity": "sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==", + "dev": true + }, + "ini": { + "version": "1.3.8", + "resolved": "https://registry.npmjs.org/ini/-/ini-1.3.8.tgz", + "integrity": "sha512-JV/yugV2uzW5iMRSiZAyDtQd+nxtUnjeLt0acNdw98kKLrvuRVyB80tsREOE7yvGVgalhZ6RNXCmEHkUKBKxew==", + "dev": true, + "optional": true + }, + "interpret": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/interpret/-/interpret-2.2.0.tgz", + "integrity": "sha512-Ju0Bz/cEia55xDwUWEa8+olFpCiQoypjnQySseKtmjNrnps3P+xfpUmGr90T7yjlVJmOtybRvPXhKMbHr+fWnw==", + "dev": true + }, + "into-stream": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/into-stream/-/into-stream-3.1.0.tgz", + "integrity": "sha1-lvsKk2wSur1v8XUqF9BWFqvQlMY=", + "dev": true, + "optional": true, + "requires": { + "from2": "^2.1.1", + "p-is-promise": "^1.1.0" + } + }, + "is-arrayish": { + "version": "0.2.1", + "resolved": "https://registry.npmjs.org/is-arrayish/-/is-arrayish-0.2.1.tgz", + "integrity": "sha1-d8mYQFJ6qOyxqLppe4BkWnqSap0=", + "dev": true, + "optional": true + }, + "is-bigint": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/is-bigint/-/is-bigint-1.0.2.tgz", + "integrity": "sha512-0JV5+SOCQkIdzjBK9buARcV804Ddu7A0Qet6sHi3FimE9ne6m4BGQZfRn+NZiXbBk4F4XmHfDZIipLj9pX8dSA==", + "dev": true, + "optional": true + }, + "is-binary-path": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/is-binary-path/-/is-binary-path-2.1.0.tgz", + "integrity": "sha512-ZMERYes6pDydyuGidse7OsHxtbI7WVeUEozgR/g7rd0xUimYNlvZRE/K2MgZTjWy725IfelLeVcEM97mmtRGXw==", + "dev": true, + "requires": { + "binary-extensions": "^2.0.0" + } + }, + "is-boolean-object": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/is-boolean-object/-/is-boolean-object-1.1.1.tgz", + "integrity": "sha512-bXdQWkECBUIAcCkeH1unwJLIpZYaa5VvuygSyS/c2lf719mTKZDU5UdDRlpd01UjADgmW8RfqaP+mRaVPdr/Ng==", + "dev": true, + "optional": true, + "requires": { + "call-bind": "^1.0.2" + } + }, + "is-callable": { + "version": "1.2.3", + "resolved": "https://registry.npmjs.org/is-callable/-/is-callable-1.2.3.tgz", + "integrity": "sha512-J1DcMe8UYTBSrKezuIUTUwjXsho29693unXM2YhJUTR2txK/eG47bvNa/wipPFmZFgr/N6f1GA66dv0mEyTIyQ==", + "dev": true, + "optional": true + }, + "is-core-module": { + "version": "2.4.0", + "resolved": "https://registry.npmjs.org/is-core-module/-/is-core-module-2.4.0.tgz", + "integrity": "sha512-6A2fkfq1rfeQZjxrZJGerpLCTHRNEBiSgnu0+obeJpEPZRUooHgsizvzv0ZjJwOz3iWIHdJtVWJ/tmPr3D21/A==", + "dev": true, + "requires": { + "has": "^1.0.3" + } + }, + "is-cwebp-readable": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/is-cwebp-readable/-/is-cwebp-readable-3.0.0.tgz", + "integrity": "sha512-bpELc7/Q1/U5MWHn4NdHI44R3jxk0h9ew9ljzabiRl70/UIjL/ZAqRMb52F5+eke/VC8yTiv4Ewryo1fPWidvA==", + "dev": true, + "optional": true, + "requires": { + "file-type": "^10.5.0" + }, + "dependencies": { + "file-type": { + "version": "10.11.0", + "resolved": "https://registry.npmjs.org/file-type/-/file-type-10.11.0.tgz", + "integrity": "sha512-uzk64HRpUZyTGZtVuvrjP0FYxzQrBf4rojot6J65YMEbwBLB0CWm0CLojVpwpmFmxcE/lkvYICgfcGozbBq6rw==", + "dev": true, + "optional": true + } + } + }, + "is-date-object": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/is-date-object/-/is-date-object-1.0.4.tgz", + "integrity": "sha512-/b4ZVsG7Z5XVtIxs/h9W8nvfLgSAyKYdtGWQLbqy6jA1icmgjf8WCoTKgeS4wy5tYaPePouzFMANbnj94c2Z+A==", + "dev": true, + "optional": true + }, + "is-extglob": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/is-extglob/-/is-extglob-2.1.1.tgz", + "integrity": "sha1-qIwCU1eR8C7TfHahueqXc8gz+MI=", + "dev": true + }, + "is-finite": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/is-finite/-/is-finite-1.1.0.tgz", + "integrity": "sha512-cdyMtqX/BOqqNBBiKlIVkytNHm49MtMlYyn1zxzvJKWmFMlGzm+ry5BBfYyeY9YmNKbRSo/o7OX9w9ale0wg3w==", + "dev": true, + "optional": true + }, + "is-gif": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/is-gif/-/is-gif-3.0.0.tgz", + "integrity": "sha512-IqJ/jlbw5WJSNfwQ/lHEDXF8rxhRgF6ythk2oiEvhpG29F704eX9NO6TvPfMiq9DrbwgcEDnETYNcZDPewQoVw==", + "dev": true, + "optional": true, + "requires": { + "file-type": "^10.4.0" + }, + "dependencies": { + "file-type": { + "version": "10.11.0", + "resolved": "https://registry.npmjs.org/file-type/-/file-type-10.11.0.tgz", + "integrity": "sha512-uzk64HRpUZyTGZtVuvrjP0FYxzQrBf4rojot6J65YMEbwBLB0CWm0CLojVpwpmFmxcE/lkvYICgfcGozbBq6rw==", + "dev": true, + "optional": true + } + } + }, + "is-glob": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/is-glob/-/is-glob-4.0.1.tgz", + "integrity": "sha512-5G0tKtBTFImOqDnLB2hG6Bp2qcKEFduo4tZu9MT/H6NQv/ghhy30o55ufafxJ/LdH79LLs2Kfrn85TLKyA7BUg==", + "dev": true, + "requires": { + "is-extglob": "^2.1.1" + } + }, + "is-jpg": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/is-jpg/-/is-jpg-2.0.0.tgz", + "integrity": "sha1-LhmX+m6RZuqsAkLarkQ0A+TvHZc=", + "dev": true, + "optional": true + }, + "is-natural-number": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/is-natural-number/-/is-natural-number-4.0.1.tgz", + "integrity": "sha1-q5124dtM7VHjXeDHLr7PCfc0zeg=", + "dev": true, + "optional": true + }, + "is-negative-zero": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/is-negative-zero/-/is-negative-zero-2.0.1.tgz", + "integrity": "sha512-2z6JzQvZRa9A2Y7xC6dQQm4FSTSTNWjKIYYTt4246eMTJmIo0Q+ZyOsU66X8lxK1AbB92dFeglPLrhwpeRKO6w==", + "dev": true, + "optional": true + }, + "is-number": { + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/is-number/-/is-number-7.0.0.tgz", + "integrity": "sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng==", + "dev": true + }, + "is-number-object": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/is-number-object/-/is-number-object-1.0.5.tgz", + "integrity": "sha512-RU0lI/n95pMoUKu9v1BZP5MBcZuNSVJkMkAG2dJqC4z2GlkGUNeH68SuHuBKBD/XFe+LHZ+f9BKkLET60Niedw==", + "dev": true, + "optional": true + }, + "is-object": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/is-object/-/is-object-1.0.2.tgz", + "integrity": "sha512-2rRIahhZr2UWb45fIOuvZGpFtz0TyOZLf32KxBbSoUCeZR495zCKlWUKKUByk3geS2eAs7ZAABt0Y/Rx0GiQGA==", + "dev": true, + "optional": true + }, + "is-plain-obj": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/is-plain-obj/-/is-plain-obj-1.1.0.tgz", + "integrity": "sha1-caUMhCnfync8kqOQpKA7OfzVHT4=", + "dev": true, + "optional": true + }, + "is-plain-object": { + "version": "2.0.4", + "resolved": "https://registry.npmjs.org/is-plain-object/-/is-plain-object-2.0.4.tgz", + "integrity": "sha512-h5PpgXkWitc38BBMYawTYMWJHFZJVnBquFE57xFpjB8pJFiF6gZ+bU+WyI/yqXiFR5mdLsgYNaPe8uao6Uv9Og==", + "dev": true, + "requires": { + "isobject": "^3.0.1" + } + }, + "is-png": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/is-png/-/is-png-2.0.0.tgz", + "integrity": "sha512-4KPGizaVGj2LK7xwJIz8o5B2ubu1D/vcQsgOGFEDlpcvgZHto4gBnyd0ig7Ws+67ixmwKoNmu0hYnpo6AaKb5g==", + "dev": true, + "optional": true + }, + "is-regex": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/is-regex/-/is-regex-1.1.3.tgz", + "integrity": "sha512-qSVXFz28HM7y+IWX6vLCsexdlvzT1PJNFSBuaQLQ5o0IEw8UDYW6/2+eCMVyIsbM8CNLX2a/QWmSpyxYEHY7CQ==", + "dev": true, + "optional": true, + "requires": { + "call-bind": "^1.0.2", + "has-symbols": "^1.0.2" + } + }, + "is-retry-allowed": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/is-retry-allowed/-/is-retry-allowed-1.2.0.tgz", + "integrity": "sha512-RUbUeKwvm3XG2VYamhJL1xFktgjvPzL0Hq8C+6yrWIswDy3BIXGqCxhxkc30N9jqK311gVU137K8Ei55/zVJRg==", + "dev": true, + "optional": true + }, + "is-stream": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/is-stream/-/is-stream-2.0.0.tgz", + "integrity": "sha512-XCoy+WlUr7d1+Z8GgSuXmpuUFC9fOhRXglJMx+dwLKTkL44Cjd4W1Z5P+BQZpr+cR93aGP4S/s7Ftw6Nd/kiEw==", + "dev": true + }, + "is-string": { + "version": "1.0.6", + "resolved": "https://registry.npmjs.org/is-string/-/is-string-1.0.6.tgz", + "integrity": "sha512-2gdzbKUuqtQ3lYNrUTQYoClPhm7oQu4UdpSZMp1/DGgkHBT8E2Z1l0yMdb6D4zNAxwDiMv8MdulKROJGNl0Q0w==", + "dev": true, + "optional": true + }, + "is-svg": { + "version": "4.3.1", + "resolved": "https://registry.npmjs.org/is-svg/-/is-svg-4.3.1.tgz", + "integrity": "sha512-h2CGs+yPUyvkgTJQS9cJzo9lYK06WgRiXUqBBHtglSzVKAuH4/oWsqk7LGfbSa1hGk9QcZ0SyQtVggvBA8LZXA==", + "dev": true, + "optional": true, + "requires": { + "fast-xml-parser": "^3.19.0" + } + }, + "is-symbol": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/is-symbol/-/is-symbol-1.0.4.tgz", + "integrity": "sha512-C/CPBqKWnvdcxqIARxyOh4v1UUEOCHpgDa0WYgpKDFMszcrPcffg5uhwSgPCLD2WWxmq6isisz87tzT01tuGhg==", + "dev": true, + "optional": true, + "requires": { + "has-symbols": "^1.0.2" + } + }, + "is-utf8": { + "version": "0.2.1", + "resolved": "https://registry.npmjs.org/is-utf8/-/is-utf8-0.2.1.tgz", + "integrity": "sha1-Sw2hRCEE0bM2NA6AeX6GXPOffXI=", + "dev": true, + "optional": true + }, + "isarray": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz", + "integrity": "sha1-u5NdSFgsuhaMBoNJV6VKPgcSTxE=", + "dev": true, + "optional": true + }, + "isexe": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/isexe/-/isexe-2.0.0.tgz", + "integrity": "sha1-6PvzdNxVb/iUehDcsFctYz8s+hA=", + "dev": true + }, + "isobject": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/isobject/-/isobject-3.0.1.tgz", + "integrity": "sha1-TkMekrEalzFjaqH5yNHMvP2reN8=", + "dev": true + }, + "isurl": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/isurl/-/isurl-1.0.0.tgz", + "integrity": "sha512-1P/yWsxPlDtn7QeRD+ULKQPaIaN6yF368GZ2vDfv0AL0NwpStafjWCDDdn0k8wgFMWpVAqG7oJhxHnlud42i9w==", + "dev": true, + "optional": true, + "requires": { + "has-to-string-tag-x": "^1.2.0", + "is-object": "^1.0.1" + } + }, + "jest-worker": { + "version": "27.0.6", + "resolved": "https://registry.npmjs.org/jest-worker/-/jest-worker-27.0.6.tgz", + "integrity": "sha512-qupxcj/dRuA3xHPMUd40gr2EaAurFbkwzOh7wfPaeE9id7hyjURRQoqNfHifHK3XjJU6YJJUQKILGUnwGPEOCA==", + "dev": true, + "requires": { + "@types/node": "*", + "merge-stream": "^2.0.0", + "supports-color": "^8.0.0" + }, + "dependencies": { + "has-flag": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", + "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", + "dev": true + }, + "supports-color": { + "version": "8.1.1", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-8.1.1.tgz", + "integrity": "sha512-MpUEN2OodtUzxvKQl72cUF7RQ5EiHsGvSsVG0ia9c5RbWGL2CI4C7EpPS8UTBIplnlzZiNuV56w+FuNxy3ty2Q==", + "dev": true, + "requires": { + "has-flag": "^4.0.0" + } + } + } + }, + "jquery": { + "version": "3.6.0", + "resolved": "https://registry.npmjs.org/jquery/-/jquery-3.6.0.tgz", + "integrity": "sha512-JVzAR/AjBvVt2BmYhxRCSYysDsPcssdmTFnzyLEts9qNwmjmu4JTAMYubEfwVOSwpQ1I1sKKFcxhZCI2buerfw==" + }, + "js-tokens": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/js-tokens/-/js-tokens-4.0.0.tgz", + "integrity": "sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ==", + "dev": true + }, + "js-yaml": { + "version": "3.14.1", + "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-3.14.1.tgz", + "integrity": "sha512-okMH7OXXJ7YrN9Ok3/SXrnu4iX9yOk+25nqX4imS2npuvTYDmo/QEZoqwZkYaIDk3jVvBOTOIEgEhaLOynBS9g==", + "dev": true, + "optional": true, + "requires": { + "argparse": "^1.0.7", + "esprima": "^4.0.0" + } + }, + "jsesc": { + "version": "2.5.2", + "resolved": "https://registry.npmjs.org/jsesc/-/jsesc-2.5.2.tgz", + "integrity": "sha512-OYu7XEzjkCQ3C5Ps3QIZsQfNpqoJyZZA99wd9aWd05NCtC5pWOkShK2mkL6HXQR6/Cy2lbNdPlZBpuQHXE63gA==", + "dev": true + }, + "json-buffer": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/json-buffer/-/json-buffer-3.0.0.tgz", + "integrity": "sha1-Wx85evx11ne96Lz8Dkfh+aPZqJg=", + "dev": true, + "optional": true + }, + "json-parse-better-errors": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/json-parse-better-errors/-/json-parse-better-errors-1.0.2.tgz", + "integrity": "sha512-mrqyZKfX5EhL7hvqcV6WG1yYjnjeuYDzDhhcAAUrq8Po85NBQBJP+ZDUT75qZQ98IkUoBqdkExkukOU7Ts2wrw==", + "dev": true + }, + "json-schema-traverse": { + "version": "0.4.1", + "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-0.4.1.tgz", + "integrity": "sha512-xbbCH5dCYU5T8LcEhhuh7HJ88HXuW3qsI3Y0zOZFKfZEHcpWiHU/Jxzk629Brsab/mMiHQti9wMP+845RPe3Vg==", + "dev": true + }, + "json5": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/json5/-/json5-2.2.0.tgz", + "integrity": "sha512-f+8cldu7X/y7RAJurMEJmdoKXGB/X550w2Nr3tTbezL6RwEE/iMcm+tZnXeoZtKuOq6ft8+CqzEkrIgx1fPoQA==", + "dev": true, + "requires": { + "minimist": "^1.2.5" + } + }, + "junk": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/junk/-/junk-3.1.0.tgz", + "integrity": "sha512-pBxcB3LFc8QVgdggvZWyeys+hnrNWg4OcZIU/1X59k5jQdLBlCsYGRQaz234SqoRLTCgMH00fY0xRJH+F9METQ==", + "dev": true + }, + "keyv": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/keyv/-/keyv-3.0.0.tgz", + "integrity": "sha512-eguHnq22OE3uVoSYG0LVWNP+4ppamWr9+zWBe1bsNcovIMy6huUJFPgy4mGwCd/rnl3vOLGW1MTlu4c57CT1xA==", + "dev": true, + "optional": true, + "requires": { + "json-buffer": "3.0.0" + } + }, + "kind-of": { + "version": "6.0.3", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-6.0.3.tgz", + "integrity": "sha512-dcS1ul+9tmeD95T+x28/ehLgd9mENa3LsvDTtzm3vyBEO7RPptvAD+t44WVXaUjTBRcrpFeFlC8WCruUR456hw==", + "dev": true + }, + "klona": { + "version": "2.0.4", + "resolved": "https://registry.npmjs.org/klona/-/klona-2.0.4.tgz", + "integrity": "sha512-ZRbnvdg/NxqzC7L9Uyqzf4psi1OM4Cuc+sJAkQPjO6XkQIJTNbfK2Rsmbw8fx1p2mkZdp2FZYo2+LwXYY/uwIA==", + "dev": true + }, + "load-json-file": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/load-json-file/-/load-json-file-1.1.0.tgz", + "integrity": "sha1-lWkFcI1YtLq0wiYbBPWfMcmTdMA=", + "dev": true, + "optional": true, + "requires": { + "graceful-fs": "^4.1.2", + "parse-json": "^2.2.0", + "pify": "^2.0.0", + "pinkie-promise": "^2.0.0", + "strip-bom": "^2.0.0" + } + }, + "loader-runner": { + "version": "4.2.0", + "resolved": "https://registry.npmjs.org/loader-runner/-/loader-runner-4.2.0.tgz", + "integrity": "sha512-92+huvxMvYlMzMt0iIOukcwYBFpkYJdpl2xsZ7LrlayO7E8SOv+JJUEK17B/dJIHAOLMfh2dZZ/Y18WgmGtYNw==", + "dev": true + }, + "loader-utils": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/loader-utils/-/loader-utils-1.4.0.tgz", + "integrity": "sha512-qH0WSMBtn/oHuwjy/NucEgbx5dbxxnxup9s4PVXJUDHZBQY+s0NWA9rJf53RBnQZxfch7euUui7hpoAPvALZdA==", + "dev": true, + "requires": { + "big.js": "^5.2.2", + "emojis-list": "^3.0.0", + "json5": "^1.0.1" + }, + "dependencies": { + "json5": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/json5/-/json5-1.0.1.tgz", + "integrity": "sha512-aKS4WQjPenRxiQsC93MNfjx+nbF4PAdYzmd/1JIj8HYzqfbu86beTuNgXDzPknWk0n0uARlyewZo4s++ES36Ow==", + "dev": true, + "requires": { + "minimist": "^1.2.0" + } + } + } + }, + "locate-path": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-5.0.0.tgz", + "integrity": "sha512-t7hw9pI+WvuwNJXwk5zVHpyhIqzg2qTlklJOf0mVxGSbe3Fp2VieZcduNYjaLDoy6p9uGpQEGWG87WpMKlNq8g==", + "dev": true, + "requires": { + "p-locate": "^4.1.0" + } + }, + "lodash": { + "version": "4.17.21", + "resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.21.tgz", + "integrity": "sha512-v2kDEe57lecTulaDIuNTPy3Ry4gLGJ6Z1O3vE1krgXZNrsQ+LFTGHVxVjcXPs17LhbZVGedAJv8XZ1tvj5FvSg==", + "dev": true + }, + "lodash.debounce": { + "version": "4.0.8", + "resolved": "https://registry.npmjs.org/lodash.debounce/-/lodash.debounce-4.0.8.tgz", + "integrity": "sha1-gteb/zCmfEAF/9XiUVMArZyk168=", + "dev": true + }, + "logalot": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/logalot/-/logalot-2.1.0.tgz", + "integrity": "sha1-X46MkNME7fElMJUaVVSruMXj9VI=", + "dev": true, + "optional": true, + "requires": { + "figures": "^1.3.5", + "squeak": "^1.0.0" + } + }, + "longest": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/longest/-/longest-1.0.1.tgz", + "integrity": "sha1-MKCy2jj3N3DoKUoNIuZiXtd9AJc=", + "dev": true, + "optional": true + }, + "loud-rejection": { + "version": "1.6.0", + "resolved": "https://registry.npmjs.org/loud-rejection/-/loud-rejection-1.6.0.tgz", + "integrity": "sha1-W0b4AUft7leIcPCG0Eghz5mOVR8=", + "dev": true, + "optional": true, + "requires": { + "currently-unhandled": "^0.4.1", + "signal-exit": "^3.0.0" + } + }, + "lower-case": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/lower-case/-/lower-case-2.0.2.tgz", + "integrity": "sha512-7fm3l3NAF9WfN6W3JOmf5drwpVqX78JtoGJ3A6W0a6ZnldM41w2fV5D490psKFTpMds8TJse/eHLFFsNHHjHgg==", + "dev": true, + "requires": { + "tslib": "^2.0.3" + } + }, + "lowercase-keys": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/lowercase-keys/-/lowercase-keys-1.0.1.tgz", + "integrity": "sha512-G2Lj61tXDnVFFOi8VZds+SoQjtQC3dgokKdDG2mTm1tx4m50NUHBOZSBwQQHyy0V12A0JTG4icfZQH+xPyh8VA==", + "dev": true, + "optional": true + }, + "lpad-align": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/lpad-align/-/lpad-align-1.1.2.tgz", + "integrity": "sha1-IfYArBwwlcPG5JfuZyce4ISB/p4=", + "dev": true, + "optional": true, + "requires": { + "get-stdin": "^4.0.1", + "indent-string": "^2.1.0", + "longest": "^1.0.0", + "meow": "^3.3.0" + } + }, + "lru-cache": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-6.0.0.tgz", + "integrity": "sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA==", + "dev": true, + "requires": { + "yallist": "^4.0.0" + } + }, + "make-dir": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/make-dir/-/make-dir-3.1.0.tgz", + "integrity": "sha512-g3FeP20LNwhALb/6Cz6Dd4F2ngze0jz7tbzrD2wAV+o9FeNHe4rL+yK2md0J/fiSf1sa1ADhXqi5+oVwOM/eGw==", + "dev": true, + "requires": { + "semver": "^6.0.0" + } + }, + "map-obj": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/map-obj/-/map-obj-1.0.1.tgz", + "integrity": "sha1-2TPOuSBdgr3PSIb2dCvcK03qFG0=", + "dev": true, + "optional": true + }, + "mdn-data": { + "version": "2.0.4", + "resolved": "https://registry.npmjs.org/mdn-data/-/mdn-data-2.0.4.tgz", + "integrity": "sha512-iV3XNKw06j5Q7mi6h+9vbx23Tv7JkjEVgKHW4pimwyDGWm0OIQntJJ+u1C6mg6mK1EaTv42XQ7w76yuzH7M2cA==", + "dev": true, + "optional": true + }, + "meow": { + "version": "3.7.0", + "resolved": "https://registry.npmjs.org/meow/-/meow-3.7.0.tgz", + "integrity": "sha1-cstmi0JSKCkKu/qFaJJYcwioAfs=", + "dev": true, + "optional": true, + "requires": { + "camelcase-keys": "^2.0.0", + "decamelize": "^1.1.2", + "loud-rejection": "^1.0.0", + "map-obj": "^1.0.1", + "minimist": "^1.1.3", + "normalize-package-data": "^2.3.4", + "object-assign": "^4.0.1", + "read-pkg-up": "^1.0.1", + "redent": "^1.0.0", + "trim-newlines": "^1.0.0" + } + }, + "merge-stream": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/merge-stream/-/merge-stream-2.0.0.tgz", + "integrity": "sha512-abv/qOcuPfk3URPfDzmZU1LKmuw8kT+0nIHvKrKgFrwifol/doWcdA4ZqsWQ8ENrFKkd67Mfpo/LovbIUsbt3w==", + "dev": true + }, + "merge2": { + "version": "1.4.1", + "resolved": "https://registry.npmjs.org/merge2/-/merge2-1.4.1.tgz", + "integrity": "sha512-8q7VEgMJW4J8tcfVPy8g09NcQwZdbwFEqhe/WZkoIzjn/3TGDwtOCYtXGxA3O8tPzpczCCDgv+P2P5y00ZJOOg==", + "dev": true + }, + "micromatch": { + "version": "4.0.4", + "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-4.0.4.tgz", + "integrity": "sha512-pRmzw/XUcwXGpD9aI9q/0XOwLNygjETJ8y0ao0wdqprrzDa4YnxLcz7fQRZr8voh8V10kGhABbNcHVk5wHgWwg==", + "dev": true, + "requires": { + "braces": "^3.0.1", + "picomatch": "^2.2.3" + } + }, + "mime-db": { + "version": "1.48.0", + "resolved": "https://registry.npmjs.org/mime-db/-/mime-db-1.48.0.tgz", + "integrity": "sha512-FM3QwxV+TnZYQ2aRqhlKBMHxk10lTbMt3bBkMAp54ddrNeVSfcQYOOKuGuy3Ddrm38I04If834fOUSq1yzslJQ==", + "dev": true + }, + "mime-types": { + "version": "2.1.31", + "resolved": "https://registry.npmjs.org/mime-types/-/mime-types-2.1.31.tgz", + "integrity": "sha512-XGZnNzm3QvgKxa8dpzyhFTHmpP3l5YNusmne07VUOXxou9CqUqYa/HBy124RqtVh/O2pECas/MOcsDgpilPOPg==", + "dev": true, + "requires": { + "mime-db": "1.48.0" + } + }, + "mimic-fn": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/mimic-fn/-/mimic-fn-2.1.0.tgz", + "integrity": "sha512-OqbOk5oEQeAZ8WXWydlu9HJjz9WVdEIvamMCcXmuqUYjTknH/sqsWvhQ3vgwKFRR1HpjvNBKQ37nbJgYzGqGcg==", + "dev": true + }, + "mimic-response": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/mimic-response/-/mimic-response-1.0.1.tgz", + "integrity": "sha512-j5EctnkH7amfV/q5Hgmoal1g2QHFJRraOtmx0JpIqkxhBhI/lJSl1nMpQ45hVarwNETOoWEimndZ4QK0RHxuxQ==", + "dev": true, + "optional": true + }, + "mini-css-extract-plugin": { + "version": "1.6.2", + "resolved": "https://registry.npmjs.org/mini-css-extract-plugin/-/mini-css-extract-plugin-1.6.2.tgz", + "integrity": "sha512-WhDvO3SjGm40oV5y26GjMJYjd2UMqrLAGKy5YS2/3QKJy2F7jgynuHTir/tgUUOiNQu5saXHdc8reo7YuhhT4Q==", + "dev": true, + "requires": { + "loader-utils": "^2.0.0", + "schema-utils": "^3.0.0", + "webpack-sources": "^1.1.0" + }, + "dependencies": { + "loader-utils": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/loader-utils/-/loader-utils-2.0.0.tgz", + "integrity": "sha512-rP4F0h2RaWSvPEkD7BLDFQnvSf+nK+wr3ESUjNTyAGobqrijmW92zc+SO6d4p4B1wh7+B/Jg1mkQe5NYUEHtHQ==", + "dev": true, + "requires": { + "big.js": "^5.2.2", + "emojis-list": "^3.0.0", + "json5": "^2.1.2" + } + }, + "schema-utils": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-3.0.0.tgz", + "integrity": "sha512-6D82/xSzO094ajanoOSbe4YvXWMfn2A//8Y1+MUqFAJul5Bs+yn36xbK9OtNDcRVSBJ9jjeoXftM6CfztsjOAA==", + "dev": true, + "requires": { + "@types/json-schema": "^7.0.6", + "ajv": "^6.12.5", + "ajv-keywords": "^3.5.2" + } + }, + "source-map": { + "version": "0.6.1", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", + "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", + "dev": true + }, + "webpack-sources": { + "version": "1.4.3", + "resolved": "https://registry.npmjs.org/webpack-sources/-/webpack-sources-1.4.3.tgz", + "integrity": "sha512-lgTS3Xhv1lCOKo7SA5TjKXMjpSM4sBjNV5+q2bqesbSPs5FjGmU6jjtBSkX9b4qW87vDIsCIlUPOEhbZrMdjeQ==", + "dev": true, + "requires": { + "source-list-map": "^2.0.0", + "source-map": "~0.6.1" + } + } + } + }, + "minimatch": { + "version": "3.0.4", + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.0.4.tgz", + "integrity": "sha512-yJHVQEhyqPLUTgt9B83PXu6W3rx4MvvHvSUvToogpwoGDOUQ+yDrR0HRot+yOCdCO7u4hX3pWft6kWBBcqh0UA==", + "dev": true, + "requires": { + "brace-expansion": "^1.1.7" + } + }, + "minimist": { + "version": "1.2.5", + "resolved": "https://registry.npmjs.org/minimist/-/minimist-1.2.5.tgz", + "integrity": "sha512-FM9nNUYrRBAELZQT3xeZQ7fmMOBg6nWNmJKTcgsJeaLstP/UODVpGsr5OhXhhXg6f+qtJ8uiZ+PUxkDWcgIXLw==", + "dev": true + }, + "mkdirp": { + "version": "0.5.5", + "resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-0.5.5.tgz", + "integrity": "sha512-NKmAlESf6jMGym1++R0Ra7wvhV+wFW63FaSOFPwRahvea0gMUcGUhVeAg/0BC0wiv9ih5NYPB1Wn1UEI1/L+xQ==", + "dev": true, + "optional": true, + "requires": { + "minimist": "^1.2.5" + } + }, + "mozjpeg": { + "version": "7.1.0", + "resolved": "https://registry.npmjs.org/mozjpeg/-/mozjpeg-7.1.0.tgz", + "integrity": "sha512-A6nVpI33DVi04HxatRx3PZTeVAOP1AC/T/5kXEvP0U8F+J11mmFFDv46BM2j5/cEyzDDtK8ptHeBSphNMrQLqA==", + "dev": true, + "optional": true, + "requires": { + "bin-build": "^3.0.0", + "bin-wrapper": "^4.0.0", + "logalot": "^2.1.0" + } + }, + "ms": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz", + "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==", + "dev": true + }, + "nanoid": { + "version": "3.1.23", + "resolved": "https://registry.npmjs.org/nanoid/-/nanoid-3.1.23.tgz", + "integrity": "sha512-FiB0kzdP0FFVGDKlRLEQ1BgDzU87dy5NnzjeW9YZNt+/c3+q82EQDUwniSAUxp/F0gFNI1ZhKU1FqYsMuqZVnw==", + "dev": true + }, + "neo-async": { + "version": "2.6.2", + "resolved": "https://registry.npmjs.org/neo-async/-/neo-async-2.6.2.tgz", + "integrity": "sha512-Yd3UES5mWCSqR+qNT93S3UoYUkqAZ9lLg8a7g9rimsWmYGK8cVToA4/sF3RrshdyV3sAGMXVUmpMYOw+dLpOuw==", + "dev": true + }, + "nice-try": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/nice-try/-/nice-try-1.0.5.tgz", + "integrity": "sha512-1nh45deeb5olNY7eX82BkPO7SSxR5SSYJiPTrTdFUVYwAl8CKMA5N9PjTYkHiRjisVcxcQ1HXdLhx2qxxJzLNQ==", + "dev": true, + "optional": true + }, + "no-case": { + "version": "3.0.4", + "resolved": "https://registry.npmjs.org/no-case/-/no-case-3.0.4.tgz", + "integrity": "sha512-fgAN3jGAh+RoxUGZHTSOLJIqUc2wmoBwGR4tbpNAKmmovFoWq0OdRkb0VkldReO2a2iBT/OEulG9XSUc10r3zg==", + "dev": true, + "requires": { + "lower-case": "^2.0.2", + "tslib": "^2.0.3" + } + }, + "node-releases": { + "version": "1.1.73", + "resolved": "https://registry.npmjs.org/node-releases/-/node-releases-1.1.73.tgz", + "integrity": "sha512-uW7fodD6pyW2FZNZnp/Z3hvWKeEW1Y8R1+1CnErE8cXFXzl5blBOoVB41CvMer6P6Q0S5FXDwcHgFd1Wj0U9zg==", + "dev": true + }, + "normalize-package-data": { + "version": "2.5.0", + "resolved": "https://registry.npmjs.org/normalize-package-data/-/normalize-package-data-2.5.0.tgz", + "integrity": "sha512-/5CMN3T0R4XTj4DcGaexo+roZSdSFW/0AOOTROrjxzCG1wrWXEsGbRKevjlIL+ZDE4sZlJr5ED4YW0yqmkK+eA==", + "dev": true, + "optional": true, + "requires": { + "hosted-git-info": "^2.1.4", + "resolve": "^1.10.0", + "semver": "2 || 3 || 4 || 5", + "validate-npm-package-license": "^3.0.1" + }, + "dependencies": { + "semver": { + "version": "5.7.1", + "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.1.tgz", + "integrity": "sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ==", + "dev": true, + "optional": true + } + } + }, + "normalize-path": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/normalize-path/-/normalize-path-3.0.0.tgz", + "integrity": "sha512-6eZs5Ls3WtCisHWp9S2GUy8dqkpGi4BVSz3GaqiE6ezub0512ESztXUwUB6C6IKbQkY2Pnb/mD4WYojCRwcwLA==", + "dev": true + }, + "normalize-url": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/normalize-url/-/normalize-url-2.0.1.tgz", + "integrity": "sha512-D6MUW4K/VzoJ4rJ01JFKxDrtY1v9wrgzCX5f2qj/lzH1m/lW6MhUZFKerVsnyjOhOsYzI9Kqqak+10l4LvLpMw==", + "dev": true, + "optional": true, + "requires": { + "prepend-http": "^2.0.0", + "query-string": "^5.0.1", + "sort-keys": "^2.0.0" + }, + "dependencies": { + "prepend-http": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/prepend-http/-/prepend-http-2.0.0.tgz", + "integrity": "sha1-6SQ0v6XqjBn0HN/UAddBo8gZ2Jc=", + "dev": true, + "optional": true + }, + "sort-keys": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/sort-keys/-/sort-keys-2.0.0.tgz", + "integrity": "sha1-ZYU1WEhh7JfXMNbPQYIuH1ZoQSg=", + "dev": true, + "optional": true, + "requires": { + "is-plain-obj": "^1.0.0" + } + } + } + }, + "npm-conf": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/npm-conf/-/npm-conf-1.1.3.tgz", + "integrity": "sha512-Yic4bZHJOt9RCFbRP3GgpqhScOY4HH3V2P8yBj6CeYq118Qr+BLXqT2JvpJ00mryLESpgOxf5XlFv4ZjXxLScw==", + "dev": true, + "optional": true, + "requires": { + "config-chain": "^1.1.11", + "pify": "^3.0.0" + }, + "dependencies": { + "pify": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/pify/-/pify-3.0.0.tgz", + "integrity": "sha1-5aSs0sEB/fPZpNB/DbxNtJ3SgXY=", + "dev": true, + "optional": true + } + } + }, + "npm-run-path": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/npm-run-path/-/npm-run-path-4.0.1.tgz", + "integrity": "sha512-S48WzZW777zhNIrn7gxOlISNAqi9ZC/uQFnRdbeIHhZhCA6UqpkOT8T1G7BvfdgP4Er8gF4sUbaS0i7QvIfCWw==", + "dev": true, + "requires": { + "path-key": "^3.0.0" + } + }, + "nth-check": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/nth-check/-/nth-check-2.0.0.tgz", + "integrity": "sha512-i4sc/Kj8htBrAiH1viZ0TgU8Y5XqCaV/FziYK6TBczxmeKm3AEFWqqF3195yKudrarqy7Zu80Ra5dobFjn9X/Q==", + "dev": true, + "requires": { + "boolbase": "^1.0.0" + } + }, + "object-assign": { + "version": "4.1.1", + "resolved": "https://registry.npmjs.org/object-assign/-/object-assign-4.1.1.tgz", + "integrity": "sha1-IQmtx5ZYh8/AXLvUQsrIv7s2CGM=", + "dev": true + }, + "object-inspect": { + "version": "1.10.3", + "resolved": "https://registry.npmjs.org/object-inspect/-/object-inspect-1.10.3.tgz", + "integrity": "sha512-e5mCJlSH7poANfC8z8S9s9S2IN5/4Zb3aZ33f5s8YqoazCFzNLloLU8r5VCG+G7WoqLvAAZoVMcy3tp/3X0Plw==", + "dev": true, + "optional": true + }, + "object-keys": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/object-keys/-/object-keys-1.1.1.tgz", + "integrity": "sha512-NuAESUOUMrlIXOfHKzD6bpPu3tYt3xvjNdRIQ+FeT0lNb4K8WR70CaDxhuNguS2XG+GjkyMwOzsN5ZktImfhLA==", + "dev": true + }, + "object.assign": { + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/object.assign/-/object.assign-4.1.2.tgz", + "integrity": "sha512-ixT2L5THXsApyiUPYKmW+2EHpXXe5Ii3M+f4e+aJFAHao5amFRW6J0OO6c/LU8Be47utCx2GL89hxGB6XSmKuQ==", + "dev": true, + "requires": { + "call-bind": "^1.0.0", + "define-properties": "^1.1.3", + "has-symbols": "^1.0.1", + "object-keys": "^1.1.1" + } + }, + "object.getownpropertydescriptors": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/object.getownpropertydescriptors/-/object.getownpropertydescriptors-2.1.2.tgz", + "integrity": "sha512-WtxeKSzfBjlzL+F9b7M7hewDzMwy+C8NRssHd1YrNlzHzIDrXcXiNOMrezdAEM4UXixgV+vvnyBeN7Rygl2ttQ==", + "dev": true, + "optional": true, + "requires": { + "call-bind": "^1.0.2", + "define-properties": "^1.1.3", + "es-abstract": "^1.18.0-next.2" + } + }, + "object.values": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/object.values/-/object.values-1.1.4.tgz", + "integrity": "sha512-TnGo7j4XSnKQoK3MfvkzqKCi0nVe/D9I9IjwTNYdb/fxYHpjrluHVOgw0AF6jrRFGMPHdfuidR09tIDiIvnaSg==", + "dev": true, + "optional": true, + "requires": { + "call-bind": "^1.0.2", + "define-properties": "^1.1.3", + "es-abstract": "^1.18.2" + } + }, + "once": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/once/-/once-1.4.0.tgz", + "integrity": "sha1-WDsap3WWHUsROsF9nFC6753Xa9E=", + "dev": true, + "requires": { + "wrappy": "1" + } + }, + "onetime": { + "version": "5.1.2", + "resolved": "https://registry.npmjs.org/onetime/-/onetime-5.1.2.tgz", + "integrity": "sha512-kbpaSSGJTWdAY5KPVeMOKXSrPtr8C8C7wodJbcsd51jRnmD+GZu8Y0VoU6Dm5Z4vWr0Ig/1NKuWRKf7j5aaYSg==", + "dev": true, + "requires": { + "mimic-fn": "^2.1.0" + } + }, + "optipng-bin": { + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/optipng-bin/-/optipng-bin-7.0.0.tgz", + "integrity": "sha512-mesUAwfedu5p9gRQwlYgD6Svw5IH3VUIWDJj/9cNpP3yFNbbEVqkTMWYhrIEn/cxmbGA3LpZrdoV2Yl8OfmnIA==", + "dev": true, + "optional": true, + "requires": { + "bin-build": "^3.0.0", + "bin-wrapper": "^4.0.0", + "logalot": "^2.0.0" + } + }, + "os-filter-obj": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/os-filter-obj/-/os-filter-obj-2.0.0.tgz", + "integrity": "sha512-uksVLsqG3pVdzzPvmAHpBK0wKxYItuzZr7SziusRPoz67tGV8rL1szZ6IdeUrbqLjGDwApBtN29eEE3IqGHOjg==", + "dev": true, + "optional": true, + "requires": { + "arch": "^2.1.0" + } + }, + "ow": { + "version": "0.17.0", + "resolved": "https://registry.npmjs.org/ow/-/ow-0.17.0.tgz", + "integrity": "sha512-i3keDzDQP5lWIe4oODyDFey1qVrq2hXKTuTH2VpqwpYtzPiKZt2ziRI4NBQmgW40AnV5Euz17OyWweCb+bNEQA==", + "dev": true, + "optional": true, + "requires": { + "type-fest": "^0.11.0" + } + }, + "p-cancelable": { + "version": "0.3.0", + "resolved": "https://registry.npmjs.org/p-cancelable/-/p-cancelable-0.3.0.tgz", + "integrity": "sha512-RVbZPLso8+jFeq1MfNvgXtCRED2raz/dKpacfTNxsx6pLEpEomM7gah6VeHSYV3+vo0OAi4MkArtQcWWXuQoyw==", + "dev": true, + "optional": true + }, + "p-event": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/p-event/-/p-event-1.3.0.tgz", + "integrity": "sha1-jmtPT2XHK8W2/ii3XtqHT5akoIU=", + "dev": true, + "optional": true, + "requires": { + "p-timeout": "^1.1.1" + } + }, + "p-finally": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/p-finally/-/p-finally-1.0.0.tgz", + "integrity": "sha1-P7z7FbiZpEEjs0ttzBi3JDNqLK4=", + "dev": true, + "optional": true + }, + "p-is-promise": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/p-is-promise/-/p-is-promise-1.1.0.tgz", + "integrity": "sha1-nJRWmJ6fZYgBewQ01WCXZ1w9oF4=", + "dev": true, + "optional": true + }, + "p-limit": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-2.3.0.tgz", + "integrity": "sha512-//88mFWSJx8lxCzwdAABTJL2MyWB12+eIY7MDL2SqLmAkeKU9qxRvWuSyTjm3FUmpBEMuFfckAIqEaVGUDxb6w==", + "dev": true, + "requires": { + "p-try": "^2.0.0" + } + }, + "p-locate": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-4.1.0.tgz", + "integrity": "sha512-R79ZZ/0wAxKGu3oYMlz8jy/kbhsNrS7SKZ7PxEHBgJ5+F2mtFW2fK2cOtBh1cHYkQsbzFV7I+EoRKe6Yt0oK7A==", + "dev": true, + "requires": { + "p-limit": "^2.2.0" + } + }, + "p-map-series": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/p-map-series/-/p-map-series-1.0.0.tgz", + "integrity": "sha1-v5j+V1cFZYqeE1G++4WuTB8Hvco=", + "dev": true, + "optional": true, + "requires": { + "p-reduce": "^1.0.0" + } + }, + "p-pipe": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/p-pipe/-/p-pipe-3.1.0.tgz", + "integrity": "sha512-08pj8ATpzMR0Y80x50yJHn37NF6vjrqHutASaX5LiH5npS9XPvrUmscd9MF5R4fuYRHOxQR1FfMIlF7AzwoPqw==", + "dev": true + }, + "p-reduce": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/p-reduce/-/p-reduce-1.0.0.tgz", + "integrity": "sha1-GMKw3ZNqRpClKfgjH1ig/bakffo=", + "dev": true, + "optional": true + }, + "p-timeout": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/p-timeout/-/p-timeout-1.2.1.tgz", + "integrity": "sha1-XrOzU7f86Z8QGhA4iAuwVOu+o4Y=", + "dev": true, + "optional": true, + "requires": { + "p-finally": "^1.0.0" + } + }, + "p-try": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/p-try/-/p-try-2.2.0.tgz", + "integrity": "sha512-R4nPAVTAU0B9D35/Gk3uJf/7XYbQcyohSKdvAxIRSNghFl4e71hVoGnBNQz9cWaXxO2I10KTC+3jMdvvoKw6dQ==", + "dev": true + }, + "param-case": { + "version": "3.0.4", + "resolved": "https://registry.npmjs.org/param-case/-/param-case-3.0.4.tgz", + "integrity": "sha512-RXlj7zCYokReqWpOPH9oYivUzLYZ5vAPIfEmCTNViosC78F8F0H9y7T7gG2M39ymgutxF5gcFEsyZQSph9Bp3A==", + "dev": true, + "requires": { + "dot-case": "^3.0.4", + "tslib": "^2.0.3" + } + }, + "parse-json": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/parse-json/-/parse-json-2.2.0.tgz", + "integrity": "sha1-9ID0BDTvgHQfhGkJn43qGPVaTck=", + "dev": true, + "optional": true, + "requires": { + "error-ex": "^1.2.0" + } + }, + "pascal-case": { + "version": "3.1.2", + "resolved": "https://registry.npmjs.org/pascal-case/-/pascal-case-3.1.2.tgz", + "integrity": "sha512-uWlGT3YSnK9x3BQJaOdcZwrnV6hPpd8jFH1/ucpiLRPh/2zCVJKS19E4GvYHvaCcACn3foXZ0cLB9Wrx1KGe5g==", + "dev": true, + "requires": { + "no-case": "^3.0.4", + "tslib": "^2.0.3" + } + }, + "path-exists": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-4.0.0.tgz", + "integrity": "sha512-ak9Qy5Q7jYb2Wwcey5Fpvg2KoAc/ZIhLSLOSBmRmygPsGwkVVt0fZa0qrtMz+m6tJTAHfZQ8FnmB4MG4LWy7/w==", + "dev": true + }, + "path-is-absolute": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/path-is-absolute/-/path-is-absolute-1.0.1.tgz", + "integrity": "sha1-F0uSaHNVNP+8es5r9TpanhtcX18=", + "dev": true + }, + "path-key": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/path-key/-/path-key-3.1.1.tgz", + "integrity": "sha512-ojmeN0qd+y0jszEtoY48r0Peq5dwMEkIlCOu6Q5f41lfkswXuKtYrhgoTpLnyIcHm24Uhqx+5Tqm2InSwLhE6Q==", + "dev": true + }, + "path-parse": { + "version": "1.0.7", + "resolved": "https://registry.npmjs.org/path-parse/-/path-parse-1.0.7.tgz", + "integrity": "sha512-LDJzPVEEEPR+y48z93A0Ed0yXb8pAByGWo/k5YYdYgpY2/2EsOsksJrq7lOHxryrVOn1ejG6oAp8ahvOIQD8sw==", + "dev": true + }, + "path-type": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/path-type/-/path-type-4.0.0.tgz", + "integrity": "sha512-gDKb8aZMDeD/tZWs9P6+q0J9Mwkdl6xMV8TjnGP3qJVJ06bdMgkbBlLU8IdfOsIsFz2BW1rNVT3XuNEl8zPAvw==", + "dev": true + }, + "pend": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/pend/-/pend-1.2.0.tgz", + "integrity": "sha1-elfrVQpng/kRUzH89GY9XI4AelA=", + "dev": true, + "optional": true + }, + "picomatch": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/picomatch/-/picomatch-2.3.0.tgz", + "integrity": "sha512-lY1Q/PiJGC2zOv/z391WOTD+Z02bCgsFfvxoXXf6h7kv9o+WmsmzYqrAwY63sNgOxE4xEdq0WyUnXfKeBrSvYw==", + "dev": true + }, + "pify": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/pify/-/pify-2.3.0.tgz", + "integrity": "sha1-7RQaasBDqEnqWISY59yosVMw6Qw=", + "dev": true, + "optional": true + }, + "pinkie": { + "version": "2.0.4", + "resolved": "https://registry.npmjs.org/pinkie/-/pinkie-2.0.4.tgz", + "integrity": "sha1-clVrgM+g1IqXToDnckjoDtT3+HA=", + "dev": true, + "optional": true + }, + "pinkie-promise": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/pinkie-promise/-/pinkie-promise-2.0.1.tgz", + "integrity": "sha1-ITXW36ejWMBprJsXh3YogihFD/o=", + "dev": true, + "optional": true, + "requires": { + "pinkie": "^2.0.0" + } + }, + "pkg-dir": { + "version": "4.2.0", + "resolved": "https://registry.npmjs.org/pkg-dir/-/pkg-dir-4.2.0.tgz", + "integrity": "sha512-HRDzbaKjC+AOWVXxAU/x54COGeIv9eb+6CkDSQoNTt4XyWoIJvuPsXizxu/Fr23EiekbtZwmh1IcIG/l/a10GQ==", + "dev": true, + "requires": { + "find-up": "^4.0.0" + } + }, + "pngquant-bin": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/pngquant-bin/-/pngquant-bin-6.0.0.tgz", + "integrity": "sha512-oXWAS9MQ9iiDAJRdAZ9KO1mC5UwhzKkJsmetiu0iqIjJuW7JsuLhmc4JdRm7uJkIWRzIAou/Vq2VcjfJwz30Ow==", + "dev": true, + "optional": true, + "requires": { + "bin-build": "^3.0.0", + "bin-wrapper": "^4.0.1", + "execa": "^4.0.0", + "logalot": "^2.0.0" + }, + "dependencies": { + "execa": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/execa/-/execa-4.1.0.tgz", + "integrity": "sha512-j5W0//W7f8UxAn8hXVnwG8tLwdiUy4FJLcSupCg6maBYZDpyBvTApK7KyuI4bKj8KOh1r2YH+6ucuYtJv1bTZA==", + "dev": true, + "optional": true, + "requires": { + "cross-spawn": "^7.0.0", + "get-stream": "^5.0.0", + "human-signals": "^1.1.1", + "is-stream": "^2.0.0", + "merge-stream": "^2.0.0", + "npm-run-path": "^4.0.0", + "onetime": "^5.1.0", + "signal-exit": "^3.0.2", + "strip-final-newline": "^2.0.0" + } + }, + "get-stream": { + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/get-stream/-/get-stream-5.2.0.tgz", + "integrity": "sha512-nBF+F1rAZVCu/p7rjzgA+Yb4lfYXrpl7a6VmJrU8wF9I1CKvP/QwPNZHnOlwbTkY6dvtFIzFMSyQXbLoTQPRpA==", + "dev": true, + "optional": true, + "requires": { + "pump": "^3.0.0" + } + }, + "human-signals": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/human-signals/-/human-signals-1.1.1.tgz", + "integrity": "sha512-SEQu7vl8KjNL2eoGBLF3+wAjpsNfA9XMlXAYj/3EdaNfAlxKthD1xjEQfGOUhllCGGJVNY34bRr6lPINhNjyZw==", + "dev": true, + "optional": true + } + } + }, + "postcss": { + "version": "8.3.5", + "resolved": "https://registry.npmjs.org/postcss/-/postcss-8.3.5.tgz", + "integrity": "sha512-NxTuJocUhYGsMiMFHDUkmjSKT3EdH4/WbGF6GCi1NDGk+vbcUTun4fpbOqaPtD8IIsztA2ilZm2DhYCuyN58gA==", + "dev": true, + "requires": { + "colorette": "^1.2.2", + "nanoid": "^3.1.23", + "source-map-js": "^0.6.2" + } + }, + "postcss-modules-extract-imports": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/postcss-modules-extract-imports/-/postcss-modules-extract-imports-3.0.0.tgz", + "integrity": "sha512-bdHleFnP3kZ4NYDhuGlVK+CMrQ/pqUm8bx/oGL93K6gVwiclvX5x0n76fYMKuIGKzlABOy13zsvqjb0f92TEXw==", + "dev": true + }, + "postcss-modules-local-by-default": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/postcss-modules-local-by-default/-/postcss-modules-local-by-default-4.0.0.tgz", + "integrity": "sha512-sT7ihtmGSF9yhm6ggikHdV0hlziDTX7oFoXtuVWeDd3hHObNkcHRo9V3yg7vCAY7cONyxJC/XXCmmiHHcvX7bQ==", + "dev": true, + "requires": { + "icss-utils": "^5.0.0", + "postcss-selector-parser": "^6.0.2", + "postcss-value-parser": "^4.1.0" + } + }, + "postcss-modules-scope": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/postcss-modules-scope/-/postcss-modules-scope-3.0.0.tgz", + "integrity": "sha512-hncihwFA2yPath8oZ15PZqvWGkWf+XUfQgUGamS4LqoP1anQLOsOJw0vr7J7IwLpoY9fatA2qiGUGmuZL0Iqlg==", + "dev": true, + "requires": { + "postcss-selector-parser": "^6.0.4" + } + }, + "postcss-modules-values": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/postcss-modules-values/-/postcss-modules-values-4.0.0.tgz", + "integrity": "sha512-RDxHkAiEGI78gS2ofyvCsu7iycRv7oqw5xMWn9iMoR0N/7mf9D50ecQqUo5BZ9Zh2vH4bCUR/ktCqbB9m8vJjQ==", + "dev": true, + "requires": { + "icss-utils": "^5.0.0" + } + }, + "postcss-selector-parser": { + "version": "6.0.6", + "resolved": "https://registry.npmjs.org/postcss-selector-parser/-/postcss-selector-parser-6.0.6.tgz", + "integrity": "sha512-9LXrvaaX3+mcv5xkg5kFwqSzSH1JIObIx51PrndZwlmznwXRfxMddDvo9gve3gVR8ZTKgoFDdWkbRFmEhT4PMg==", + "dev": true, + "requires": { + "cssesc": "^3.0.0", + "util-deprecate": "^1.0.2" + } + }, + "postcss-value-parser": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/postcss-value-parser/-/postcss-value-parser-4.1.0.tgz", + "integrity": "sha512-97DXOFbQJhk71ne5/Mt6cOu6yxsSfM0QGQyl0L25Gca4yGWEGJaig7l7gbCX623VqTBNGLRLaVUCnNkcedlRSQ==", + "dev": true + }, + "prepend-http": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/prepend-http/-/prepend-http-1.0.4.tgz", + "integrity": "sha1-1PRWKwzjaW5BrFLQ4ALlemNdxtw=", + "dev": true, + "optional": true + }, + "pretty-error": { + "version": "3.0.4", + "resolved": "https://registry.npmjs.org/pretty-error/-/pretty-error-3.0.4.tgz", + "integrity": "sha512-ytLFLfv1So4AO1UkoBF6GXQgJRaKbiSiGFICaOPNwQ3CMvBvXpLRubeQWyPGnsbV/t9ml9qto6IeCsho0aEvwQ==", + "dev": true, + "requires": { + "lodash": "^4.17.20", + "renderkid": "^2.0.6" + } + }, + "process-nextick-args": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/process-nextick-args/-/process-nextick-args-2.0.1.tgz", + "integrity": "sha512-3ouUOpQhtgrbOa17J7+uxOTpITYWaGP7/AhoR3+A+/1e9skrzelGi/dXzEYyvbxubEF6Wn2ypscTKiKJFFn1ag==", + "dev": true, + "optional": true + }, + "proto-list": { + "version": "1.2.4", + "resolved": "https://registry.npmjs.org/proto-list/-/proto-list-1.2.4.tgz", + "integrity": "sha1-IS1b/hMYMGpCD2QCuOJv85ZHqEk=", + "dev": true, + "optional": true + }, + "pseudomap": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/pseudomap/-/pseudomap-1.0.2.tgz", + "integrity": "sha1-8FKijacOYYkX7wqKw0wa5aaChrM=", + "dev": true, + "optional": true + }, + "pump": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/pump/-/pump-3.0.0.tgz", + "integrity": "sha512-LwZy+p3SFs1Pytd/jYct4wpv49HiYCqd9Rlc5ZVdk0V+8Yzv6jR5Blk3TRmPL1ft69TxP0IMZGJ+WPFU2BFhww==", + "dev": true, + "optional": true, + "requires": { + "end-of-stream": "^1.1.0", + "once": "^1.3.1" + } + }, + "punycode": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/punycode/-/punycode-2.1.1.tgz", + "integrity": "sha512-XRsRjdf+j5ml+y/6GKHPZbrF/8p2Yga0JPtdqTIY2Xe5ohJPD9saDJJLPvp9+NSBprVvevdXZybnj2cv8OEd0A==", + "dev": true + }, + "q": { + "version": "1.5.1", + "resolved": "https://registry.npmjs.org/q/-/q-1.5.1.tgz", + "integrity": "sha1-fjL3W0E4EpHQRhHxvxQQmsAGUdc=", + "dev": true, + "optional": true + }, + "query-string": { + "version": "5.1.1", + "resolved": "https://registry.npmjs.org/query-string/-/query-string-5.1.1.tgz", + "integrity": "sha512-gjWOsm2SoGlgLEdAGt7a6slVOk9mGiXmPFMqrEhLQ68rhQuBnpfs3+EmlvqKyxnCo9/PPlF+9MtY02S1aFg+Jw==", + "dev": true, + "optional": true, + "requires": { + "decode-uri-component": "^0.2.0", + "object-assign": "^4.1.0", + "strict-uri-encode": "^1.0.0" + } + }, + "queue-microtask": { + "version": "1.2.3", + "resolved": "https://registry.npmjs.org/queue-microtask/-/queue-microtask-1.2.3.tgz", + "integrity": "sha512-NuaNSa6flKT5JaSYQzJok04JzTL1CA6aGhv5rfLW3PgqA+M2ChpZQnAC8h8i4ZFkBS8X5RqkDBHA7r4hej3K9A==", + "dev": true + }, + "randombytes": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/randombytes/-/randombytes-2.1.0.tgz", + "integrity": "sha512-vYl3iOX+4CKUWuxGi9Ukhie6fsqXqS9FE2Zaic4tNFD2N2QQaXOMFbuKK4QmDHC0JO6B1Zp41J0LpT0oR68amQ==", + "dev": true, + "requires": { + "safe-buffer": "^5.1.0" + } + }, + "read-pkg": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/read-pkg/-/read-pkg-1.1.0.tgz", + "integrity": "sha1-9f+qXs0pyzHAR0vKfXVra7KePyg=", + "dev": true, + "optional": true, + "requires": { + "load-json-file": "^1.0.0", + "normalize-package-data": "^2.3.2", + "path-type": "^1.0.0" + }, + "dependencies": { + "path-type": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/path-type/-/path-type-1.1.0.tgz", + "integrity": "sha1-WcRPfuSR2nBNpBXaWkBwuk+P5EE=", + "dev": true, + "optional": true, + "requires": { + "graceful-fs": "^4.1.2", + "pify": "^2.0.0", + "pinkie-promise": "^2.0.0" + } + } + } + }, + "read-pkg-up": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/read-pkg-up/-/read-pkg-up-1.0.1.tgz", + "integrity": "sha1-nWPBMnbAZZGNV/ACpX9AobZD+wI=", + "dev": true, + "optional": true, + "requires": { + "find-up": "^1.0.0", + "read-pkg": "^1.0.0" + }, + "dependencies": { + "find-up": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/find-up/-/find-up-1.1.2.tgz", + "integrity": "sha1-ay6YIrGizgpgq2TWEOzK1TyyTQ8=", + "dev": true, + "optional": true, + "requires": { + "path-exists": "^2.0.0", + "pinkie-promise": "^2.0.0" + } + }, + "path-exists": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-2.1.0.tgz", + "integrity": "sha1-D+tsZPD8UY2adU3V77YscCJ2H0s=", + "dev": true, + "optional": true, + "requires": { + "pinkie-promise": "^2.0.0" + } + } + } + }, + "readable-stream": { + "version": "2.3.7", + "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.7.tgz", + "integrity": "sha512-Ebho8K4jIbHAxnuxi7o42OrZgF/ZTNcsZj6nRKyUmkhLFq8CHItp/fy6hQZuZmP/n3yZ9VBUbp4zz/mX8hmYPw==", + "dev": true, + "optional": true, + "requires": { + "core-util-is": "~1.0.0", + "inherits": "~2.0.3", + "isarray": "~1.0.0", + "process-nextick-args": "~2.0.0", + "safe-buffer": "~5.1.1", + "string_decoder": "~1.1.1", + "util-deprecate": "~1.0.1" + } + }, + "readdirp": { + "version": "3.6.0", + "resolved": "https://registry.npmjs.org/readdirp/-/readdirp-3.6.0.tgz", + "integrity": "sha512-hOS089on8RduqdbhvQ5Z37A0ESjsqz6qnRcffsMU3495FuTdqSm+7bhJ29JvIOsBDEEnan5DPu9t3To9VRlMzA==", + "dev": true, + "requires": { + "picomatch": "^2.2.1" + } + }, + "rechoir": { + "version": "0.7.0", + "resolved": "https://registry.npmjs.org/rechoir/-/rechoir-0.7.0.tgz", + "integrity": "sha512-ADsDEH2bvbjltXEP+hTIAmeFekTFK0V2BTxMkok6qILyAJEXV0AFfoWcAq4yfll5VdIMd/RVXq0lR+wQi5ZU3Q==", + "dev": true, + "requires": { + "resolve": "^1.9.0" + } + }, + "redent": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/redent/-/redent-1.0.0.tgz", + "integrity": "sha1-z5Fqsf1fHxbfsggi3W7H9zDCr94=", + "dev": true, + "optional": true, + "requires": { + "indent-string": "^2.1.0", + "strip-indent": "^1.0.1" + } + }, + "regenerate": { + "version": "1.4.2", + "resolved": "https://registry.npmjs.org/regenerate/-/regenerate-1.4.2.tgz", + "integrity": "sha512-zrceR/XhGYU/d/opr2EKO7aRHUeiBI8qjtfHqADTwZd6Szfy16la6kqD0MIUs5z5hx6AaKa+PixpPrR289+I0A==", + "dev": true + }, + "regenerate-unicode-properties": { + "version": "8.2.0", + "resolved": "https://registry.npmjs.org/regenerate-unicode-properties/-/regenerate-unicode-properties-8.2.0.tgz", + "integrity": "sha512-F9DjY1vKLo/tPePDycuH3dn9H1OTPIkVD9Kz4LODu+F2C75mgjAJ7x/gwy6ZcSNRAAkhNlJSOHRe8k3p+K9WhA==", + "dev": true, + "requires": { + "regenerate": "^1.4.0" + } + }, + "regenerator-runtime": { + "version": "0.13.7", + "resolved": "https://registry.npmjs.org/regenerator-runtime/-/regenerator-runtime-0.13.7.tgz", + "integrity": "sha512-a54FxoJDIr27pgf7IgeQGxmqUNYrcV338lf/6gH456HZ/PhX+5BcwHXG9ajESmwe6WRO0tAzRUrRmNONWgkrew==", + "dev": true + }, + "regenerator-transform": { + "version": "0.14.5", + "resolved": "https://registry.npmjs.org/regenerator-transform/-/regenerator-transform-0.14.5.tgz", + "integrity": "sha512-eOf6vka5IO151Jfsw2NO9WpGX58W6wWmefK3I1zEGr0lOD0u8rwPaNqQL1aRxUaxLeKO3ArNh3VYg1KbaD+FFw==", + "dev": true, + "requires": { + "@babel/runtime": "^7.8.4" + } + }, + "regexpu-core": { + "version": "4.7.1", + "resolved": "https://registry.npmjs.org/regexpu-core/-/regexpu-core-4.7.1.tgz", + "integrity": "sha512-ywH2VUraA44DZQuRKzARmw6S66mr48pQVva4LBeRhcOltJ6hExvWly5ZjFLYo67xbIxb6W1q4bAGtgfEl20zfQ==", + "dev": true, + "requires": { + "regenerate": "^1.4.0", + "regenerate-unicode-properties": "^8.2.0", + "regjsgen": "^0.5.1", + "regjsparser": "^0.6.4", + "unicode-match-property-ecmascript": "^1.0.4", + "unicode-match-property-value-ecmascript": "^1.2.0" + } + }, + "regjsgen": { + "version": "0.5.2", + "resolved": "https://registry.npmjs.org/regjsgen/-/regjsgen-0.5.2.tgz", + "integrity": "sha512-OFFT3MfrH90xIW8OOSyUrk6QHD5E9JOTeGodiJeBS3J6IwlgzJMNE/1bZklWz5oTg+9dCMyEetclvCVXOPoN3A==", + "dev": true + }, + "regjsparser": { + "version": "0.6.9", + "resolved": "https://registry.npmjs.org/regjsparser/-/regjsparser-0.6.9.tgz", + "integrity": "sha512-ZqbNRz1SNjLAiYuwY0zoXW8Ne675IX5q+YHioAGbCw4X96Mjl2+dcX9B2ciaeyYjViDAfvIjFpQjJgLttTEERQ==", + "dev": true, + "requires": { + "jsesc": "~0.5.0" + }, + "dependencies": { + "jsesc": { + "version": "0.5.0", + "resolved": "https://registry.npmjs.org/jsesc/-/jsesc-0.5.0.tgz", + "integrity": "sha1-597mbjXW/Bb3EP6R1c9p9w8IkR0=", + "dev": true + } + } + }, + "relateurl": { + "version": "0.2.7", + "resolved": "https://registry.npmjs.org/relateurl/-/relateurl-0.2.7.tgz", + "integrity": "sha1-VNvzd+UUQKypCkzSdGANP/LYiKk=", + "dev": true + }, + "renderkid": { + "version": "2.0.7", + "resolved": "https://registry.npmjs.org/renderkid/-/renderkid-2.0.7.tgz", + "integrity": "sha512-oCcFyxaMrKsKcTY59qnCAtmDVSLfPbrv6A3tVbPdFMMrv5jaK10V6m40cKsoPNhAqN6rmHW9sswW4o3ruSrwUQ==", + "dev": true, + "requires": { + "css-select": "^4.1.3", + "dom-converter": "^0.2.0", + "htmlparser2": "^6.1.0", + "lodash": "^4.17.21", + "strip-ansi": "^3.0.1" + } + }, + "repeating": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/repeating/-/repeating-2.0.1.tgz", + "integrity": "sha1-UhTFOpJtNVJwdSf7q0FdvAjQbdo=", + "dev": true, + "optional": true, + "requires": { + "is-finite": "^1.0.0" + } + }, + "replace-ext": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/replace-ext/-/replace-ext-1.0.1.tgz", + "integrity": "sha512-yD5BHCe7quCgBph4rMQ+0KkIRKwWCrHDOX1p1Gp6HwjPM5kVoCdKGNhN7ydqqsX6lJEnQDKZ/tFMiEdQ1dvPEw==", + "dev": true + }, + "resolve": { + "version": "1.20.0", + "resolved": "https://registry.npmjs.org/resolve/-/resolve-1.20.0.tgz", + "integrity": "sha512-wENBPt4ySzg4ybFQW2TT1zMQucPK95HSh/nq2CFTZVOGut2+pQvSsgtda4d26YrYcr067wjbmzOG8byDPBX63A==", + "dev": true, + "requires": { + "is-core-module": "^2.2.0", + "path-parse": "^1.0.6" + } + }, + "resolve-cwd": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/resolve-cwd/-/resolve-cwd-3.0.0.tgz", + "integrity": "sha512-OrZaX2Mb+rJCpH/6CpSqt9xFVpN++x01XnN2ie9g6P5/3xelLAkXWVADpdz1IHD/KFfEXyE6V0U01OQ3UO2rEg==", + "dev": true, + "requires": { + "resolve-from": "^5.0.0" + } + }, + "resolve-from": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/resolve-from/-/resolve-from-5.0.0.tgz", + "integrity": "sha512-qYg9KP24dD5qka9J47d0aVky0N+b4fTU89LN9iDnjB5waksiC49rvMB0PrUJQGoTmH50XPiqOvAjDfaijGxYZw==", + "dev": true + }, + "responselike": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/responselike/-/responselike-1.0.2.tgz", + "integrity": "sha1-kYcg7ztjHFZCvgaPFa3lpG9Loec=", + "dev": true, + "optional": true, + "requires": { + "lowercase-keys": "^1.0.0" + } + }, + "reusify": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/reusify/-/reusify-1.0.4.tgz", + "integrity": "sha512-U9nH88a3fc/ekCF1l0/UP1IosiuIjyTh7hBvXVMHYgVcfGvt897Xguj2UOLDeI5BG2m7/uwyaLVT6fbtCwTyzw==", + "dev": true + }, + "rimraf": { + "version": "2.7.1", + "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-2.7.1.tgz", + "integrity": "sha512-uWjbaKIK3T1OSVptzX7Nl6PvQ3qAGtKEtVRjRuazjfL3Bx5eI409VZSqgND+4UNnmzLVdPj9FqFJNPqBZFve4w==", + "dev": true, + "optional": true, + "requires": { + "glob": "^7.1.3" + } + }, + "run-parallel": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/run-parallel/-/run-parallel-1.2.0.tgz", + "integrity": "sha512-5l4VyZR86LZ/lDxZTR6jqL8AFE2S0IFLMP26AbjsLVADxHdhB/c0GUsH+y39UfCi3dzz8OlQuPmnaJOMoDHQBA==", + "dev": true, + "requires": { + "queue-microtask": "^1.2.2" + } + }, + "safe-buffer": { + "version": "5.1.2", + "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.2.tgz", + "integrity": "sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g==", + "dev": true + }, + "sass": { + "version": "1.35.1", + "resolved": "https://registry.npmjs.org/sass/-/sass-1.35.1.tgz", + "integrity": "sha512-oCisuQJstxMcacOPmxLNiLlj4cUyN2+8xJnG7VanRoh2GOLr9RqkvI4AxA4a6LHVg/rsu+PmxXeGhrdSF9jCiQ==", + "dev": true, + "requires": { + "chokidar": ">=3.0.0 <4.0.0" + } + }, + "sass-loader": { + "version": "12.1.0", + "resolved": "https://registry.npmjs.org/sass-loader/-/sass-loader-12.1.0.tgz", + "integrity": "sha512-FVJZ9kxVRYNZTIe2xhw93n3xJNYZADr+q69/s98l9nTCrWASo+DR2Ot0s5xTKQDDEosUkatsGeHxcH4QBp5bSg==", + "dev": true, + "requires": { + "klona": "^2.0.4", + "neo-async": "^2.6.2" + } + }, + "sax": { + "version": "1.2.4", + "resolved": "https://registry.npmjs.org/sax/-/sax-1.2.4.tgz", + "integrity": "sha512-NqVDv9TpANUjFm0N8uM5GxL36UgKi9/atZw+x7YFnQ8ckwFGKrl4xX4yWtrey3UJm5nP1kUbnYgLopqWNSRhWw==", + "dev": true, + "optional": true + }, + "schema-utils": { + "version": "2.7.1", + "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-2.7.1.tgz", + "integrity": "sha512-SHiNtMOUGWBQJwzISiVYKu82GiV4QYGePp3odlY1tuKO7gPtphAT5R/py0fA6xtbgLL/RvtJZnU9b8s0F1q0Xg==", + "dev": true, + "requires": { + "@types/json-schema": "^7.0.5", + "ajv": "^6.12.4", + "ajv-keywords": "^3.5.2" + } + }, + "seek-bzip": { + "version": "1.0.6", + "resolved": "https://registry.npmjs.org/seek-bzip/-/seek-bzip-1.0.6.tgz", + "integrity": "sha512-e1QtP3YL5tWww8uKaOCQ18UxIT2laNBXHjV/S2WYCiK4udiv8lkG89KRIoCjUagnAmCBurjF4zEVX2ByBbnCjQ==", + "dev": true, + "optional": true, + "requires": { + "commander": "^2.8.1" + } + }, + "semver": { + "version": "6.3.0", + "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz", + "integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==", + "dev": true + }, + "semver-regex": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/semver-regex/-/semver-regex-2.0.0.tgz", + "integrity": "sha512-mUdIBBvdn0PLOeP3TEkMH7HHeUP3GjsXCwKarjv/kGmUFOYg1VqEemKhoQpWMu6X2I8kHeuVdGibLGkVK+/5Qw==", + "dev": true, + "optional": true + }, + "semver-truncate": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/semver-truncate/-/semver-truncate-1.1.2.tgz", + "integrity": "sha1-V/Qd5pcHpicJp+AQS6IRcQnqR+g=", + "dev": true, + "optional": true, + "requires": { + "semver": "^5.3.0" + }, + "dependencies": { + "semver": { + "version": "5.7.1", + "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.1.tgz", + "integrity": "sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ==", + "dev": true, + "optional": true + } + } + }, + "serialize-javascript": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/serialize-javascript/-/serialize-javascript-6.0.0.tgz", + "integrity": "sha512-Qr3TosvguFt8ePWqsvRfrKyQXIiW+nGbYpy8XK24NQHE83caxWt+mIymTT19DGFbNWNLfEwsrkSmN64lVWB9ag==", + "dev": true, + "requires": { + "randombytes": "^2.1.0" + } + }, + "shallow-clone": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/shallow-clone/-/shallow-clone-3.0.1.tgz", + "integrity": "sha512-/6KqX+GVUdqPuPPd2LxDDxzX6CAbjJehAAOKlNpqqUpAqPM6HeL8f+o3a+JsyGjn2lv0WY8UsTgUJjU9Ok55NA==", + "dev": true, + "requires": { + "kind-of": "^6.0.2" + } + }, + "shebang-command": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/shebang-command/-/shebang-command-2.0.0.tgz", + "integrity": "sha512-kHxr2zZpYtdmrN1qDjrrX/Z1rR1kG8Dx+gkpK1G4eXmvXswmcE1hTWBWYUzlraYw1/yZp6YuDY77YtvbN0dmDA==", + "dev": true, + "requires": { + "shebang-regex": "^3.0.0" + } + }, + "shebang-regex": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/shebang-regex/-/shebang-regex-3.0.0.tgz", + "integrity": "sha512-7++dFhtcx3353uBaq8DDR4NuxBetBzC7ZQOhmTQInHEd6bSrXdiEyzCvG07Z44UYdLShWUyXt5M/yhz8ekcb1A==", + "dev": true + }, + "signal-exit": { + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/signal-exit/-/signal-exit-3.0.3.tgz", + "integrity": "sha512-VUJ49FC8U1OxwZLxIbTTrDvLnf/6TDgxZcK8wxR8zs13xpx7xbG60ndBlhNrFi2EMuFRoeDoJO7wthSLq42EjA==", + "dev": true + }, + "slash": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/slash/-/slash-3.0.0.tgz", + "integrity": "sha512-g9Q1haeby36OSStwb4ntCGGGaKsaVSjQ68fBxoQcutl5fS1vuY18H3wSt3jFyFtrkx+Kz0V1G85A4MyAdDMi2Q==", + "dev": true + }, + "sort-keys": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/sort-keys/-/sort-keys-1.1.2.tgz", + "integrity": "sha1-RBttTTRnmPG05J6JIK37oOVD+a0=", + "dev": true, + "optional": true, + "requires": { + "is-plain-obj": "^1.0.0" + } + }, + "sort-keys-length": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/sort-keys-length/-/sort-keys-length-1.0.1.tgz", + "integrity": "sha1-nLb09OnkgVWmqgZx7dM2/xR5oYg=", + "dev": true, + "optional": true, + "requires": { + "sort-keys": "^1.0.0" + } + }, + "source-list-map": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/source-list-map/-/source-list-map-2.0.1.tgz", + "integrity": "sha512-qnQ7gVMxGNxsiL4lEuJwe/To8UnK7fAnmbGEEH8RpLouuKbeEm0lhbQVFIrNSuB+G7tVrAlVsZgETT5nljf+Iw==", + "dev": true + }, + "source-map": { + "version": "0.5.7", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.5.7.tgz", + "integrity": "sha1-igOdLRAh0i0eoUyA2OpGi6LvP8w=", + "dev": true + }, + "source-map-js": { + "version": "0.6.2", + "resolved": "https://registry.npmjs.org/source-map-js/-/source-map-js-0.6.2.tgz", + "integrity": "sha512-/3GptzWzu0+0MBQFrDKzw/DvvMTUORvgY6k6jd/VS6iCR4RDTKWH6v6WPwQoUO8667uQEf9Oe38DxAYWY5F/Ug==", + "dev": true + }, + "source-map-support": { + "version": "0.5.19", + "resolved": "https://registry.npmjs.org/source-map-support/-/source-map-support-0.5.19.tgz", + "integrity": "sha512-Wonm7zOCIJzBGQdB+thsPar0kYuCIzYvxZwlBa87yi/Mdjv7Tip2cyVbLj5o0cFPN4EVkuTwb3GDDyUx2DGnGw==", + "dev": true, + "requires": { + "buffer-from": "^1.0.0", + "source-map": "^0.6.0" + }, + "dependencies": { + "source-map": { + "version": "0.6.1", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", + "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", + "dev": true + } + } + }, + "spdx-correct": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/spdx-correct/-/spdx-correct-3.1.1.tgz", + "integrity": "sha512-cOYcUWwhCuHCXi49RhFRCyJEK3iPj1Ziz9DpViV3tbZOwXD49QzIN3MpOLJNxh2qwq2lJJZaKMVw9qNi4jTC0w==", + "dev": true, + "optional": true, + "requires": { + "spdx-expression-parse": "^3.0.0", + "spdx-license-ids": "^3.0.0" + } + }, + "spdx-exceptions": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/spdx-exceptions/-/spdx-exceptions-2.3.0.tgz", + "integrity": "sha512-/tTrYOC7PPI1nUAgx34hUpqXuyJG+DTHJTnIULG4rDygi4xu/tfgmq1e1cIRwRzwZgo4NLySi+ricLkZkw4i5A==", + "dev": true, + "optional": true + }, + "spdx-expression-parse": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/spdx-expression-parse/-/spdx-expression-parse-3.0.1.tgz", + "integrity": "sha512-cbqHunsQWnJNE6KhVSMsMeH5H/L9EpymbzqTQ3uLwNCLZ1Q481oWaofqH7nO6V07xlXwY6PhQdQ2IedWx/ZK4Q==", + "dev": true, + "optional": true, + "requires": { + "spdx-exceptions": "^2.1.0", + "spdx-license-ids": "^3.0.0" + } + }, + "spdx-license-ids": { + "version": "3.0.9", + "resolved": "https://registry.npmjs.org/spdx-license-ids/-/spdx-license-ids-3.0.9.tgz", + "integrity": "sha512-Ki212dKK4ogX+xDo4CtOZBVIwhsKBEfsEEcwmJfLQzirgc2jIWdzg40Unxz/HzEUqM1WFzVlQSMF9kZZ2HboLQ==", + "dev": true, + "optional": true + }, + "sprintf-js": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/sprintf-js/-/sprintf-js-1.0.3.tgz", + "integrity": "sha1-BOaSb2YolTVPPdAVIDYzuFcpfiw=", + "dev": true, + "optional": true + }, + "squeak": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/squeak/-/squeak-1.3.0.tgz", + "integrity": "sha1-MwRQN7ZDiLVnZ0uEMiplIQc5FsM=", + "dev": true, + "optional": true, + "requires": { + "chalk": "^1.0.0", + "console-stream": "^0.1.1", + "lpad-align": "^1.0.1" + }, + "dependencies": { + "ansi-styles": { + "version": "2.2.1", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-2.2.1.tgz", + "integrity": "sha1-tDLdM1i2NM914eRmQ2gkBTPB3b4=", + "dev": true, + "optional": true + }, + "chalk": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-1.1.3.tgz", + "integrity": "sha1-qBFcVeSnAv5NFQq9OHKCKn4J/Jg=", + "dev": true, + "optional": true, + "requires": { + "ansi-styles": "^2.2.1", + "escape-string-regexp": "^1.0.2", + "has-ansi": "^2.0.0", + "strip-ansi": "^3.0.0", + "supports-color": "^2.0.0" + } + }, + "supports-color": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-2.0.0.tgz", + "integrity": "sha1-U10EXOa2Nj+kARcIRimZXp3zJMc=", + "dev": true, + "optional": true + } + } + }, + "stable": { + "version": "0.1.8", + "resolved": "https://registry.npmjs.org/stable/-/stable-0.1.8.tgz", + "integrity": "sha512-ji9qxRnOVfcuLDySj9qzhGSEFVobyt1kIOSkj1qZzYLzq7Tos/oUUWvotUPQLlrsidqsK6tBH89Bc9kL5zHA6w==", + "dev": true, + "optional": true + }, + "strict-uri-encode": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/strict-uri-encode/-/strict-uri-encode-1.1.0.tgz", + "integrity": "sha1-J5siXfHVgrH1TmWt3UNS4Y+qBxM=", + "dev": true, + "optional": true + }, + "string.prototype.trimend": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/string.prototype.trimend/-/string.prototype.trimend-1.0.4.tgz", + "integrity": "sha512-y9xCjw1P23Awk8EvTpcyL2NIr1j7wJ39f+k6lvRnSMz+mz9CGz9NYPelDk42kOz6+ql8xjfK8oYzy3jAP5QU5A==", + "dev": true, + "optional": true, + "requires": { + "call-bind": "^1.0.2", + "define-properties": "^1.1.3" + } + }, + "string.prototype.trimstart": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/string.prototype.trimstart/-/string.prototype.trimstart-1.0.4.tgz", + "integrity": "sha512-jh6e984OBfvxS50tdY2nRZnoC5/mLFKOREQfw8t5yytkoUsJRNxvI/E39qu1sD0OtWI3OC0XgKSmcWwziwYuZw==", + "dev": true, + "optional": true, + "requires": { + "call-bind": "^1.0.2", + "define-properties": "^1.1.3" + } + }, + "string_decoder": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz", + "integrity": "sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==", + "dev": true, + "optional": true, + "requires": { + "safe-buffer": "~5.1.0" + } + }, + "strip-ansi": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-3.0.1.tgz", + "integrity": "sha1-ajhfuIU9lS1f8F0Oiq+UJ43GPc8=", + "dev": true, + "requires": { + "ansi-regex": "^2.0.0" + } + }, + "strip-bom": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/strip-bom/-/strip-bom-2.0.0.tgz", + "integrity": "sha1-YhmoVhZSBJHzV4i9vxRHqZx+aw4=", + "dev": true, + "optional": true, + "requires": { + "is-utf8": "^0.2.0" + } + }, + "strip-dirs": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/strip-dirs/-/strip-dirs-2.1.0.tgz", + "integrity": "sha512-JOCxOeKLm2CAS73y/U4ZeZPTkE+gNVCzKt7Eox84Iej1LT/2pTWYpZKJuxwQpvX1LiZb1xokNR7RLfuBAa7T3g==", + "dev": true, + "optional": true, + "requires": { + "is-natural-number": "^4.0.1" + } + }, + "strip-eof": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/strip-eof/-/strip-eof-1.0.0.tgz", + "integrity": "sha1-u0P/VZim6wXYm1n80SnJgzE2Br8=", + "dev": true, + "optional": true + }, + "strip-final-newline": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/strip-final-newline/-/strip-final-newline-2.0.0.tgz", + "integrity": "sha512-BrpvfNAE3dcvq7ll3xVumzjKjZQ5tI1sEUIKr3Uoks0XUl45St3FlatVqef9prk4jRDzhW6WZg+3bk93y6pLjA==", + "dev": true + }, + "strip-indent": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/strip-indent/-/strip-indent-1.0.1.tgz", + "integrity": "sha1-DHlipq3vp7vUrDZkYKY4VSrhoKI=", + "dev": true, + "optional": true, + "requires": { + "get-stdin": "^4.0.1" + } + }, + "strip-outer": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/strip-outer/-/strip-outer-1.0.1.tgz", + "integrity": "sha512-k55yxKHwaXnpYGsOzg4Vl8+tDrWylxDEpknGjhTiZB8dFRU5rTo9CAzeycivxV3s+zlTKwrs6WxMxR95n26kwg==", + "dev": true, + "optional": true, + "requires": { + "escape-string-regexp": "^1.0.2" + } + }, + "style-loader": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/style-loader/-/style-loader-3.0.0.tgz", + "integrity": "sha512-pqJTDiCtLr8D2eyVWXPiwNkLsAMDuvPHnu+Z/Edo9hu+DzdJwdO5eZv9zUBF6tWI8GJGhAkenWJaVjXI+sHnuQ==", + "dev": true + }, + "supports-color": { + "version": "5.5.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz", + "integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==", + "dev": true, + "requires": { + "has-flag": "^3.0.0" + } + }, + "svgo": { + "version": "1.3.2", + "resolved": "https://registry.npmjs.org/svgo/-/svgo-1.3.2.tgz", + "integrity": "sha512-yhy/sQYxR5BkC98CY7o31VGsg014AKLEPxdfhora76l36hD9Rdy5NZA/Ocn6yayNPgSamYdtX2rFJdcv07AYVw==", + "dev": true, + "optional": true, + "requires": { + "chalk": "^2.4.1", + "coa": "^2.0.2", + "css-select": "^2.0.0", + "css-select-base-adapter": "^0.1.1", + "css-tree": "1.0.0-alpha.37", + "csso": "^4.0.2", + "js-yaml": "^3.13.1", + "mkdirp": "~0.5.1", + "object.values": "^1.1.0", + "sax": "~1.2.4", + "stable": "^0.1.8", + "unquote": "~1.1.1", + "util.promisify": "~1.0.0" + }, + "dependencies": { + "css-select": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/css-select/-/css-select-2.1.0.tgz", + "integrity": "sha512-Dqk7LQKpwLoH3VovzZnkzegqNSuAziQyNZUcrdDM401iY+R5NkGBXGmtO05/yaXQziALuPogeG0b7UAgjnTJTQ==", + "dev": true, + "optional": true, + "requires": { + "boolbase": "^1.0.0", + "css-what": "^3.2.1", + "domutils": "^1.7.0", + "nth-check": "^1.0.2" + } + }, + "css-what": { + "version": "3.4.2", + "resolved": "https://registry.npmjs.org/css-what/-/css-what-3.4.2.tgz", + "integrity": "sha512-ACUm3L0/jiZTqfzRM3Hi9Q8eZqd6IK37mMWPLz9PJxkLWllYeRf+EHUSHYEtFop2Eqytaq1FizFVh7XfBnXCDQ==", + "dev": true, + "optional": true + }, + "dom-serializer": { + "version": "0.2.2", + "resolved": "https://registry.npmjs.org/dom-serializer/-/dom-serializer-0.2.2.tgz", + "integrity": "sha512-2/xPb3ORsQ42nHYiSunXkDjPLBaEj/xTwUO4B7XCZQTRk7EBtTOPaygh10YAAh2OI1Qrp6NWfpAhzswj0ydt9g==", + "dev": true, + "optional": true, + "requires": { + "domelementtype": "^2.0.1", + "entities": "^2.0.0" + }, + "dependencies": { + "domelementtype": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/domelementtype/-/domelementtype-2.2.0.tgz", + "integrity": "sha512-DtBMo82pv1dFtUmHyr48beiuq792Sxohr+8Hm9zoxklYPfa6n0Z3Byjj2IV7bmr2IyqClnqEQhfgHJJ5QF0R5A==", + "dev": true, + "optional": true + } + } + }, + "domelementtype": { + "version": "1.3.1", + "resolved": "https://registry.npmjs.org/domelementtype/-/domelementtype-1.3.1.tgz", + "integrity": "sha512-BSKB+TSpMpFI/HOxCNr1O8aMOTZ8hT3pM3GQ0w/mWRmkhEDSFJkkyzz4XQsBV44BChwGkrDfMyjVD0eA2aFV3w==", + "dev": true, + "optional": true + }, + "domutils": { + "version": "1.7.0", + "resolved": "https://registry.npmjs.org/domutils/-/domutils-1.7.0.tgz", + "integrity": "sha512-Lgd2XcJ/NjEw+7tFvfKxOzCYKZsdct5lczQ2ZaQY8Djz7pfAD3Gbp8ySJWtreII/vDlMVmxwa6pHmdxIYgttDg==", + "dev": true, + "optional": true, + "requires": { + "dom-serializer": "0", + "domelementtype": "1" + } + }, + "nth-check": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/nth-check/-/nth-check-1.0.2.tgz", + "integrity": "sha512-WeBOdju8SnzPN5vTUJYxYUxLeXpCaVP5i5e0LF8fg7WORF2Wd7wFX/pk0tYZk7s8T+J7VLy0Da6J1+wCT0AtHg==", + "dev": true, + "optional": true, + "requires": { + "boolbase": "~1.0.0" + } + } + } + }, + "tapable": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/tapable/-/tapable-2.2.0.tgz", + "integrity": "sha512-FBk4IesMV1rBxX2tfiK8RAmogtWn53puLOQlvO8XuwlgxcYbP4mVPS9Ph4aeamSyyVjOl24aYWAuc8U5kCVwMw==", + "dev": true + }, + "tar-stream": { + "version": "1.6.2", + "resolved": "https://registry.npmjs.org/tar-stream/-/tar-stream-1.6.2.tgz", + "integrity": "sha512-rzS0heiNf8Xn7/mpdSVVSMAWAoy9bfb1WOTYC78Z0UQKeKa/CWS8FOq0lKGNa8DWKAn9gxjCvMLYc5PGXYlK2A==", + "dev": true, + "optional": true, + "requires": { + "bl": "^1.0.0", + "buffer-alloc": "^1.2.0", + "end-of-stream": "^1.0.0", + "fs-constants": "^1.0.0", + "readable-stream": "^2.3.0", + "to-buffer": "^1.1.1", + "xtend": "^4.0.0" + } + }, + "temp-dir": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/temp-dir/-/temp-dir-1.0.0.tgz", + "integrity": "sha1-CnwOom06Oa+n4OvqnB/AvE2qAR0=", + "dev": true, + "optional": true + }, + "tempfile": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/tempfile/-/tempfile-2.0.0.tgz", + "integrity": "sha1-awRGhWqbERTRhW/8vlCczLCXcmU=", + "dev": true, + "optional": true, + "requires": { + "temp-dir": "^1.0.0", + "uuid": "^3.0.1" + } + }, + "terser": { + "version": "5.7.1", + "resolved": "https://registry.npmjs.org/terser/-/terser-5.7.1.tgz", + "integrity": "sha512-b3e+d5JbHAe/JSjwsC3Zn55wsBIM7AsHLjKxT31kGCldgbpFePaFo+PiddtO6uwRZWRw7sPXmAN8dTW61xmnSg==", + "dev": true, + "requires": { + "commander": "^2.20.0", + "source-map": "~0.7.2", + "source-map-support": "~0.5.19" + }, + "dependencies": { + "source-map": { + "version": "0.7.3", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.7.3.tgz", + "integrity": "sha512-CkCj6giN3S+n9qrYiBTX5gystlENnRW5jZeNLHpe6aue+SrHcG5VYwujhW9s4dY31mEGsxBDrHR6oI69fTXsaQ==", + "dev": true + } + } + }, + "terser-webpack-plugin": { + "version": "5.1.4", + "resolved": "https://registry.npmjs.org/terser-webpack-plugin/-/terser-webpack-plugin-5.1.4.tgz", + "integrity": "sha512-C2WkFwstHDhVEmsmlCxrXUtVklS+Ir1A7twrYzrDrQQOIMOaVAYykaoo/Aq1K0QRkMoY2hhvDQY1cm4jnIMFwA==", + "dev": true, + "requires": { + "jest-worker": "^27.0.2", + "p-limit": "^3.1.0", + "schema-utils": "^3.0.0", + "serialize-javascript": "^6.0.0", + "source-map": "^0.6.1", + "terser": "^5.7.0" + }, + "dependencies": { + "p-limit": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-3.1.0.tgz", + "integrity": "sha512-TYOanM3wGwNGsZN2cVTYPArw454xnXj5qmWF1bEoAc4+cU/ol7GVh7odevjp1FNHduHc3KZMcFduxU5Xc6uJRQ==", + "dev": true, + "requires": { + "yocto-queue": "^0.1.0" + } + }, + "schema-utils": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-3.0.0.tgz", + "integrity": "sha512-6D82/xSzO094ajanoOSbe4YvXWMfn2A//8Y1+MUqFAJul5Bs+yn36xbK9OtNDcRVSBJ9jjeoXftM6CfztsjOAA==", + "dev": true, + "requires": { + "@types/json-schema": "^7.0.6", + "ajv": "^6.12.5", + "ajv-keywords": "^3.5.2" + } + }, + "source-map": { + "version": "0.6.1", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", + "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", + "dev": true + } + } + }, + "through": { + "version": "2.3.8", + "resolved": "https://registry.npmjs.org/through/-/through-2.3.8.tgz", + "integrity": "sha1-DdTJ/6q8NXlgsbckEV1+Doai4fU=", + "dev": true, + "optional": true + }, + "timed-out": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/timed-out/-/timed-out-4.0.1.tgz", + "integrity": "sha1-8y6srFoXW+ol1/q1Zas+2HQe9W8=", + "dev": true, + "optional": true + }, + "to-buffer": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/to-buffer/-/to-buffer-1.1.1.tgz", + "integrity": "sha512-lx9B5iv7msuFYE3dytT+KE5tap+rNYw+K4jVkb9R/asAb+pbBSM17jtunHplhBe6RRJdZx3Pn2Jph24O32mOVg==", + "dev": true, + "optional": true + }, + "to-fast-properties": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/to-fast-properties/-/to-fast-properties-2.0.0.tgz", + "integrity": "sha1-3F5pjL0HkmW8c+A3doGk5Og/YW4=", + "dev": true + }, + "to-regex-range": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/to-regex-range/-/to-regex-range-5.0.1.tgz", + "integrity": "sha512-65P7iz6X5yEr1cwcgvQxbbIw7Uk3gOy5dIdtZ4rDveLqhrdJP+Li/Hx6tyK0NEb+2GCyneCMJiGqrADCSNk8sQ==", + "dev": true, + "requires": { + "is-number": "^7.0.0" + } + }, + "trim-newlines": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/trim-newlines/-/trim-newlines-1.0.0.tgz", + "integrity": "sha1-WIeWa7WCpFA6QetST301ARgVphM=", + "dev": true, + "optional": true + }, + "trim-repeated": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/trim-repeated/-/trim-repeated-1.0.0.tgz", + "integrity": "sha1-42RqLqTokTEr9+rObPsFOAvAHCE=", + "dev": true, + "optional": true, + "requires": { + "escape-string-regexp": "^1.0.2" + } + }, + "tslib": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.3.0.tgz", + "integrity": "sha512-N82ooyxVNm6h1riLCoyS9e3fuJ3AMG2zIZs2Gd1ATcSFjSA23Q0fzjjZeh0jbJvWVDZ0cJT8yaNNaaXHzueNjg==", + "dev": true + }, + "tunnel-agent": { + "version": "0.6.0", + "resolved": "https://registry.npmjs.org/tunnel-agent/-/tunnel-agent-0.6.0.tgz", + "integrity": "sha1-J6XeoGs2sEoKmWZ3SykIaPD8QP0=", + "dev": true, + "optional": true, + "requires": { + "safe-buffer": "^5.0.1" + } + }, + "type-fest": { + "version": "0.11.0", + "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.11.0.tgz", + "integrity": "sha512-OdjXJxnCN1AvyLSzeKIgXTXxV+99ZuXl3Hpo9XpJAv9MBcHrrJOQ5kV7ypXOuQie+AmWG25hLbiKdwYTifzcfQ==", + "dev": true, + "optional": true + }, + "unbox-primitive": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/unbox-primitive/-/unbox-primitive-1.0.1.tgz", + "integrity": "sha512-tZU/3NqK3dA5gpE1KtyiJUrEB0lxnGkMFHptJ7q6ewdZ8s12QrODwNbhIJStmJkd1QDXa1NRA8aF2A1zk/Ypyw==", + "dev": true, + "optional": true, + "requires": { + "function-bind": "^1.1.1", + "has-bigints": "^1.0.1", + "has-symbols": "^1.0.2", + "which-boxed-primitive": "^1.0.2" + } + }, + "unbzip2-stream": { + "version": "1.4.3", + "resolved": "https://registry.npmjs.org/unbzip2-stream/-/unbzip2-stream-1.4.3.tgz", + "integrity": "sha512-mlExGW4w71ebDJviH16lQLtZS32VKqsSfk80GCfUlwT/4/hNRFsoscrF/c++9xinkMzECL1uL9DDwXqFWkruPg==", + "dev": true, + "optional": true, + "requires": { + "buffer": "^5.2.1", + "through": "^2.3.8" + } + }, + "unicode-canonical-property-names-ecmascript": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/unicode-canonical-property-names-ecmascript/-/unicode-canonical-property-names-ecmascript-1.0.4.tgz", + "integrity": "sha512-jDrNnXWHd4oHiTZnx/ZG7gtUTVp+gCcTTKr8L0HjlwphROEW3+Him+IpvC+xcJEFegapiMZyZe02CyuOnRmbnQ==", + "dev": true + }, + "unicode-match-property-ecmascript": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/unicode-match-property-ecmascript/-/unicode-match-property-ecmascript-1.0.4.tgz", + "integrity": "sha512-L4Qoh15vTfntsn4P1zqnHulG0LdXgjSO035fEpdtp6YxXhMT51Q6vgM5lYdG/5X3MjS+k/Y9Xw4SFCY9IkR0rg==", + "dev": true, + "requires": { + "unicode-canonical-property-names-ecmascript": "^1.0.4", + "unicode-property-aliases-ecmascript": "^1.0.4" + } + }, + "unicode-match-property-value-ecmascript": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/unicode-match-property-value-ecmascript/-/unicode-match-property-value-ecmascript-1.2.0.tgz", + "integrity": "sha512-wjuQHGQVofmSJv1uVISKLE5zO2rNGzM/KCYZch/QQvez7C1hUhBIuZ701fYXExuufJFMPhv2SyL8CyoIfMLbIQ==", + "dev": true + }, + "unicode-property-aliases-ecmascript": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/unicode-property-aliases-ecmascript/-/unicode-property-aliases-ecmascript-1.1.0.tgz", + "integrity": "sha512-PqSoPh/pWetQ2phoj5RLiaqIk4kCNwoV3CI+LfGmWLKI3rE3kl1h59XpX2BjgDrmbxD9ARtQobPGU1SguCYuQg==", + "dev": true + }, + "unquote": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/unquote/-/unquote-1.1.1.tgz", + "integrity": "sha1-j97XMk7G6IoP+LkF58CYzcCG1UQ=", + "dev": true, + "optional": true + }, + "uri-js": { + "version": "4.4.1", + "resolved": "https://registry.npmjs.org/uri-js/-/uri-js-4.4.1.tgz", + "integrity": "sha512-7rKUyy33Q1yc98pQ1DAmLtwX109F7TIfWlW1Ydo8Wl1ii1SeHieeh0HHfPeL2fMXK6z0s8ecKs9frCuLJvndBg==", + "dev": true, + "requires": { + "punycode": "^2.1.0" + } + }, + "url-parse-lax": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/url-parse-lax/-/url-parse-lax-1.0.0.tgz", + "integrity": "sha1-evjzA2Rem9eaJy56FKxovAYJ2nM=", + "dev": true, + "optional": true, + "requires": { + "prepend-http": "^1.0.1" + } + }, + "url-to-options": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/url-to-options/-/url-to-options-1.0.1.tgz", + "integrity": "sha1-FQWgOiiaSMvXpDTvuu7FBV9WM6k=", + "dev": true, + "optional": true + }, + "util-deprecate": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/util-deprecate/-/util-deprecate-1.0.2.tgz", + "integrity": "sha1-RQ1Nyfpw3nMnYvvS1KKJgUGaDM8=", + "dev": true + }, + "util.promisify": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/util.promisify/-/util.promisify-1.0.1.tgz", + "integrity": "sha512-g9JpC/3He3bm38zsLupWryXHoEcS22YHthuPQSJdMy6KNrzIRzWqcsHzD/WUnqe45whVou4VIsPew37DoXWNrA==", + "dev": true, + "optional": true, + "requires": { + "define-properties": "^1.1.3", + "es-abstract": "^1.17.2", + "has-symbols": "^1.0.1", + "object.getownpropertydescriptors": "^2.1.0" + } + }, + "utila": { + "version": "0.4.0", + "resolved": "https://registry.npmjs.org/utila/-/utila-0.4.0.tgz", + "integrity": "sha1-ihagXURWV6Oupe7MWxKk+lN5dyw=", + "dev": true + }, + "uuid": { + "version": "3.4.0", + "resolved": "https://registry.npmjs.org/uuid/-/uuid-3.4.0.tgz", + "integrity": "sha512-HjSDRw6gZE5JMggctHBcjVak08+KEVhSIiDzFnT9S9aegmp85S/bReBVTb4QTFaRNptJ9kuYaNhnbNEOkbKb/A==", + "dev": true, + "optional": true + }, + "v8-compile-cache": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/v8-compile-cache/-/v8-compile-cache-2.3.0.tgz", + "integrity": "sha512-l8lCEmLcLYZh4nbunNZvQCJc5pv7+RCwa8q/LdUx8u7lsWvPDKmpodJAJNwkAhJC//dFY48KuIEmjtd4RViDrA==", + "dev": true + }, + "validate-npm-package-license": { + "version": "3.0.4", + "resolved": "https://registry.npmjs.org/validate-npm-package-license/-/validate-npm-package-license-3.0.4.tgz", + "integrity": "sha512-DpKm2Ui/xN7/HQKCtpZxoRWBhZ9Z0kqtygG8XCgNQ8ZlDnxuQmWhj566j8fN4Cu3/JmbhsDo7fcAJq4s9h27Ew==", + "dev": true, + "optional": true, + "requires": { + "spdx-correct": "^3.0.0", + "spdx-expression-parse": "^3.0.0" + } + }, + "watchpack": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/watchpack/-/watchpack-2.2.0.tgz", + "integrity": "sha512-up4YAn/XHgZHIxFBVCdlMiWDj6WaLKpwVeGQk2I5thdYxF/KmF0aaz6TfJZ/hfl1h/XlcDr7k1KH7ThDagpFaA==", + "dev": true, + "requires": { + "glob-to-regexp": "^0.4.1", + "graceful-fs": "^4.1.2" + } + }, + "webpack": { + "version": "5.41.0", + "resolved": "https://registry.npmjs.org/webpack/-/webpack-5.41.0.tgz", + "integrity": "sha512-pCVO7hVm8XiL6DpPtXrFLS8ktmH/tpvtbEex6hn4RweTFe6z6Cugh5FlQoEPZotb15HiirjM2Kv7THTA7sKLzQ==", + "dev": true, + "requires": { + "@types/eslint-scope": "^3.7.0", + "@types/estree": "^0.0.48", + "@webassemblyjs/ast": "1.11.0", + "@webassemblyjs/wasm-edit": "1.11.0", + "@webassemblyjs/wasm-parser": "1.11.0", + "acorn": "^8.2.1", + "browserslist": "^4.14.5", + "chrome-trace-event": "^1.0.2", + "enhanced-resolve": "^5.8.0", + "es-module-lexer": "^0.6.0", + "eslint-scope": "5.1.1", + "events": "^3.2.0", + "glob-to-regexp": "^0.4.1", + "graceful-fs": "^4.2.4", + "json-parse-better-errors": "^1.0.2", + "loader-runner": "^4.2.0", + "mime-types": "^2.1.27", + "neo-async": "^2.6.2", + "schema-utils": "^3.0.0", + "tapable": "^2.1.1", + "terser-webpack-plugin": "^5.1.3", + "watchpack": "^2.2.0", + "webpack-sources": "^2.3.0" + }, + "dependencies": { + "schema-utils": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-3.0.0.tgz", + "integrity": "sha512-6D82/xSzO094ajanoOSbe4YvXWMfn2A//8Y1+MUqFAJul5Bs+yn36xbK9OtNDcRVSBJ9jjeoXftM6CfztsjOAA==", + "dev": true, + "requires": { + "@types/json-schema": "^7.0.6", + "ajv": "^6.12.5", + "ajv-keywords": "^3.5.2" + } + } + } + }, + "webpack-cli": { + "version": "4.7.2", + "resolved": "https://registry.npmjs.org/webpack-cli/-/webpack-cli-4.7.2.tgz", + "integrity": "sha512-mEoLmnmOIZQNiRl0ebnjzQ74Hk0iKS5SiEEnpq3dRezoyR3yPaeQZCMCe+db4524pj1Pd5ghZXjT41KLzIhSLw==", + "dev": true, + "requires": { + "@discoveryjs/json-ext": "^0.5.0", + "@webpack-cli/configtest": "^1.0.4", + "@webpack-cli/info": "^1.3.0", + "@webpack-cli/serve": "^1.5.1", + "colorette": "^1.2.1", + "commander": "^7.0.0", + "execa": "^5.0.0", + "fastest-levenshtein": "^1.0.12", + "import-local": "^3.0.2", + "interpret": "^2.2.0", + "rechoir": "^0.7.0", + "v8-compile-cache": "^2.2.0", + "webpack-merge": "^5.7.3" + }, + "dependencies": { + "commander": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/commander/-/commander-7.2.0.tgz", + "integrity": "sha512-QrWXB+ZQSVPmIWIhtEO9H+gwHaMGYiF5ChvoJ+K9ZGHG/sVsa6yiesAD1GC/x46sET00Xlwo1u49RVVVzvcSkw==", + "dev": true + } + } + }, + "webpack-merge": { + "version": "5.8.0", + "resolved": "https://registry.npmjs.org/webpack-merge/-/webpack-merge-5.8.0.tgz", + "integrity": "sha512-/SaI7xY0831XwP6kzuwhKWVKDP9t1QY1h65lAFLbZqMPIuYcD9QAW4u9STIbU9kaJbPBB/geU/gLr1wDjOhQ+Q==", + "dev": true, + "requires": { + "clone-deep": "^4.0.1", + "wildcard": "^2.0.0" + } + }, + "webpack-sources": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/webpack-sources/-/webpack-sources-2.3.0.tgz", + "integrity": "sha512-WyOdtwSvOML1kbgtXbTDnEW0jkJ7hZr/bDByIwszhWd/4XX1A3XMkrbFMsuH4+/MfLlZCUzlAdg4r7jaGKEIgQ==", + "dev": true, + "requires": { + "source-list-map": "^2.0.1", + "source-map": "^0.6.1" + }, + "dependencies": { + "source-map": { + "version": "0.6.1", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", + "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", + "dev": true + } + } + }, + "which": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/which/-/which-2.0.2.tgz", + "integrity": "sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA==", + "dev": true, + "requires": { + "isexe": "^2.0.0" + } + }, + "which-boxed-primitive": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/which-boxed-primitive/-/which-boxed-primitive-1.0.2.tgz", + "integrity": "sha512-bwZdv0AKLpplFY2KZRX6TvyuN7ojjr7lwkg6ml0roIy9YeuSr7JS372qlNW18UQYzgYK9ziGcerWqZOmEn9VNg==", + "dev": true, + "optional": true, + "requires": { + "is-bigint": "^1.0.1", + "is-boolean-object": "^1.1.0", + "is-number-object": "^1.0.4", + "is-string": "^1.0.5", + "is-symbol": "^1.0.3" + } + }, + "wildcard": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/wildcard/-/wildcard-2.0.0.tgz", + "integrity": "sha512-JcKqAHLPxcdb9KM49dufGXn2x3ssnfjbcaQdLlfZsL9rH9wgDQjUtDxbo8NE0F6SFvydeu1VhZe7hZuHsB2/pw==", + "dev": true + }, + "wrappy": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/wrappy/-/wrappy-1.0.2.tgz", + "integrity": "sha1-tSQ9jz7BqjXxNkYFvA0QNuMKtp8=", + "dev": true + }, + "xtend": { + "version": "4.0.2", + "resolved": "https://registry.npmjs.org/xtend/-/xtend-4.0.2.tgz", + "integrity": "sha512-LKYU1iAXJXUgAXn9URjiu+MWhyUXHsvfp7mcuYm9dSUKK0/CjtrUwFAxD82/mCWbtLsGjFIad0wIsod4zrTAEQ==", + "dev": true, + "optional": true + }, + "yallist": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/yallist/-/yallist-4.0.0.tgz", + "integrity": "sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==", + "dev": true + }, + "yauzl": { + "version": "2.10.0", + "resolved": "https://registry.npmjs.org/yauzl/-/yauzl-2.10.0.tgz", + "integrity": "sha1-x+sXyT4RLLEIb6bY5R+wZnt5pfk=", + "dev": true, + "optional": true, + "requires": { + "buffer-crc32": "~0.2.3", + "fd-slicer": "~1.1.0" + } + }, + "yocto-queue": { + "version": "0.1.0", + "resolved": "https://registry.npmjs.org/yocto-queue/-/yocto-queue-0.1.0.tgz", + "integrity": "sha512-rVksvsnNCdJ/ohGc6xgPwyN8eheCxsiLM8mxuE/t/mOVqJewPuO1miLpTHQiRgTKCLexL4MeAFVagts7HmNZ2Q==", + "dev": true + } + } +} diff --git a/language-web/package.json b/language-web/package.json new file mode 100644 index 00000000..c503b306 --- /dev/null +++ b/language-web/package.json @@ -0,0 +1,38 @@ +{ + "name": "language-web", + "version": "0.1.0", + "description": "Web frontend for VIATRA-Generator", + "main": "index.js", + "scripts": { + "test": "echo \"Error: no test specified\" && exit 1" + }, + "repository": { + "type": "git", + "url": "git+https://github.com/viatra/VIATRA-Generator.git" + }, + "author": "VIATRA-Generator authors", + "license": "EPL-2.0", + "bugs": { + "url": "https://github.com/viatra/VIATRA-Generator/issues" + }, + "homepage": "https://github.com/viatra/VIATRA-Generator#readme", + "devDependencies": { + "@babel/core": "^7.14.6", + "@babel/preset-env": "^7.14.7", + "babel-loader": "^8.2.2", + "css-loader": "^5.2.6", + "file-loader": "^6.2.0", + "html-webpack-plugin": "^5.3.2", + "image-webpack-loader": "^7.0.1", + "mini-css-extract-plugin": "^1.6.2", + "sass": "^1.35.1", + "sass-loader": "^12.1.0", + "style-loader": "^3.0.0", + "webpack": "^5.41.0", + "webpack-cli": "^4.7.2" + }, + "dependencies": { + "codemirror": "^5.62.0", + "jquery": "^3.6.0" + } +} diff --git a/language-web/src/main/css/index.scss b/language-web/src/main/css/index.scss new file mode 100644 index 00000000..e788bbd1 --- /dev/null +++ b/language-web/src/main/css/index.scss @@ -0,0 +1,105 @@ +@import 'codemirror/lib/codemirror'; +@import 'codemirror/addon/hint/show-hint'; + +@import 'xtext/xtext-codemirror'; + +body { + width: 100%; + height: 100%; + overflow: hidden; + font: 16px Helvetica,sans-serif; +} + +a { + color: #22a; + text-decoration: none; +} + +a:hover { + text-decoration: underline; +} + +.container { + display: block; + position: absolute; + top: 0; + bottom: 0; + left: 0; + right: 0; + margin: 24px 24px 36px 24px; +} + +.header { + display: block; + position: absolute; + top: 0; + left: 0; + right: 0; + padding: 16px; + background: #dbdbdb; + border-radius: 16px; + color: #383838; +} + +.header h1 { + font-size: 36px; + margin: 0; +} + +.content { + display: block; + position: absolute; + top: 108px; + bottom: 0; + left: 0; + width: 100%; + box-shadow: 0 0 8px rgba(80, 10, 98, .25), 0 10px 24px rgba(80, 10, 98, .35); + border-radius: 16px; +} + +.xtext-editor { + display: block; + position: absolute; + top: 16px; + bottom: 16px; + left: 16px; + right: 16px; + border: 1px solid #999; +} + +.problem-class { + color: #005032; +} + +.problem-abstract { + color: #8b8816; +} + +.problem-enum { + color: #644632; +} + +.problem-reference { + color: #0000c0; +} + +.problem-containment { + font-weight: bold; +} + +.CodeMirror .cm-quoted-name, .problem-enum-node { + color: #1a1a1a !important; + font-weight: bold; +} + +.problem-new-node { + font-style: italic; +} + +.problem-variable { + color: #6a3e3e; +} + +.problem-singleton-variable { + color: #a1706f; +} diff --git a/language-web/src/main/css/xtext/xtext-codemirror.css b/language-web/src/main/css/xtext/xtext-codemirror.css new file mode 100644 index 00000000..831b6daf --- /dev/null +++ b/language-web/src/main/css/xtext/xtext-codemirror.css @@ -0,0 +1,58 @@ +.CodeMirror { + height: 100%; +} + +.annotations-gutter { + width: 12px; + background: #f0f0f0; +} + +.xtext-annotation_error { + width: 12px; + height: 12px; + background-image: url('images/error_an.gif'); + background-repeat: no-repeat; +} + +.xtext-annotation_warning { + width: 12px; + height: 12px; + background-image: url('images/warning_an.gif'); + background-repeat: no-repeat; +} + +.xtext-annotation_info { + width: 12px; + height: 12px; + background-image: url('images/info_an.gif'); + background-repeat: no-repeat; +} + +.xtext-marker_error { + z-index: 30; + background-image: url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAQAAAADCAYAAAC09K7GAAAABmJLR0QA/wD/AP+gvaeTAAAAHElEQVQI12NggIL/DAz/GdA5/xkY/qPKMDAwAADLZwf5rvm+LQAAAABJRU5ErkJggg=="); + background-repeat: repeat-x; + background-position: left bottom; +} + +.xtext-marker_warning { + z-index: 20; + background-image: url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAQAAAADCAYAAAC09K7GAAAABmJLR0QA/wD/AP+gvaeTAAAAMklEQVQI12NkgIIvJ3QXMjAwdDN+OaEbysDA4MPAwNDNwMCwiOHLCd1zX07o6kBVGQEAKBANtobskNMAAAAASUVORK5CYII="); + background-repeat: repeat-x; + background-position: left bottom; +} + +.xtext-marker_info { + z-index: 10; + background-image: url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAQAAAADCAYAAAC09K7GAAAABmJLR0QA/wD/AP+gvaeTAAAANklEQVQI12NkgIIVRx8tZGBg6GZccfRRKAMDgw8DA0M3AwPDIiYGBoZKBgaG7ghruSsMDAwpABH5CoqwzCoTAAAAAElFTkSuQmCC"); + background-repeat: repeat-x; + background-position: left bottom; +} + +.xtext-marker_read { + background-color: #ddd; +} + +.xtext-marker_write { + background-color: yellow; +} diff --git a/language-web/src/main/html/index.html b/language-web/src/main/html/index.html new file mode 100644 index 00000000..915234d3 --- /dev/null +++ b/language-web/src/main/html/index.html @@ -0,0 +1,48 @@ + + + + + Example Web Editor + + +
+
+

Example Problem Web Editor

+
+
+
class Family {
+  contains Person[] members
+}
+
+class Person {
+  Person[] children opposite parent
+  Person[0..1] parent opposite children
+  int age
+  TaxStatus taxStatus
+}
+
+enum TaxStatus {
+  child, student, adult, retired
+}
+
+% A child cannot have any dependents.
+error invalidTaxStatus(Person p) :-
+  taxStatus(p, child), children(p, _q).
+
+Family('family').
+members('family', anne).
+members('family', bob).
+members('family', ciri).
+children(anne, ciri).
+?children(bob, ciri).
+taxStatus(anne, adult).
+age(anne, 35).
+bobAge: 27.
+age(bob, bobAge).
+!age(ciri, bobAge).
+
+scope Family = 1, Person += 5..10.
+
+
+ + diff --git a/language-web/src/main/images/error_an.gif b/language-web/src/main/images/error_an.gif new file mode 100644 index 00000000..e014ce90 Binary files /dev/null and b/language-web/src/main/images/error_an.gif differ diff --git a/language-web/src/main/images/info_an.gif b/language-web/src/main/images/info_an.gif new file mode 100644 index 00000000..d62ad9dd Binary files /dev/null and b/language-web/src/main/images/info_an.gif differ diff --git a/language-web/src/main/images/warning_an.gif b/language-web/src/main/images/warning_an.gif new file mode 100644 index 00000000..9ef66dd7 Binary files /dev/null and b/language-web/src/main/images/warning_an.gif differ diff --git a/language-web/src/main/js-gen/mode-problem.js b/language-web/src/main/js-gen/mode-problem.js new file mode 100644 index 00000000..d962a0bb --- /dev/null +++ b/language-web/src/main/js-gen/mode-problem.js @@ -0,0 +1,41 @@ +define(["codemirror", "codemirror/addon/mode/simple"], function(CodeMirror, SimpleMode) { + var keywords = "abstract|class|contains|enum|error|extends|false|opposite|pred|problem|refers|scope|true|unknown"; + CodeMirror.defineSimpleMode("xtext/problem", { + start: [ + {token: "comment", regex: "\\/\\*", next : "comment"}, + {token: "string", regex: '["](?:(?:\\\\.)|(?:[^"\\\\]))*?["]'}, + {token: "quoted-name", regex: "['](?:(?:\\\\.)|(?:[^'\\\\]))*?[']"}, + {token: "number", regex: "[+-]?\\d+(?:(?:\\.\\d*)?(?:[eE][+-]?\\d+)?)?\\b"}, + {token: "number", regex: "[*]"}, + {token: "comment", regex: "%.*$"}, + {token: "comment", regex: "\\/\\/.*$"}, + {token: "lparen", indent: true, regex: "[[({]"}, + {token: "rparen", dedent: true, regex: "[\\])}]"}, + {indent: true, push: "predicateBody", regex: ":-"}, + {token: "keyword", regex: "\\b(?:" + keywords + ")\\b"} + ], + comment: [ + {token: "comment", regex: ".*?\\*\\/", next : "start"}, + {token: "comment", regex: ".+"} + ], + meta: { + dontIndentStates: ["comment"], + lineComment: "%", + electricChars: "])];" + }, + predicateBody: [ + {token: "comment", regex: "\\/\\*", next : "comment"}, + {token: "string", regex: '["](?:(?:\\\\.)|(?:[^"\\\\]))*?["]'}, + {token: "quoted-name", regex: "['](?:(?:\\\\.)|(?:[^'\\\\]))*?[']"}, + {token: "number", regex: "[+-]?\\d+(?:(?:\\.\\d*)?(?:[eE][+-]?\\d+)?)?\\b"}, + {token: "number", regex: "[*]"}, + {token: "comment", regex: "%.*$"}, + {token: "comment", regex: "\\/\\/.*$"}, + {token: "lparen", indent: true, regex: "[[({]"}, + {token: "rparen", dedent: true, regex: "[\\])}]"}, + {dedent: true, dedentIfLineStart: false, pop: true, regex: "\\.\\s*$"}, + {indent: true, dedent: true, regex: "[;]"}, + {token: "keyword", regex: "\\b(?:" + keywords + ")\\b"} + ] + }); +}); diff --git a/language-web/src/main/js/index.js b/language-web/src/main/js/index.js new file mode 100644 index 00000000..b4cd450e --- /dev/null +++ b/language-web/src/main/js/index.js @@ -0,0 +1,12 @@ +import xtext from 'xtext/xtext-codemirror'; +import 'mode-problem'; + +import '../css/index.scss'; + +xtext.createEditor({ + baseUrl: '/', + xtextLang: 'problem', + enableFormattingAction: true, + sendFullText: false, + indentUnit: 2, +}); diff --git a/language-web/src/main/js/xtext/CodeMirrorEditorContext.js b/language-web/src/main/js/xtext/CodeMirrorEditorContext.js new file mode 100644 index 00000000..b829c680 --- /dev/null +++ b/language-web/src/main/js/xtext/CodeMirrorEditorContext.js @@ -0,0 +1,111 @@ +/******************************************************************************* + * Copyright (c) 2015 itemis AG (http://www.itemis.eu) and others. + * This program and the accompanying materials are made available under the + * terms of the Eclipse Public License 2.0 which is available at + * http://www.eclipse.org/legal/epl-2.0. + * + * SPDX-License-Identifier: EPL-2.0 + *******************************************************************************/ + +define([], function() { + + /** + * An editor context mediates between the Xtext services and the CodeMirror editor framework. + */ + function CodeMirrorEditorContext(editor) { + this._editor = editor; + this._serverState = {}; + this._serverStateListeners = []; + this._dirty = false; + this._dirtyStateListeners = []; + }; + + CodeMirrorEditorContext.prototype = { + + getServerState: function() { + return this._serverState; + }, + + updateServerState: function(currentText, currentStateId) { + this._serverState.text = currentText; + this._serverState.stateId = currentStateId; + return this._serverStateListeners; + }, + + addServerStateListener: function(listener) { + this._serverStateListeners.push(listener); + }, + + getCaretOffset: function() { + var editor = this._editor; + return editor.indexFromPos(editor.getCursor()); + }, + + getLineStart: function(lineNumber) { + var editor = this._editor; + return editor.indexFromPos({line: lineNumber, ch: 0}); + }, + + getSelection: function() { + var editor = this._editor; + return { + start: editor.indexFromPos(editor.getCursor('from')), + end: editor.indexFromPos(editor.getCursor('to')) + }; + }, + + getText: function(start, end) { + var editor = this._editor; + if (start && end) { + return editor.getRange(editor.posFromIndex(start), editor.posFromIndex(end)); + } else { + return editor.getValue(); + } + }, + + isDirty: function() { + return !this._clean; + }, + + setDirty: function(dirty) { + if (dirty != this._dirty) { + for (var i = 0; i < this._dirtyStateListeners.length; i++) { + this._dirtyStateListeners[i](dirty); + } + } + this._dirty = dirty; + }, + + addDirtyStateListener: function(listener) { + this._dirtyStateListeners.push(listener); + }, + + clearUndoStack: function() { + this._editor.clearHistory(); + }, + + setCaretOffset: function(offset) { + var editor = this._editor; + editor.setCursor(editor.posFromIndex(offset)); + }, + + setSelection: function(selection) { + var editor = this._editor; + editor.setSelection(editor.posFromIndex(selection.start), editor.posFromIndex(selection.end)); + }, + + setText: function(text, start, end) { + var editor = this._editor; + if (!start) + start = 0; + if (!end) + end = editor.getValue().length; + var cursor = editor.getCursor(); + editor.replaceRange(text, editor.posFromIndex(start), editor.posFromIndex(end)); + editor.setCursor(cursor); + } + + }; + + return CodeMirrorEditorContext; +}); \ No newline at end of file diff --git a/language-web/src/main/js/xtext/ServiceBuilder.js b/language-web/src/main/js/xtext/ServiceBuilder.js new file mode 100644 index 00000000..38b08ecc --- /dev/null +++ b/language-web/src/main/js/xtext/ServiceBuilder.js @@ -0,0 +1,274 @@ +/******************************************************************************* + * Copyright (c) 2015 itemis AG (http://www.itemis.eu) and others. + * This program and the accompanying materials are made available under the + * terms of the Eclipse Public License 2.0 which is available at + * http://www.eclipse.org/legal/epl-2.0. + * + * SPDX-License-Identifier: EPL-2.0 + ******************************************************************************/ + +define([ + 'jquery', + 'xtext/services/XtextService', + 'xtext/services/LoadResourceService', + 'xtext/services/SaveResourceService', + 'xtext/services/HighlightingService', + 'xtext/services/ValidationService', + 'xtext/services/UpdateService', + 'xtext/services/ContentAssistService', + 'xtext/services/HoverService', + 'xtext/services/OccurrencesService', + 'xtext/services/FormattingService' +], function(jQuery, XtextService, LoadResourceService, SaveResourceService, HighlightingService, + ValidationService, UpdateService, ContentAssistService, HoverService, OccurrencesService, + FormattingService) { + + /** + * Builder class for the Xtext services. + */ + function ServiceBuilder(xtextServices) { + this.services = xtextServices; + }; + + /** + * Create all the available Xtext services depending on the configuration. + */ + ServiceBuilder.prototype.createServices = function() { + var services = this.services; + var options = services.options; + var editorContext = services.editorContext; + editorContext.xtextServices = services; + var self = this; + if (!options.serviceUrl) { + if (!options.baseUrl) + options.baseUrl = '/'; + else if (options.baseUrl.charAt(0) != '/') + options.baseUrl = '/' + options.baseUrl; + options.serviceUrl = window.location.protocol + '//' + window.location.host + options.baseUrl + 'xtext-service'; + } + if (options.resourceId) { + if (!options.xtextLang) + options.xtextLang = options.resourceId.split(/[?#]/)[0].split('.').pop(); + if (options.loadFromServer === undefined) + options.loadFromServer = true; + if (options.loadFromServer && this.setupPersistenceServices) { + services.loadResourceService = new LoadResourceService(options.serviceUrl, options.resourceId, false); + services.loadResource = function(addParams) { + return services.loadResourceService.invoke(editorContext, ServiceBuilder.mergeOptions(addParams, options)); + } + services.saveResourceService = new SaveResourceService(options.serviceUrl, options.resourceId); + services.saveResource = function(addParams) { + return services.saveResourceService.invoke(editorContext, ServiceBuilder.mergeOptions(addParams, options)); + } + services.revertResourceService = new LoadResourceService(options.serviceUrl, options.resourceId, true); + services.revertResource = function(addParams) { + return services.revertResourceService.invoke(editorContext, ServiceBuilder.mergeOptions(addParams, options)); + } + this.setupPersistenceServices(); + services.loadResource(); + } + } else { + if (options.loadFromServer === undefined) + options.loadFromServer = false; + if (options.xtextLang) { + var randomId = Math.floor(Math.random() * 2147483648).toString(16); + options.resourceId = randomId + '.' + options.xtextLang; + } + } + + if (this.setupSyntaxHighlighting) { + this.setupSyntaxHighlighting(); + } + if (options.enableHighlightingService || options.enableHighlightingService === undefined) { + services.highlightingService = new HighlightingService(options.serviceUrl, options.resourceId); + services.computeHighlighting = function(addParams) { + return services.highlightingService.invoke(editorContext, ServiceBuilder.mergeOptions(addParams, options)); + } + } + if (options.enableValidationService || options.enableValidationService === undefined) { + services.validationService = new ValidationService(options.serviceUrl, options.resourceId); + services.validate = function(addParams) { + return services.validationService.invoke(editorContext, ServiceBuilder.mergeOptions(addParams, options)); + } + } + if (this.setupUpdateService) { + function refreshDocument() { + if (services.highlightingService && self.doHighlighting) { + services.highlightingService.setState(undefined); + self.doHighlighting(); + } + if (services.validationService && self.doValidation) { + services.validationService.setState(undefined); + self.doValidation(); + } + } + if (!options.sendFullText) { + services.updateService = new UpdateService(options.serviceUrl, options.resourceId); + services.update = function(addParams) { + return services.updateService.invoke(editorContext, ServiceBuilder.mergeOptions(addParams, options)); + } + if (services.saveResourceService) + services.saveResourceService._updateService = services.updateService; + editorContext.addServerStateListener(refreshDocument); + } + this.setupUpdateService(refreshDocument); + } + if ((options.enableContentAssistService || options.enableContentAssistService === undefined) + && this.setupContentAssistService) { + services.contentAssistService = new ContentAssistService(options.serviceUrl, options.resourceId, services.updateService); + services.getContentAssist = function(addParams) { + return services.contentAssistService.invoke(editorContext, ServiceBuilder.mergeOptions(addParams, options)); + } + this.setupContentAssistService(); + } + if ((options.enableHoverService || options.enableHoverService === undefined) + && this.setupHoverService) { + services.hoverService = new HoverService(options.serviceUrl, options.resourceId, services.updateService); + services.getHoverInfo = function(addParams) { + return services.hoverService.invoke(editorContext, ServiceBuilder.mergeOptions(addParams, options)); + } + this.setupHoverService(); + } + if ((options.enableOccurrencesService || options.enableOccurrencesService === undefined) + && this.setupOccurrencesService) { + services.occurrencesService = new OccurrencesService(options.serviceUrl, options.resourceId, services.updateService); + services.getOccurrences = function(addParams) { + return services.occurrencesService.invoke(editorContext, ServiceBuilder.mergeOptions(addParams, options)); + } + this.setupOccurrencesService(); + } + if ((options.enableFormattingService || options.enableFormattingService === undefined) + && this.setupFormattingService) { + services.formattingService = new FormattingService(options.serviceUrl, options.resourceId, services.updateService); + services.format = function(addParams) { + return services.formattingService.invoke(editorContext, ServiceBuilder.mergeOptions(addParams, options)); + } + this.setupFormattingService(); + } + if (options.enableGeneratorService || options.enableGeneratorService === undefined) { + services.generatorService = new XtextService(); + services.generatorService.initialize(services, 'generate'); + services.generatorService._initServerData = function(serverData, editorContext, params) { + if (params.allArtifacts) + serverData.allArtifacts = params.allArtifacts; + else if (params.artifactId) + serverData.artifact = params.artifactId; + if (params.includeContent !== undefined) + serverData.includeContent = params.includeContent; + } + services.generate = function(addParams) { + return services.generatorService.invoke(editorContext, ServiceBuilder.mergeOptions(addParams, options)); + } + } + + if (options.dirtyElement) { + var doc = options.document || document; + var dirtyElement; + if (typeof(options.dirtyElement) === 'string') + dirtyElement = jQuery('#' + options.dirtyElement, doc); + else + dirtyElement = jQuery(options.dirtyElement); + var dirtyStatusClass = options.dirtyStatusClass; + if (!dirtyStatusClass) + dirtyStatusClass = 'dirty'; + editorContext.addDirtyStateListener(function(dirty) { + if (dirty) + dirtyElement.addClass(dirtyStatusClass); + else + dirtyElement.removeClass(dirtyStatusClass); + }); + } + + services.successListeners = []; + services.errorListeners = [function(serviceType, severity, message, requestData) { + if (options.showErrorDialogs) + window.alert('Xtext service \'' + serviceType + '\' failed: ' + message); + else + console.log('Xtext service \'' + serviceType + '\' failed: ' + message); + }]; + } + + /** + * Change the resource associated with this service builder. + */ + ServiceBuilder.prototype.changeResource = function(resourceId) { + var services = this.services; + var options = services.options; + options.resourceId = resourceId; + for (var p in services) { + if (services.hasOwnProperty(p)) { + var service = services[p]; + if (service._serviceType && jQuery.isFunction(service.initialize)) + services[p].initialize(options.serviceUrl, service._serviceType, resourceId, services.updateService); + } + } + var knownServerState = services.editorContext.getServerState(); + delete knownServerState.stateId; + delete knownServerState.text; + if (options.loadFromServer && jQuery.isFunction(services.loadResource)) { + services.loadResource(); + } + } + + /** + * Create a copy of the given object. + */ + ServiceBuilder.copy = function(obj) { + var copy = {}; + for (var p in obj) { + if (obj.hasOwnProperty(p)) + copy[p] = obj[p]; + } + return copy; + } + + /** + * Translate an HTML attribute name to a JS option name. + */ + ServiceBuilder.optionName = function(name) { + var prefix = 'data-editor-'; + if (name.substring(0, prefix.length) === prefix) { + var key = name.substring(prefix.length); + key = key.replace(/-([a-z])/ig, function(all, character) { + return character.toUpperCase(); + }); + return key; + } + return undefined; + } + + /** + * Copy all default options into the given set of additional options. + */ + ServiceBuilder.mergeOptions = function(options, defaultOptions) { + if (options) { + for (var p in defaultOptions) { + if (defaultOptions.hasOwnProperty(p)) + options[p] = defaultOptions[p]; + } + return options; + } else { + return ServiceBuilder.copy(defaultOptions); + } + } + + /** + * Merge all properties of the given parent element with the given default options. + */ + ServiceBuilder.mergeParentOptions = function(parent, defaultOptions) { + var options = ServiceBuilder.copy(defaultOptions); + for (var attr, j = 0, attrs = parent.attributes, l = attrs.length; j < l; j++) { + attr = attrs.item(j); + var key = ServiceBuilder.optionName(attr.nodeName); + if (key) { + var value = attr.nodeValue; + if (value === 'true' || value === 'false') + value = value === 'true'; + options[key] = value; + } + } + return options; + } + + return ServiceBuilder; +}); \ No newline at end of file diff --git a/language-web/src/main/js/xtext/compatibility.js b/language-web/src/main/js/xtext/compatibility.js new file mode 100644 index 00000000..c877fc56 --- /dev/null +++ b/language-web/src/main/js/xtext/compatibility.js @@ -0,0 +1,63 @@ +/******************************************************************************* + * Copyright (c) 2015 itemis AG (http://www.itemis.eu) and others. + * This program and the accompanying materials are made available under the + * terms of the Eclipse Public License 2.0 which is available at + * http://www.eclipse.org/legal/epl-2.0. + * + * SPDX-License-Identifier: EPL-2.0 + *******************************************************************************/ + +define([], function() { + + if (!Function.prototype.bind) { + Function.prototype.bind = function(target) { + if (typeof this !== 'function') + throw new TypeError('bind target is not callable'); + var args = Array.prototype.slice.call(arguments, 1); + var unboundFunc = this; + var nopFunc = function() {}; + boundFunc = function() { + var localArgs = Array.prototype.slice.call(arguments); + return unboundFunc.apply(this instanceof nopFunc ? this : target, + args.concat(localArgs)); + }; + nopFunc.prototype = this.prototype; + boundFunc.prototype = new nopFunc(); + return boundFunc; + } + } + + if (!Array.prototype.map) { + Array.prototype.map = function(callback, thisArg) { + if (this == null) + throw new TypeError('this is null'); + if (typeof callback !== 'function') + throw new TypeError('callback is not callable'); + var srcArray = Object(this); + var len = srcArray.length >>> 0; + var tgtArray = new Array(len); + for (var i = 0; i < len; i++) { + if (i in srcArray) + tgtArray[i] = callback.call(thisArg, srcArray[i], i, srcArray); + } + return tgtArray; + } + } + + if (!Array.prototype.forEach) { + Array.prototype.forEach = function(callback, thisArg) { + if (this == null) + throw new TypeError('this is null'); + if (typeof callback !== 'function') + throw new TypeError('callback is not callable'); + var srcArray = Object(this); + var len = srcArray.length >>> 0; + for (var i = 0; i < len; i++) { + if (i in srcArray) + callback.call(thisArg, srcArray[i], i, srcArray); + } + } + } + + return {}; +}); diff --git a/language-web/src/main/js/xtext/services/ContentAssistService.js b/language-web/src/main/js/xtext/services/ContentAssistService.js new file mode 100644 index 00000000..1686570d --- /dev/null +++ b/language-web/src/main/js/xtext/services/ContentAssistService.js @@ -0,0 +1,132 @@ +/******************************************************************************* + * Copyright (c) 2015 itemis AG (http://www.itemis.eu) and others. + * This program and the accompanying materials are made available under the + * terms of the Eclipse Public License 2.0 which is available at + * http://www.eclipse.org/legal/epl-2.0. + * + * SPDX-License-Identifier: EPL-2.0 + *******************************************************************************/ + +define(['xtext/services/XtextService', 'jquery'], function(XtextService, jQuery) { + + /** + * Service class for content assist proposals. The proposals are returned as promise of + * a Deferred object. + */ + function ContentAssistService(serviceUrl, resourceId, updateService) { + this.initialize(serviceUrl, 'assist', resourceId, updateService); + } + + ContentAssistService.prototype = new XtextService(); + + ContentAssistService.prototype.invoke = function(editorContext, params, deferred) { + if (deferred === undefined) { + deferred = jQuery.Deferred(); + } + var serverData = { + contentType: params.contentType + }; + if (params.offset) + serverData.caretOffset = params.offset; + else + serverData.caretOffset = editorContext.getCaretOffset(); + var selection = params.selection ? params.selection : editorContext.getSelection(); + if (selection.start != serverData.caretOffset || selection.end != serverData.caretOffset) { + serverData.selectionStart = selection.start; + serverData.selectionEnd = selection.end; + } + var currentText; + var httpMethod = 'GET'; + var onComplete = undefined; + var knownServerState = editorContext.getServerState(); + if (params.sendFullText) { + serverData.fullText = editorContext.getText(); + httpMethod = 'POST'; + } else { + serverData.requiredStateId = knownServerState.stateId; + if (this._updateService) { + if (knownServerState.text === undefined || knownServerState.updateInProgress) { + var self = this; + this._updateService.addCompletionCallback(function() { + self.invoke(editorContext, params, deferred); + }); + return deferred.promise(); + } + knownServerState.updateInProgress = true; + onComplete = this._updateService.onComplete.bind(this._updateService); + currentText = editorContext.getText(); + this._updateService.computeDelta(knownServerState.text, currentText, serverData); + if (serverData.deltaText !== undefined) { + httpMethod = 'POST'; + } + } + } + + var self = this; + self.sendRequest(editorContext, { + type: httpMethod, + data: serverData, + + success: function(result) { + if (result.conflict) { + // The server has lost its session state and the resource is loaded from the server + if (self._increaseRecursionCount(editorContext)) { + if (onComplete) { + delete knownServerState.updateInProgress; + delete knownServerState.text; + delete knownServerState.stateId; + self._updateService.addCompletionCallback(function() { + self.invoke(editorContext, params, deferred); + }); + self._updateService.invoke(editorContext, params); + } else { + var paramsCopy = {}; + for (var p in params) { + if (params.hasOwnProperty(p)) + paramsCopy[p] = params[p]; + } + paramsCopy.sendFullText = true; + self.invoke(editorContext, paramsCopy, deferred); + } + } else { + deferred.reject(result.conflict); + } + return false; + } + if (onComplete && result.stateId !== undefined && result.stateId != editorContext.getServerState().stateId) { + var listeners = editorContext.updateServerState(currentText, result.stateId); + for (var i = 0; i < listeners.length; i++) { + self._updateService.addCompletionCallback(listeners[i], params); + } + } + deferred.resolve(result.entries); + }, + + error: function(xhr, textStatus, errorThrown) { + if (onComplete && xhr.status == 404 && !params.loadFromServer && knownServerState.text !== undefined) { + // The server has lost its session state and the resource is not loaded from the server + delete knownServerState.updateInProgress; + delete knownServerState.text; + delete knownServerState.stateId; + self._updateService.addCompletionCallback(function() { + self.invoke(editorContext, params, deferred); + }); + self._updateService.invoke(editorContext, params); + return true; + } + deferred.reject(errorThrown); + }, + + complete: onComplete + }, !params.sendFullText); + var result = deferred.promise(); + if (onComplete) { + result.always(function() { + knownServerState.updateInProgress = false; + }); + } + return result; + }; + + return ContentAssistService; +}); diff --git a/language-web/src/main/js/xtext/services/FormattingService.js b/language-web/src/main/js/xtext/services/FormattingService.js new file mode 100644 index 00000000..f59099ee --- /dev/null +++ b/language-web/src/main/js/xtext/services/FormattingService.js @@ -0,0 +1,52 @@ +/******************************************************************************* + * Copyright (c) 2015 itemis AG (http://www.itemis.eu) and others. + * This program and the accompanying materials are made available under the + * terms of the Eclipse Public License 2.0 which is available at + * http://www.eclipse.org/legal/epl-2.0. + * + * SPDX-License-Identifier: EPL-2.0 + *******************************************************************************/ + +define(['xtext/services/XtextService', 'jquery'], function(XtextService, jQuery) { + + /** + * Service class for formatting text. + */ + function FormattingService(serviceUrl, resourceId, updateService) { + this.initialize(serviceUrl, 'format', resourceId, updateService); + }; + + FormattingService.prototype = new XtextService(); + + FormattingService.prototype._initServerData = function(serverData, editorContext, params) { + var selection = params.selection ? params.selection : editorContext.getSelection(); + if (selection.end > selection.start) { + serverData.selectionStart = selection.start; + serverData.selectionEnd = selection.end; + } + return { + httpMethod: 'POST' + }; + }; + + FormattingService.prototype._processResult = function(result, editorContext) { + // The text update may be asynchronous, so we have to compute the new text ourselves + var newText; + if (result.replaceRegion) { + var fullText = editorContext.getText(); + var start = result.replaceRegion.offset; + var end = result.replaceRegion.offset + result.replaceRegion.length; + editorContext.setText(result.formattedText, start, end); + newText = fullText.substring(0, start) + result.formattedText + fullText.substring(end); + } else { + editorContext.setText(result.formattedText); + newText = result.formattedText; + } + var listeners = editorContext.updateServerState(newText, result.stateId); + for (var i = 0; i < listeners.length; i++) { + listeners[i]({}); + } + }; + + return FormattingService; +}); \ No newline at end of file diff --git a/language-web/src/main/js/xtext/services/HighlightingService.js b/language-web/src/main/js/xtext/services/HighlightingService.js new file mode 100644 index 00000000..5a5ac8ba --- /dev/null +++ b/language-web/src/main/js/xtext/services/HighlightingService.js @@ -0,0 +1,33 @@ +/******************************************************************************* + * Copyright (c) 2015 itemis AG (http://www.itemis.eu) and others. + * This program and the accompanying materials are made available under the + * terms of the Eclipse Public License 2.0 which is available at + * http://www.eclipse.org/legal/epl-2.0. + * + * SPDX-License-Identifier: EPL-2.0 + *******************************************************************************/ + +define(['xtext/services/XtextService', 'jquery'], function(XtextService, jQuery) { + + /** + * Service class for semantic highlighting. + */ + function HighlightingService(serviceUrl, resourceId) { + this.initialize(serviceUrl, 'highlight', resourceId); + }; + + HighlightingService.prototype = new XtextService(); + + HighlightingService.prototype._checkPreconditions = function(editorContext, params) { + return this._state === undefined; + } + + HighlightingService.prototype._onConflict = function(editorContext, cause) { + this.setState(undefined); + return { + suppressForcedUpdate: true + }; + }; + + return HighlightingService; +}); \ No newline at end of file diff --git a/language-web/src/main/js/xtext/services/HoverService.js b/language-web/src/main/js/xtext/services/HoverService.js new file mode 100644 index 00000000..03c5a52b --- /dev/null +++ b/language-web/src/main/js/xtext/services/HoverService.js @@ -0,0 +1,59 @@ +/******************************************************************************* + * Copyright (c) 2015 itemis AG (http://www.itemis.eu) and others. + * This program and the accompanying materials are made available under the + * terms of the Eclipse Public License 2.0 which is available at + * http://www.eclipse.org/legal/epl-2.0. + * + * SPDX-License-Identifier: EPL-2.0 + *******************************************************************************/ + +define(['xtext/services/XtextService', 'jquery'], function(XtextService, jQuery) { + + /** + * Service class for hover information. + */ + function HoverService(serviceUrl, resourceId, updateService) { + this.initialize(serviceUrl, 'hover', resourceId, updateService); + }; + + HoverService.prototype = new XtextService(); + + HoverService.prototype._initServerData = function(serverData, editorContext, params) { + // In order to display hover info for a selected completion proposal while the content + // assist popup is shown, the selected proposal is passed as parameter + if (params.proposal && params.proposal.proposal) + serverData.proposal = params.proposal.proposal; + if (params.offset) + serverData.caretOffset = params.offset; + else + serverData.caretOffset = editorContext.getCaretOffset(); + var selection = params.selection ? params.selection : editorContext.getSelection(); + if (selection.start != serverData.caretOffset || selection.end != serverData.caretOffset) { + serverData.selectionStart = selection.start; + serverData.selectionEnd = selection.end; + } + }; + + HoverService.prototype._getSuccessCallback = function(editorContext, params, deferred) { + var delay = params.mouseHoverDelay; + if (!delay) + delay = 500; + var showTime = new Date().getTime() + delay; + return function(result) { + if (result.conflict || !result.title && !result.content) { + deferred.reject(); + } else { + var remainingTimeout = Math.max(0, showTime - new Date().getTime()); + setTimeout(function() { + if (!params.sendFullText && result.stateId !== undefined + && result.stateId != editorContext.getServerState().stateId) + deferred.reject(); + else + deferred.resolve(result); + }, remainingTimeout); + } + }; + }; + + return HoverService; +}); \ No newline at end of file diff --git a/language-web/src/main/js/xtext/services/LoadResourceService.js b/language-web/src/main/js/xtext/services/LoadResourceService.js new file mode 100644 index 00000000..b5a315c3 --- /dev/null +++ b/language-web/src/main/js/xtext/services/LoadResourceService.js @@ -0,0 +1,42 @@ +/******************************************************************************* + * Copyright (c) 2015 itemis AG (http://www.itemis.eu) and others. + * This program and the accompanying materials are made available under the + * terms of the Eclipse Public License 2.0 which is available at + * http://www.eclipse.org/legal/epl-2.0. + * + * SPDX-License-Identifier: EPL-2.0 + *******************************************************************************/ + +define(['xtext/services/XtextService', 'jquery'], function(XtextService, jQuery) { + + /** + * Service class for loading resources. The resulting text is passed to the editor context. + */ + function LoadResourceService(serviceUrl, resourceId, revert) { + this.initialize(serviceUrl, revert ? 'revert' : 'load', resourceId); + }; + + LoadResourceService.prototype = new XtextService(); + + LoadResourceService.prototype._initServerData = function(serverData, editorContext, params) { + return { + suppressContent: true, + httpMethod: this._serviceType == 'revert' ? 'POST' : 'GET' + }; + }; + + LoadResourceService.prototype._getSuccessCallback = function(editorContext, params, deferred) { + return function(result) { + editorContext.setText(result.fullText); + editorContext.clearUndoStack(); + editorContext.setDirty(result.dirty); + var listeners = editorContext.updateServerState(result.fullText, result.stateId); + for (var i = 0; i < listeners.length; i++) { + listeners[i](params); + } + deferred.resolve(result); + } + } + + return LoadResourceService; +}); \ No newline at end of file diff --git a/language-web/src/main/js/xtext/services/OccurrencesService.js b/language-web/src/main/js/xtext/services/OccurrencesService.js new file mode 100644 index 00000000..2e2d0b1a --- /dev/null +++ b/language-web/src/main/js/xtext/services/OccurrencesService.js @@ -0,0 +1,39 @@ +/******************************************************************************* + * Copyright (c) 2015 itemis AG (http://www.itemis.eu) and others. + * This program and the accompanying materials are made available under the + * terms of the Eclipse Public License 2.0 which is available at + * http://www.eclipse.org/legal/epl-2.0. + * + * SPDX-License-Identifier: EPL-2.0 + *******************************************************************************/ + +define(['xtext/services/XtextService', 'jquery'], function(XtextService, jQuery) { + + /** + * Service class for marking occurrences. + */ + function OccurrencesService(serviceUrl, resourceId, updateService) { + this.initialize(serviceUrl, 'occurrences', resourceId, updateService); + }; + + OccurrencesService.prototype = new XtextService(); + + OccurrencesService.prototype._initServerData = function(serverData, editorContext, params) { + if (params.offset) + serverData.caretOffset = params.offset; + else + serverData.caretOffset = editorContext.getCaretOffset(); + }; + + OccurrencesService.prototype._getSuccessCallback = function(editorContext, params, deferred) { + return function(result) { + if (result.conflict || !params.sendFullText && result.stateId !== undefined + && result.stateId != editorContext.getServerState().stateId) + deferred.reject(); + else + deferred.resolve(result); + } + } + + return OccurrencesService; +}); \ No newline at end of file diff --git a/language-web/src/main/js/xtext/services/SaveResourceService.js b/language-web/src/main/js/xtext/services/SaveResourceService.js new file mode 100644 index 00000000..66cdaff5 --- /dev/null +++ b/language-web/src/main/js/xtext/services/SaveResourceService.js @@ -0,0 +1,32 @@ +/******************************************************************************* + * Copyright (c) 2015 itemis AG (http://www.itemis.eu) and others. + * This program and the accompanying materials are made available under the + * terms of the Eclipse Public License 2.0 which is available at + * http://www.eclipse.org/legal/epl-2.0. + * + * SPDX-License-Identifier: EPL-2.0 + *******************************************************************************/ + +define(['xtext/services/XtextService', 'jquery'], function(XtextService, jQuery) { + + /** + * Service class for saving resources. + */ + function SaveResourceService(serviceUrl, resourceId) { + this.initialize(serviceUrl, 'save', resourceId); + }; + + SaveResourceService.prototype = new XtextService(); + + SaveResourceService.prototype._initServerData = function(serverData, editorContext, params) { + return { + httpMethod: 'POST' + }; + }; + + SaveResourceService.prototype._processResult = function(result, editorContext) { + editorContext.setDirty(false); + }; + + return SaveResourceService; +}); \ No newline at end of file diff --git a/language-web/src/main/js/xtext/services/UpdateService.js b/language-web/src/main/js/xtext/services/UpdateService.js new file mode 100644 index 00000000..b78d846d --- /dev/null +++ b/language-web/src/main/js/xtext/services/UpdateService.js @@ -0,0 +1,159 @@ +/******************************************************************************* + * Copyright (c) 2015 itemis AG (http://www.itemis.eu) and others. + * This program and the accompanying materials are made available under the + * terms of the Eclipse Public License 2.0 which is available at + * http://www.eclipse.org/legal/epl-2.0. + * + * SPDX-License-Identifier: EPL-2.0 + *******************************************************************************/ + +define(['xtext/services/XtextService', 'jquery'], function(XtextService, jQuery) { + + /** + * Service class for updating the server-side representation of a resource. + * This service only makes sense with a stateful server, where an update request is sent + * after each modification. This can greatly improve response times compared to the + * stateless alternative, where the full text content is sent with each service request. + */ + function UpdateService(serviceUrl, resourceId) { + this.initialize(serviceUrl, 'update', resourceId, this); + this._completionCallbacks = []; + }; + + UpdateService.prototype = new XtextService(); + + /** + * Compute a delta between two versions of a text. If a difference is found, the result + * contains three properties: + * deltaText - the text to insert into s1 + * deltaOffset - the text insertion offset + * deltaReplaceLength - the number of characters that shall be replaced by the inserted text + */ + UpdateService.prototype.computeDelta = function(s1, s2, result) { + var start = 0, s1length = s1.length, s2length = s2.length; + while (start < s1length && start < s2length && s1.charCodeAt(start) === s2.charCodeAt(start)) { + start++; + } + if (start === s1length && start === s2length) { + return; + } + result.deltaOffset = start; + if (start === s1length) { + result.deltaText = s2.substring(start, s2length); + result.deltaReplaceLength = 0; + return; + } else if (start === s2length) { + result.deltaText = ''; + result.deltaReplaceLength = s1length - start; + return; + } + + var end1 = s1length - 1, end2 = s2length - 1; + while (end1 >= start && end2 >= start && s1.charCodeAt(end1) === s2.charCodeAt(end2)) { + end1--; + end2--; + } + result.deltaText = s2.substring(start, end2 + 1); + result.deltaReplaceLength = end1 - start + 1; + }; + + /** + * Invoke all completion callbacks and clear the list afterwards. + */ + UpdateService.prototype.onComplete = function(xhr, textStatus) { + var callbacks = this._completionCallbacks; + this._completionCallbacks = []; + for (var i = 0; i < callbacks.length; i++) { + var callback = callbacks[i].callback; + var params = callbacks[i].params; + callback(params); + } + } + + /** + * Add a callback to be invoked when the service call has completed. + */ + UpdateService.prototype.addCompletionCallback = function(callback, params) { + this._completionCallbacks.push({callback: callback, params: params}); + } + + UpdateService.prototype.invoke = function(editorContext, params, deferred) { + if (deferred === undefined) { + deferred = jQuery.Deferred(); + } + var knownServerState = editorContext.getServerState(); + if (knownServerState.updateInProgress) { + var self = this; + this.addCompletionCallback(function() { self.invoke(editorContext, params, deferred) }); + return deferred.promise(); + } + + var serverData = { + contentType: params.contentType + }; + var currentText = editorContext.getText(); + if (params.sendFullText || knownServerState.text === undefined) { + serverData.fullText = currentText; + } else { + this.computeDelta(knownServerState.text, currentText, serverData); + if (serverData.deltaText === undefined) { + if (params.forceUpdate) { + serverData.deltaText = ''; + serverData.deltaOffset = editorContext.getCaretOffset(); + serverData.deltaReplaceLength = 0; + } else { + deferred.resolve(knownServerState); + this.onComplete(); + return deferred.promise(); + } + } + serverData.requiredStateId = knownServerState.stateId; + } + + knownServerState.updateInProgress = true; + var self = this; + self.sendRequest(editorContext, { + type: 'PUT', + data: serverData, + + success: function(result) { + if (result.conflict) { + // The server has lost its session state and the resource is loaded from the server + if (knownServerState.text !== undefined) { + delete knownServerState.updateInProgress; + delete knownServerState.text; + delete knownServerState.stateId; + self.invoke(editorContext, params, deferred); + } else { + deferred.reject(result.conflict); + } + return false; + } + var listeners = editorContext.updateServerState(currentText, result.stateId); + for (var i = 0; i < listeners.length; i++) { + self.addCompletionCallback(listeners[i], params); + } + deferred.resolve(result); + }, + + error: function(xhr, textStatus, errorThrown) { + if (xhr.status == 404 && !params.loadFromServer && knownServerState.text !== undefined) { + // The server has lost its session state and the resource is not loaded from the server + delete knownServerState.updateInProgress; + delete knownServerState.text; + delete knownServerState.stateId; + self.invoke(editorContext, params, deferred); + return true; + } + deferred.reject(errorThrown); + }, + + complete: self.onComplete.bind(self) + }, true); + return deferred.promise().always(function() { + knownServerState.updateInProgress = false; + }); + }; + + return UpdateService; +}); \ No newline at end of file diff --git a/language-web/src/main/js/xtext/services/ValidationService.js b/language-web/src/main/js/xtext/services/ValidationService.js new file mode 100644 index 00000000..85c9953d --- /dev/null +++ b/language-web/src/main/js/xtext/services/ValidationService.js @@ -0,0 +1,33 @@ +/******************************************************************************* + * Copyright (c) 2015 itemis AG (http://www.itemis.eu) and others. + * This program and the accompanying materials are made available under the + * terms of the Eclipse Public License 2.0 which is available at + * http://www.eclipse.org/legal/epl-2.0. + * + * SPDX-License-Identifier: EPL-2.0 + *******************************************************************************/ + +define(['xtext/services/XtextService', 'jquery'], function(XtextService, jQuery) { + + /** + * Service class for validation. + */ + function ValidationService(serviceUrl, resourceId) { + this.initialize(serviceUrl, 'validate', resourceId); + }; + + ValidationService.prototype = new XtextService(); + + ValidationService.prototype._checkPreconditions = function(editorContext, params) { + return this._state === undefined; + } + + ValidationService.prototype._onConflict = function(editorContext, cause) { + this.setState(undefined); + return { + suppressForcedUpdate: true + }; + }; + + return ValidationService; +}); \ No newline at end of file diff --git a/language-web/src/main/js/xtext/services/XtextService.js b/language-web/src/main/js/xtext/services/XtextService.js new file mode 100644 index 00000000..d3a4842f --- /dev/null +++ b/language-web/src/main/js/xtext/services/XtextService.js @@ -0,0 +1,280 @@ +/******************************************************************************* + * Copyright (c) 2015, 2017 itemis AG (http://www.itemis.eu) and others. + * This program and the accompanying materials are made available under the + * terms of the Eclipse Public License 2.0 which is available at + * http://www.eclipse.org/legal/epl-2.0. + * + * SPDX-License-Identifier: EPL-2.0 + *******************************************************************************/ + +define(['jquery'], function(jQuery) { + + var globalState = {}; + + /** + * Generic service implementation that can serve as superclass for specialized services. + */ + function XtextService() {}; + + /** + * Initialize the request metadata for this service class. Two variants: + * - initialize(serviceUrl, serviceType, resourceId, updateService) + * - initialize(xtextServices, serviceType) + */ + XtextService.prototype.initialize = function() { + this._serviceType = arguments[1]; + if (typeof(arguments[0]) === 'string') { + this._requestUrl = arguments[0] + '/' + this._serviceType; + var resourceId = arguments[2]; + if (resourceId) + this._encodedResourceId = encodeURIComponent(resourceId); + this._updateService = arguments[3]; + } else { + var xtextServices = arguments[0]; + if (xtextServices.options) { + this._requestUrl = xtextServices.options.serviceUrl + '/' + this._serviceType; + var resourceId = xtextServices.options.resourceId; + if (resourceId) + this._encodedResourceId = encodeURIComponent(resourceId); + } + this._updateService = xtextServices.updateService; + } + } + + XtextService.prototype.setState = function(state) { + this._state = state; + } + + /** + * Invoke the service with default service behavior. + */ + XtextService.prototype.invoke = function(editorContext, params, deferred, callbacks) { + if (deferred === undefined) { + deferred = jQuery.Deferred(); + } + if (jQuery.isFunction(this._checkPreconditions) && !this._checkPreconditions(editorContext, params)) { + deferred.reject(); + return deferred.promise(); + } + var serverData = { + contentType: params.contentType + }; + var initResult; + if (jQuery.isFunction(this._initServerData)) + initResult = this._initServerData(serverData, editorContext, params); + var httpMethod = 'GET'; + if (initResult && initResult.httpMethod) + httpMethod = initResult.httpMethod; + var self = this; + if (!(initResult && initResult.suppressContent)) { + if (params.sendFullText) { + serverData.fullText = editorContext.getText(); + httpMethod = 'POST'; + } else { + var knownServerState = editorContext.getServerState(); + if (knownServerState.updateInProgress) { + if (self._updateService) { + self._updateService.addCompletionCallback(function() { + self.invoke(editorContext, params, deferred); + }); + } else { + deferred.reject(); + } + return deferred.promise(); + } + if (knownServerState.stateId !== undefined) { + serverData.requiredStateId = knownServerState.stateId; + } + } + } + + var onSuccess; + if (jQuery.isFunction(this._getSuccessCallback)) { + onSuccess = this._getSuccessCallback(editorContext, params, deferred); + } else { + onSuccess = function(result) { + if (result.conflict) { + if (self._increaseRecursionCount(editorContext)) { + var onConflictResult; + if (jQuery.isFunction(self._onConflict)) { + onConflictResult = self._onConflict(editorContext, result.conflict); + } + if (!(onConflictResult && onConflictResult.suppressForcedUpdate) && !params.sendFullText + && result.conflict == 'invalidStateId' && self._updateService) { + self._updateService.addCompletionCallback(function() { + self.invoke(editorContext, params, deferred); + }); + var knownServerState = editorContext.getServerState(); + delete knownServerState.stateId; + delete knownServerState.text; + self._updateService.invoke(editorContext, params); + } else { + self.invoke(editorContext, params, deferred); + } + } else { + deferred.reject(); + } + return false; + } + if (jQuery.isFunction(self._processResult)) { + var processedResult = self._processResult(result, editorContext); + if (processedResult) { + deferred.resolve(processedResult); + return true; + } + } + deferred.resolve(result); + }; + } + + var onError = function(xhr, textStatus, errorThrown) { + if (xhr.status == 404 && !params.loadFromServer && self._increaseRecursionCount(editorContext)) { + var onConflictResult; + if (jQuery.isFunction(self._onConflict)) { + onConflictResult = self._onConflict(editorContext, errorThrown); + } + var knownServerState = editorContext.getServerState(); + if (!(onConflictResult && onConflictResult.suppressForcedUpdate) + && knownServerState.text !== undefined && self._updateService) { + self._updateService.addCompletionCallback(function() { + self.invoke(editorContext, params, deferred); + }); + delete knownServerState.stateId; + delete knownServerState.text; + self._updateService.invoke(editorContext, params); + return true; + } + } + deferred.reject(errorThrown); + } + + self.sendRequest(editorContext, { + type: httpMethod, + data: serverData, + success: onSuccess, + error: onError + }, !params.sendFullText); + return deferred.promise().always(function() { + self._recursionCount = undefined; + }); + } + + /** + * Send an HTTP request to invoke the service. + */ + XtextService.prototype.sendRequest = function(editorContext, settings, needsSession) { + var self = this; + self.setState('started'); + var corsEnabled = editorContext.xtextServices.options['enableCors']; + if(corsEnabled) { + settings.crossDomain = true; + settings.xhrFields = {withCredentials: true}; + } + var onSuccess = settings.success; + settings.success = function(result) { + var accepted = true; + if (jQuery.isFunction(onSuccess)) { + accepted = onSuccess(result); + } + if (accepted || accepted === undefined) { + self.setState('finished'); + if (editorContext.xtextServices) { + var successListeners = editorContext.xtextServices.successListeners; + if (successListeners) { + for (var i = 0; i < successListeners.length; i++) { + var listener = successListeners[i]; + if (jQuery.isFunction(listener)) { + listener(self._serviceType, result); + } + } + } + } + } + }; + + var onError = settings.error; + settings.error = function(xhr, textStatus, errorThrown) { + var resolved = false; + if (jQuery.isFunction(onError)) { + resolved = onError(xhr, textStatus, errorThrown); + } + if (!resolved) { + self.setState(undefined); + self._reportError(editorContext, textStatus, errorThrown, xhr); + } + }; + + settings.async = true; + var requestUrl = self._requestUrl; + if (!settings.data.resource && self._encodedResourceId) { + if (requestUrl.indexOf('?') >= 0) + requestUrl += '&resource=' + self._encodedResourceId; + else + requestUrl += '?resource=' + self._encodedResourceId; + } + + if (needsSession && globalState._initPending) { + // We have to wait until the initial request has finished to make sure the client has + // received a valid session id + if (!globalState._waitingRequests) + globalState._waitingRequests = []; + globalState._waitingRequests.push({requestUrl: requestUrl, settings: settings}); + } else { + if (needsSession && !globalState._initDone) { + globalState._initPending = true; + var onComplete = settings.complete; + settings.complete = function(xhr, textStatus) { + if (jQuery.isFunction(onComplete)) { + onComplete(xhr, textStatus); + } + delete globalState._initPending; + globalState._initDone = true; + if (globalState._waitingRequests) { + for (var i = 0; i < globalState._waitingRequests.length; i++) { + var request = globalState._waitingRequests[i]; + jQuery.ajax(request.requestUrl, request.settings); + } + delete globalState._waitingRequests; + } + } + } + jQuery.ajax(requestUrl, settings); + } + } + + /** + * Use this in case of a conflict before retrying the service invocation. If the number + * of retries exceeds the limit, an error is reported and the function returns false. + */ + XtextService.prototype._increaseRecursionCount = function(editorContext) { + if (this._recursionCount === undefined) + this._recursionCount = 1; + else + this._recursionCount++; + + if (this._recursionCount >= 10) { + this._reportError(editorContext, 'warning', 'Xtext service request failed after 10 attempts.', {}); + return false; + } + return true; + }, + + /** + * Report an error to the listeners. + */ + XtextService.prototype._reportError = function(editorContext, severity, message, requestData) { + if (editorContext.xtextServices) { + var errorListeners = editorContext.xtextServices.errorListeners; + if (errorListeners) { + for (var i = 0; i < errorListeners.length; i++) { + var listener = errorListeners[i]; + if (jQuery.isFunction(listener)) { + listener(this._serviceType, severity, message, requestData); + } + } + } + } + } + + return XtextService; +}); diff --git a/language-web/src/main/js/xtext/xtext-codemirror.js b/language-web/src/main/js/xtext/xtext-codemirror.js new file mode 100644 index 00000000..4d50718c --- /dev/null +++ b/language-web/src/main/js/xtext/xtext-codemirror.js @@ -0,0 +1,472 @@ +/******************************************************************************* + * Copyright (c) 2015, 2017 itemis AG (http://www.itemis.eu) and others. + * This program and the accompanying materials are made available under the + * terms of the Eclipse Public License 2.0 which is available at + * http://www.eclipse.org/legal/epl-2.0. + * + * SPDX-License-Identifier: EPL-2.0 + *******************************************************************************/ + +/* + * Use `createEditor(options)` to create an Xtext editor. You can specify options either + * through the function parameter or through `data-editor-x` attributes, where x is an + * option name with camelCase converted to hyphen-separated. + * In addition to the options supported by CodeMirror (https://codemirror.net/doc/manual.html#config), + * the following options are available: + * + * baseUrl = "/" {String} + * The path segment where the Xtext service is found; see serviceUrl option. + * contentType {String} + * The content type included in requests to the Xtext server. + * dirtyElement {String | DOMElement} + * An element into which the dirty status class is written when the editor is marked dirty; + * it can be either a DOM element or an ID for a DOM element. + * dirtyStatusClass = 'dirty' {String} + * A CSS class name written into the dirtyElement when the editor is marked dirty. + * document {Document} + * The document; if not specified, the global document is used. + * enableContentAssistService = true {Boolean} + * Whether content assist should be enabled. + * enableCors = true {Boolean} + * Whether CORS should be enabled for service request. + * enableFormattingAction = false {Boolean} + * Whether the formatting action should be bound to the standard keystroke ctrl+shift+s / cmd+shift+f. + * enableFormattingService = true {Boolean} + * Whether text formatting should be enabled. + * enableGeneratorService = true {Boolean} + * Whether code generation should be enabled (must be triggered through JavaScript code). + * enableHighlightingService = true {Boolean} + * Whether semantic highlighting (computed on the server) should be enabled. + * enableOccurrencesService = true {Boolean} + * Whether marking occurrences should be enabled. + * enableSaveAction = false {Boolean} + * Whether the save action should be bound to the standard keystroke ctrl+s / cmd+s. + * enableValidationService = true {Boolean} + * Whether validation should be enabled. + * loadFromServer = true {Boolean} + * Whether to load the editor content from the server. + * mode {String} + * The name of the syntax highlighting mode to use; the mode has to be registered externally + * (see CodeMirror documentation). + * parent = 'xtext-editor' {String | DOMElement} + * The parent element for the view; it can be either a DOM element or an ID for a DOM element. + * parentClass = 'xtext-editor' {String} + * If the 'parent' option is not given, this option is used to find elements that match the given class name. + * resourceId {String} + * The identifier of the resource displayed in the text editor; this option is sent to the server to + * communicate required information on the respective resource. + * selectionUpdateDelay = 550 {Number} + * The number of milliseconds to wait after a selection change before Xtext services are invoked. + * sendFullText = false {Boolean} + * Whether the full text shall be sent to the server with each request; use this if you want + * the server to run in stateless mode. If the option is inactive, the server state is updated regularly. + * serviceUrl {String} + * The URL of the Xtext servlet; if no value is given, it is constructed using the baseUrl option in the form + * {location.protocol}//{location.host}{baseUrl}xtext-service + * showErrorDialogs = false {Boolean} + * Whether errors should be displayed in popup dialogs. + * syntaxDefinition {String} + * If the 'mode' option is not set, the default mode 'xtext/{xtextLang}' is used. Set this option to + * 'none' to suppress this behavior and disable syntax highlighting. + * textUpdateDelay = 500 {Number} + * The number of milliseconds to wait after a text change before Xtext services are invoked. + * xtextLang {String} + * The language name (usually the file extension configured for the language). + */ +define([ + 'jquery', + 'codemirror', + 'codemirror/addon/hint/show-hint', + 'xtext/compatibility', + 'xtext/ServiceBuilder', + 'xtext/CodeMirrorEditorContext', + 'codemirror/mode/javascript/javascript' +], function(jQuery, CodeMirror, ShowHint, compatibility, ServiceBuilder, EditorContext) { + + var exports = {}; + + /** + * Create one or more Xtext editor instances configured with the given options. + * The return value is either a CodeMirror editor or an array of CodeMirror editors. + */ + exports.createEditor = function(options) { + if (!options) + options = {}; + + var query; + if (jQuery.type(options.parent) === 'string') { + query = jQuery('#' + options.parent, options.document); + } else if (options.parent) { + query = jQuery(options.parent); + } else if (jQuery.type(options.parentClass) === 'string') { + query = jQuery('.' + options.parentClass, options.document); + } else { + query = jQuery('#xtext-editor', options.document); + if (query.length == 0) + query = jQuery('.xtext-editor', options.document); + } + + var editors = []; + query.each(function(index, parent) { + var editorOptions = ServiceBuilder.mergeParentOptions(parent, options); + if (!editorOptions.value) + editorOptions.value = jQuery(parent).text(); + var editor = CodeMirror(function(element) { + jQuery(parent).empty().append(element); + }, editorOptions); + + exports.createServices(editor, editorOptions); + editors[index] = editor; + }); + + if (editors.length == 1) + return editors[0]; + else + return editors; + } + + function CodeMirrorServiceBuilder(editor, xtextServices) { + this.editor = editor; + xtextServices.editorContext._highlightingMarkers = []; + xtextServices.editorContext._validationMarkers = []; + xtextServices.editorContext._occurrenceMarkers = []; + ServiceBuilder.call(this, xtextServices); + } + CodeMirrorServiceBuilder.prototype = new ServiceBuilder(); + + /** + * Configure Xtext services for the given editor. The editor does not have to be created + * with createEditor(options). + */ + exports.createServices = function(editor, options) { + if (options.enableValidationService || options.enableValidationService === undefined) { + editor.setOption('gutters', ['annotations-gutter']); + } + var xtextServices = { + options: options, + editorContext: new EditorContext(editor) + }; + var serviceBuilder = new CodeMirrorServiceBuilder(editor, xtextServices); + serviceBuilder.createServices(); + xtextServices.serviceBuilder = serviceBuilder; + editor.xtextServices = xtextServices; + return xtextServices; + } + + /** + * Remove all services and listeners that have been previously created with createServices(editor, options). + */ + exports.removeServices = function(editor) { + if (!editor.xtextServices) + return; + var services = editor.xtextServices; + if (services.modelChangeListener) + editor.off('changes', services.modelChangeListener); + if (services.cursorActivityListener) + editor.off('cursorActivity', services.cursorActivityListener); + if (services.saveKeyMap) + editor.removeKeyMap(services.saveKeyMap); + if (services.contentAssistKeyMap) + editor.removeKeyMap(services.contentAssistKeyMap); + if (services.formatKeyMap) + editor.removeKeyMap(services.formatKeyMap); + var editorContext = services.editorContext; + var highlightingMarkers = editorContext._highlightingMarkers; + if (highlightingMarkers) { + for (var i = 0; i < highlightingMarkers.length; i++) { + highlightingMarkers[i].clear(); + } + } + if (editorContext._validationAnnotations) + services.serviceBuilder._clearAnnotations(editorContext._validationAnnotations); + var validationMarkers = editorContext._validationMarkers; + if (validationMarkers) { + for (var i = 0; i < validationMarkers.length; i++) { + validationMarkers[i].clear(); + } + } + var occurrenceMarkers = editorContext._occurrenceMarkers; + if (occurrenceMarkers) { + for (var i = 0; i < occurrenceMarkers.length; i++)  { + occurrenceMarkers[i].clear(); + } + } + delete editor.xtextServices; + } + + /** + * Syntax highlighting (without semantic highlighting). + */ + CodeMirrorServiceBuilder.prototype.setupSyntaxHighlighting = function() { + var options = this.services.options; + // If the mode option is set, syntax highlighting has already been configured by CM + if (!options.mode && options.syntaxDefinition != 'none' && options.xtextLang) { + this.editor.setOption('mode', 'xtext/' + options.xtextLang); + } + } + + /** + * Document update service. + */ + CodeMirrorServiceBuilder.prototype.setupUpdateService = function(refreshDocument) { + var services = this.services; + var editorContext = services.editorContext; + var textUpdateDelay = services.options.textUpdateDelay; + if (!textUpdateDelay) + textUpdateDelay = 500; + services.modelChangeListener = function(event) { + if (!event._xtext_init) + editorContext.setDirty(true); + if (editorContext._modelChangeTimeout) + clearTimeout(editorContext._modelChangeTimeout); + editorContext._modelChangeTimeout = setTimeout(function() { + if (services.options.sendFullText) + refreshDocument(); + else + services.update(); + }, textUpdateDelay); + } + if (!services.options.resourceId || !services.options.loadFromServer) + services.modelChangeListener({_xtext_init: true}); + this.editor.on('changes', services.modelChangeListener); + } + + /** + * Persistence services: load, save, and revert. + */ + CodeMirrorServiceBuilder.prototype.setupPersistenceServices = function() { + var services = this.services; + if (services.options.enableSaveAction) { + var userAgent = navigator.userAgent.toLowerCase(); + var saveFunction = function(editor) { + services.saveResource(); + }; + services.saveKeyMap = /mac os/.test(userAgent) ? {'Cmd-S': saveFunction}: {'Ctrl-S': saveFunction}; + this.editor.addKeyMap(services.saveKeyMap); + } + } + + /** + * Content assist service. + */ + CodeMirrorServiceBuilder.prototype.setupContentAssistService = function() { + var services = this.services; + var editorContext = services.editorContext; + services.contentAssistKeyMap = {'Ctrl-Space': function(editor) { + var params = ServiceBuilder.copy(services.options); + var cursor = editor.getCursor(); + params.offset = editor.indexFromPos(cursor); + services.contentAssistService.invoke(editorContext, params).done(function(entries) { + editor.showHint({hint: function(editor, options) { + return { + list: entries.map(function(entry) { + var displayText; + if (entry.label) + displayText = entry.label; + else + displayText = entry.proposal; + if (entry.description) + displayText += ' (' + entry.description + ')'; + var prefixLength = 0 + if (entry.prefix) + prefixLength = entry.prefix.length + return { + text: entry.proposal, + displayText: displayText, + from: { + line: cursor.line, + ch: cursor.ch - prefixLength + } + }; + }), + to: cursor + }; + }}); + }); + }}; + this.editor.addKeyMap(services.contentAssistKeyMap); + } + + /** + * Semantic highlighting service. + */ + CodeMirrorServiceBuilder.prototype.doHighlighting = function() { + var services = this.services; + var editorContext = services.editorContext; + var editor = this.editor; + services.computeHighlighting().always(function() { + var highlightingMarkers = editorContext._highlightingMarkers; + if (highlightingMarkers) { + for (var i = 0; i < highlightingMarkers.length; i++) { + highlightingMarkers[i].clear(); + } + } + editorContext._highlightingMarkers = []; + }).done(function(result) { + for (var i = 0; i < result.regions.length; ++i) { + var region = result.regions[i]; + var from = editor.posFromIndex(region.offset); + var to = editor.posFromIndex(region.offset + region.length); + region.styleClasses.forEach(function(styleClass) { + var marker = editor.markText(from, to, {className: styleClass}); + editorContext._highlightingMarkers.push(marker); + }); + } + }); + } + + var annotationWeight = { + error: 30, + warning: 20, + info: 10 + }; + CodeMirrorServiceBuilder.prototype._getAnnotationWeight = function(annotation) { + if (annotationWeight[annotation] !== undefined) + return annotationWeight[annotation]; + else + return 0; + } + + CodeMirrorServiceBuilder.prototype._clearAnnotations = function(annotations) { + var editor = this.editor; + for (var i = 0; i < annotations.length; i++) { + var annotation = annotations[i]; + if (annotation) { + editor.setGutterMarker(i, 'annotations-gutter', null); + annotations[i] = undefined; + } + } + } + + CodeMirrorServiceBuilder.prototype._refreshAnnotations = function(annotations) { + var editor = this.editor; + for (var i = 0; i < annotations.length; i++) { + var annotation = annotations[i]; + if (annotation) { + var classProp = ' class="xtext-annotation_' + annotation.type + '"'; + var titleProp = annotation.description ? ' title="' + annotation.description.replace(/"/g, '"') + '"' : ''; + var element = jQuery('').get(0); + editor.setGutterMarker(i, 'annotations-gutter', element); + } + } + } + + /** + * Validation service. + */ + CodeMirrorServiceBuilder.prototype.doValidation = function() { + var services = this.services; + var editorContext = services.editorContext; + var editor = this.editor; + var self = this; + services.validate().always(function() { + if (editorContext._validationAnnotations) + self._clearAnnotations(editorContext._validationAnnotations); + else + editorContext._validationAnnotations = []; + var validationMarkers = editorContext._validationMarkers; + if (validationMarkers) { + for (var i = 0; i < validationMarkers.length; i++) { + validationMarkers[i].clear(); + } + } + editorContext._validationMarkers = []; + }).done(function(result) { + var validationAnnotations = editorContext._validationAnnotations; + for (var i = 0; i < result.issues.length; i++) { + var entry = result.issues[i]; + var annotation = validationAnnotations[entry.line - 1]; + var weight = self._getAnnotationWeight(entry.severity); + if (annotation) { + if (annotation.weight < weight) { + annotation.type = entry.severity; + annotation.weight = weight; + } + if (annotation.description) + annotation.description += '\n' + entry.description; + else + annotation.description = entry.description; + } else { + validationAnnotations[entry.line - 1] = { + type: entry.severity, + weight: weight, + description: entry.description + }; + } + var from = editor.posFromIndex(entry.offset); + var to = editor.posFromIndex(entry.offset + entry.length); + var marker = editor.markText(from, to, { + className: 'xtext-marker_' + entry.severity, + title: entry.description + }); + editorContext._validationMarkers.push(marker); + } + self._refreshAnnotations(validationAnnotations); + }); + } + + /** + * Occurrences service. + */ + CodeMirrorServiceBuilder.prototype.setupOccurrencesService = function() { + var services = this.services; + var editorContext = services.editorContext; + var selectionUpdateDelay = services.options.selectionUpdateDelay; + if (!selectionUpdateDelay) + selectionUpdateDelay = 550; + var editor = this.editor; + var self = this; + services.cursorActivityListener = function() { + if (editorContext._selectionChangeTimeout) { + clearTimeout(editorContext._selectionChangeTimeout); + } + editorContext._selectionChangeTimeout = setTimeout(function() { + var params = ServiceBuilder.copy(services.options); + var cursor = editor.getCursor(); + params.offset = editor.indexFromPos(cursor); + services.occurrencesService.invoke(editorContext, params).always(function() { + var occurrenceMarkers = editorContext._occurrenceMarkers; + if (occurrenceMarkers) { + for (var i = 0; i < occurrenceMarkers.length; i++)  { + occurrenceMarkers[i].clear(); + } + } + editorContext._occurrenceMarkers = []; + }).done(function(occurrencesResult) { + for (var i = 0; i < occurrencesResult.readRegions.length; i++) { + var region = occurrencesResult.readRegions[i]; + var from = editor.posFromIndex(region.offset); + var to = editor.posFromIndex(region.offset + region.length); + var marker = editor.markText(from, to, {className: 'xtext-marker_read'}); + editorContext._occurrenceMarkers.push(marker); + } + for (var i = 0; i < occurrencesResult.writeRegions.length; i++) { + var region = occurrencesResult.writeRegions[i]; + var from = editor.posFromIndex(region.offset); + var to = editor.posFromIndex(region.offset + region.length); + var marker = editor.markText(from, to, {className: 'xtext-marker_write'}); + editorContext._occurrenceMarkers.push(marker); + } + }); + }, selectionUpdateDelay); + } + editor.on('cursorActivity', services.cursorActivityListener); + } + + /** + * Formatting service. + */ + CodeMirrorServiceBuilder.prototype.setupFormattingService = function() { + var services = this.services; + if (services.options.enableFormattingAction) { + var userAgent = navigator.userAgent.toLowerCase(); + var formatFunction = function(editor) { + services.format(); + }; + services.formatKeyMap = /mac os/.test(userAgent) ? {'Shift-Cmd-F': formatFunction}: {'Shift-Ctrl-S': formatFunction}; + this.editor.addKeyMap(services.formatKeyMap); + } + } + + return exports; +}); diff --git a/language-web/src/main/webapp/index.html b/language-web/src/main/webapp/index.html deleted file mode 100644 index 3e068f68..00000000 --- a/language-web/src/main/webapp/index.html +++ /dev/null @@ -1,56 +0,0 @@ - - - -Example Web Editor - - - - - -
-
-

Example Problem Web Editor

-
-
-
class Family {
-  contains Person[] members
-}
-
-class Person {
-  Person[] children opposite parent
-  Person[0..1] parent opposite children
-  int age
-  TaxStatus taxStatus
-}
-
-enum TaxStatus {
-  child, student, adult, retired
-}
-
-% A child cannot have any dependents.
-error invalidTaxStatus(Person p) :-
-  taxStatus(p, child), children(p, _q).
-
-Family('family').
-members('family', anne).
-members('family', bob).
-members('family', ciri).
-children(anne, ciri).
-?children(bob, ciri).
-taxStatus(anne, adult).
-age(anne, 35).
-bobAge: 27.
-age(bob, bobAge).
-!age(ciri, bobAge).
-
-scope Family = 1, Person += 5..10.
-
-
-
- - - diff --git a/language-web/src/main/webapp/script.js b/language-web/src/main/webapp/script.js deleted file mode 100644 index 4b466fed..00000000 --- a/language-web/src/main/webapp/script.js +++ /dev/null @@ -1,20 +0,0 @@ -var baseUrl = window.location.pathname; -var fileIndex = baseUrl.indexOf("index.html"); -if (fileIndex > 0) - baseUrl = baseUrl.slice(0, fileIndex) -require.config({ - baseUrl: baseUrl, - paths: { - "text": "webjars/requirejs-text/2.26.0.M1/text", - "jquery": "webjars/jquery/3.6.0/jquery.min", - "xtext/xtext-codemirror": "xtext/2.26.0.M1/xtext-codemirror", - }, - packages: [{ - name: "codemirror", - location: "webjars/codemirror/5.52.2", - main: "lib/codemirror" - }] -}); -require(["xtext-resources/generated/mode-problem", "xtext/xtext-codemirror"], function(mode, xtext) { - xtext.createEditor({baseUrl: baseUrl, indentUnit: 2,}); -}); diff --git a/language-web/src/main/webapp/style.css b/language-web/src/main/webapp/style.css deleted file mode 100644 index f3a6b7f9..00000000 --- a/language-web/src/main/webapp/style.css +++ /dev/null @@ -1,100 +0,0 @@ -body { - width: 100%; - height: 100%; - overflow: hidden; - font: 16px Helvetica,sans-serif; -} - -a { - color: #22a; - text-decoration: none; -} - -a:hover { - text-decoration: underline; -} - -.container { - display: block; - position: absolute; - top: 0; - bottom: 0; - left: 0; - right: 0; - margin: 24px 24px 36px 24px; -} - -.header { - display: block; - position: absolute; - top: 0; - left: 0; - right: 0; - padding: 16px; - background: #dbdbdb; - border-radius: 16px; - color: #383838; -} - -.header h1 { - font-size: 36px; - margin: 0; -} - -.content { - display: block; - position: absolute; - top: 108px; - bottom: 0; - left: 0; - width: 100%; - box-shadow: 0 0 8px rgba(80, 10, 98, .25), 0 10px 24px rgba(80, 10, 98, .35); - border-radius: 16px; -} - -.xtext-editor { - display: block; - position: absolute; - top: 16px; - bottom: 16px; - left: 16px; - right: 16px; - border: 1px solid #999; -} - -.problem-class { - color: #005032; -} - -.problem-abstract { - color: #8b8816; -} - -.problem-enum { - color: #644632; -} - -.problem-reference { - color: #0000c0; -} - -.problem-containment { - font-weight: bold; -} - -.CodeMirror .cm-quoted-name, .problem-enum-node { - color: #1a1a1a !important; - font-weight: bold; -} - -.problem-new-node { - font-style: italic; -} - -.problem-variable { - color: #6a3e3e; -} - -.problem-singleton-variable { - color: #a1706f; -} diff --git a/language-web/src/main/webapp/xtext-resources/generated/mode-problem.js b/language-web/src/main/webapp/xtext-resources/generated/mode-problem.js deleted file mode 100644 index d962a0bb..00000000 --- a/language-web/src/main/webapp/xtext-resources/generated/mode-problem.js +++ /dev/null @@ -1,41 +0,0 @@ -define(["codemirror", "codemirror/addon/mode/simple"], function(CodeMirror, SimpleMode) { - var keywords = "abstract|class|contains|enum|error|extends|false|opposite|pred|problem|refers|scope|true|unknown"; - CodeMirror.defineSimpleMode("xtext/problem", { - start: [ - {token: "comment", regex: "\\/\\*", next : "comment"}, - {token: "string", regex: '["](?:(?:\\\\.)|(?:[^"\\\\]))*?["]'}, - {token: "quoted-name", regex: "['](?:(?:\\\\.)|(?:[^'\\\\]))*?[']"}, - {token: "number", regex: "[+-]?\\d+(?:(?:\\.\\d*)?(?:[eE][+-]?\\d+)?)?\\b"}, - {token: "number", regex: "[*]"}, - {token: "comment", regex: "%.*$"}, - {token: "comment", regex: "\\/\\/.*$"}, - {token: "lparen", indent: true, regex: "[[({]"}, - {token: "rparen", dedent: true, regex: "[\\])}]"}, - {indent: true, push: "predicateBody", regex: ":-"}, - {token: "keyword", regex: "\\b(?:" + keywords + ")\\b"} - ], - comment: [ - {token: "comment", regex: ".*?\\*\\/", next : "start"}, - {token: "comment", regex: ".+"} - ], - meta: { - dontIndentStates: ["comment"], - lineComment: "%", - electricChars: "])];" - }, - predicateBody: [ - {token: "comment", regex: "\\/\\*", next : "comment"}, - {token: "string", regex: '["](?:(?:\\\\.)|(?:[^"\\\\]))*?["]'}, - {token: "quoted-name", regex: "['](?:(?:\\\\.)|(?:[^'\\\\]))*?[']"}, - {token: "number", regex: "[+-]?\\d+(?:(?:\\.\\d*)?(?:[eE][+-]?\\d+)?)?\\b"}, - {token: "number", regex: "[*]"}, - {token: "comment", regex: "%.*$"}, - {token: "comment", regex: "\\/\\/.*$"}, - {token: "lparen", indent: true, regex: "[[({]"}, - {token: "rparen", dedent: true, regex: "[\\])}]"}, - {dedent: true, dedentIfLineStart: false, pop: true, regex: "\\.\\s*$"}, - {indent: true, dedent: true, regex: "[;]"}, - {token: "keyword", regex: "\\b(?:" + keywords + ")\\b"} - ] - }); -}); diff --git a/language-web/webpack.config.js b/language-web/webpack.config.js new file mode 100644 index 00000000..a44260a1 --- /dev/null +++ b/language-web/webpack.config.js @@ -0,0 +1,94 @@ +const path = require('path'); + +const HtmlWebpackPlugin = require('html-webpack-plugin'); +const MiniCssExtractPlugin = require("mini-css-extract-plugin"); + +const devMode = process.env.NODE_ENV !== 'production'; + +module.exports = { + mode: devMode ? 'development' : 'production', + entry: './src/main/js', + output: { + path: path.resolve(__dirname, 'src/main/webapp'), + publicPath: '/', + filename: devMode ? '[name].js' : '[contenthash].js', + chunkFilename: devMode ? '[id].js' : '[contenthash].js', + }, + module: { + rules: [ + { + test: /\.jsx?$/, + include: { + and: [path.resolve(__dirname, 'src/main/js')], + not: [path.resolve(__dirname, 'src/main/js/xtext')], + }, + loader: 'babel-loader', + options: { + presets: [ + ['@babel/preset-env', { targets: 'defaults' }], + ], + }, + }, + { + test: /\.scss$/, + use: [ + devMode ? 'style-loader' : MiniCssExtractPlugin.loader, + 'css-loader', + { + loader: 'sass-loader', + options: { + implementation: require.resolve('sass'), + }, + }, + ] + }, + { + test: /\.(gif|png|jpe?g|svg)$/, + use: [ + 'file-loader', + { + loader: 'image-webpack-loader', + options: { + disable: true, + } + }, + ], + }, + ], + }, + resolve: { + modules: [ + 'node_modules', + path.resolve(__dirname, 'src/main/js'), + path.resolve(__dirname, 'src/main/js-gen'), + ], + extensions: ['.js', '.jsx'], + alias: { + images: path.resolve(__dirname, 'src/main/images'), + }, + }, + devtool: devMode ? 'eval' : 'source-map', + optimization: { + splitChunks: { + chunks: 'all', + }, + }, + plugins: [ + new MiniCssExtractPlugin({ + filename: '[contenthash].css', + chunkFilename: '[contenthash].css', + }), + new HtmlWebpackPlugin({ + template: 'src/main/html/index.html', + minify: devMode ? false : { + collapseWhitespace: true, + removeComments: true, + removeOptionalTags: true, + removeRedundantAttributes: true, + removeScriptTypeAttributes: true, + removeStyleLinkTypeAttributes: true, + useShortDoctype: true, + }, + }), + ], +}; diff --git a/language-web/xtext-gen/org/eclipse/viatra/solver/language/AbstractProblemRuntimeModule.java b/language-web/xtext-gen/org/eclipse/viatra/solver/language/AbstractProblemRuntimeModule.java deleted file mode 100644 index 642b465b..00000000 --- a/language-web/xtext-gen/org/eclipse/viatra/solver/language/AbstractProblemRuntimeModule.java +++ /dev/null @@ -1,201 +0,0 @@ -/* - * generated by Xtext 2.26.0.M1 - */ -package org.eclipse.viatra.solver.language; - -import com.google.inject.Binder; -import com.google.inject.Provider; -import com.google.inject.name.Names; -import java.util.Properties; -import org.eclipse.viatra.solver.language.generator.ProblemGenerator; -import org.eclipse.viatra.solver.language.parser.antlr.ProblemAntlrTokenFileProvider; -import org.eclipse.viatra.solver.language.parser.antlr.ProblemParser; -import org.eclipse.viatra.solver.language.parser.antlr.internal.InternalProblemLexer; -import org.eclipse.viatra.solver.language.scoping.ProblemScopeProvider; -import org.eclipse.viatra.solver.language.serializer.ProblemSemanticSequencer; -import org.eclipse.viatra.solver.language.serializer.ProblemSyntacticSequencer; -import org.eclipse.viatra.solver.language.services.ProblemGrammarAccess; -import org.eclipse.viatra.solver.language.validation.ProblemConfigurableIssueCodesProvider; -import org.eclipse.viatra.solver.language.validation.ProblemValidator; -import org.eclipse.xtext.Constants; -import org.eclipse.xtext.IGrammarAccess; -import org.eclipse.xtext.generator.IGenerator2; -import org.eclipse.xtext.naming.DefaultDeclarativeQualifiedNameProvider; -import org.eclipse.xtext.naming.IQualifiedNameProvider; -import org.eclipse.xtext.parser.IParser; -import org.eclipse.xtext.parser.ITokenToStringConverter; -import org.eclipse.xtext.parser.antlr.AntlrTokenDefProvider; -import org.eclipse.xtext.parser.antlr.AntlrTokenToStringConverter; -import org.eclipse.xtext.parser.antlr.IAntlrTokenFileProvider; -import org.eclipse.xtext.parser.antlr.ITokenDefProvider; -import org.eclipse.xtext.parser.antlr.Lexer; -import org.eclipse.xtext.parser.antlr.LexerBindings; -import org.eclipse.xtext.parser.antlr.LexerProvider; -import org.eclipse.xtext.resource.IContainer; -import org.eclipse.xtext.resource.IResourceDescriptions; -import org.eclipse.xtext.resource.containers.IAllContainersState; -import org.eclipse.xtext.resource.containers.ResourceSetBasedAllContainersStateProvider; -import org.eclipse.xtext.resource.containers.StateBasedContainerManager; -import org.eclipse.xtext.resource.impl.ResourceDescriptionsProvider; -import org.eclipse.xtext.resource.impl.ResourceSetBasedResourceDescriptions; -import org.eclipse.xtext.scoping.IGlobalScopeProvider; -import org.eclipse.xtext.scoping.IScopeProvider; -import org.eclipse.xtext.scoping.IgnoreCaseLinking; -import org.eclipse.xtext.scoping.impl.AbstractDeclarativeScopeProvider; -import org.eclipse.xtext.scoping.impl.DefaultGlobalScopeProvider; -import org.eclipse.xtext.scoping.impl.ImportedNamespaceAwareLocalScopeProvider; -import org.eclipse.xtext.serializer.ISerializer; -import org.eclipse.xtext.serializer.impl.Serializer; -import org.eclipse.xtext.serializer.sequencer.ISemanticSequencer; -import org.eclipse.xtext.serializer.sequencer.ISyntacticSequencer; -import org.eclipse.xtext.service.DefaultRuntimeModule; -import org.eclipse.xtext.service.SingletonBinding; -import org.eclipse.xtext.validation.ConfigurableIssueCodesProvider; - -/** - * Manual modifications go to {@link ProblemRuntimeModule}. - */ -@SuppressWarnings("all") -public abstract class AbstractProblemRuntimeModule extends DefaultRuntimeModule { - - protected Properties properties = null; - - @Override - public void configure(Binder binder) { - properties = tryBindProperties(binder, "org/eclipse/viatra/solver/language/Problem.properties"); - super.configure(binder); - } - - public void configureLanguageName(Binder binder) { - binder.bind(String.class).annotatedWith(Names.named(Constants.LANGUAGE_NAME)).toInstance("org.eclipse.viatra.solver.language.Problem"); - } - - public void configureFileExtensions(Binder binder) { - if (properties == null || properties.getProperty(Constants.FILE_EXTENSIONS) == null) - binder.bind(String.class).annotatedWith(Names.named(Constants.FILE_EXTENSIONS)).toInstance("problem"); - } - - // contributed by org.eclipse.xtext.xtext.generator.grammarAccess.GrammarAccessFragment2 - public ClassLoader bindClassLoaderToInstance() { - return getClass().getClassLoader(); - } - - // contributed by org.eclipse.xtext.xtext.generator.grammarAccess.GrammarAccessFragment2 - public Class bindIGrammarAccess() { - return ProblemGrammarAccess.class; - } - - // contributed by org.eclipse.xtext.xtext.generator.serializer.SerializerFragment2 - public Class bindISemanticSequencer() { - return ProblemSemanticSequencer.class; - } - - // contributed by org.eclipse.xtext.xtext.generator.serializer.SerializerFragment2 - public Class bindISyntacticSequencer() { - return ProblemSyntacticSequencer.class; - } - - // contributed by org.eclipse.xtext.xtext.generator.serializer.SerializerFragment2 - public Class bindISerializer() { - return Serializer.class; - } - - // contributed by org.eclipse.xtext.xtext.generator.parser.antlr.XtextAntlrGeneratorFragment2 - public Class bindIParser() { - return ProblemParser.class; - } - - // contributed by org.eclipse.xtext.xtext.generator.parser.antlr.XtextAntlrGeneratorFragment2 - public Class bindITokenToStringConverter() { - return AntlrTokenToStringConverter.class; - } - - // contributed by org.eclipse.xtext.xtext.generator.parser.antlr.XtextAntlrGeneratorFragment2 - public Class bindIAntlrTokenFileProvider() { - return ProblemAntlrTokenFileProvider.class; - } - - // contributed by org.eclipse.xtext.xtext.generator.parser.antlr.XtextAntlrGeneratorFragment2 - public Class bindLexer() { - return InternalProblemLexer.class; - } - - // contributed by org.eclipse.xtext.xtext.generator.parser.antlr.XtextAntlrGeneratorFragment2 - public Class bindITokenDefProvider() { - return AntlrTokenDefProvider.class; - } - - // contributed by org.eclipse.xtext.xtext.generator.parser.antlr.XtextAntlrGeneratorFragment2 - public Provider provideInternalProblemLexer() { - return LexerProvider.create(InternalProblemLexer.class); - } - - // contributed by org.eclipse.xtext.xtext.generator.parser.antlr.XtextAntlrGeneratorFragment2 - public void configureRuntimeLexer(Binder binder) { - binder.bind(Lexer.class) - .annotatedWith(Names.named(LexerBindings.RUNTIME)) - .to(InternalProblemLexer.class); - } - - // contributed by org.eclipse.xtext.xtext.generator.validation.ValidatorFragment2 - @SingletonBinding(eager=true) - public Class bindProblemValidator() { - return ProblemValidator.class; - } - - // contributed by org.eclipse.xtext.xtext.generator.validation.ValidatorFragment2 - public Class bindConfigurableIssueCodesProvider() { - return ProblemConfigurableIssueCodesProvider.class; - } - - // contributed by org.eclipse.xtext.xtext.generator.scoping.ImportNamespacesScopingFragment2 - public Class bindIScopeProvider() { - return ProblemScopeProvider.class; - } - - // contributed by org.eclipse.xtext.xtext.generator.scoping.ImportNamespacesScopingFragment2 - public void configureIScopeProviderDelegate(Binder binder) { - binder.bind(IScopeProvider.class).annotatedWith(Names.named(AbstractDeclarativeScopeProvider.NAMED_DELEGATE)).to(ImportedNamespaceAwareLocalScopeProvider.class); - } - - // contributed by org.eclipse.xtext.xtext.generator.scoping.ImportNamespacesScopingFragment2 - public Class bindIGlobalScopeProvider() { - return DefaultGlobalScopeProvider.class; - } - - // contributed by org.eclipse.xtext.xtext.generator.scoping.ImportNamespacesScopingFragment2 - public void configureIgnoreCaseLinking(Binder binder) { - binder.bindConstant().annotatedWith(IgnoreCaseLinking.class).to(false); - } - - // contributed by org.eclipse.xtext.xtext.generator.exporting.QualifiedNamesFragment2 - public Class bindIQualifiedNameProvider() { - return DefaultDeclarativeQualifiedNameProvider.class; - } - - // contributed by org.eclipse.xtext.xtext.generator.builder.BuilderIntegrationFragment2 - public Class bindIContainer$Manager() { - return StateBasedContainerManager.class; - } - - // contributed by org.eclipse.xtext.xtext.generator.builder.BuilderIntegrationFragment2 - public Class bindIAllContainersState$Provider() { - return ResourceSetBasedAllContainersStateProvider.class; - } - - // contributed by org.eclipse.xtext.xtext.generator.builder.BuilderIntegrationFragment2 - public void configureIResourceDescriptions(Binder binder) { - binder.bind(IResourceDescriptions.class).to(ResourceSetBasedResourceDescriptions.class); - } - - // contributed by org.eclipse.xtext.xtext.generator.builder.BuilderIntegrationFragment2 - public void configureIResourceDescriptionsPersisted(Binder binder) { - binder.bind(IResourceDescriptions.class).annotatedWith(Names.named(ResourceDescriptionsProvider.PERSISTED_DESCRIPTIONS)).to(ResourceSetBasedResourceDescriptions.class); - } - - // contributed by org.eclipse.xtext.xtext.generator.generator.GeneratorFragment2 - public Class bindIGenerator2() { - return ProblemGenerator.class; - } - -} diff --git a/language-web/xtext-gen/org/eclipse/viatra/solver/language/Problem.xtextbin b/language-web/xtext-gen/org/eclipse/viatra/solver/language/Problem.xtextbin deleted file mode 100644 index cabf6537..00000000 Binary files a/language-web/xtext-gen/org/eclipse/viatra/solver/language/Problem.xtextbin and /dev/null differ diff --git a/language-web/xtext-gen/org/eclipse/viatra/solver/language/ProblemStandaloneSetupGenerated.java b/language-web/xtext-gen/org/eclipse/viatra/solver/language/ProblemStandaloneSetupGenerated.java deleted file mode 100644 index 0366f9cd..00000000 --- a/language-web/xtext-gen/org/eclipse/viatra/solver/language/ProblemStandaloneSetupGenerated.java +++ /dev/null @@ -1,37 +0,0 @@ -/* - * generated by Xtext 2.26.0.M1 - */ -package org.eclipse.viatra.solver.language; - -import com.google.inject.Guice; -import com.google.inject.Injector; -import org.eclipse.emf.ecore.resource.Resource; -import org.eclipse.xtext.ISetup; -import org.eclipse.xtext.common.TerminalsStandaloneSetup; -import org.eclipse.xtext.resource.IResourceFactory; -import org.eclipse.xtext.resource.IResourceServiceProvider; - -@SuppressWarnings("all") -public class ProblemStandaloneSetupGenerated implements ISetup { - - @Override - public Injector createInjectorAndDoEMFRegistration() { - TerminalsStandaloneSetup.doSetup(); - - Injector injector = createInjector(); - register(injector); - return injector; - } - - public Injector createInjector() { - return Guice.createInjector(new ProblemRuntimeModule()); - } - - public void register(Injector injector) { - IResourceFactory resourceFactory = injector.getInstance(IResourceFactory.class); - IResourceServiceProvider serviceProvider = injector.getInstance(IResourceServiceProvider.class); - - Resource.Factory.Registry.INSTANCE.getExtensionToFactoryMap().put("problem", resourceFactory); - IResourceServiceProvider.Registry.INSTANCE.getExtensionToFactoryMap().put("problem", serviceProvider); - } -} diff --git a/language-web/xtext-gen/org/eclipse/viatra/solver/language/parser/antlr/ProblemAntlrTokenFileProvider.java b/language-web/xtext-gen/org/eclipse/viatra/solver/language/parser/antlr/ProblemAntlrTokenFileProvider.java deleted file mode 100644 index b7ecf3f6..00000000 --- a/language-web/xtext-gen/org/eclipse/viatra/solver/language/parser/antlr/ProblemAntlrTokenFileProvider.java +++ /dev/null @@ -1,16 +0,0 @@ -/* - * generated by Xtext 2.26.0.M1 - */ -package org.eclipse.viatra.solver.language.parser.antlr; - -import java.io.InputStream; -import org.eclipse.xtext.parser.antlr.IAntlrTokenFileProvider; - -public class ProblemAntlrTokenFileProvider implements IAntlrTokenFileProvider { - - @Override - public InputStream getAntlrTokenFile() { - ClassLoader classLoader = getClass().getClassLoader(); - return classLoader.getResourceAsStream("org/eclipse/viatra/solver/language/parser/antlr/internal/InternalProblem.tokens"); - } -} diff --git a/language-web/xtext-gen/org/eclipse/viatra/solver/language/parser/antlr/ProblemParser.java b/language-web/xtext-gen/org/eclipse/viatra/solver/language/parser/antlr/ProblemParser.java deleted file mode 100644 index 3af86cab..00000000 --- a/language-web/xtext-gen/org/eclipse/viatra/solver/language/parser/antlr/ProblemParser.java +++ /dev/null @@ -1,40 +0,0 @@ -/* - * generated by Xtext 2.26.0.M1 - */ -package org.eclipse.viatra.solver.language.parser.antlr; - -import com.google.inject.Inject; -import org.eclipse.viatra.solver.language.parser.antlr.internal.InternalProblemParser; -import org.eclipse.viatra.solver.language.services.ProblemGrammarAccess; -import org.eclipse.xtext.parser.antlr.AbstractAntlrParser; -import org.eclipse.xtext.parser.antlr.XtextTokenStream; - -public class ProblemParser extends AbstractAntlrParser { - - @Inject - private ProblemGrammarAccess grammarAccess; - - @Override - protected void setInitialHiddenTokens(XtextTokenStream tokenStream) { - tokenStream.setInitialHiddenTokens("RULE_WS", "RULE_ML_COMMENT", "RULE_SL_COMMENT"); - } - - - @Override - protected InternalProblemParser createParser(XtextTokenStream stream) { - return new InternalProblemParser(stream, getGrammarAccess()); - } - - @Override - protected String getDefaultRuleName() { - return "Problem"; - } - - public ProblemGrammarAccess getGrammarAccess() { - return this.grammarAccess; - } - - public void setGrammarAccess(ProblemGrammarAccess grammarAccess) { - this.grammarAccess = grammarAccess; - } -} diff --git a/language-web/xtext-gen/org/eclipse/viatra/solver/language/parser/antlr/internal/InternalProblem.g b/language-web/xtext-gen/org/eclipse/viatra/solver/language/parser/antlr/internal/InternalProblem.g deleted file mode 100644 index 64db0417..00000000 --- a/language-web/xtext-gen/org/eclipse/viatra/solver/language/parser/antlr/internal/InternalProblem.g +++ /dev/null @@ -1,1909 +0,0 @@ -/* - * generated by Xtext 2.26.0.M1 - */ -grammar InternalProblem; - -options { - superClass=AbstractInternalAntlrParser; -} - -@lexer::header { -package org.eclipse.viatra.solver.language.parser.antlr.internal; - -// Hack: Use our own Lexer superclass by means of import. -// Currently there is no other way to specify the superclass for the lexer. -import org.eclipse.xtext.parser.antlr.Lexer; -} - -@parser::header { -package org.eclipse.viatra.solver.language.parser.antlr.internal; - -import org.eclipse.xtext.*; -import org.eclipse.xtext.parser.*; -import org.eclipse.xtext.parser.impl.*; -import org.eclipse.emf.ecore.util.EcoreUtil; -import org.eclipse.emf.ecore.EObject; -import org.eclipse.emf.common.util.Enumerator; -import org.eclipse.xtext.parser.antlr.AbstractInternalAntlrParser; -import org.eclipse.xtext.parser.antlr.XtextTokenStream; -import org.eclipse.xtext.parser.antlr.XtextTokenStream.HiddenTokens; -import org.eclipse.xtext.parser.antlr.AntlrDatatypeRuleToken; -import org.eclipse.viatra.solver.language.services.ProblemGrammarAccess; - -} - -@parser::members { - - private ProblemGrammarAccess grammarAccess; - - public InternalProblemParser(TokenStream input, ProblemGrammarAccess grammarAccess) { - this(input); - this.grammarAccess = grammarAccess; - registerRules(grammarAccess.getGrammar()); - } - - @Override - protected String getFirstRuleName() { - return "Problem"; - } - - @Override - protected ProblemGrammarAccess getGrammarAccess() { - return grammarAccess; - } - -} - -@rulecatch { - catch (RecognitionException re) { - recover(input,re); - appendSkippedTokens(); - } -} - -// Entry rule entryRuleProblem -entryRuleProblem returns [EObject current=null]: - { newCompositeNode(grammarAccess.getProblemRule()); } - iv_ruleProblem=ruleProblem - { $current=$iv_ruleProblem.current; } - EOF; - -// Rule Problem -ruleProblem returns [EObject current=null] -@init { - enterRule(); -} -@after { - leaveRule(); -}: - ( - ( - otherlv_0='problem' - { - newLeafNode(otherlv_0, grammarAccess.getProblemAccess().getProblemKeyword_0_0()); - } - ( - ( - { - newCompositeNode(grammarAccess.getProblemAccess().getNameIdentifierParserRuleCall_0_1_0()); - } - lv_name_1_0=ruleIdentifier - { - if ($current==null) { - $current = createModelElementForParent(grammarAccess.getProblemRule()); - } - set( - $current, - "name", - lv_name_1_0, - "org.eclipse.viatra.solver.language.Problem.Identifier"); - afterParserOrEnumRuleCall(); - } - ) - ) - otherlv_2='.' - { - newLeafNode(otherlv_2, grammarAccess.getProblemAccess().getFullStopKeyword_0_2()); - } - )? - ( - ( - { - newCompositeNode(grammarAccess.getProblemAccess().getStatementsStatementParserRuleCall_1_0()); - } - lv_statements_3_0=ruleStatement - { - if ($current==null) { - $current = createModelElementForParent(grammarAccess.getProblemRule()); - } - add( - $current, - "statements", - lv_statements_3_0, - "org.eclipse.viatra.solver.language.Problem.Statement"); - afterParserOrEnumRuleCall(); - } - ) - )* - ) -; - -// Entry rule entryRuleStatement -entryRuleStatement returns [EObject current=null]: - { newCompositeNode(grammarAccess.getStatementRule()); } - iv_ruleStatement=ruleStatement - { $current=$iv_ruleStatement.current; } - EOF; - -// Rule Statement -ruleStatement returns [EObject current=null] -@init { - enterRule(); -} -@after { - leaveRule(); -}: - ( - { - newCompositeNode(grammarAccess.getStatementAccess().getClassDeclarationParserRuleCall_0()); - } - this_ClassDeclaration_0=ruleClassDeclaration - { - $current = $this_ClassDeclaration_0.current; - afterParserOrEnumRuleCall(); - } - | - { - newCompositeNode(grammarAccess.getStatementAccess().getEnumDeclarationParserRuleCall_1()); - } - this_EnumDeclaration_1=ruleEnumDeclaration - { - $current = $this_EnumDeclaration_1.current; - afterParserOrEnumRuleCall(); - } - | - { - newCompositeNode(grammarAccess.getStatementAccess().getPredicateDefinitionParserRuleCall_2()); - } - this_PredicateDefinition_2=rulePredicateDefinition - { - $current = $this_PredicateDefinition_2.current; - afterParserOrEnumRuleCall(); - } - | - { - newCompositeNode(grammarAccess.getStatementAccess().getAssertionParserRuleCall_3()); - } - this_Assertion_3=ruleAssertion - { - $current = $this_Assertion_3.current; - afterParserOrEnumRuleCall(); - } - | - { - newCompositeNode(grammarAccess.getStatementAccess().getScopeDeclarationParserRuleCall_4()); - } - this_ScopeDeclaration_4=ruleScopeDeclaration - { - $current = $this_ScopeDeclaration_4.current; - afterParserOrEnumRuleCall(); - } - ) -; - -// Entry rule entryRuleClassDeclaration -entryRuleClassDeclaration returns [EObject current=null]: - { newCompositeNode(grammarAccess.getClassDeclarationRule()); } - iv_ruleClassDeclaration=ruleClassDeclaration - { $current=$iv_ruleClassDeclaration.current; } - EOF; - -// Rule ClassDeclaration -ruleClassDeclaration returns [EObject current=null] -@init { - enterRule(); -} -@after { - leaveRule(); -}: - ( - ( - ( - lv_abstract_0_0='abstract' - { - newLeafNode(lv_abstract_0_0, grammarAccess.getClassDeclarationAccess().getAbstractAbstractKeyword_0_0()); - } - { - if ($current==null) { - $current = createModelElement(grammarAccess.getClassDeclarationRule()); - } - setWithLastConsumed($current, "abstract", lv_abstract_0_0 != null, "abstract"); - } - ) - )? - otherlv_1='class' - { - newLeafNode(otherlv_1, grammarAccess.getClassDeclarationAccess().getClassKeyword_1()); - } - ( - ( - { - newCompositeNode(grammarAccess.getClassDeclarationAccess().getNameIdentifierParserRuleCall_2_0()); - } - lv_name_2_0=ruleIdentifier - { - if ($current==null) { - $current = createModelElementForParent(grammarAccess.getClassDeclarationRule()); - } - set( - $current, - "name", - lv_name_2_0, - "org.eclipse.viatra.solver.language.Problem.Identifier"); - afterParserOrEnumRuleCall(); - } - ) - ) - ( - otherlv_3='extends' - { - newLeafNode(otherlv_3, grammarAccess.getClassDeclarationAccess().getExtendsKeyword_3_0()); - } - ( - ( - { - if ($current==null) { - $current = createModelElement(grammarAccess.getClassDeclarationRule()); - } - } - { - newCompositeNode(grammarAccess.getClassDeclarationAccess().getSuperTypesRelationCrossReference_3_1_0()); - } - ruleQualifiedName - { - afterParserOrEnumRuleCall(); - } - ) - ) - ( - otherlv_5=',' - { - newLeafNode(otherlv_5, grammarAccess.getClassDeclarationAccess().getCommaKeyword_3_2_0()); - } - ( - ( - { - if ($current==null) { - $current = createModelElement(grammarAccess.getClassDeclarationRule()); - } - } - { - newCompositeNode(grammarAccess.getClassDeclarationAccess().getSuperTypesRelationCrossReference_3_2_1_0()); - } - ruleQualifiedName - { - afterParserOrEnumRuleCall(); - } - ) - ) - )* - )? - ( - ( - otherlv_7='{' - { - newLeafNode(otherlv_7, grammarAccess.getClassDeclarationAccess().getLeftCurlyBracketKeyword_4_0_0()); - } - ( - ( - ( - { - newCompositeNode(grammarAccess.getClassDeclarationAccess().getReferenceDeclarationsReferenceDeclarationParserRuleCall_4_0_1_0_0()); - } - lv_referenceDeclarations_8_0=ruleReferenceDeclaration - { - if ($current==null) { - $current = createModelElementForParent(grammarAccess.getClassDeclarationRule()); - } - add( - $current, - "referenceDeclarations", - lv_referenceDeclarations_8_0, - "org.eclipse.viatra.solver.language.Problem.ReferenceDeclaration"); - afterParserOrEnumRuleCall(); - } - ) - ) - ( - otherlv_9=';' - { - newLeafNode(otherlv_9, grammarAccess.getClassDeclarationAccess().getSemicolonKeyword_4_0_1_1()); - } - )? - )* - otherlv_10='}' - { - newLeafNode(otherlv_10, grammarAccess.getClassDeclarationAccess().getRightCurlyBracketKeyword_4_0_2()); - } - ) - | - otherlv_11='.' - { - newLeafNode(otherlv_11, grammarAccess.getClassDeclarationAccess().getFullStopKeyword_4_1()); - } - ) - ) -; - -// Entry rule entryRuleEnumDeclaration -entryRuleEnumDeclaration returns [EObject current=null]: - { newCompositeNode(grammarAccess.getEnumDeclarationRule()); } - iv_ruleEnumDeclaration=ruleEnumDeclaration - { $current=$iv_ruleEnumDeclaration.current; } - EOF; - -// Rule EnumDeclaration -ruleEnumDeclaration returns [EObject current=null] -@init { - enterRule(); -} -@after { - leaveRule(); -}: - ( - otherlv_0='enum' - { - newLeafNode(otherlv_0, grammarAccess.getEnumDeclarationAccess().getEnumKeyword_0()); - } - ( - ( - { - newCompositeNode(grammarAccess.getEnumDeclarationAccess().getNameIdentifierParserRuleCall_1_0()); - } - lv_name_1_0=ruleIdentifier - { - if ($current==null) { - $current = createModelElementForParent(grammarAccess.getEnumDeclarationRule()); - } - set( - $current, - "name", - lv_name_1_0, - "org.eclipse.viatra.solver.language.Problem.Identifier"); - afterParserOrEnumRuleCall(); - } - ) - ) - ( - ( - otherlv_2='{' - { - newLeafNode(otherlv_2, grammarAccess.getEnumDeclarationAccess().getLeftCurlyBracketKeyword_2_0_0()); - } - ( - ( - ( - { - newCompositeNode(grammarAccess.getEnumDeclarationAccess().getLiteralsEnumLiteralParserRuleCall_2_0_1_0_0()); - } - lv_literals_3_0=ruleEnumLiteral - { - if ($current==null) { - $current = createModelElementForParent(grammarAccess.getEnumDeclarationRule()); - } - add( - $current, - "literals", - lv_literals_3_0, - "org.eclipse.viatra.solver.language.Problem.EnumLiteral"); - afterParserOrEnumRuleCall(); - } - ) - ) - ( - otherlv_4=',' - { - newLeafNode(otherlv_4, grammarAccess.getEnumDeclarationAccess().getCommaKeyword_2_0_1_1_0()); - } - ( - ( - { - newCompositeNode(grammarAccess.getEnumDeclarationAccess().getLiteralsEnumLiteralParserRuleCall_2_0_1_1_1_0()); - } - lv_literals_5_0=ruleEnumLiteral - { - if ($current==null) { - $current = createModelElementForParent(grammarAccess.getEnumDeclarationRule()); - } - add( - $current, - "literals", - lv_literals_5_0, - "org.eclipse.viatra.solver.language.Problem.EnumLiteral"); - afterParserOrEnumRuleCall(); - } - ) - ) - )* - ( - otherlv_6=',' - { - newLeafNode(otherlv_6, grammarAccess.getEnumDeclarationAccess().getCommaKeyword_2_0_1_2_0()); - } - | - otherlv_7=';' - { - newLeafNode(otherlv_7, grammarAccess.getEnumDeclarationAccess().getSemicolonKeyword_2_0_1_2_1()); - } - )? - )? - otherlv_8='}' - { - newLeafNode(otherlv_8, grammarAccess.getEnumDeclarationAccess().getRightCurlyBracketKeyword_2_0_2()); - } - ) - | - otherlv_9='.' - { - newLeafNode(otherlv_9, grammarAccess.getEnumDeclarationAccess().getFullStopKeyword_2_1()); - } - ) - ) -; - -// Entry rule entryRuleEnumLiteral -entryRuleEnumLiteral returns [EObject current=null]: - { newCompositeNode(grammarAccess.getEnumLiteralRule()); } - iv_ruleEnumLiteral=ruleEnumLiteral - { $current=$iv_ruleEnumLiteral.current; } - EOF; - -// Rule EnumLiteral -ruleEnumLiteral returns [EObject current=null] -@init { - enterRule(); -} -@after { - leaveRule(); -}: - ( - ( - { - newCompositeNode(grammarAccess.getEnumLiteralAccess().getNameQuotedOrUnquotedIdParserRuleCall_0()); - } - lv_name_0_0=ruleQuotedOrUnquotedId - { - if ($current==null) { - $current = createModelElementForParent(grammarAccess.getEnumLiteralRule()); - } - set( - $current, - "name", - lv_name_0_0, - "org.eclipse.viatra.solver.language.Problem.QuotedOrUnquotedId"); - afterParserOrEnumRuleCall(); - } - ) - ) -; - -// Entry rule entryRuleReferenceDeclaration -entryRuleReferenceDeclaration returns [EObject current=null]: - { newCompositeNode(grammarAccess.getReferenceDeclarationRule()); } - iv_ruleReferenceDeclaration=ruleReferenceDeclaration - { $current=$iv_ruleReferenceDeclaration.current; } - EOF; - -// Rule ReferenceDeclaration -ruleReferenceDeclaration returns [EObject current=null] -@init { - enterRule(); -} -@after { - leaveRule(); -}: - ( - ( - ( - ( - lv_containment_0_0='contains' - { - newLeafNode(lv_containment_0_0, grammarAccess.getReferenceDeclarationAccess().getContainmentContainsKeyword_0_0_0()); - } - { - if ($current==null) { - $current = createModelElement(grammarAccess.getReferenceDeclarationRule()); - } - setWithLastConsumed($current, "containment", lv_containment_0_0 != null, "contains"); - } - ) - ) - | - otherlv_1='refers' - { - newLeafNode(otherlv_1, grammarAccess.getReferenceDeclarationAccess().getRefersKeyword_0_1()); - } - )? - ( - ( - { - if ($current==null) { - $current = createModelElement(grammarAccess.getReferenceDeclarationRule()); - } - } - { - newCompositeNode(grammarAccess.getReferenceDeclarationAccess().getReferenceTypeRelationCrossReference_1_0()); - } - ruleQualifiedName - { - afterParserOrEnumRuleCall(); - } - ) - ) - ( - otherlv_3='[' - { - newLeafNode(otherlv_3, grammarAccess.getReferenceDeclarationAccess().getLeftSquareBracketKeyword_2_0()); - } - ( - ( - { - newCompositeNode(grammarAccess.getReferenceDeclarationAccess().getMultiplicityMultiplicityParserRuleCall_2_1_0()); - } - lv_multiplicity_4_0=ruleMultiplicity - { - if ($current==null) { - $current = createModelElementForParent(grammarAccess.getReferenceDeclarationRule()); - } - set( - $current, - "multiplicity", - lv_multiplicity_4_0, - "org.eclipse.viatra.solver.language.Problem.Multiplicity"); - afterParserOrEnumRuleCall(); - } - ) - ) - otherlv_5=']' - { - newLeafNode(otherlv_5, grammarAccess.getReferenceDeclarationAccess().getRightSquareBracketKeyword_2_2()); - } - )? - ( - ( - { - newCompositeNode(grammarAccess.getReferenceDeclarationAccess().getNameIdentifierParserRuleCall_3_0()); - } - lv_name_6_0=ruleIdentifier - { - if ($current==null) { - $current = createModelElementForParent(grammarAccess.getReferenceDeclarationRule()); - } - set( - $current, - "name", - lv_name_6_0, - "org.eclipse.viatra.solver.language.Problem.Identifier"); - afterParserOrEnumRuleCall(); - } - ) - ) - ( - otherlv_7='opposite' - { - newLeafNode(otherlv_7, grammarAccess.getReferenceDeclarationAccess().getOppositeKeyword_4_0()); - } - ( - ( - { - if ($current==null) { - $current = createModelElement(grammarAccess.getReferenceDeclarationRule()); - } - } - { - newCompositeNode(grammarAccess.getReferenceDeclarationAccess().getOppositeReferenceDeclarationCrossReference_4_1_0()); - } - ruleQualifiedName - { - afterParserOrEnumRuleCall(); - } - ) - ) - )? - ) -; - -// Entry rule entryRulePredicateDefinition -entryRulePredicateDefinition returns [EObject current=null]: - { newCompositeNode(grammarAccess.getPredicateDefinitionRule()); } - iv_rulePredicateDefinition=rulePredicateDefinition - { $current=$iv_rulePredicateDefinition.current; } - EOF; - -// Rule PredicateDefinition -rulePredicateDefinition returns [EObject current=null] -@init { - enterRule(); -} -@after { - leaveRule(); -}: - ( - ( - ( - ( - ( - lv_error_0_0='error' - { - newLeafNode(lv_error_0_0, grammarAccess.getPredicateDefinitionAccess().getErrorErrorKeyword_0_0_0_0()); - } - { - if ($current==null) { - $current = createModelElement(grammarAccess.getPredicateDefinitionRule()); - } - setWithLastConsumed($current, "error", lv_error_0_0 != null, "error"); - } - ) - ) - ( - otherlv_1='pred' - { - newLeafNode(otherlv_1, grammarAccess.getPredicateDefinitionAccess().getPredKeyword_0_0_1()); - } - )? - ) - | - otherlv_2='pred' - { - newLeafNode(otherlv_2, grammarAccess.getPredicateDefinitionAccess().getPredKeyword_0_1()); - } - ) - ( - ( - { - newCompositeNode(grammarAccess.getPredicateDefinitionAccess().getNameIdentifierParserRuleCall_1_0()); - } - lv_name_3_0=ruleIdentifier - { - if ($current==null) { - $current = createModelElementForParent(grammarAccess.getPredicateDefinitionRule()); - } - set( - $current, - "name", - lv_name_3_0, - "org.eclipse.viatra.solver.language.Problem.Identifier"); - afterParserOrEnumRuleCall(); - } - ) - ) - otherlv_4='(' - { - newLeafNode(otherlv_4, grammarAccess.getPredicateDefinitionAccess().getLeftParenthesisKeyword_2()); - } - ( - ( - ( - { - newCompositeNode(grammarAccess.getPredicateDefinitionAccess().getParametersParameterParserRuleCall_3_0_0()); - } - lv_parameters_5_0=ruleParameter - { - if ($current==null) { - $current = createModelElementForParent(grammarAccess.getPredicateDefinitionRule()); - } - add( - $current, - "parameters", - lv_parameters_5_0, - "org.eclipse.viatra.solver.language.Problem.Parameter"); - afterParserOrEnumRuleCall(); - } - ) - ) - ( - otherlv_6=',' - { - newLeafNode(otherlv_6, grammarAccess.getPredicateDefinitionAccess().getCommaKeyword_3_1_0()); - } - ( - ( - { - newCompositeNode(grammarAccess.getPredicateDefinitionAccess().getParametersParameterParserRuleCall_3_1_1_0()); - } - lv_parameters_7_0=ruleParameter - { - if ($current==null) { - $current = createModelElementForParent(grammarAccess.getPredicateDefinitionRule()); - } - add( - $current, - "parameters", - lv_parameters_7_0, - "org.eclipse.viatra.solver.language.Problem.Parameter"); - afterParserOrEnumRuleCall(); - } - ) - ) - )* - )? - otherlv_8=')' - { - newLeafNode(otherlv_8, grammarAccess.getPredicateDefinitionAccess().getRightParenthesisKeyword_4()); - } - ( - otherlv_9=':-' - { - newLeafNode(otherlv_9, grammarAccess.getPredicateDefinitionAccess().getColonHyphenMinusKeyword_5_0()); - } - ( - ( - { - newCompositeNode(grammarAccess.getPredicateDefinitionAccess().getBodiesConjunctionParserRuleCall_5_1_0()); - } - lv_bodies_10_0=ruleConjunction - { - if ($current==null) { - $current = createModelElementForParent(grammarAccess.getPredicateDefinitionRule()); - } - add( - $current, - "bodies", - lv_bodies_10_0, - "org.eclipse.viatra.solver.language.Problem.Conjunction"); - afterParserOrEnumRuleCall(); - } - ) - ) - ( - otherlv_11=';' - { - newLeafNode(otherlv_11, grammarAccess.getPredicateDefinitionAccess().getSemicolonKeyword_5_2_0()); - } - ( - ( - { - newCompositeNode(grammarAccess.getPredicateDefinitionAccess().getBodiesConjunctionParserRuleCall_5_2_1_0()); - } - lv_bodies_12_0=ruleConjunction - { - if ($current==null) { - $current = createModelElementForParent(grammarAccess.getPredicateDefinitionRule()); - } - add( - $current, - "bodies", - lv_bodies_12_0, - "org.eclipse.viatra.solver.language.Problem.Conjunction"); - afterParserOrEnumRuleCall(); - } - ) - ) - )* - )? - otherlv_13='.' - { - newLeafNode(otherlv_13, grammarAccess.getPredicateDefinitionAccess().getFullStopKeyword_6()); - } - ) -; - -// Entry rule entryRuleParameter -entryRuleParameter returns [EObject current=null]: - { newCompositeNode(grammarAccess.getParameterRule()); } - iv_ruleParameter=ruleParameter - { $current=$iv_ruleParameter.current; } - EOF; - -// Rule Parameter -ruleParameter returns [EObject current=null] -@init { - enterRule(); -} -@after { - leaveRule(); -}: - ( - ( - ( - { - if ($current==null) { - $current = createModelElement(grammarAccess.getParameterRule()); - } - } - { - newCompositeNode(grammarAccess.getParameterAccess().getParameterTypeRelationCrossReference_0_0()); - } - ruleQualifiedName - { - afterParserOrEnumRuleCall(); - } - ) - )? - ( - ( - { - newCompositeNode(grammarAccess.getParameterAccess().getNameIdentifierParserRuleCall_1_0()); - } - lv_name_1_0=ruleIdentifier - { - if ($current==null) { - $current = createModelElementForParent(grammarAccess.getParameterRule()); - } - set( - $current, - "name", - lv_name_1_0, - "org.eclipse.viatra.solver.language.Problem.Identifier"); - afterParserOrEnumRuleCall(); - } - ) - ) - ) -; - -// Entry rule entryRuleConjunction -entryRuleConjunction returns [EObject current=null]: - { newCompositeNode(grammarAccess.getConjunctionRule()); } - iv_ruleConjunction=ruleConjunction - { $current=$iv_ruleConjunction.current; } - EOF; - -// Rule Conjunction -ruleConjunction returns [EObject current=null] -@init { - enterRule(); -} -@after { - leaveRule(); -}: - ( - ( - ( - { - newCompositeNode(grammarAccess.getConjunctionAccess().getLiteralsLiteralParserRuleCall_0_0()); - } - lv_literals_0_0=ruleLiteral - { - if ($current==null) { - $current = createModelElementForParent(grammarAccess.getConjunctionRule()); - } - add( - $current, - "literals", - lv_literals_0_0, - "org.eclipse.viatra.solver.language.Problem.Literal"); - afterParserOrEnumRuleCall(); - } - ) - ) - ( - otherlv_1=',' - { - newLeafNode(otherlv_1, grammarAccess.getConjunctionAccess().getCommaKeyword_1_0()); - } - ( - ( - { - newCompositeNode(grammarAccess.getConjunctionAccess().getLiteralsLiteralParserRuleCall_1_1_0()); - } - lv_literals_2_0=ruleLiteral - { - if ($current==null) { - $current = createModelElementForParent(grammarAccess.getConjunctionRule()); - } - add( - $current, - "literals", - lv_literals_2_0, - "org.eclipse.viatra.solver.language.Problem.Literal"); - afterParserOrEnumRuleCall(); - } - ) - ) - )* - ) -; - -// Entry rule entryRuleLiteral -entryRuleLiteral returns [EObject current=null]: - { newCompositeNode(grammarAccess.getLiteralRule()); } - iv_ruleLiteral=ruleLiteral - { $current=$iv_ruleLiteral.current; } - EOF; - -// Rule Literal -ruleLiteral returns [EObject current=null] -@init { - enterRule(); -} -@after { - leaveRule(); -}: - ( - { - newCompositeNode(grammarAccess.getLiteralAccess().getAtomParserRuleCall_0()); - } - this_Atom_0=ruleAtom - { - $current = $this_Atom_0.current; - afterParserOrEnumRuleCall(); - } - | - { - newCompositeNode(grammarAccess.getLiteralAccess().getNegativeLiteralParserRuleCall_1()); - } - this_NegativeLiteral_1=ruleNegativeLiteral - { - $current = $this_NegativeLiteral_1.current; - afterParserOrEnumRuleCall(); - } - ) -; - -// Entry rule entryRuleNegativeLiteral -entryRuleNegativeLiteral returns [EObject current=null]: - { newCompositeNode(grammarAccess.getNegativeLiteralRule()); } - iv_ruleNegativeLiteral=ruleNegativeLiteral - { $current=$iv_ruleNegativeLiteral.current; } - EOF; - -// Rule NegativeLiteral -ruleNegativeLiteral returns [EObject current=null] -@init { - enterRule(); -} -@after { - leaveRule(); -}: - ( - otherlv_0='!' - { - newLeafNode(otherlv_0, grammarAccess.getNegativeLiteralAccess().getExclamationMarkKeyword_0()); - } - ( - ( - { - newCompositeNode(grammarAccess.getNegativeLiteralAccess().getAtomAtomParserRuleCall_1_0()); - } - lv_atom_1_0=ruleAtom - { - if ($current==null) { - $current = createModelElementForParent(grammarAccess.getNegativeLiteralRule()); - } - set( - $current, - "atom", - lv_atom_1_0, - "org.eclipse.viatra.solver.language.Problem.Atom"); - afterParserOrEnumRuleCall(); - } - ) - ) - ) -; - -// Entry rule entryRuleAtom -entryRuleAtom returns [EObject current=null]: - { newCompositeNode(grammarAccess.getAtomRule()); } - iv_ruleAtom=ruleAtom - { $current=$iv_ruleAtom.current; } - EOF; - -// Rule Atom -ruleAtom returns [EObject current=null] -@init { - enterRule(); -} -@after { - leaveRule(); -}: - ( - ( - ( - { - if ($current==null) { - $current = createModelElement(grammarAccess.getAtomRule()); - } - } - { - newCompositeNode(grammarAccess.getAtomAccess().getRelationRelationCrossReference_0_0()); - } - ruleQualifiedName - { - afterParserOrEnumRuleCall(); - } - ) - ) - ( - ( - lv_transitiveClosure_1_0='+' - { - newLeafNode(lv_transitiveClosure_1_0, grammarAccess.getAtomAccess().getTransitiveClosurePlusSignKeyword_1_0()); - } - { - if ($current==null) { - $current = createModelElement(grammarAccess.getAtomRule()); - } - setWithLastConsumed($current, "transitiveClosure", lv_transitiveClosure_1_0 != null, "+"); - } - ) - )? - otherlv_2='(' - { - newLeafNode(otherlv_2, grammarAccess.getAtomAccess().getLeftParenthesisKeyword_2()); - } - ( - ( - ( - { - newCompositeNode(grammarAccess.getAtomAccess().getArgumentsArgumentParserRuleCall_3_0_0()); - } - lv_arguments_3_0=ruleArgument - { - if ($current==null) { - $current = createModelElementForParent(grammarAccess.getAtomRule()); - } - add( - $current, - "arguments", - lv_arguments_3_0, - "org.eclipse.viatra.solver.language.Problem.Argument"); - afterParserOrEnumRuleCall(); - } - ) - ) - ( - otherlv_4=',' - { - newLeafNode(otherlv_4, grammarAccess.getAtomAccess().getCommaKeyword_3_1_0()); - } - ( - ( - { - newCompositeNode(grammarAccess.getAtomAccess().getArgumentsArgumentParserRuleCall_3_1_1_0()); - } - lv_arguments_5_0=ruleArgument - { - if ($current==null) { - $current = createModelElementForParent(grammarAccess.getAtomRule()); - } - add( - $current, - "arguments", - lv_arguments_5_0, - "org.eclipse.viatra.solver.language.Problem.Argument"); - afterParserOrEnumRuleCall(); - } - ) - ) - )* - )? - otherlv_6=')' - { - newLeafNode(otherlv_6, grammarAccess.getAtomAccess().getRightParenthesisKeyword_4()); - } - ) -; - -// Entry rule entryRuleArgument -entryRuleArgument returns [EObject current=null]: - { newCompositeNode(grammarAccess.getArgumentRule()); } - iv_ruleArgument=ruleArgument - { $current=$iv_ruleArgument.current; } - EOF; - -// Rule Argument -ruleArgument returns [EObject current=null] -@init { - enterRule(); -} -@after { - leaveRule(); -}: - ( - ( - { - if ($current==null) { - $current = createModelElement(grammarAccess.getArgumentRule()); - } - } - { - newCompositeNode(grammarAccess.getArgumentAccess().getVariableOrNodeVariableOrNodeCrossReference_0()); - } - ruleQualifiedName - { - afterParserOrEnumRuleCall(); - } - ) - ) -; - -// Entry rule entryRuleAssertion -entryRuleAssertion returns [EObject current=null]: - { newCompositeNode(grammarAccess.getAssertionRule()); } - iv_ruleAssertion=ruleAssertion - { $current=$iv_ruleAssertion.current; } - EOF; - -// Rule Assertion -ruleAssertion returns [EObject current=null] -@init { - enterRule(); -} -@after { - leaveRule(); -}: - ( - ( - ( - ( - ( - { - if ($current==null) { - $current = createModelElement(grammarAccess.getAssertionRule()); - } - } - { - newCompositeNode(grammarAccess.getAssertionAccess().getRelationRelationCrossReference_0_0_0_0()); - } - ruleQualifiedName - { - afterParserOrEnumRuleCall(); - } - ) - ) - otherlv_1='(' - { - newLeafNode(otherlv_1, grammarAccess.getAssertionAccess().getLeftParenthesisKeyword_0_0_1()); - } - ( - ( - ( - { - if ($current==null) { - $current = createModelElement(grammarAccess.getAssertionRule()); - } - } - { - newCompositeNode(grammarAccess.getAssertionAccess().getArgumentsNodeCrossReference_0_0_2_0_0()); - } - ruleQualifiedName - { - afterParserOrEnumRuleCall(); - } - ) - ) - ( - otherlv_3=',' - { - newLeafNode(otherlv_3, grammarAccess.getAssertionAccess().getCommaKeyword_0_0_2_1_0()); - } - ( - ( - { - if ($current==null) { - $current = createModelElement(grammarAccess.getAssertionRule()); - } - } - { - newCompositeNode(grammarAccess.getAssertionAccess().getArgumentsNodeCrossReference_0_0_2_1_1_0()); - } - ruleQualifiedName - { - afterParserOrEnumRuleCall(); - } - ) - ) - )* - )? - otherlv_5=')' - { - newLeafNode(otherlv_5, grammarAccess.getAssertionAccess().getRightParenthesisKeyword_0_0_3()); - } - otherlv_6=':' - { - newLeafNode(otherlv_6, grammarAccess.getAssertionAccess().getColonKeyword_0_0_4()); - } - ( - ( - { - newCompositeNode(grammarAccess.getAssertionAccess().getValueLogicValueEnumRuleCall_0_0_5_0()); - } - lv_value_7_0=ruleLogicValue - { - if ($current==null) { - $current = createModelElementForParent(grammarAccess.getAssertionRule()); - } - set( - $current, - "value", - lv_value_7_0, - "org.eclipse.viatra.solver.language.Problem.LogicValue"); - afterParserOrEnumRuleCall(); - } - ) - ) - ) - | - ( - ( - ( - { - newCompositeNode(grammarAccess.getAssertionAccess().getValueShortLogicValueEnumRuleCall_0_1_0_0()); - } - lv_value_8_0=ruleShortLogicValue - { - if ($current==null) { - $current = createModelElementForParent(grammarAccess.getAssertionRule()); - } - set( - $current, - "value", - lv_value_8_0, - "org.eclipse.viatra.solver.language.Problem.ShortLogicValue"); - afterParserOrEnumRuleCall(); - } - ) - )? - ( - ( - { - if ($current==null) { - $current = createModelElement(grammarAccess.getAssertionRule()); - } - } - { - newCompositeNode(grammarAccess.getAssertionAccess().getRelationRelationCrossReference_0_1_1_0()); - } - ruleQualifiedName - { - afterParserOrEnumRuleCall(); - } - ) - ) - otherlv_10='(' - { - newLeafNode(otherlv_10, grammarAccess.getAssertionAccess().getLeftParenthesisKeyword_0_1_2()); - } - ( - ( - ( - { - if ($current==null) { - $current = createModelElement(grammarAccess.getAssertionRule()); - } - } - { - newCompositeNode(grammarAccess.getAssertionAccess().getArgumentsNodeCrossReference_0_1_3_0_0()); - } - ruleQualifiedName - { - afterParserOrEnumRuleCall(); - } - ) - ) - ( - otherlv_12=',' - { - newLeafNode(otherlv_12, grammarAccess.getAssertionAccess().getCommaKeyword_0_1_3_1_0()); - } - ( - ( - { - if ($current==null) { - $current = createModelElement(grammarAccess.getAssertionRule()); - } - } - { - newCompositeNode(grammarAccess.getAssertionAccess().getArgumentsNodeCrossReference_0_1_3_1_1_0()); - } - ruleQualifiedName - { - afterParserOrEnumRuleCall(); - } - ) - ) - )* - )? - otherlv_14=')' - { - newLeafNode(otherlv_14, grammarAccess.getAssertionAccess().getRightParenthesisKeyword_0_1_4()); - } - ) - ) - otherlv_15='.' - { - newLeafNode(otherlv_15, grammarAccess.getAssertionAccess().getFullStopKeyword_1()); - } - ) -; - -// Entry rule entryRuleScopeDeclaration -entryRuleScopeDeclaration returns [EObject current=null]: - { newCompositeNode(grammarAccess.getScopeDeclarationRule()); } - iv_ruleScopeDeclaration=ruleScopeDeclaration - { $current=$iv_ruleScopeDeclaration.current; } - EOF; - -// Rule ScopeDeclaration -ruleScopeDeclaration returns [EObject current=null] -@init { - enterRule(); -} -@after { - leaveRule(); -}: - ( - otherlv_0='scope' - { - newLeafNode(otherlv_0, grammarAccess.getScopeDeclarationAccess().getScopeKeyword_0()); - } - ( - ( - { - newCompositeNode(grammarAccess.getScopeDeclarationAccess().getTypeScopesTypeScopeParserRuleCall_1_0()); - } - lv_typeScopes_1_0=ruleTypeScope - { - if ($current==null) { - $current = createModelElementForParent(grammarAccess.getScopeDeclarationRule()); - } - add( - $current, - "typeScopes", - lv_typeScopes_1_0, - "org.eclipse.viatra.solver.language.Problem.TypeScope"); - afterParserOrEnumRuleCall(); - } - ) - ) - ( - otherlv_2=',' - { - newLeafNode(otherlv_2, grammarAccess.getScopeDeclarationAccess().getCommaKeyword_2_0()); - } - ( - ( - { - newCompositeNode(grammarAccess.getScopeDeclarationAccess().getTypeScopesTypeScopeParserRuleCall_2_1_0()); - } - lv_typeScopes_3_0=ruleTypeScope - { - if ($current==null) { - $current = createModelElementForParent(grammarAccess.getScopeDeclarationRule()); - } - add( - $current, - "typeScopes", - lv_typeScopes_3_0, - "org.eclipse.viatra.solver.language.Problem.TypeScope"); - afterParserOrEnumRuleCall(); - } - ) - ) - )* - otherlv_4='.' - { - newLeafNode(otherlv_4, grammarAccess.getScopeDeclarationAccess().getFullStopKeyword_3()); - } - ) -; - -// Entry rule entryRuleTypeScope -entryRuleTypeScope returns [EObject current=null]: - { newCompositeNode(grammarAccess.getTypeScopeRule()); } - iv_ruleTypeScope=ruleTypeScope - { $current=$iv_ruleTypeScope.current; } - EOF; - -// Rule TypeScope -ruleTypeScope returns [EObject current=null] -@init { - enterRule(); -} -@after { - leaveRule(); -}: - ( - ( - ( - { - if ($current==null) { - $current = createModelElement(grammarAccess.getTypeScopeRule()); - } - } - otherlv_0=RULE_ID - { - newLeafNode(otherlv_0, grammarAccess.getTypeScopeAccess().getTargetTypeClassDeclarationCrossReference_0_0()); - } - ) - ) - ( - ( - ( - lv_increment_1_0='+=' - { - newLeafNode(lv_increment_1_0, grammarAccess.getTypeScopeAccess().getIncrementPlusSignEqualsSignKeyword_1_0_0()); - } - { - if ($current==null) { - $current = createModelElement(grammarAccess.getTypeScopeRule()); - } - setWithLastConsumed($current, "increment", lv_increment_1_0 != null, "+="); - } - ) - ) - | - otherlv_2='=' - { - newLeafNode(otherlv_2, grammarAccess.getTypeScopeAccess().getEqualsSignKeyword_1_1()); - } - ) - ( - ( - { - newCompositeNode(grammarAccess.getTypeScopeAccess().getMultiplicityDefiniteMultiplicityParserRuleCall_2_0()); - } - lv_multiplicity_3_0=ruleDefiniteMultiplicity - { - if ($current==null) { - $current = createModelElementForParent(grammarAccess.getTypeScopeRule()); - } - set( - $current, - "multiplicity", - lv_multiplicity_3_0, - "org.eclipse.viatra.solver.language.Problem.DefiniteMultiplicity"); - afterParserOrEnumRuleCall(); - } - ) - ) - ) -; - -// Entry rule entryRuleMultiplicity -entryRuleMultiplicity returns [EObject current=null]: - { newCompositeNode(grammarAccess.getMultiplicityRule()); } - iv_ruleMultiplicity=ruleMultiplicity - { $current=$iv_ruleMultiplicity.current; } - EOF; - -// Rule Multiplicity -ruleMultiplicity returns [EObject current=null] -@init { - enterRule(); -} -@after { - leaveRule(); -}: - ( - { - newCompositeNode(grammarAccess.getMultiplicityAccess().getUnboundedMultiplicityParserRuleCall_0()); - } - this_UnboundedMultiplicity_0=ruleUnboundedMultiplicity - { - $current = $this_UnboundedMultiplicity_0.current; - afterParserOrEnumRuleCall(); - } - | - { - newCompositeNode(grammarAccess.getMultiplicityAccess().getDefiniteMultiplicityParserRuleCall_1()); - } - this_DefiniteMultiplicity_1=ruleDefiniteMultiplicity - { - $current = $this_DefiniteMultiplicity_1.current; - afterParserOrEnumRuleCall(); - } - ) -; - -// Entry rule entryRuleDefiniteMultiplicity -entryRuleDefiniteMultiplicity returns [EObject current=null]: - { newCompositeNode(grammarAccess.getDefiniteMultiplicityRule()); } - iv_ruleDefiniteMultiplicity=ruleDefiniteMultiplicity - { $current=$iv_ruleDefiniteMultiplicity.current; } - EOF; - -// Rule DefiniteMultiplicity -ruleDefiniteMultiplicity returns [EObject current=null] -@init { - enterRule(); -} -@after { - leaveRule(); -}: - ( - { - newCompositeNode(grammarAccess.getDefiniteMultiplicityAccess().getRangeMultiplicityParserRuleCall_0()); - } - this_RangeMultiplicity_0=ruleRangeMultiplicity - { - $current = $this_RangeMultiplicity_0.current; - afterParserOrEnumRuleCall(); - } - | - { - newCompositeNode(grammarAccess.getDefiniteMultiplicityAccess().getExactMultiplicityParserRuleCall_1()); - } - this_ExactMultiplicity_1=ruleExactMultiplicity - { - $current = $this_ExactMultiplicity_1.current; - afterParserOrEnumRuleCall(); - } - ) -; - -// Entry rule entryRuleUnboundedMultiplicity -entryRuleUnboundedMultiplicity returns [EObject current=null]: - { newCompositeNode(grammarAccess.getUnboundedMultiplicityRule()); } - iv_ruleUnboundedMultiplicity=ruleUnboundedMultiplicity - { $current=$iv_ruleUnboundedMultiplicity.current; } - EOF; - -// Rule UnboundedMultiplicity -ruleUnboundedMultiplicity returns [EObject current=null] -@init { - enterRule(); -} -@after { - leaveRule(); -}: - ( - { - $current = forceCreateModelElement( - grammarAccess.getUnboundedMultiplicityAccess().getUnboundedMultiplicityAction(), - $current); - } - ) -; - -// Entry rule entryRuleRangeMultiplicity -entryRuleRangeMultiplicity returns [EObject current=null]: - { newCompositeNode(grammarAccess.getRangeMultiplicityRule()); } - iv_ruleRangeMultiplicity=ruleRangeMultiplicity - { $current=$iv_ruleRangeMultiplicity.current; } - EOF; - -// Rule RangeMultiplicity -ruleRangeMultiplicity returns [EObject current=null] -@init { - enterRule(); -} -@after { - leaveRule(); -}: - ( - ( - ( - lv_lowerBound_0_0=RULE_INT - { - newLeafNode(lv_lowerBound_0_0, grammarAccess.getRangeMultiplicityAccess().getLowerBoundINTTerminalRuleCall_0_0()); - } - { - if ($current==null) { - $current = createModelElement(grammarAccess.getRangeMultiplicityRule()); - } - setWithLastConsumed( - $current, - "lowerBound", - lv_lowerBound_0_0, - "org.eclipse.xtext.common.Terminals.INT"); - } - ) - ) - otherlv_1='..' - { - newLeafNode(otherlv_1, grammarAccess.getRangeMultiplicityAccess().getFullStopFullStopKeyword_1()); - } - ( - ( - { - newCompositeNode(grammarAccess.getRangeMultiplicityAccess().getUpperBoundUpperBoundParserRuleCall_2_0()); - } - lv_upperBound_2_0=ruleUpperBound - { - if ($current==null) { - $current = createModelElementForParent(grammarAccess.getRangeMultiplicityRule()); - } - set( - $current, - "upperBound", - lv_upperBound_2_0, - "org.eclipse.viatra.solver.language.Problem.UpperBound"); - afterParserOrEnumRuleCall(); - } - ) - ) - ) -; - -// Entry rule entryRuleExactMultiplicity -entryRuleExactMultiplicity returns [EObject current=null]: - { newCompositeNode(grammarAccess.getExactMultiplicityRule()); } - iv_ruleExactMultiplicity=ruleExactMultiplicity - { $current=$iv_ruleExactMultiplicity.current; } - EOF; - -// Rule ExactMultiplicity -ruleExactMultiplicity returns [EObject current=null] -@init { - enterRule(); -} -@after { - leaveRule(); -}: - ( - ( - lv_exactValue_0_0=RULE_INT - { - newLeafNode(lv_exactValue_0_0, grammarAccess.getExactMultiplicityAccess().getExactValueINTTerminalRuleCall_0()); - } - { - if ($current==null) { - $current = createModelElement(grammarAccess.getExactMultiplicityRule()); - } - setWithLastConsumed( - $current, - "exactValue", - lv_exactValue_0_0, - "org.eclipse.xtext.common.Terminals.INT"); - } - ) - ) -; - -// Entry rule entryRuleUpperBound -entryRuleUpperBound returns [String current=null]: - { newCompositeNode(grammarAccess.getUpperBoundRule()); } - iv_ruleUpperBound=ruleUpperBound - { $current=$iv_ruleUpperBound.current.getText(); } - EOF; - -// Rule UpperBound -ruleUpperBound returns [AntlrDatatypeRuleToken current=new AntlrDatatypeRuleToken()] -@init { - enterRule(); -} -@after { - leaveRule(); -}: - ( - this_INT_0=RULE_INT - { - $current.merge(this_INT_0); - } - { - newLeafNode(this_INT_0, grammarAccess.getUpperBoundAccess().getINTTerminalRuleCall_0()); - } - | - kw='*' - { - $current.merge(kw); - newLeafNode(kw, grammarAccess.getUpperBoundAccess().getAsteriskKeyword_1()); - } - ) -; - -// Entry rule entryRuleQuotedOrUnquotedId -entryRuleQuotedOrUnquotedId returns [String current=null]: - { newCompositeNode(grammarAccess.getQuotedOrUnquotedIdRule()); } - iv_ruleQuotedOrUnquotedId=ruleQuotedOrUnquotedId - { $current=$iv_ruleQuotedOrUnquotedId.current.getText(); } - EOF; - -// Rule QuotedOrUnquotedId -ruleQuotedOrUnquotedId returns [AntlrDatatypeRuleToken current=new AntlrDatatypeRuleToken()] -@init { - enterRule(); -} -@after { - leaveRule(); -}: - ( - this_QUOTED_ID_0=RULE_QUOTED_ID - { - $current.merge(this_QUOTED_ID_0); - } - { - newLeafNode(this_QUOTED_ID_0, grammarAccess.getQuotedOrUnquotedIdAccess().getQUOTED_IDTerminalRuleCall_0()); - } - | - { - newCompositeNode(grammarAccess.getQuotedOrUnquotedIdAccess().getIdentifierParserRuleCall_1()); - } - this_Identifier_1=ruleIdentifier - { - $current.merge(this_Identifier_1); - } - { - afterParserOrEnumRuleCall(); - } - ) -; - -// Entry rule entryRuleQualifiedName -entryRuleQualifiedName returns [String current=null]: - { newCompositeNode(grammarAccess.getQualifiedNameRule()); } - iv_ruleQualifiedName=ruleQualifiedName - { $current=$iv_ruleQualifiedName.current.getText(); } - EOF; - -// Rule QualifiedName -ruleQualifiedName returns [AntlrDatatypeRuleToken current=new AntlrDatatypeRuleToken()] -@init { - enterRule(); -} -@after { - leaveRule(); -}: - ( - this_QUOTED_ID_0=RULE_QUOTED_ID - { - $current.merge(this_QUOTED_ID_0); - } - { - newLeafNode(this_QUOTED_ID_0, grammarAccess.getQualifiedNameAccess().getQUOTED_IDTerminalRuleCall_0()); - } - | - ( - { - newCompositeNode(grammarAccess.getQualifiedNameAccess().getIdentifierParserRuleCall_1_0()); - } - this_Identifier_1=ruleIdentifier - { - $current.merge(this_Identifier_1); - } - { - afterParserOrEnumRuleCall(); - } - ( - kw=':' - { - $current.merge(kw); - newLeafNode(kw, grammarAccess.getQualifiedNameAccess().getColonKeyword_1_1_0()); - } - { - newCompositeNode(grammarAccess.getQualifiedNameAccess().getIdentifierParserRuleCall_1_1_1()); - } - this_Identifier_3=ruleIdentifier - { - $current.merge(this_Identifier_3); - } - { - afterParserOrEnumRuleCall(); - } - )* - ( - kw=':' - { - $current.merge(kw); - newLeafNode(kw, grammarAccess.getQualifiedNameAccess().getColonKeyword_1_2_0()); - } - this_QUOTED_ID_5=RULE_QUOTED_ID - { - $current.merge(this_QUOTED_ID_5); - } - { - newLeafNode(this_QUOTED_ID_5, grammarAccess.getQualifiedNameAccess().getQUOTED_IDTerminalRuleCall_1_2_1()); - } - )? - ) - ) -; - -// Entry rule entryRuleIdentifier -entryRuleIdentifier returns [String current=null]: - { newCompositeNode(grammarAccess.getIdentifierRule()); } - iv_ruleIdentifier=ruleIdentifier - { $current=$iv_ruleIdentifier.current.getText(); } - EOF; - -// Rule Identifier -ruleIdentifier returns [AntlrDatatypeRuleToken current=new AntlrDatatypeRuleToken()] -@init { - enterRule(); -} -@after { - leaveRule(); -}: - ( - this_ID_0=RULE_ID - { - $current.merge(this_ID_0); - } - { - newLeafNode(this_ID_0, grammarAccess.getIdentifierAccess().getIDTerminalRuleCall_0()); - } - | - kw='true' - { - $current.merge(kw); - newLeafNode(kw, grammarAccess.getIdentifierAccess().getTrueKeyword_1()); - } - | - kw='false' - { - $current.merge(kw); - newLeafNode(kw, grammarAccess.getIdentifierAccess().getFalseKeyword_2()); - } - ) -; - -// Rule LogicValue -ruleLogicValue returns [Enumerator current=null] -@init { - enterRule(); -} -@after { - leaveRule(); -}: - ( - ( - enumLiteral_0='true' - { - $current = grammarAccess.getLogicValueAccess().getTRUEEnumLiteralDeclaration_0().getEnumLiteral().getInstance(); - newLeafNode(enumLiteral_0, grammarAccess.getLogicValueAccess().getTRUEEnumLiteralDeclaration_0()); - } - ) - | - ( - enumLiteral_1='false' - { - $current = grammarAccess.getLogicValueAccess().getFALSEEnumLiteralDeclaration_1().getEnumLiteral().getInstance(); - newLeafNode(enumLiteral_1, grammarAccess.getLogicValueAccess().getFALSEEnumLiteralDeclaration_1()); - } - ) - | - ( - enumLiteral_2='unknown' - { - $current = grammarAccess.getLogicValueAccess().getUNKNOWNEnumLiteralDeclaration_2().getEnumLiteral().getInstance(); - newLeafNode(enumLiteral_2, grammarAccess.getLogicValueAccess().getUNKNOWNEnumLiteralDeclaration_2()); - } - ) - ) -; - -// Rule ShortLogicValue -ruleShortLogicValue returns [Enumerator current=null] -@init { - enterRule(); -} -@after { - leaveRule(); -}: - ( - ( - enumLiteral_0='!' - { - $current = grammarAccess.getShortLogicValueAccess().getFALSEEnumLiteralDeclaration_0().getEnumLiteral().getInstance(); - newLeafNode(enumLiteral_0, grammarAccess.getShortLogicValueAccess().getFALSEEnumLiteralDeclaration_0()); - } - ) - | - ( - enumLiteral_1='?' - { - $current = grammarAccess.getShortLogicValueAccess().getUNKNOWNEnumLiteralDeclaration_1().getEnumLiteral().getInstance(); - newLeafNode(enumLiteral_1, grammarAccess.getShortLogicValueAccess().getUNKNOWNEnumLiteralDeclaration_1()); - } - ) - ) -; - -RULE_STRING : '"' ('\\' .|~(('\\'|'"')))* '"'; - -RULE_QUOTED_ID : '\'' ('\\' .|~(('\\'|'\'')))* '\''; - -RULE_ID : '^'? ('a'..'z'|'A'..'Z'|'_') ('a'..'z'|'A'..'Z'|'_'|'0'..'9')*; - -RULE_INT : ('0'..'9')+; - -RULE_ML_COMMENT : '/*' ( options {greedy=false;} : . )*'*/'; - -RULE_SL_COMMENT : '//' ~(('\n'|'\r'))* ('\r'? '\n')?; - -RULE_WS : (' '|'\t'|'\r'|'\n')+; - -RULE_ANY_OTHER : .; diff --git a/language-web/xtext-gen/org/eclipse/viatra/solver/language/parser/antlr/internal/InternalProblem.tokens b/language-web/xtext-gen/org/eclipse/viatra/solver/language/parser/antlr/internal/InternalProblem.tokens deleted file mode 100644 index e968ac14..00000000 --- a/language-web/xtext-gen/org/eclipse/viatra/solver/language/parser/antlr/internal/InternalProblem.tokens +++ /dev/null @@ -1,72 +0,0 @@ -'!'=32 -'('=29 -')'=30 -'*'=39 -'+'=33 -'+='=36 -','=17 -'.'=13 -'..'=38 -':'=34 -':-'=31 -';'=19 -'='=37 -'?'=43 -'['=24 -']'=25 -'abstract'=14 -'class'=15 -'contains'=22 -'enum'=21 -'error'=27 -'extends'=16 -'false'=41 -'opposite'=26 -'pred'=28 -'problem'=12 -'refers'=23 -'scope'=35 -'true'=40 -'unknown'=42 -'{'=18 -'}'=20 -RULE_ANY_OTHER=11 -RULE_ID=4 -RULE_INT=5 -RULE_ML_COMMENT=8 -RULE_QUOTED_ID=6 -RULE_SL_COMMENT=9 -RULE_STRING=7 -RULE_WS=10 -T__12=12 -T__13=13 -T__14=14 -T__15=15 -T__16=16 -T__17=17 -T__18=18 -T__19=19 -T__20=20 -T__21=21 -T__22=22 -T__23=23 -T__24=24 -T__25=25 -T__26=26 -T__27=27 -T__28=28 -T__29=29 -T__30=30 -T__31=31 -T__32=32 -T__33=33 -T__34=34 -T__35=35 -T__36=36 -T__37=37 -T__38=38 -T__39=39 -T__40=40 -T__41=41 -T__42=42 -T__43=43 diff --git a/language-web/xtext-gen/org/eclipse/viatra/solver/language/parser/antlr/internal/InternalProblemLexer.java b/language-web/xtext-gen/org/eclipse/viatra/solver/language/parser/antlr/internal/InternalProblemLexer.java deleted file mode 100644 index 1fd1e166..00000000 --- a/language-web/xtext-gen/org/eclipse/viatra/solver/language/parser/antlr/internal/InternalProblemLexer.java +++ /dev/null @@ -1,1797 +0,0 @@ -package org.eclipse.viatra.solver.language.parser.antlr.internal; - -// Hack: Use our own Lexer superclass by means of import. -// Currently there is no other way to specify the superclass for the lexer. -import org.eclipse.xtext.parser.antlr.Lexer; - - -import org.antlr.runtime.*; -import java.util.Stack; -import java.util.List; -import java.util.ArrayList; - -@SuppressWarnings("all") -public class InternalProblemLexer extends Lexer { - public static final int T__19=19; - public static final int T__15=15; - public static final int T__16=16; - public static final int T__17=17; - public static final int T__18=18; - public static final int T__12=12; - public static final int T__13=13; - public static final int T__14=14; - public static final int RULE_ID=4; - public static final int RULE_QUOTED_ID=6; - public static final int T__26=26; - public static final int T__27=27; - public static final int T__28=28; - public static final int RULE_INT=5; - public static final int T__29=29; - public static final int T__22=22; - public static final int RULE_ML_COMMENT=8; - public static final int T__23=23; - public static final int T__24=24; - public static final int T__25=25; - public static final int T__20=20; - public static final int T__21=21; - public static final int RULE_STRING=7; - public static final int RULE_SL_COMMENT=9; - public static final int T__37=37; - public static final int T__38=38; - public static final int T__39=39; - public static final int T__33=33; - public static final int T__34=34; - public static final int T__35=35; - public static final int T__36=36; - public static final int EOF=-1; - public static final int T__30=30; - public static final int T__31=31; - public static final int T__32=32; - public static final int RULE_WS=10; - public static final int RULE_ANY_OTHER=11; - public static final int T__40=40; - public static final int T__41=41; - public static final int T__42=42; - public static final int T__43=43; - - // delegates - // delegators - - public InternalProblemLexer() {;} - public InternalProblemLexer(CharStream input) { - this(input, new RecognizerSharedState()); - } - public InternalProblemLexer(CharStream input, RecognizerSharedState state) { - super(input,state); - - } - public String getGrammarFileName() { return "InternalProblem.g"; } - - // $ANTLR start "T__12" - public final void mT__12() throws RecognitionException { - try { - int _type = T__12; - int _channel = DEFAULT_TOKEN_CHANNEL; - // InternalProblem.g:11:7: ( 'problem' ) - // InternalProblem.g:11:9: 'problem' - { - match("problem"); - - - } - - state.type = _type; - state.channel = _channel; - } - finally { - } - } - // $ANTLR end "T__12" - - // $ANTLR start "T__13" - public final void mT__13() throws RecognitionException { - try { - int _type = T__13; - int _channel = DEFAULT_TOKEN_CHANNEL; - // InternalProblem.g:12:7: ( '.' ) - // InternalProblem.g:12:9: '.' - { - match('.'); - - } - - state.type = _type; - state.channel = _channel; - } - finally { - } - } - // $ANTLR end "T__13" - - // $ANTLR start "T__14" - public final void mT__14() throws RecognitionException { - try { - int _type = T__14; - int _channel = DEFAULT_TOKEN_CHANNEL; - // InternalProblem.g:13:7: ( 'abstract' ) - // InternalProblem.g:13:9: 'abstract' - { - match("abstract"); - - - } - - state.type = _type; - state.channel = _channel; - } - finally { - } - } - // $ANTLR end "T__14" - - // $ANTLR start "T__15" - public final void mT__15() throws RecognitionException { - try { - int _type = T__15; - int _channel = DEFAULT_TOKEN_CHANNEL; - // InternalProblem.g:14:7: ( 'class' ) - // InternalProblem.g:14:9: 'class' - { - match("class"); - - - } - - state.type = _type; - state.channel = _channel; - } - finally { - } - } - // $ANTLR end "T__15" - - // $ANTLR start "T__16" - public final void mT__16() throws RecognitionException { - try { - int _type = T__16; - int _channel = DEFAULT_TOKEN_CHANNEL; - // InternalProblem.g:15:7: ( 'extends' ) - // InternalProblem.g:15:9: 'extends' - { - match("extends"); - - - } - - state.type = _type; - state.channel = _channel; - } - finally { - } - } - // $ANTLR end "T__16" - - // $ANTLR start "T__17" - public final void mT__17() throws RecognitionException { - try { - int _type = T__17; - int _channel = DEFAULT_TOKEN_CHANNEL; - // InternalProblem.g:16:7: ( ',' ) - // InternalProblem.g:16:9: ',' - { - match(','); - - } - - state.type = _type; - state.channel = _channel; - } - finally { - } - } - // $ANTLR end "T__17" - - // $ANTLR start "T__18" - public final void mT__18() throws RecognitionException { - try { - int _type = T__18; - int _channel = DEFAULT_TOKEN_CHANNEL; - // InternalProblem.g:17:7: ( '{' ) - // InternalProblem.g:17:9: '{' - { - match('{'); - - } - - state.type = _type; - state.channel = _channel; - } - finally { - } - } - // $ANTLR end "T__18" - - // $ANTLR start "T__19" - public final void mT__19() throws RecognitionException { - try { - int _type = T__19; - int _channel = DEFAULT_TOKEN_CHANNEL; - // InternalProblem.g:18:7: ( ';' ) - // InternalProblem.g:18:9: ';' - { - match(';'); - - } - - state.type = _type; - state.channel = _channel; - } - finally { - } - } - // $ANTLR end "T__19" - - // $ANTLR start "T__20" - public final void mT__20() throws RecognitionException { - try { - int _type = T__20; - int _channel = DEFAULT_TOKEN_CHANNEL; - // InternalProblem.g:19:7: ( '}' ) - // InternalProblem.g:19:9: '}' - { - match('}'); - - } - - state.type = _type; - state.channel = _channel; - } - finally { - } - } - // $ANTLR end "T__20" - - // $ANTLR start "T__21" - public final void mT__21() throws RecognitionException { - try { - int _type = T__21; - int _channel = DEFAULT_TOKEN_CHANNEL; - // InternalProblem.g:20:7: ( 'enum' ) - // InternalProblem.g:20:9: 'enum' - { - match("enum"); - - - } - - state.type = _type; - state.channel = _channel; - } - finally { - } - } - // $ANTLR end "T__21" - - // $ANTLR start "T__22" - public final void mT__22() throws RecognitionException { - try { - int _type = T__22; - int _channel = DEFAULT_TOKEN_CHANNEL; - // InternalProblem.g:21:7: ( 'contains' ) - // InternalProblem.g:21:9: 'contains' - { - match("contains"); - - - } - - state.type = _type; - state.channel = _channel; - } - finally { - } - } - // $ANTLR end "T__22" - - // $ANTLR start "T__23" - public final void mT__23() throws RecognitionException { - try { - int _type = T__23; - int _channel = DEFAULT_TOKEN_CHANNEL; - // InternalProblem.g:22:7: ( 'refers' ) - // InternalProblem.g:22:9: 'refers' - { - match("refers"); - - - } - - state.type = _type; - state.channel = _channel; - } - finally { - } - } - // $ANTLR end "T__23" - - // $ANTLR start "T__24" - public final void mT__24() throws RecognitionException { - try { - int _type = T__24; - int _channel = DEFAULT_TOKEN_CHANNEL; - // InternalProblem.g:23:7: ( '[' ) - // InternalProblem.g:23:9: '[' - { - match('['); - - } - - state.type = _type; - state.channel = _channel; - } - finally { - } - } - // $ANTLR end "T__24" - - // $ANTLR start "T__25" - public final void mT__25() throws RecognitionException { - try { - int _type = T__25; - int _channel = DEFAULT_TOKEN_CHANNEL; - // InternalProblem.g:24:7: ( ']' ) - // InternalProblem.g:24:9: ']' - { - match(']'); - - } - - state.type = _type; - state.channel = _channel; - } - finally { - } - } - // $ANTLR end "T__25" - - // $ANTLR start "T__26" - public final void mT__26() throws RecognitionException { - try { - int _type = T__26; - int _channel = DEFAULT_TOKEN_CHANNEL; - // InternalProblem.g:25:7: ( 'opposite' ) - // InternalProblem.g:25:9: 'opposite' - { - match("opposite"); - - - } - - state.type = _type; - state.channel = _channel; - } - finally { - } - } - // $ANTLR end "T__26" - - // $ANTLR start "T__27" - public final void mT__27() throws RecognitionException { - try { - int _type = T__27; - int _channel = DEFAULT_TOKEN_CHANNEL; - // InternalProblem.g:26:7: ( 'error' ) - // InternalProblem.g:26:9: 'error' - { - match("error"); - - - } - - state.type = _type; - state.channel = _channel; - } - finally { - } - } - // $ANTLR end "T__27" - - // $ANTLR start "T__28" - public final void mT__28() throws RecognitionException { - try { - int _type = T__28; - int _channel = DEFAULT_TOKEN_CHANNEL; - // InternalProblem.g:27:7: ( 'pred' ) - // InternalProblem.g:27:9: 'pred' - { - match("pred"); - - - } - - state.type = _type; - state.channel = _channel; - } - finally { - } - } - // $ANTLR end "T__28" - - // $ANTLR start "T__29" - public final void mT__29() throws RecognitionException { - try { - int _type = T__29; - int _channel = DEFAULT_TOKEN_CHANNEL; - // InternalProblem.g:28:7: ( '(' ) - // InternalProblem.g:28:9: '(' - { - match('('); - - } - - state.type = _type; - state.channel = _channel; - } - finally { - } - } - // $ANTLR end "T__29" - - // $ANTLR start "T__30" - public final void mT__30() throws RecognitionException { - try { - int _type = T__30; - int _channel = DEFAULT_TOKEN_CHANNEL; - // InternalProblem.g:29:7: ( ')' ) - // InternalProblem.g:29:9: ')' - { - match(')'); - - } - - state.type = _type; - state.channel = _channel; - } - finally { - } - } - // $ANTLR end "T__30" - - // $ANTLR start "T__31" - public final void mT__31() throws RecognitionException { - try { - int _type = T__31; - int _channel = DEFAULT_TOKEN_CHANNEL; - // InternalProblem.g:30:7: ( ':-' ) - // InternalProblem.g:30:9: ':-' - { - match(":-"); - - - } - - state.type = _type; - state.channel = _channel; - } - finally { - } - } - // $ANTLR end "T__31" - - // $ANTLR start "T__32" - public final void mT__32() throws RecognitionException { - try { - int _type = T__32; - int _channel = DEFAULT_TOKEN_CHANNEL; - // InternalProblem.g:31:7: ( '!' ) - // InternalProblem.g:31:9: '!' - { - match('!'); - - } - - state.type = _type; - state.channel = _channel; - } - finally { - } - } - // $ANTLR end "T__32" - - // $ANTLR start "T__33" - public final void mT__33() throws RecognitionException { - try { - int _type = T__33; - int _channel = DEFAULT_TOKEN_CHANNEL; - // InternalProblem.g:32:7: ( '+' ) - // InternalProblem.g:32:9: '+' - { - match('+'); - - } - - state.type = _type; - state.channel = _channel; - } - finally { - } - } - // $ANTLR end "T__33" - - // $ANTLR start "T__34" - public final void mT__34() throws RecognitionException { - try { - int _type = T__34; - int _channel = DEFAULT_TOKEN_CHANNEL; - // InternalProblem.g:33:7: ( ':' ) - // InternalProblem.g:33:9: ':' - { - match(':'); - - } - - state.type = _type; - state.channel = _channel; - } - finally { - } - } - // $ANTLR end "T__34" - - // $ANTLR start "T__35" - public final void mT__35() throws RecognitionException { - try { - int _type = T__35; - int _channel = DEFAULT_TOKEN_CHANNEL; - // InternalProblem.g:34:7: ( 'scope' ) - // InternalProblem.g:34:9: 'scope' - { - match("scope"); - - - } - - state.type = _type; - state.channel = _channel; - } - finally { - } - } - // $ANTLR end "T__35" - - // $ANTLR start "T__36" - public final void mT__36() throws RecognitionException { - try { - int _type = T__36; - int _channel = DEFAULT_TOKEN_CHANNEL; - // InternalProblem.g:35:7: ( '+=' ) - // InternalProblem.g:35:9: '+=' - { - match("+="); - - - } - - state.type = _type; - state.channel = _channel; - } - finally { - } - } - // $ANTLR end "T__36" - - // $ANTLR start "T__37" - public final void mT__37() throws RecognitionException { - try { - int _type = T__37; - int _channel = DEFAULT_TOKEN_CHANNEL; - // InternalProblem.g:36:7: ( '=' ) - // InternalProblem.g:36:9: '=' - { - match('='); - - } - - state.type = _type; - state.channel = _channel; - } - finally { - } - } - // $ANTLR end "T__37" - - // $ANTLR start "T__38" - public final void mT__38() throws RecognitionException { - try { - int _type = T__38; - int _channel = DEFAULT_TOKEN_CHANNEL; - // InternalProblem.g:37:7: ( '..' ) - // InternalProblem.g:37:9: '..' - { - match(".."); - - - } - - state.type = _type; - state.channel = _channel; - } - finally { - } - } - // $ANTLR end "T__38" - - // $ANTLR start "T__39" - public final void mT__39() throws RecognitionException { - try { - int _type = T__39; - int _channel = DEFAULT_TOKEN_CHANNEL; - // InternalProblem.g:38:7: ( '*' ) - // InternalProblem.g:38:9: '*' - { - match('*'); - - } - - state.type = _type; - state.channel = _channel; - } - finally { - } - } - // $ANTLR end "T__39" - - // $ANTLR start "T__40" - public final void mT__40() throws RecognitionException { - try { - int _type = T__40; - int _channel = DEFAULT_TOKEN_CHANNEL; - // InternalProblem.g:39:7: ( 'true' ) - // InternalProblem.g:39:9: 'true' - { - match("true"); - - - } - - state.type = _type; - state.channel = _channel; - } - finally { - } - } - // $ANTLR end "T__40" - - // $ANTLR start "T__41" - public final void mT__41() throws RecognitionException { - try { - int _type = T__41; - int _channel = DEFAULT_TOKEN_CHANNEL; - // InternalProblem.g:40:7: ( 'false' ) - // InternalProblem.g:40:9: 'false' - { - match("false"); - - - } - - state.type = _type; - state.channel = _channel; - } - finally { - } - } - // $ANTLR end "T__41" - - // $ANTLR start "T__42" - public final void mT__42() throws RecognitionException { - try { - int _type = T__42; - int _channel = DEFAULT_TOKEN_CHANNEL; - // InternalProblem.g:41:7: ( 'unknown' ) - // InternalProblem.g:41:9: 'unknown' - { - match("unknown"); - - - } - - state.type = _type; - state.channel = _channel; - } - finally { - } - } - // $ANTLR end "T__42" - - // $ANTLR start "T__43" - public final void mT__43() throws RecognitionException { - try { - int _type = T__43; - int _channel = DEFAULT_TOKEN_CHANNEL; - // InternalProblem.g:42:7: ( '?' ) - // InternalProblem.g:42:9: '?' - { - match('?'); - - } - - state.type = _type; - state.channel = _channel; - } - finally { - } - } - // $ANTLR end "T__43" - - // $ANTLR start "RULE_STRING" - public final void mRULE_STRING() throws RecognitionException { - try { - int _type = RULE_STRING; - int _channel = DEFAULT_TOKEN_CHANNEL; - // InternalProblem.g:1895:13: ( '\"' ( '\\\\' . | ~ ( ( '\\\\' | '\"' ) ) )* '\"' ) - // InternalProblem.g:1895:15: '\"' ( '\\\\' . | ~ ( ( '\\\\' | '\"' ) ) )* '\"' - { - match('\"'); - // InternalProblem.g:1895:19: ( '\\\\' . | ~ ( ( '\\\\' | '\"' ) ) )* - loop1: - do { - int alt1=3; - int LA1_0 = input.LA(1); - - if ( (LA1_0=='\\') ) { - alt1=1; - } - else if ( ((LA1_0>='\u0000' && LA1_0<='!')||(LA1_0>='#' && LA1_0<='[')||(LA1_0>=']' && LA1_0<='\uFFFF')) ) { - alt1=2; - } - - - switch (alt1) { - case 1 : - // InternalProblem.g:1895:20: '\\\\' . - { - match('\\'); - matchAny(); - - } - break; - case 2 : - // InternalProblem.g:1895:27: ~ ( ( '\\\\' | '\"' ) ) - { - if ( (input.LA(1)>='\u0000' && input.LA(1)<='!')||(input.LA(1)>='#' && input.LA(1)<='[')||(input.LA(1)>=']' && input.LA(1)<='\uFFFF') ) { - input.consume(); - - } - else { - MismatchedSetException mse = new MismatchedSetException(null,input); - recover(mse); - throw mse;} - - - } - break; - - default : - break loop1; - } - } while (true); - - match('\"'); - - } - - state.type = _type; - state.channel = _channel; - } - finally { - } - } - // $ANTLR end "RULE_STRING" - - // $ANTLR start "RULE_QUOTED_ID" - public final void mRULE_QUOTED_ID() throws RecognitionException { - try { - int _type = RULE_QUOTED_ID; - int _channel = DEFAULT_TOKEN_CHANNEL; - // InternalProblem.g:1897:16: ( '\\'' ( '\\\\' . | ~ ( ( '\\\\' | '\\'' ) ) )* '\\'' ) - // InternalProblem.g:1897:18: '\\'' ( '\\\\' . | ~ ( ( '\\\\' | '\\'' ) ) )* '\\'' - { - match('\''); - // InternalProblem.g:1897:23: ( '\\\\' . | ~ ( ( '\\\\' | '\\'' ) ) )* - loop2: - do { - int alt2=3; - int LA2_0 = input.LA(1); - - if ( (LA2_0=='\\') ) { - alt2=1; - } - else if ( ((LA2_0>='\u0000' && LA2_0<='&')||(LA2_0>='(' && LA2_0<='[')||(LA2_0>=']' && LA2_0<='\uFFFF')) ) { - alt2=2; - } - - - switch (alt2) { - case 1 : - // InternalProblem.g:1897:24: '\\\\' . - { - match('\\'); - matchAny(); - - } - break; - case 2 : - // InternalProblem.g:1897:31: ~ ( ( '\\\\' | '\\'' ) ) - { - if ( (input.LA(1)>='\u0000' && input.LA(1)<='&')||(input.LA(1)>='(' && input.LA(1)<='[')||(input.LA(1)>=']' && input.LA(1)<='\uFFFF') ) { - input.consume(); - - } - else { - MismatchedSetException mse = new MismatchedSetException(null,input); - recover(mse); - throw mse;} - - - } - break; - - default : - break loop2; - } - } while (true); - - match('\''); - - } - - state.type = _type; - state.channel = _channel; - } - finally { - } - } - // $ANTLR end "RULE_QUOTED_ID" - - // $ANTLR start "RULE_ID" - public final void mRULE_ID() throws RecognitionException { - try { - int _type = RULE_ID; - int _channel = DEFAULT_TOKEN_CHANNEL; - // InternalProblem.g:1899:9: ( ( '^' )? ( 'a' .. 'z' | 'A' .. 'Z' | '_' ) ( 'a' .. 'z' | 'A' .. 'Z' | '_' | '0' .. '9' )* ) - // InternalProblem.g:1899:11: ( '^' )? ( 'a' .. 'z' | 'A' .. 'Z' | '_' ) ( 'a' .. 'z' | 'A' .. 'Z' | '_' | '0' .. '9' )* - { - // InternalProblem.g:1899:11: ( '^' )? - int alt3=2; - int LA3_0 = input.LA(1); - - if ( (LA3_0=='^') ) { - alt3=1; - } - switch (alt3) { - case 1 : - // InternalProblem.g:1899:11: '^' - { - match('^'); - - } - break; - - } - - if ( (input.LA(1)>='A' && input.LA(1)<='Z')||input.LA(1)=='_'||(input.LA(1)>='a' && input.LA(1)<='z') ) { - input.consume(); - - } - else { - MismatchedSetException mse = new MismatchedSetException(null,input); - recover(mse); - throw mse;} - - // InternalProblem.g:1899:40: ( 'a' .. 'z' | 'A' .. 'Z' | '_' | '0' .. '9' )* - loop4: - do { - int alt4=2; - int LA4_0 = input.LA(1); - - if ( ((LA4_0>='0' && LA4_0<='9')||(LA4_0>='A' && LA4_0<='Z')||LA4_0=='_'||(LA4_0>='a' && LA4_0<='z')) ) { - alt4=1; - } - - - switch (alt4) { - case 1 : - // InternalProblem.g: - { - if ( (input.LA(1)>='0' && input.LA(1)<='9')||(input.LA(1)>='A' && input.LA(1)<='Z')||input.LA(1)=='_'||(input.LA(1)>='a' && input.LA(1)<='z') ) { - input.consume(); - - } - else { - MismatchedSetException mse = new MismatchedSetException(null,input); - recover(mse); - throw mse;} - - - } - break; - - default : - break loop4; - } - } while (true); - - - } - - state.type = _type; - state.channel = _channel; - } - finally { - } - } - // $ANTLR end "RULE_ID" - - // $ANTLR start "RULE_INT" - public final void mRULE_INT() throws RecognitionException { - try { - int _type = RULE_INT; - int _channel = DEFAULT_TOKEN_CHANNEL; - // InternalProblem.g:1901:10: ( ( '0' .. '9' )+ ) - // InternalProblem.g:1901:12: ( '0' .. '9' )+ - { - // InternalProblem.g:1901:12: ( '0' .. '9' )+ - int cnt5=0; - loop5: - do { - int alt5=2; - int LA5_0 = input.LA(1); - - if ( ((LA5_0>='0' && LA5_0<='9')) ) { - alt5=1; - } - - - switch (alt5) { - case 1 : - // InternalProblem.g:1901:13: '0' .. '9' - { - matchRange('0','9'); - - } - break; - - default : - if ( cnt5 >= 1 ) break loop5; - EarlyExitException eee = - new EarlyExitException(5, input); - throw eee; - } - cnt5++; - } while (true); - - - } - - state.type = _type; - state.channel = _channel; - } - finally { - } - } - // $ANTLR end "RULE_INT" - - // $ANTLR start "RULE_ML_COMMENT" - public final void mRULE_ML_COMMENT() throws RecognitionException { - try { - int _type = RULE_ML_COMMENT; - int _channel = DEFAULT_TOKEN_CHANNEL; - // InternalProblem.g:1903:17: ( '/*' ( options {greedy=false; } : . )* '*/' ) - // InternalProblem.g:1903:19: '/*' ( options {greedy=false; } : . )* '*/' - { - match("/*"); - - // InternalProblem.g:1903:24: ( options {greedy=false; } : . )* - loop6: - do { - int alt6=2; - int LA6_0 = input.LA(1); - - if ( (LA6_0=='*') ) { - int LA6_1 = input.LA(2); - - if ( (LA6_1=='/') ) { - alt6=2; - } - else if ( ((LA6_1>='\u0000' && LA6_1<='.')||(LA6_1>='0' && LA6_1<='\uFFFF')) ) { - alt6=1; - } - - - } - else if ( ((LA6_0>='\u0000' && LA6_0<=')')||(LA6_0>='+' && LA6_0<='\uFFFF')) ) { - alt6=1; - } - - - switch (alt6) { - case 1 : - // InternalProblem.g:1903:52: . - { - matchAny(); - - } - break; - - default : - break loop6; - } - } while (true); - - match("*/"); - - - } - - state.type = _type; - state.channel = _channel; - } - finally { - } - } - // $ANTLR end "RULE_ML_COMMENT" - - // $ANTLR start "RULE_SL_COMMENT" - public final void mRULE_SL_COMMENT() throws RecognitionException { - try { - int _type = RULE_SL_COMMENT; - int _channel = DEFAULT_TOKEN_CHANNEL; - // InternalProblem.g:1905:17: ( '//' (~ ( ( '\\n' | '\\r' ) ) )* ( ( '\\r' )? '\\n' )? ) - // InternalProblem.g:1905:19: '//' (~ ( ( '\\n' | '\\r' ) ) )* ( ( '\\r' )? '\\n' )? - { - match("//"); - - // InternalProblem.g:1905:24: (~ ( ( '\\n' | '\\r' ) ) )* - loop7: - do { - int alt7=2; - int LA7_0 = input.LA(1); - - if ( ((LA7_0>='\u0000' && LA7_0<='\t')||(LA7_0>='\u000B' && LA7_0<='\f')||(LA7_0>='\u000E' && LA7_0<='\uFFFF')) ) { - alt7=1; - } - - - switch (alt7) { - case 1 : - // InternalProblem.g:1905:24: ~ ( ( '\\n' | '\\r' ) ) - { - if ( (input.LA(1)>='\u0000' && input.LA(1)<='\t')||(input.LA(1)>='\u000B' && input.LA(1)<='\f')||(input.LA(1)>='\u000E' && input.LA(1)<='\uFFFF') ) { - input.consume(); - - } - else { - MismatchedSetException mse = new MismatchedSetException(null,input); - recover(mse); - throw mse;} - - - } - break; - - default : - break loop7; - } - } while (true); - - // InternalProblem.g:1905:40: ( ( '\\r' )? '\\n' )? - int alt9=2; - int LA9_0 = input.LA(1); - - if ( (LA9_0=='\n'||LA9_0=='\r') ) { - alt9=1; - } - switch (alt9) { - case 1 : - // InternalProblem.g:1905:41: ( '\\r' )? '\\n' - { - // InternalProblem.g:1905:41: ( '\\r' )? - int alt8=2; - int LA8_0 = input.LA(1); - - if ( (LA8_0=='\r') ) { - alt8=1; - } - switch (alt8) { - case 1 : - // InternalProblem.g:1905:41: '\\r' - { - match('\r'); - - } - break; - - } - - match('\n'); - - } - break; - - } - - - } - - state.type = _type; - state.channel = _channel; - } - finally { - } - } - // $ANTLR end "RULE_SL_COMMENT" - - // $ANTLR start "RULE_WS" - public final void mRULE_WS() throws RecognitionException { - try { - int _type = RULE_WS; - int _channel = DEFAULT_TOKEN_CHANNEL; - // InternalProblem.g:1907:9: ( ( ' ' | '\\t' | '\\r' | '\\n' )+ ) - // InternalProblem.g:1907:11: ( ' ' | '\\t' | '\\r' | '\\n' )+ - { - // InternalProblem.g:1907:11: ( ' ' | '\\t' | '\\r' | '\\n' )+ - int cnt10=0; - loop10: - do { - int alt10=2; - int LA10_0 = input.LA(1); - - if ( ((LA10_0>='\t' && LA10_0<='\n')||LA10_0=='\r'||LA10_0==' ') ) { - alt10=1; - } - - - switch (alt10) { - case 1 : - // InternalProblem.g: - { - if ( (input.LA(1)>='\t' && input.LA(1)<='\n')||input.LA(1)=='\r'||input.LA(1)==' ' ) { - input.consume(); - - } - else { - MismatchedSetException mse = new MismatchedSetException(null,input); - recover(mse); - throw mse;} - - - } - break; - - default : - if ( cnt10 >= 1 ) break loop10; - EarlyExitException eee = - new EarlyExitException(10, input); - throw eee; - } - cnt10++; - } while (true); - - - } - - state.type = _type; - state.channel = _channel; - } - finally { - } - } - // $ANTLR end "RULE_WS" - - // $ANTLR start "RULE_ANY_OTHER" - public final void mRULE_ANY_OTHER() throws RecognitionException { - try { - int _type = RULE_ANY_OTHER; - int _channel = DEFAULT_TOKEN_CHANNEL; - // InternalProblem.g:1909:16: ( . ) - // InternalProblem.g:1909:18: . - { - matchAny(); - - } - - state.type = _type; - state.channel = _channel; - } - finally { - } - } - // $ANTLR end "RULE_ANY_OTHER" - - public void mTokens() throws RecognitionException { - // InternalProblem.g:1:8: ( T__12 | T__13 | T__14 | T__15 | T__16 | T__17 | T__18 | T__19 | T__20 | T__21 | T__22 | T__23 | T__24 | T__25 | T__26 | T__27 | T__28 | T__29 | T__30 | T__31 | T__32 | T__33 | T__34 | T__35 | T__36 | T__37 | T__38 | T__39 | T__40 | T__41 | T__42 | T__43 | RULE_STRING | RULE_QUOTED_ID | RULE_ID | RULE_INT | RULE_ML_COMMENT | RULE_SL_COMMENT | RULE_WS | RULE_ANY_OTHER ) - int alt11=40; - alt11 = dfa11.predict(input); - switch (alt11) { - case 1 : - // InternalProblem.g:1:10: T__12 - { - mT__12(); - - } - break; - case 2 : - // InternalProblem.g:1:16: T__13 - { - mT__13(); - - } - break; - case 3 : - // InternalProblem.g:1:22: T__14 - { - mT__14(); - - } - break; - case 4 : - // InternalProblem.g:1:28: T__15 - { - mT__15(); - - } - break; - case 5 : - // InternalProblem.g:1:34: T__16 - { - mT__16(); - - } - break; - case 6 : - // InternalProblem.g:1:40: T__17 - { - mT__17(); - - } - break; - case 7 : - // InternalProblem.g:1:46: T__18 - { - mT__18(); - - } - break; - case 8 : - // InternalProblem.g:1:52: T__19 - { - mT__19(); - - } - break; - case 9 : - // InternalProblem.g:1:58: T__20 - { - mT__20(); - - } - break; - case 10 : - // InternalProblem.g:1:64: T__21 - { - mT__21(); - - } - break; - case 11 : - // InternalProblem.g:1:70: T__22 - { - mT__22(); - - } - break; - case 12 : - // InternalProblem.g:1:76: T__23 - { - mT__23(); - - } - break; - case 13 : - // InternalProblem.g:1:82: T__24 - { - mT__24(); - - } - break; - case 14 : - // InternalProblem.g:1:88: T__25 - { - mT__25(); - - } - break; - case 15 : - // InternalProblem.g:1:94: T__26 - { - mT__26(); - - } - break; - case 16 : - // InternalProblem.g:1:100: T__27 - { - mT__27(); - - } - break; - case 17 : - // InternalProblem.g:1:106: T__28 - { - mT__28(); - - } - break; - case 18 : - // InternalProblem.g:1:112: T__29 - { - mT__29(); - - } - break; - case 19 : - // InternalProblem.g:1:118: T__30 - { - mT__30(); - - } - break; - case 20 : - // InternalProblem.g:1:124: T__31 - { - mT__31(); - - } - break; - case 21 : - // InternalProblem.g:1:130: T__32 - { - mT__32(); - - } - break; - case 22 : - // InternalProblem.g:1:136: T__33 - { - mT__33(); - - } - break; - case 23 : - // InternalProblem.g:1:142: T__34 - { - mT__34(); - - } - break; - case 24 : - // InternalProblem.g:1:148: T__35 - { - mT__35(); - - } - break; - case 25 : - // InternalProblem.g:1:154: T__36 - { - mT__36(); - - } - break; - case 26 : - // InternalProblem.g:1:160: T__37 - { - mT__37(); - - } - break; - case 27 : - // InternalProblem.g:1:166: T__38 - { - mT__38(); - - } - break; - case 28 : - // InternalProblem.g:1:172: T__39 - { - mT__39(); - - } - break; - case 29 : - // InternalProblem.g:1:178: T__40 - { - mT__40(); - - } - break; - case 30 : - // InternalProblem.g:1:184: T__41 - { - mT__41(); - - } - break; - case 31 : - // InternalProblem.g:1:190: T__42 - { - mT__42(); - - } - break; - case 32 : - // InternalProblem.g:1:196: T__43 - { - mT__43(); - - } - break; - case 33 : - // InternalProblem.g:1:202: RULE_STRING - { - mRULE_STRING(); - - } - break; - case 34 : - // InternalProblem.g:1:214: RULE_QUOTED_ID - { - mRULE_QUOTED_ID(); - - } - break; - case 35 : - // InternalProblem.g:1:229: RULE_ID - { - mRULE_ID(); - - } - break; - case 36 : - // InternalProblem.g:1:237: RULE_INT - { - mRULE_INT(); - - } - break; - case 37 : - // InternalProblem.g:1:246: RULE_ML_COMMENT - { - mRULE_ML_COMMENT(); - - } - break; - case 38 : - // InternalProblem.g:1:262: RULE_SL_COMMENT - { - mRULE_SL_COMMENT(); - - } - break; - case 39 : - // InternalProblem.g:1:278: RULE_WS - { - mRULE_WS(); - - } - break; - case 40 : - // InternalProblem.g:1:286: RULE_ANY_OTHER - { - mRULE_ANY_OTHER(); - - } - break; - - } - - } - - - protected DFA11 dfa11 = new DFA11(this); - static final String DFA11_eotS = - "\1\uffff\1\43\1\45\3\43\4\uffff\1\43\2\uffff\1\43\2\uffff\1\67\1\uffff\1\72\1\43\2\uffff\3\43\1\uffff\3\41\2\uffff\1\41\2\uffff\1\43\3\uffff\6\43\4\uffff\1\43\2\uffff\1\43\7\uffff\1\43\2\uffff\3\43\7\uffff\17\43\1\145\4\43\1\152\4\43\1\157\3\43\1\uffff\1\43\1\164\2\43\1\uffff\1\167\2\43\1\172\1\uffff\1\173\3\43\1\uffff\2\43\1\uffff\1\u0081\1\43\2\uffff\1\43\1\u0084\2\43\1\u0087\1\uffff\1\43\1\u0089\1\uffff\1\u008a\1\u008b\1\uffff\1\u008c\4\uffff"; - static final String DFA11_eofS = - "\u008d\uffff"; - static final String DFA11_minS = - "\1\0\1\162\1\56\1\142\1\154\1\156\4\uffff\1\145\2\uffff\1\160\2\uffff\1\55\1\uffff\1\75\1\143\2\uffff\1\162\1\141\1\156\1\uffff\2\0\1\101\2\uffff\1\52\2\uffff\1\145\3\uffff\1\163\1\141\1\156\1\164\1\165\1\162\4\uffff\1\146\2\uffff\1\160\7\uffff\1\157\2\uffff\1\165\1\154\1\153\7\uffff\1\142\1\144\1\164\1\163\1\164\1\145\1\155\1\157\1\145\1\157\1\160\1\145\1\163\1\156\1\154\1\60\1\162\1\163\1\141\1\156\1\60\2\162\1\163\1\145\1\60\1\145\1\157\1\145\1\uffff\1\141\1\60\1\151\1\144\1\uffff\1\60\1\163\1\151\1\60\1\uffff\1\60\1\167\1\155\1\143\1\uffff\1\156\1\163\1\uffff\1\60\1\164\2\uffff\1\156\1\60\1\164\1\163\1\60\1\uffff\1\145\1\60\1\uffff\2\60\1\uffff\1\60\4\uffff"; - static final String DFA11_maxS = - "\1\uffff\1\162\1\56\1\142\1\157\1\170\4\uffff\1\145\2\uffff\1\160\2\uffff\1\55\1\uffff\1\75\1\143\2\uffff\1\162\1\141\1\156\1\uffff\2\uffff\1\172\2\uffff\1\57\2\uffff\1\157\3\uffff\1\163\1\141\1\156\1\164\1\165\1\162\4\uffff\1\146\2\uffff\1\160\7\uffff\1\157\2\uffff\1\165\1\154\1\153\7\uffff\1\142\1\144\1\164\1\163\1\164\1\145\1\155\1\157\1\145\1\157\1\160\1\145\1\163\1\156\1\154\1\172\1\162\1\163\1\141\1\156\1\172\2\162\1\163\1\145\1\172\1\145\1\157\1\145\1\uffff\1\141\1\172\1\151\1\144\1\uffff\1\172\1\163\1\151\1\172\1\uffff\1\172\1\167\1\155\1\143\1\uffff\1\156\1\163\1\uffff\1\172\1\164\2\uffff\1\156\1\172\1\164\1\163\1\172\1\uffff\1\145\1\172\1\uffff\2\172\1\uffff\1\172\4\uffff"; - static final String DFA11_acceptS = - "\6\uffff\1\6\1\7\1\10\1\11\1\uffff\1\15\1\16\1\uffff\1\22\1\23\1\uffff\1\25\2\uffff\1\32\1\34\3\uffff\1\40\3\uffff\1\43\1\44\1\uffff\1\47\1\50\1\uffff\1\43\1\33\1\2\6\uffff\1\6\1\7\1\10\1\11\1\uffff\1\15\1\16\1\uffff\1\22\1\23\1\24\1\27\1\25\1\31\1\26\1\uffff\1\32\1\34\3\uffff\1\40\1\41\1\42\1\44\1\45\1\46\1\47\35\uffff\1\21\4\uffff\1\12\4\uffff\1\35\4\uffff\1\4\2\uffff\1\20\2\uffff\1\30\1\36\5\uffff\1\14\2\uffff\1\1\2\uffff\1\5\1\uffff\1\37\1\3\1\13\1\17"; - static final String DFA11_specialS = - "\1\2\31\uffff\1\1\1\0\161\uffff}>"; - static final String[] DFA11_transitionS = { - "\11\41\2\40\2\41\1\40\22\41\1\40\1\21\1\32\4\41\1\33\1\16\1\17\1\25\1\22\1\6\1\41\1\2\1\37\12\36\1\20\1\10\1\41\1\24\1\41\1\31\1\41\32\35\1\13\1\41\1\14\1\34\1\35\1\41\1\3\1\35\1\4\1\35\1\5\1\27\10\35\1\15\1\1\1\35\1\12\1\23\1\26\1\30\5\35\1\7\1\41\1\11\uff82\41", - "\1\42", - "\1\44", - "\1\46", - "\1\47\2\uffff\1\50", - "\1\52\3\uffff\1\53\5\uffff\1\51", - "", - "", - "", - "", - "\1\60", - "", - "", - "\1\63", - "", - "", - "\1\66", - "", - "\1\71", - "\1\73", - "", - "", - "\1\76", - "\1\77", - "\1\100", - "", - "\0\102", - "\0\103", - "\32\43\4\uffff\1\43\1\uffff\32\43", - "", - "", - "\1\105\4\uffff\1\106", - "", - "", - "\1\111\11\uffff\1\110", - "", - "", - "", - "\1\112", - "\1\113", - "\1\114", - "\1\115", - "\1\116", - "\1\117", - "", - "", - "", - "", - "\1\120", - "", - "", - "\1\121", - "", - "", - "", - "", - "", - "", - "", - "\1\122", - "", - "", - "\1\123", - "\1\124", - "\1\125", - "", - "", - "", - "", - "", - "", - "", - "\1\126", - "\1\127", - "\1\130", - "\1\131", - "\1\132", - "\1\133", - "\1\134", - "\1\135", - "\1\136", - "\1\137", - "\1\140", - "\1\141", - "\1\142", - "\1\143", - "\1\144", - "\12\43\7\uffff\32\43\4\uffff\1\43\1\uffff\32\43", - "\1\146", - "\1\147", - "\1\150", - "\1\151", - "\12\43\7\uffff\32\43\4\uffff\1\43\1\uffff\32\43", - "\1\153", - "\1\154", - "\1\155", - "\1\156", - "\12\43\7\uffff\32\43\4\uffff\1\43\1\uffff\32\43", - "\1\160", - "\1\161", - "\1\162", - "", - "\1\163", - "\12\43\7\uffff\32\43\4\uffff\1\43\1\uffff\32\43", - "\1\165", - "\1\166", - "", - "\12\43\7\uffff\32\43\4\uffff\1\43\1\uffff\32\43", - "\1\170", - "\1\171", - "\12\43\7\uffff\32\43\4\uffff\1\43\1\uffff\32\43", - "", - "\12\43\7\uffff\32\43\4\uffff\1\43\1\uffff\32\43", - "\1\174", - "\1\175", - "\1\176", - "", - "\1\177", - "\1\u0080", - "", - "\12\43\7\uffff\32\43\4\uffff\1\43\1\uffff\32\43", - "\1\u0082", - "", - "", - "\1\u0083", - "\12\43\7\uffff\32\43\4\uffff\1\43\1\uffff\32\43", - "\1\u0085", - "\1\u0086", - "\12\43\7\uffff\32\43\4\uffff\1\43\1\uffff\32\43", - "", - "\1\u0088", - "\12\43\7\uffff\32\43\4\uffff\1\43\1\uffff\32\43", - "", - "\12\43\7\uffff\32\43\4\uffff\1\43\1\uffff\32\43", - "\12\43\7\uffff\32\43\4\uffff\1\43\1\uffff\32\43", - "", - "\12\43\7\uffff\32\43\4\uffff\1\43\1\uffff\32\43", - "", - "", - "", - "" - }; - - static final short[] DFA11_eot = DFA.unpackEncodedString(DFA11_eotS); - static final short[] DFA11_eof = DFA.unpackEncodedString(DFA11_eofS); - static final char[] DFA11_min = DFA.unpackEncodedStringToUnsignedChars(DFA11_minS); - static final char[] DFA11_max = DFA.unpackEncodedStringToUnsignedChars(DFA11_maxS); - static final short[] DFA11_accept = DFA.unpackEncodedString(DFA11_acceptS); - static final short[] DFA11_special = DFA.unpackEncodedString(DFA11_specialS); - static final short[][] DFA11_transition; - - static { - int numStates = DFA11_transitionS.length; - DFA11_transition = new short[numStates][]; - for (int i=0; i='\u0000' && LA11_27<='\uFFFF')) ) {s = 67;} - - else s = 33; - - if ( s>=0 ) return s; - break; - case 1 : - int LA11_26 = input.LA(1); - - s = -1; - if ( ((LA11_26>='\u0000' && LA11_26<='\uFFFF')) ) {s = 66;} - - else s = 33; - - if ( s>=0 ) return s; - break; - case 2 : - int LA11_0 = input.LA(1); - - s = -1; - if ( (LA11_0=='p') ) {s = 1;} - - else if ( (LA11_0=='.') ) {s = 2;} - - else if ( (LA11_0=='a') ) {s = 3;} - - else if ( (LA11_0=='c') ) {s = 4;} - - else if ( (LA11_0=='e') ) {s = 5;} - - else if ( (LA11_0==',') ) {s = 6;} - - else if ( (LA11_0=='{') ) {s = 7;} - - else if ( (LA11_0==';') ) {s = 8;} - - else if ( (LA11_0=='}') ) {s = 9;} - - else if ( (LA11_0=='r') ) {s = 10;} - - else if ( (LA11_0=='[') ) {s = 11;} - - else if ( (LA11_0==']') ) {s = 12;} - - else if ( (LA11_0=='o') ) {s = 13;} - - else if ( (LA11_0=='(') ) {s = 14;} - - else if ( (LA11_0==')') ) {s = 15;} - - else if ( (LA11_0==':') ) {s = 16;} - - else if ( (LA11_0=='!') ) {s = 17;} - - else if ( (LA11_0=='+') ) {s = 18;} - - else if ( (LA11_0=='s') ) {s = 19;} - - else if ( (LA11_0=='=') ) {s = 20;} - - else if ( (LA11_0=='*') ) {s = 21;} - - else if ( (LA11_0=='t') ) {s = 22;} - - else if ( (LA11_0=='f') ) {s = 23;} - - else if ( (LA11_0=='u') ) {s = 24;} - - else if ( (LA11_0=='?') ) {s = 25;} - - else if ( (LA11_0=='\"') ) {s = 26;} - - else if ( (LA11_0=='\'') ) {s = 27;} - - else if ( (LA11_0=='^') ) {s = 28;} - - else if ( ((LA11_0>='A' && LA11_0<='Z')||LA11_0=='_'||LA11_0=='b'||LA11_0=='d'||(LA11_0>='g' && LA11_0<='n')||LA11_0=='q'||(LA11_0>='v' && LA11_0<='z')) ) {s = 29;} - - else if ( ((LA11_0>='0' && LA11_0<='9')) ) {s = 30;} - - else if ( (LA11_0=='/') ) {s = 31;} - - else if ( ((LA11_0>='\t' && LA11_0<='\n')||LA11_0=='\r'||LA11_0==' ') ) {s = 32;} - - else if ( ((LA11_0>='\u0000' && LA11_0<='\b')||(LA11_0>='\u000B' && LA11_0<='\f')||(LA11_0>='\u000E' && LA11_0<='\u001F')||(LA11_0>='#' && LA11_0<='&')||LA11_0=='-'||LA11_0=='<'||LA11_0=='>'||LA11_0=='@'||LA11_0=='\\'||LA11_0=='`'||LA11_0=='|'||(LA11_0>='~' && LA11_0<='\uFFFF')) ) {s = 33;} - - if ( s>=0 ) return s; - break; - } - NoViableAltException nvae = - new NoViableAltException(getDescription(), 11, _s, input); - error(nvae); - throw nvae; - } - } - - -} \ No newline at end of file diff --git a/language-web/xtext-gen/org/eclipse/viatra/solver/language/parser/antlr/internal/InternalProblemParser.java b/language-web/xtext-gen/org/eclipse/viatra/solver/language/parser/antlr/internal/InternalProblemParser.java deleted file mode 100644 index 28b54551..00000000 --- a/language-web/xtext-gen/org/eclipse/viatra/solver/language/parser/antlr/internal/InternalProblemParser.java +++ /dev/null @@ -1,5296 +0,0 @@ -package org.eclipse.viatra.solver.language.parser.antlr.internal; - -import org.eclipse.xtext.*; -import org.eclipse.xtext.parser.*; -import org.eclipse.xtext.parser.impl.*; -import org.eclipse.emf.ecore.util.EcoreUtil; -import org.eclipse.emf.ecore.EObject; -import org.eclipse.emf.common.util.Enumerator; -import org.eclipse.xtext.parser.antlr.AbstractInternalAntlrParser; -import org.eclipse.xtext.parser.antlr.XtextTokenStream; -import org.eclipse.xtext.parser.antlr.XtextTokenStream.HiddenTokens; -import org.eclipse.xtext.parser.antlr.AntlrDatatypeRuleToken; -import org.eclipse.viatra.solver.language.services.ProblemGrammarAccess; - - - -import org.antlr.runtime.*; -import java.util.Stack; -import java.util.List; -import java.util.ArrayList; - -@SuppressWarnings("all") -public class InternalProblemParser extends AbstractInternalAntlrParser { - public static final String[] tokenNames = new String[] { - "", "", "", "", "RULE_ID", "RULE_INT", "RULE_QUOTED_ID", "RULE_STRING", "RULE_ML_COMMENT", "RULE_SL_COMMENT", "RULE_WS", "RULE_ANY_OTHER", "'problem'", "'.'", "'abstract'", "'class'", "'extends'", "','", "'{'", "';'", "'}'", "'enum'", "'contains'", "'refers'", "'['", "']'", "'opposite'", "'error'", "'pred'", "'('", "')'", "':-'", "'!'", "'+'", "':'", "'scope'", "'+='", "'='", "'..'", "'*'", "'true'", "'false'", "'unknown'", "'?'" - }; - public static final int T__19=19; - public static final int T__15=15; - public static final int T__16=16; - public static final int T__17=17; - public static final int T__18=18; - public static final int T__12=12; - public static final int T__13=13; - public static final int T__14=14; - public static final int RULE_ID=4; - public static final int RULE_QUOTED_ID=6; - public static final int T__26=26; - public static final int T__27=27; - public static final int T__28=28; - public static final int RULE_INT=5; - public static final int T__29=29; - public static final int T__22=22; - public static final int RULE_ML_COMMENT=8; - public static final int T__23=23; - public static final int T__24=24; - public static final int T__25=25; - public static final int T__20=20; - public static final int T__21=21; - public static final int RULE_STRING=7; - public static final int RULE_SL_COMMENT=9; - public static final int T__37=37; - public static final int T__38=38; - public static final int T__39=39; - public static final int T__33=33; - public static final int T__34=34; - public static final int T__35=35; - public static final int T__36=36; - public static final int EOF=-1; - public static final int T__30=30; - public static final int T__31=31; - public static final int T__32=32; - public static final int RULE_WS=10; - public static final int RULE_ANY_OTHER=11; - public static final int T__40=40; - public static final int T__41=41; - public static final int T__42=42; - public static final int T__43=43; - - // delegates - // delegators - - - public InternalProblemParser(TokenStream input) { - this(input, new RecognizerSharedState()); - } - public InternalProblemParser(TokenStream input, RecognizerSharedState state) { - super(input, state); - - } - - - public String[] getTokenNames() { return InternalProblemParser.tokenNames; } - public String getGrammarFileName() { return "InternalProblem.g"; } - - - - private ProblemGrammarAccess grammarAccess; - - public InternalProblemParser(TokenStream input, ProblemGrammarAccess grammarAccess) { - this(input); - this.grammarAccess = grammarAccess; - registerRules(grammarAccess.getGrammar()); - } - - @Override - protected String getFirstRuleName() { - return "Problem"; - } - - @Override - protected ProblemGrammarAccess getGrammarAccess() { - return grammarAccess; - } - - - - - // $ANTLR start "entryRuleProblem" - // InternalProblem.g:65:1: entryRuleProblem returns [EObject current=null] : iv_ruleProblem= ruleProblem EOF ; - public final EObject entryRuleProblem() throws RecognitionException { - EObject current = null; - - EObject iv_ruleProblem = null; - - - try { - // InternalProblem.g:65:48: (iv_ruleProblem= ruleProblem EOF ) - // InternalProblem.g:66:2: iv_ruleProblem= ruleProblem EOF - { - newCompositeNode(grammarAccess.getProblemRule()); - pushFollow(FOLLOW_1); - iv_ruleProblem=ruleProblem(); - - state._fsp--; - - current =iv_ruleProblem; - match(input,EOF,FOLLOW_2); - - } - - } - - catch (RecognitionException re) { - recover(input,re); - appendSkippedTokens(); - } - finally { - } - return current; - } - // $ANTLR end "entryRuleProblem" - - - // $ANTLR start "ruleProblem" - // InternalProblem.g:72:1: ruleProblem returns [EObject current=null] : ( (otherlv_0= 'problem' ( (lv_name_1_0= ruleIdentifier ) ) otherlv_2= '.' )? ( (lv_statements_3_0= ruleStatement ) )* ) ; - public final EObject ruleProblem() throws RecognitionException { - EObject current = null; - - Token otherlv_0=null; - Token otherlv_2=null; - AntlrDatatypeRuleToken lv_name_1_0 = null; - - EObject lv_statements_3_0 = null; - - - - enterRule(); - - try { - // InternalProblem.g:78:2: ( ( (otherlv_0= 'problem' ( (lv_name_1_0= ruleIdentifier ) ) otherlv_2= '.' )? ( (lv_statements_3_0= ruleStatement ) )* ) ) - // InternalProblem.g:79:2: ( (otherlv_0= 'problem' ( (lv_name_1_0= ruleIdentifier ) ) otherlv_2= '.' )? ( (lv_statements_3_0= ruleStatement ) )* ) - { - // InternalProblem.g:79:2: ( (otherlv_0= 'problem' ( (lv_name_1_0= ruleIdentifier ) ) otherlv_2= '.' )? ( (lv_statements_3_0= ruleStatement ) )* ) - // InternalProblem.g:80:3: (otherlv_0= 'problem' ( (lv_name_1_0= ruleIdentifier ) ) otherlv_2= '.' )? ( (lv_statements_3_0= ruleStatement ) )* - { - // InternalProblem.g:80:3: (otherlv_0= 'problem' ( (lv_name_1_0= ruleIdentifier ) ) otherlv_2= '.' )? - int alt1=2; - int LA1_0 = input.LA(1); - - if ( (LA1_0==12) ) { - alt1=1; - } - switch (alt1) { - case 1 : - // InternalProblem.g:81:4: otherlv_0= 'problem' ( (lv_name_1_0= ruleIdentifier ) ) otherlv_2= '.' - { - otherlv_0=(Token)match(input,12,FOLLOW_3); - - newLeafNode(otherlv_0, grammarAccess.getProblemAccess().getProblemKeyword_0_0()); - - // InternalProblem.g:85:4: ( (lv_name_1_0= ruleIdentifier ) ) - // InternalProblem.g:86:5: (lv_name_1_0= ruleIdentifier ) - { - // InternalProblem.g:86:5: (lv_name_1_0= ruleIdentifier ) - // InternalProblem.g:87:6: lv_name_1_0= ruleIdentifier - { - - newCompositeNode(grammarAccess.getProblemAccess().getNameIdentifierParserRuleCall_0_1_0()); - - pushFollow(FOLLOW_4); - lv_name_1_0=ruleIdentifier(); - - state._fsp--; - - - if (current==null) { - current = createModelElementForParent(grammarAccess.getProblemRule()); - } - set( - current, - "name", - lv_name_1_0, - "org.eclipse.viatra.solver.language.Problem.Identifier"); - afterParserOrEnumRuleCall(); - - - } - - - } - - otherlv_2=(Token)match(input,13,FOLLOW_5); - - newLeafNode(otherlv_2, grammarAccess.getProblemAccess().getFullStopKeyword_0_2()); - - - } - break; - - } - - // InternalProblem.g:109:3: ( (lv_statements_3_0= ruleStatement ) )* - loop2: - do { - int alt2=2; - int LA2_0 = input.LA(1); - - if ( (LA2_0==RULE_ID||LA2_0==RULE_QUOTED_ID||(LA2_0>=14 && LA2_0<=15)||LA2_0==21||(LA2_0>=27 && LA2_0<=28)||LA2_0==32||LA2_0==35||(LA2_0>=40 && LA2_0<=41)||LA2_0==43) ) { - alt2=1; - } - - - switch (alt2) { - case 1 : - // InternalProblem.g:110:4: (lv_statements_3_0= ruleStatement ) - { - // InternalProblem.g:110:4: (lv_statements_3_0= ruleStatement ) - // InternalProblem.g:111:5: lv_statements_3_0= ruleStatement - { - - newCompositeNode(grammarAccess.getProblemAccess().getStatementsStatementParserRuleCall_1_0()); - - pushFollow(FOLLOW_5); - lv_statements_3_0=ruleStatement(); - - state._fsp--; - - - if (current==null) { - current = createModelElementForParent(grammarAccess.getProblemRule()); - } - add( - current, - "statements", - lv_statements_3_0, - "org.eclipse.viatra.solver.language.Problem.Statement"); - afterParserOrEnumRuleCall(); - - - } - - - } - break; - - default : - break loop2; - } - } while (true); - - - } - - - } - - - leaveRule(); - - } - - catch (RecognitionException re) { - recover(input,re); - appendSkippedTokens(); - } - finally { - } - return current; - } - // $ANTLR end "ruleProblem" - - - // $ANTLR start "entryRuleStatement" - // InternalProblem.g:132:1: entryRuleStatement returns [EObject current=null] : iv_ruleStatement= ruleStatement EOF ; - public final EObject entryRuleStatement() throws RecognitionException { - EObject current = null; - - EObject iv_ruleStatement = null; - - - try { - // InternalProblem.g:132:50: (iv_ruleStatement= ruleStatement EOF ) - // InternalProblem.g:133:2: iv_ruleStatement= ruleStatement EOF - { - newCompositeNode(grammarAccess.getStatementRule()); - pushFollow(FOLLOW_1); - iv_ruleStatement=ruleStatement(); - - state._fsp--; - - current =iv_ruleStatement; - match(input,EOF,FOLLOW_2); - - } - - } - - catch (RecognitionException re) { - recover(input,re); - appendSkippedTokens(); - } - finally { - } - return current; - } - // $ANTLR end "entryRuleStatement" - - - // $ANTLR start "ruleStatement" - // InternalProblem.g:139:1: ruleStatement returns [EObject current=null] : (this_ClassDeclaration_0= ruleClassDeclaration | this_EnumDeclaration_1= ruleEnumDeclaration | this_PredicateDefinition_2= rulePredicateDefinition | this_Assertion_3= ruleAssertion | this_ScopeDeclaration_4= ruleScopeDeclaration ) ; - public final EObject ruleStatement() throws RecognitionException { - EObject current = null; - - EObject this_ClassDeclaration_0 = null; - - EObject this_EnumDeclaration_1 = null; - - EObject this_PredicateDefinition_2 = null; - - EObject this_Assertion_3 = null; - - EObject this_ScopeDeclaration_4 = null; - - - - enterRule(); - - try { - // InternalProblem.g:145:2: ( (this_ClassDeclaration_0= ruleClassDeclaration | this_EnumDeclaration_1= ruleEnumDeclaration | this_PredicateDefinition_2= rulePredicateDefinition | this_Assertion_3= ruleAssertion | this_ScopeDeclaration_4= ruleScopeDeclaration ) ) - // InternalProblem.g:146:2: (this_ClassDeclaration_0= ruleClassDeclaration | this_EnumDeclaration_1= ruleEnumDeclaration | this_PredicateDefinition_2= rulePredicateDefinition | this_Assertion_3= ruleAssertion | this_ScopeDeclaration_4= ruleScopeDeclaration ) - { - // InternalProblem.g:146:2: (this_ClassDeclaration_0= ruleClassDeclaration | this_EnumDeclaration_1= ruleEnumDeclaration | this_PredicateDefinition_2= rulePredicateDefinition | this_Assertion_3= ruleAssertion | this_ScopeDeclaration_4= ruleScopeDeclaration ) - int alt3=5; - switch ( input.LA(1) ) { - case 14: - case 15: - { - alt3=1; - } - break; - case 21: - { - alt3=2; - } - break; - case 27: - case 28: - { - alt3=3; - } - break; - case RULE_ID: - case RULE_QUOTED_ID: - case 32: - case 40: - case 41: - case 43: - { - alt3=4; - } - break; - case 35: - { - alt3=5; - } - break; - default: - NoViableAltException nvae = - new NoViableAltException("", 3, 0, input); - - throw nvae; - } - - switch (alt3) { - case 1 : - // InternalProblem.g:147:3: this_ClassDeclaration_0= ruleClassDeclaration - { - - newCompositeNode(grammarAccess.getStatementAccess().getClassDeclarationParserRuleCall_0()); - - pushFollow(FOLLOW_2); - this_ClassDeclaration_0=ruleClassDeclaration(); - - state._fsp--; - - - current = this_ClassDeclaration_0; - afterParserOrEnumRuleCall(); - - - } - break; - case 2 : - // InternalProblem.g:156:3: this_EnumDeclaration_1= ruleEnumDeclaration - { - - newCompositeNode(grammarAccess.getStatementAccess().getEnumDeclarationParserRuleCall_1()); - - pushFollow(FOLLOW_2); - this_EnumDeclaration_1=ruleEnumDeclaration(); - - state._fsp--; - - - current = this_EnumDeclaration_1; - afterParserOrEnumRuleCall(); - - - } - break; - case 3 : - // InternalProblem.g:165:3: this_PredicateDefinition_2= rulePredicateDefinition - { - - newCompositeNode(grammarAccess.getStatementAccess().getPredicateDefinitionParserRuleCall_2()); - - pushFollow(FOLLOW_2); - this_PredicateDefinition_2=rulePredicateDefinition(); - - state._fsp--; - - - current = this_PredicateDefinition_2; - afterParserOrEnumRuleCall(); - - - } - break; - case 4 : - // InternalProblem.g:174:3: this_Assertion_3= ruleAssertion - { - - newCompositeNode(grammarAccess.getStatementAccess().getAssertionParserRuleCall_3()); - - pushFollow(FOLLOW_2); - this_Assertion_3=ruleAssertion(); - - state._fsp--; - - - current = this_Assertion_3; - afterParserOrEnumRuleCall(); - - - } - break; - case 5 : - // InternalProblem.g:183:3: this_ScopeDeclaration_4= ruleScopeDeclaration - { - - newCompositeNode(grammarAccess.getStatementAccess().getScopeDeclarationParserRuleCall_4()); - - pushFollow(FOLLOW_2); - this_ScopeDeclaration_4=ruleScopeDeclaration(); - - state._fsp--; - - - current = this_ScopeDeclaration_4; - afterParserOrEnumRuleCall(); - - - } - break; - - } - - - } - - - leaveRule(); - - } - - catch (RecognitionException re) { - recover(input,re); - appendSkippedTokens(); - } - finally { - } - return current; - } - // $ANTLR end "ruleStatement" - - - // $ANTLR start "entryRuleClassDeclaration" - // InternalProblem.g:195:1: entryRuleClassDeclaration returns [EObject current=null] : iv_ruleClassDeclaration= ruleClassDeclaration EOF ; - public final EObject entryRuleClassDeclaration() throws RecognitionException { - EObject current = null; - - EObject iv_ruleClassDeclaration = null; - - - try { - // InternalProblem.g:195:57: (iv_ruleClassDeclaration= ruleClassDeclaration EOF ) - // InternalProblem.g:196:2: iv_ruleClassDeclaration= ruleClassDeclaration EOF - { - newCompositeNode(grammarAccess.getClassDeclarationRule()); - pushFollow(FOLLOW_1); - iv_ruleClassDeclaration=ruleClassDeclaration(); - - state._fsp--; - - current =iv_ruleClassDeclaration; - match(input,EOF,FOLLOW_2); - - } - - } - - catch (RecognitionException re) { - recover(input,re); - appendSkippedTokens(); - } - finally { - } - return current; - } - // $ANTLR end "entryRuleClassDeclaration" - - - // $ANTLR start "ruleClassDeclaration" - // InternalProblem.g:202:1: ruleClassDeclaration returns [EObject current=null] : ( ( (lv_abstract_0_0= 'abstract' ) )? otherlv_1= 'class' ( (lv_name_2_0= ruleIdentifier ) ) (otherlv_3= 'extends' ( ( ruleQualifiedName ) ) (otherlv_5= ',' ( ( ruleQualifiedName ) ) )* )? ( (otherlv_7= '{' ( ( (lv_referenceDeclarations_8_0= ruleReferenceDeclaration ) ) (otherlv_9= ';' )? )* otherlv_10= '}' ) | otherlv_11= '.' ) ) ; - public final EObject ruleClassDeclaration() throws RecognitionException { - EObject current = null; - - Token lv_abstract_0_0=null; - Token otherlv_1=null; - Token otherlv_3=null; - Token otherlv_5=null; - Token otherlv_7=null; - Token otherlv_9=null; - Token otherlv_10=null; - Token otherlv_11=null; - AntlrDatatypeRuleToken lv_name_2_0 = null; - - EObject lv_referenceDeclarations_8_0 = null; - - - - enterRule(); - - try { - // InternalProblem.g:208:2: ( ( ( (lv_abstract_0_0= 'abstract' ) )? otherlv_1= 'class' ( (lv_name_2_0= ruleIdentifier ) ) (otherlv_3= 'extends' ( ( ruleQualifiedName ) ) (otherlv_5= ',' ( ( ruleQualifiedName ) ) )* )? ( (otherlv_7= '{' ( ( (lv_referenceDeclarations_8_0= ruleReferenceDeclaration ) ) (otherlv_9= ';' )? )* otherlv_10= '}' ) | otherlv_11= '.' ) ) ) - // InternalProblem.g:209:2: ( ( (lv_abstract_0_0= 'abstract' ) )? otherlv_1= 'class' ( (lv_name_2_0= ruleIdentifier ) ) (otherlv_3= 'extends' ( ( ruleQualifiedName ) ) (otherlv_5= ',' ( ( ruleQualifiedName ) ) )* )? ( (otherlv_7= '{' ( ( (lv_referenceDeclarations_8_0= ruleReferenceDeclaration ) ) (otherlv_9= ';' )? )* otherlv_10= '}' ) | otherlv_11= '.' ) ) - { - // InternalProblem.g:209:2: ( ( (lv_abstract_0_0= 'abstract' ) )? otherlv_1= 'class' ( (lv_name_2_0= ruleIdentifier ) ) (otherlv_3= 'extends' ( ( ruleQualifiedName ) ) (otherlv_5= ',' ( ( ruleQualifiedName ) ) )* )? ( (otherlv_7= '{' ( ( (lv_referenceDeclarations_8_0= ruleReferenceDeclaration ) ) (otherlv_9= ';' )? )* otherlv_10= '}' ) | otherlv_11= '.' ) ) - // InternalProblem.g:210:3: ( (lv_abstract_0_0= 'abstract' ) )? otherlv_1= 'class' ( (lv_name_2_0= ruleIdentifier ) ) (otherlv_3= 'extends' ( ( ruleQualifiedName ) ) (otherlv_5= ',' ( ( ruleQualifiedName ) ) )* )? ( (otherlv_7= '{' ( ( (lv_referenceDeclarations_8_0= ruleReferenceDeclaration ) ) (otherlv_9= ';' )? )* otherlv_10= '}' ) | otherlv_11= '.' ) - { - // InternalProblem.g:210:3: ( (lv_abstract_0_0= 'abstract' ) )? - int alt4=2; - int LA4_0 = input.LA(1); - - if ( (LA4_0==14) ) { - alt4=1; - } - switch (alt4) { - case 1 : - // InternalProblem.g:211:4: (lv_abstract_0_0= 'abstract' ) - { - // InternalProblem.g:211:4: (lv_abstract_0_0= 'abstract' ) - // InternalProblem.g:212:5: lv_abstract_0_0= 'abstract' - { - lv_abstract_0_0=(Token)match(input,14,FOLLOW_6); - - newLeafNode(lv_abstract_0_0, grammarAccess.getClassDeclarationAccess().getAbstractAbstractKeyword_0_0()); - - - if (current==null) { - current = createModelElement(grammarAccess.getClassDeclarationRule()); - } - setWithLastConsumed(current, "abstract", lv_abstract_0_0 != null, "abstract"); - - - } - - - } - break; - - } - - otherlv_1=(Token)match(input,15,FOLLOW_3); - - newLeafNode(otherlv_1, grammarAccess.getClassDeclarationAccess().getClassKeyword_1()); - - // InternalProblem.g:228:3: ( (lv_name_2_0= ruleIdentifier ) ) - // InternalProblem.g:229:4: (lv_name_2_0= ruleIdentifier ) - { - // InternalProblem.g:229:4: (lv_name_2_0= ruleIdentifier ) - // InternalProblem.g:230:5: lv_name_2_0= ruleIdentifier - { - - newCompositeNode(grammarAccess.getClassDeclarationAccess().getNameIdentifierParserRuleCall_2_0()); - - pushFollow(FOLLOW_7); - lv_name_2_0=ruleIdentifier(); - - state._fsp--; - - - if (current==null) { - current = createModelElementForParent(grammarAccess.getClassDeclarationRule()); - } - set( - current, - "name", - lv_name_2_0, - "org.eclipse.viatra.solver.language.Problem.Identifier"); - afterParserOrEnumRuleCall(); - - - } - - - } - - // InternalProblem.g:247:3: (otherlv_3= 'extends' ( ( ruleQualifiedName ) ) (otherlv_5= ',' ( ( ruleQualifiedName ) ) )* )? - int alt6=2; - int LA6_0 = input.LA(1); - - if ( (LA6_0==16) ) { - alt6=1; - } - switch (alt6) { - case 1 : - // InternalProblem.g:248:4: otherlv_3= 'extends' ( ( ruleQualifiedName ) ) (otherlv_5= ',' ( ( ruleQualifiedName ) ) )* - { - otherlv_3=(Token)match(input,16,FOLLOW_8); - - newLeafNode(otherlv_3, grammarAccess.getClassDeclarationAccess().getExtendsKeyword_3_0()); - - // InternalProblem.g:252:4: ( ( ruleQualifiedName ) ) - // InternalProblem.g:253:5: ( ruleQualifiedName ) - { - // InternalProblem.g:253:5: ( ruleQualifiedName ) - // InternalProblem.g:254:6: ruleQualifiedName - { - - if (current==null) { - current = createModelElement(grammarAccess.getClassDeclarationRule()); - } - - - newCompositeNode(grammarAccess.getClassDeclarationAccess().getSuperTypesRelationCrossReference_3_1_0()); - - pushFollow(FOLLOW_9); - ruleQualifiedName(); - - state._fsp--; - - - afterParserOrEnumRuleCall(); - - - } - - - } - - // InternalProblem.g:268:4: (otherlv_5= ',' ( ( ruleQualifiedName ) ) )* - loop5: - do { - int alt5=2; - int LA5_0 = input.LA(1); - - if ( (LA5_0==17) ) { - alt5=1; - } - - - switch (alt5) { - case 1 : - // InternalProblem.g:269:5: otherlv_5= ',' ( ( ruleQualifiedName ) ) - { - otherlv_5=(Token)match(input,17,FOLLOW_8); - - newLeafNode(otherlv_5, grammarAccess.getClassDeclarationAccess().getCommaKeyword_3_2_0()); - - // InternalProblem.g:273:5: ( ( ruleQualifiedName ) ) - // InternalProblem.g:274:6: ( ruleQualifiedName ) - { - // InternalProblem.g:274:6: ( ruleQualifiedName ) - // InternalProblem.g:275:7: ruleQualifiedName - { - - if (current==null) { - current = createModelElement(grammarAccess.getClassDeclarationRule()); - } - - - newCompositeNode(grammarAccess.getClassDeclarationAccess().getSuperTypesRelationCrossReference_3_2_1_0()); - - pushFollow(FOLLOW_9); - ruleQualifiedName(); - - state._fsp--; - - - afterParserOrEnumRuleCall(); - - - } - - - } - - - } - break; - - default : - break loop5; - } - } while (true); - - - } - break; - - } - - // InternalProblem.g:291:3: ( (otherlv_7= '{' ( ( (lv_referenceDeclarations_8_0= ruleReferenceDeclaration ) ) (otherlv_9= ';' )? )* otherlv_10= '}' ) | otherlv_11= '.' ) - int alt9=2; - int LA9_0 = input.LA(1); - - if ( (LA9_0==18) ) { - alt9=1; - } - else if ( (LA9_0==13) ) { - alt9=2; - } - else { - NoViableAltException nvae = - new NoViableAltException("", 9, 0, input); - - throw nvae; - } - switch (alt9) { - case 1 : - // InternalProblem.g:292:4: (otherlv_7= '{' ( ( (lv_referenceDeclarations_8_0= ruleReferenceDeclaration ) ) (otherlv_9= ';' )? )* otherlv_10= '}' ) - { - // InternalProblem.g:292:4: (otherlv_7= '{' ( ( (lv_referenceDeclarations_8_0= ruleReferenceDeclaration ) ) (otherlv_9= ';' )? )* otherlv_10= '}' ) - // InternalProblem.g:293:5: otherlv_7= '{' ( ( (lv_referenceDeclarations_8_0= ruleReferenceDeclaration ) ) (otherlv_9= ';' )? )* otherlv_10= '}' - { - otherlv_7=(Token)match(input,18,FOLLOW_10); - - newLeafNode(otherlv_7, grammarAccess.getClassDeclarationAccess().getLeftCurlyBracketKeyword_4_0_0()); - - // InternalProblem.g:297:5: ( ( (lv_referenceDeclarations_8_0= ruleReferenceDeclaration ) ) (otherlv_9= ';' )? )* - loop8: - do { - int alt8=2; - int LA8_0 = input.LA(1); - - if ( (LA8_0==RULE_ID||LA8_0==RULE_QUOTED_ID||(LA8_0>=22 && LA8_0<=23)||(LA8_0>=40 && LA8_0<=41)) ) { - alt8=1; - } - - - switch (alt8) { - case 1 : - // InternalProblem.g:298:6: ( (lv_referenceDeclarations_8_0= ruleReferenceDeclaration ) ) (otherlv_9= ';' )? - { - // InternalProblem.g:298:6: ( (lv_referenceDeclarations_8_0= ruleReferenceDeclaration ) ) - // InternalProblem.g:299:7: (lv_referenceDeclarations_8_0= ruleReferenceDeclaration ) - { - // InternalProblem.g:299:7: (lv_referenceDeclarations_8_0= ruleReferenceDeclaration ) - // InternalProblem.g:300:8: lv_referenceDeclarations_8_0= ruleReferenceDeclaration - { - - newCompositeNode(grammarAccess.getClassDeclarationAccess().getReferenceDeclarationsReferenceDeclarationParserRuleCall_4_0_1_0_0()); - - pushFollow(FOLLOW_11); - lv_referenceDeclarations_8_0=ruleReferenceDeclaration(); - - state._fsp--; - - - if (current==null) { - current = createModelElementForParent(grammarAccess.getClassDeclarationRule()); - } - add( - current, - "referenceDeclarations", - lv_referenceDeclarations_8_0, - "org.eclipse.viatra.solver.language.Problem.ReferenceDeclaration"); - afterParserOrEnumRuleCall(); - - - } - - - } - - // InternalProblem.g:317:6: (otherlv_9= ';' )? - int alt7=2; - int LA7_0 = input.LA(1); - - if ( (LA7_0==19) ) { - alt7=1; - } - switch (alt7) { - case 1 : - // InternalProblem.g:318:7: otherlv_9= ';' - { - otherlv_9=(Token)match(input,19,FOLLOW_10); - - newLeafNode(otherlv_9, grammarAccess.getClassDeclarationAccess().getSemicolonKeyword_4_0_1_1()); - - - } - break; - - } - - - } - break; - - default : - break loop8; - } - } while (true); - - otherlv_10=(Token)match(input,20,FOLLOW_2); - - newLeafNode(otherlv_10, grammarAccess.getClassDeclarationAccess().getRightCurlyBracketKeyword_4_0_2()); - - - } - - - } - break; - case 2 : - // InternalProblem.g:330:4: otherlv_11= '.' - { - otherlv_11=(Token)match(input,13,FOLLOW_2); - - newLeafNode(otherlv_11, grammarAccess.getClassDeclarationAccess().getFullStopKeyword_4_1()); - - - } - break; - - } - - - } - - - } - - - leaveRule(); - - } - - catch (RecognitionException re) { - recover(input,re); - appendSkippedTokens(); - } - finally { - } - return current; - } - // $ANTLR end "ruleClassDeclaration" - - - // $ANTLR start "entryRuleEnumDeclaration" - // InternalProblem.g:339:1: entryRuleEnumDeclaration returns [EObject current=null] : iv_ruleEnumDeclaration= ruleEnumDeclaration EOF ; - public final EObject entryRuleEnumDeclaration() throws RecognitionException { - EObject current = null; - - EObject iv_ruleEnumDeclaration = null; - - - try { - // InternalProblem.g:339:56: (iv_ruleEnumDeclaration= ruleEnumDeclaration EOF ) - // InternalProblem.g:340:2: iv_ruleEnumDeclaration= ruleEnumDeclaration EOF - { - newCompositeNode(grammarAccess.getEnumDeclarationRule()); - pushFollow(FOLLOW_1); - iv_ruleEnumDeclaration=ruleEnumDeclaration(); - - state._fsp--; - - current =iv_ruleEnumDeclaration; - match(input,EOF,FOLLOW_2); - - } - - } - - catch (RecognitionException re) { - recover(input,re); - appendSkippedTokens(); - } - finally { - } - return current; - } - // $ANTLR end "entryRuleEnumDeclaration" - - - // $ANTLR start "ruleEnumDeclaration" - // InternalProblem.g:346:1: ruleEnumDeclaration returns [EObject current=null] : (otherlv_0= 'enum' ( (lv_name_1_0= ruleIdentifier ) ) ( (otherlv_2= '{' ( ( (lv_literals_3_0= ruleEnumLiteral ) ) (otherlv_4= ',' ( (lv_literals_5_0= ruleEnumLiteral ) ) )* (otherlv_6= ',' | otherlv_7= ';' )? )? otherlv_8= '}' ) | otherlv_9= '.' ) ) ; - public final EObject ruleEnumDeclaration() throws RecognitionException { - EObject current = null; - - Token otherlv_0=null; - Token otherlv_2=null; - Token otherlv_4=null; - Token otherlv_6=null; - Token otherlv_7=null; - Token otherlv_8=null; - Token otherlv_9=null; - AntlrDatatypeRuleToken lv_name_1_0 = null; - - EObject lv_literals_3_0 = null; - - EObject lv_literals_5_0 = null; - - - - enterRule(); - - try { - // InternalProblem.g:352:2: ( (otherlv_0= 'enum' ( (lv_name_1_0= ruleIdentifier ) ) ( (otherlv_2= '{' ( ( (lv_literals_3_0= ruleEnumLiteral ) ) (otherlv_4= ',' ( (lv_literals_5_0= ruleEnumLiteral ) ) )* (otherlv_6= ',' | otherlv_7= ';' )? )? otherlv_8= '}' ) | otherlv_9= '.' ) ) ) - // InternalProblem.g:353:2: (otherlv_0= 'enum' ( (lv_name_1_0= ruleIdentifier ) ) ( (otherlv_2= '{' ( ( (lv_literals_3_0= ruleEnumLiteral ) ) (otherlv_4= ',' ( (lv_literals_5_0= ruleEnumLiteral ) ) )* (otherlv_6= ',' | otherlv_7= ';' )? )? otherlv_8= '}' ) | otherlv_9= '.' ) ) - { - // InternalProblem.g:353:2: (otherlv_0= 'enum' ( (lv_name_1_0= ruleIdentifier ) ) ( (otherlv_2= '{' ( ( (lv_literals_3_0= ruleEnumLiteral ) ) (otherlv_4= ',' ( (lv_literals_5_0= ruleEnumLiteral ) ) )* (otherlv_6= ',' | otherlv_7= ';' )? )? otherlv_8= '}' ) | otherlv_9= '.' ) ) - // InternalProblem.g:354:3: otherlv_0= 'enum' ( (lv_name_1_0= ruleIdentifier ) ) ( (otherlv_2= '{' ( ( (lv_literals_3_0= ruleEnumLiteral ) ) (otherlv_4= ',' ( (lv_literals_5_0= ruleEnumLiteral ) ) )* (otherlv_6= ',' | otherlv_7= ';' )? )? otherlv_8= '}' ) | otherlv_9= '.' ) - { - otherlv_0=(Token)match(input,21,FOLLOW_3); - - newLeafNode(otherlv_0, grammarAccess.getEnumDeclarationAccess().getEnumKeyword_0()); - - // InternalProblem.g:358:3: ( (lv_name_1_0= ruleIdentifier ) ) - // InternalProblem.g:359:4: (lv_name_1_0= ruleIdentifier ) - { - // InternalProblem.g:359:4: (lv_name_1_0= ruleIdentifier ) - // InternalProblem.g:360:5: lv_name_1_0= ruleIdentifier - { - - newCompositeNode(grammarAccess.getEnumDeclarationAccess().getNameIdentifierParserRuleCall_1_0()); - - pushFollow(FOLLOW_12); - lv_name_1_0=ruleIdentifier(); - - state._fsp--; - - - if (current==null) { - current = createModelElementForParent(grammarAccess.getEnumDeclarationRule()); - } - set( - current, - "name", - lv_name_1_0, - "org.eclipse.viatra.solver.language.Problem.Identifier"); - afterParserOrEnumRuleCall(); - - - } - - - } - - // InternalProblem.g:377:3: ( (otherlv_2= '{' ( ( (lv_literals_3_0= ruleEnumLiteral ) ) (otherlv_4= ',' ( (lv_literals_5_0= ruleEnumLiteral ) ) )* (otherlv_6= ',' | otherlv_7= ';' )? )? otherlv_8= '}' ) | otherlv_9= '.' ) - int alt13=2; - int LA13_0 = input.LA(1); - - if ( (LA13_0==18) ) { - alt13=1; - } - else if ( (LA13_0==13) ) { - alt13=2; - } - else { - NoViableAltException nvae = - new NoViableAltException("", 13, 0, input); - - throw nvae; - } - switch (alt13) { - case 1 : - // InternalProblem.g:378:4: (otherlv_2= '{' ( ( (lv_literals_3_0= ruleEnumLiteral ) ) (otherlv_4= ',' ( (lv_literals_5_0= ruleEnumLiteral ) ) )* (otherlv_6= ',' | otherlv_7= ';' )? )? otherlv_8= '}' ) - { - // InternalProblem.g:378:4: (otherlv_2= '{' ( ( (lv_literals_3_0= ruleEnumLiteral ) ) (otherlv_4= ',' ( (lv_literals_5_0= ruleEnumLiteral ) ) )* (otherlv_6= ',' | otherlv_7= ';' )? )? otherlv_8= '}' ) - // InternalProblem.g:379:5: otherlv_2= '{' ( ( (lv_literals_3_0= ruleEnumLiteral ) ) (otherlv_4= ',' ( (lv_literals_5_0= ruleEnumLiteral ) ) )* (otherlv_6= ',' | otherlv_7= ';' )? )? otherlv_8= '}' - { - otherlv_2=(Token)match(input,18,FOLLOW_13); - - newLeafNode(otherlv_2, grammarAccess.getEnumDeclarationAccess().getLeftCurlyBracketKeyword_2_0_0()); - - // InternalProblem.g:383:5: ( ( (lv_literals_3_0= ruleEnumLiteral ) ) (otherlv_4= ',' ( (lv_literals_5_0= ruleEnumLiteral ) ) )* (otherlv_6= ',' | otherlv_7= ';' )? )? - int alt12=2; - int LA12_0 = input.LA(1); - - if ( (LA12_0==RULE_ID||LA12_0==RULE_QUOTED_ID||(LA12_0>=40 && LA12_0<=41)) ) { - alt12=1; - } - switch (alt12) { - case 1 : - // InternalProblem.g:384:6: ( (lv_literals_3_0= ruleEnumLiteral ) ) (otherlv_4= ',' ( (lv_literals_5_0= ruleEnumLiteral ) ) )* (otherlv_6= ',' | otherlv_7= ';' )? - { - // InternalProblem.g:384:6: ( (lv_literals_3_0= ruleEnumLiteral ) ) - // InternalProblem.g:385:7: (lv_literals_3_0= ruleEnumLiteral ) - { - // InternalProblem.g:385:7: (lv_literals_3_0= ruleEnumLiteral ) - // InternalProblem.g:386:8: lv_literals_3_0= ruleEnumLiteral - { - - newCompositeNode(grammarAccess.getEnumDeclarationAccess().getLiteralsEnumLiteralParserRuleCall_2_0_1_0_0()); - - pushFollow(FOLLOW_14); - lv_literals_3_0=ruleEnumLiteral(); - - state._fsp--; - - - if (current==null) { - current = createModelElementForParent(grammarAccess.getEnumDeclarationRule()); - } - add( - current, - "literals", - lv_literals_3_0, - "org.eclipse.viatra.solver.language.Problem.EnumLiteral"); - afterParserOrEnumRuleCall(); - - - } - - - } - - // InternalProblem.g:403:6: (otherlv_4= ',' ( (lv_literals_5_0= ruleEnumLiteral ) ) )* - loop10: - do { - int alt10=2; - int LA10_0 = input.LA(1); - - if ( (LA10_0==17) ) { - int LA10_1 = input.LA(2); - - if ( (LA10_1==RULE_ID||LA10_1==RULE_QUOTED_ID||(LA10_1>=40 && LA10_1<=41)) ) { - alt10=1; - } - - - } - - - switch (alt10) { - case 1 : - // InternalProblem.g:404:7: otherlv_4= ',' ( (lv_literals_5_0= ruleEnumLiteral ) ) - { - otherlv_4=(Token)match(input,17,FOLLOW_8); - - newLeafNode(otherlv_4, grammarAccess.getEnumDeclarationAccess().getCommaKeyword_2_0_1_1_0()); - - // InternalProblem.g:408:7: ( (lv_literals_5_0= ruleEnumLiteral ) ) - // InternalProblem.g:409:8: (lv_literals_5_0= ruleEnumLiteral ) - { - // InternalProblem.g:409:8: (lv_literals_5_0= ruleEnumLiteral ) - // InternalProblem.g:410:9: lv_literals_5_0= ruleEnumLiteral - { - - newCompositeNode(grammarAccess.getEnumDeclarationAccess().getLiteralsEnumLiteralParserRuleCall_2_0_1_1_1_0()); - - pushFollow(FOLLOW_14); - lv_literals_5_0=ruleEnumLiteral(); - - state._fsp--; - - - if (current==null) { - current = createModelElementForParent(grammarAccess.getEnumDeclarationRule()); - } - add( - current, - "literals", - lv_literals_5_0, - "org.eclipse.viatra.solver.language.Problem.EnumLiteral"); - afterParserOrEnumRuleCall(); - - - } - - - } - - - } - break; - - default : - break loop10; - } - } while (true); - - // InternalProblem.g:428:6: (otherlv_6= ',' | otherlv_7= ';' )? - int alt11=3; - int LA11_0 = input.LA(1); - - if ( (LA11_0==17) ) { - alt11=1; - } - else if ( (LA11_0==19) ) { - alt11=2; - } - switch (alt11) { - case 1 : - // InternalProblem.g:429:7: otherlv_6= ',' - { - otherlv_6=(Token)match(input,17,FOLLOW_15); - - newLeafNode(otherlv_6, grammarAccess.getEnumDeclarationAccess().getCommaKeyword_2_0_1_2_0()); - - - } - break; - case 2 : - // InternalProblem.g:434:7: otherlv_7= ';' - { - otherlv_7=(Token)match(input,19,FOLLOW_15); - - newLeafNode(otherlv_7, grammarAccess.getEnumDeclarationAccess().getSemicolonKeyword_2_0_1_2_1()); - - - } - break; - - } - - - } - break; - - } - - otherlv_8=(Token)match(input,20,FOLLOW_2); - - newLeafNode(otherlv_8, grammarAccess.getEnumDeclarationAccess().getRightCurlyBracketKeyword_2_0_2()); - - - } - - - } - break; - case 2 : - // InternalProblem.g:446:4: otherlv_9= '.' - { - otherlv_9=(Token)match(input,13,FOLLOW_2); - - newLeafNode(otherlv_9, grammarAccess.getEnumDeclarationAccess().getFullStopKeyword_2_1()); - - - } - break; - - } - - - } - - - } - - - leaveRule(); - - } - - catch (RecognitionException re) { - recover(input,re); - appendSkippedTokens(); - } - finally { - } - return current; - } - // $ANTLR end "ruleEnumDeclaration" - - - // $ANTLR start "entryRuleEnumLiteral" - // InternalProblem.g:455:1: entryRuleEnumLiteral returns [EObject current=null] : iv_ruleEnumLiteral= ruleEnumLiteral EOF ; - public final EObject entryRuleEnumLiteral() throws RecognitionException { - EObject current = null; - - EObject iv_ruleEnumLiteral = null; - - - try { - // InternalProblem.g:455:52: (iv_ruleEnumLiteral= ruleEnumLiteral EOF ) - // InternalProblem.g:456:2: iv_ruleEnumLiteral= ruleEnumLiteral EOF - { - newCompositeNode(grammarAccess.getEnumLiteralRule()); - pushFollow(FOLLOW_1); - iv_ruleEnumLiteral=ruleEnumLiteral(); - - state._fsp--; - - current =iv_ruleEnumLiteral; - match(input,EOF,FOLLOW_2); - - } - - } - - catch (RecognitionException re) { - recover(input,re); - appendSkippedTokens(); - } - finally { - } - return current; - } - // $ANTLR end "entryRuleEnumLiteral" - - - // $ANTLR start "ruleEnumLiteral" - // InternalProblem.g:462:1: ruleEnumLiteral returns [EObject current=null] : ( (lv_name_0_0= ruleQuotedOrUnquotedId ) ) ; - public final EObject ruleEnumLiteral() throws RecognitionException { - EObject current = null; - - AntlrDatatypeRuleToken lv_name_0_0 = null; - - - - enterRule(); - - try { - // InternalProblem.g:468:2: ( ( (lv_name_0_0= ruleQuotedOrUnquotedId ) ) ) - // InternalProblem.g:469:2: ( (lv_name_0_0= ruleQuotedOrUnquotedId ) ) - { - // InternalProblem.g:469:2: ( (lv_name_0_0= ruleQuotedOrUnquotedId ) ) - // InternalProblem.g:470:3: (lv_name_0_0= ruleQuotedOrUnquotedId ) - { - // InternalProblem.g:470:3: (lv_name_0_0= ruleQuotedOrUnquotedId ) - // InternalProblem.g:471:4: lv_name_0_0= ruleQuotedOrUnquotedId - { - - newCompositeNode(grammarAccess.getEnumLiteralAccess().getNameQuotedOrUnquotedIdParserRuleCall_0()); - - pushFollow(FOLLOW_2); - lv_name_0_0=ruleQuotedOrUnquotedId(); - - state._fsp--; - - - if (current==null) { - current = createModelElementForParent(grammarAccess.getEnumLiteralRule()); - } - set( - current, - "name", - lv_name_0_0, - "org.eclipse.viatra.solver.language.Problem.QuotedOrUnquotedId"); - afterParserOrEnumRuleCall(); - - - } - - - } - - - } - - - leaveRule(); - - } - - catch (RecognitionException re) { - recover(input,re); - appendSkippedTokens(); - } - finally { - } - return current; - } - // $ANTLR end "ruleEnumLiteral" - - - // $ANTLR start "entryRuleReferenceDeclaration" - // InternalProblem.g:491:1: entryRuleReferenceDeclaration returns [EObject current=null] : iv_ruleReferenceDeclaration= ruleReferenceDeclaration EOF ; - public final EObject entryRuleReferenceDeclaration() throws RecognitionException { - EObject current = null; - - EObject iv_ruleReferenceDeclaration = null; - - - try { - // InternalProblem.g:491:61: (iv_ruleReferenceDeclaration= ruleReferenceDeclaration EOF ) - // InternalProblem.g:492:2: iv_ruleReferenceDeclaration= ruleReferenceDeclaration EOF - { - newCompositeNode(grammarAccess.getReferenceDeclarationRule()); - pushFollow(FOLLOW_1); - iv_ruleReferenceDeclaration=ruleReferenceDeclaration(); - - state._fsp--; - - current =iv_ruleReferenceDeclaration; - match(input,EOF,FOLLOW_2); - - } - - } - - catch (RecognitionException re) { - recover(input,re); - appendSkippedTokens(); - } - finally { - } - return current; - } - // $ANTLR end "entryRuleReferenceDeclaration" - - - // $ANTLR start "ruleReferenceDeclaration" - // InternalProblem.g:498:1: ruleReferenceDeclaration returns [EObject current=null] : ( ( ( (lv_containment_0_0= 'contains' ) ) | otherlv_1= 'refers' )? ( ( ruleQualifiedName ) ) (otherlv_3= '[' ( (lv_multiplicity_4_0= ruleMultiplicity ) ) otherlv_5= ']' )? ( (lv_name_6_0= ruleIdentifier ) ) (otherlv_7= 'opposite' ( ( ruleQualifiedName ) ) )? ) ; - public final EObject ruleReferenceDeclaration() throws RecognitionException { - EObject current = null; - - Token lv_containment_0_0=null; - Token otherlv_1=null; - Token otherlv_3=null; - Token otherlv_5=null; - Token otherlv_7=null; - EObject lv_multiplicity_4_0 = null; - - AntlrDatatypeRuleToken lv_name_6_0 = null; - - - - enterRule(); - - try { - // InternalProblem.g:504:2: ( ( ( ( (lv_containment_0_0= 'contains' ) ) | otherlv_1= 'refers' )? ( ( ruleQualifiedName ) ) (otherlv_3= '[' ( (lv_multiplicity_4_0= ruleMultiplicity ) ) otherlv_5= ']' )? ( (lv_name_6_0= ruleIdentifier ) ) (otherlv_7= 'opposite' ( ( ruleQualifiedName ) ) )? ) ) - // InternalProblem.g:505:2: ( ( ( (lv_containment_0_0= 'contains' ) ) | otherlv_1= 'refers' )? ( ( ruleQualifiedName ) ) (otherlv_3= '[' ( (lv_multiplicity_4_0= ruleMultiplicity ) ) otherlv_5= ']' )? ( (lv_name_6_0= ruleIdentifier ) ) (otherlv_7= 'opposite' ( ( ruleQualifiedName ) ) )? ) - { - // InternalProblem.g:505:2: ( ( ( (lv_containment_0_0= 'contains' ) ) | otherlv_1= 'refers' )? ( ( ruleQualifiedName ) ) (otherlv_3= '[' ( (lv_multiplicity_4_0= ruleMultiplicity ) ) otherlv_5= ']' )? ( (lv_name_6_0= ruleIdentifier ) ) (otherlv_7= 'opposite' ( ( ruleQualifiedName ) ) )? ) - // InternalProblem.g:506:3: ( ( (lv_containment_0_0= 'contains' ) ) | otherlv_1= 'refers' )? ( ( ruleQualifiedName ) ) (otherlv_3= '[' ( (lv_multiplicity_4_0= ruleMultiplicity ) ) otherlv_5= ']' )? ( (lv_name_6_0= ruleIdentifier ) ) (otherlv_7= 'opposite' ( ( ruleQualifiedName ) ) )? - { - // InternalProblem.g:506:3: ( ( (lv_containment_0_0= 'contains' ) ) | otherlv_1= 'refers' )? - int alt14=3; - int LA14_0 = input.LA(1); - - if ( (LA14_0==22) ) { - alt14=1; - } - else if ( (LA14_0==23) ) { - alt14=2; - } - switch (alt14) { - case 1 : - // InternalProblem.g:507:4: ( (lv_containment_0_0= 'contains' ) ) - { - // InternalProblem.g:507:4: ( (lv_containment_0_0= 'contains' ) ) - // InternalProblem.g:508:5: (lv_containment_0_0= 'contains' ) - { - // InternalProblem.g:508:5: (lv_containment_0_0= 'contains' ) - // InternalProblem.g:509:6: lv_containment_0_0= 'contains' - { - lv_containment_0_0=(Token)match(input,22,FOLLOW_8); - - newLeafNode(lv_containment_0_0, grammarAccess.getReferenceDeclarationAccess().getContainmentContainsKeyword_0_0_0()); - - - if (current==null) { - current = createModelElement(grammarAccess.getReferenceDeclarationRule()); - } - setWithLastConsumed(current, "containment", lv_containment_0_0 != null, "contains"); - - - } - - - } - - - } - break; - case 2 : - // InternalProblem.g:522:4: otherlv_1= 'refers' - { - otherlv_1=(Token)match(input,23,FOLLOW_8); - - newLeafNode(otherlv_1, grammarAccess.getReferenceDeclarationAccess().getRefersKeyword_0_1()); - - - } - break; - - } - - // InternalProblem.g:527:3: ( ( ruleQualifiedName ) ) - // InternalProblem.g:528:4: ( ruleQualifiedName ) - { - // InternalProblem.g:528:4: ( ruleQualifiedName ) - // InternalProblem.g:529:5: ruleQualifiedName - { - - if (current==null) { - current = createModelElement(grammarAccess.getReferenceDeclarationRule()); - } - - - newCompositeNode(grammarAccess.getReferenceDeclarationAccess().getReferenceTypeRelationCrossReference_1_0()); - - pushFollow(FOLLOW_16); - ruleQualifiedName(); - - state._fsp--; - - - afterParserOrEnumRuleCall(); - - - } - - - } - - // InternalProblem.g:543:3: (otherlv_3= '[' ( (lv_multiplicity_4_0= ruleMultiplicity ) ) otherlv_5= ']' )? - int alt15=2; - int LA15_0 = input.LA(1); - - if ( (LA15_0==24) ) { - alt15=1; - } - switch (alt15) { - case 1 : - // InternalProblem.g:544:4: otherlv_3= '[' ( (lv_multiplicity_4_0= ruleMultiplicity ) ) otherlv_5= ']' - { - otherlv_3=(Token)match(input,24,FOLLOW_17); - - newLeafNode(otherlv_3, grammarAccess.getReferenceDeclarationAccess().getLeftSquareBracketKeyword_2_0()); - - // InternalProblem.g:548:4: ( (lv_multiplicity_4_0= ruleMultiplicity ) ) - // InternalProblem.g:549:5: (lv_multiplicity_4_0= ruleMultiplicity ) - { - // InternalProblem.g:549:5: (lv_multiplicity_4_0= ruleMultiplicity ) - // InternalProblem.g:550:6: lv_multiplicity_4_0= ruleMultiplicity - { - - newCompositeNode(grammarAccess.getReferenceDeclarationAccess().getMultiplicityMultiplicityParserRuleCall_2_1_0()); - - pushFollow(FOLLOW_18); - lv_multiplicity_4_0=ruleMultiplicity(); - - state._fsp--; - - - if (current==null) { - current = createModelElementForParent(grammarAccess.getReferenceDeclarationRule()); - } - set( - current, - "multiplicity", - lv_multiplicity_4_0, - "org.eclipse.viatra.solver.language.Problem.Multiplicity"); - afterParserOrEnumRuleCall(); - - - } - - - } - - otherlv_5=(Token)match(input,25,FOLLOW_3); - - newLeafNode(otherlv_5, grammarAccess.getReferenceDeclarationAccess().getRightSquareBracketKeyword_2_2()); - - - } - break; - - } - - // InternalProblem.g:572:3: ( (lv_name_6_0= ruleIdentifier ) ) - // InternalProblem.g:573:4: (lv_name_6_0= ruleIdentifier ) - { - // InternalProblem.g:573:4: (lv_name_6_0= ruleIdentifier ) - // InternalProblem.g:574:5: lv_name_6_0= ruleIdentifier - { - - newCompositeNode(grammarAccess.getReferenceDeclarationAccess().getNameIdentifierParserRuleCall_3_0()); - - pushFollow(FOLLOW_19); - lv_name_6_0=ruleIdentifier(); - - state._fsp--; - - - if (current==null) { - current = createModelElementForParent(grammarAccess.getReferenceDeclarationRule()); - } - set( - current, - "name", - lv_name_6_0, - "org.eclipse.viatra.solver.language.Problem.Identifier"); - afterParserOrEnumRuleCall(); - - - } - - - } - - // InternalProblem.g:591:3: (otherlv_7= 'opposite' ( ( ruleQualifiedName ) ) )? - int alt16=2; - int LA16_0 = input.LA(1); - - if ( (LA16_0==26) ) { - alt16=1; - } - switch (alt16) { - case 1 : - // InternalProblem.g:592:4: otherlv_7= 'opposite' ( ( ruleQualifiedName ) ) - { - otherlv_7=(Token)match(input,26,FOLLOW_8); - - newLeafNode(otherlv_7, grammarAccess.getReferenceDeclarationAccess().getOppositeKeyword_4_0()); - - // InternalProblem.g:596:4: ( ( ruleQualifiedName ) ) - // InternalProblem.g:597:5: ( ruleQualifiedName ) - { - // InternalProblem.g:597:5: ( ruleQualifiedName ) - // InternalProblem.g:598:6: ruleQualifiedName - { - - if (current==null) { - current = createModelElement(grammarAccess.getReferenceDeclarationRule()); - } - - - newCompositeNode(grammarAccess.getReferenceDeclarationAccess().getOppositeReferenceDeclarationCrossReference_4_1_0()); - - pushFollow(FOLLOW_2); - ruleQualifiedName(); - - state._fsp--; - - - afterParserOrEnumRuleCall(); - - - } - - - } - - - } - break; - - } - - - } - - - } - - - leaveRule(); - - } - - catch (RecognitionException re) { - recover(input,re); - appendSkippedTokens(); - } - finally { - } - return current; - } - // $ANTLR end "ruleReferenceDeclaration" - - - // $ANTLR start "entryRulePredicateDefinition" - // InternalProblem.g:617:1: entryRulePredicateDefinition returns [EObject current=null] : iv_rulePredicateDefinition= rulePredicateDefinition EOF ; - public final EObject entryRulePredicateDefinition() throws RecognitionException { - EObject current = null; - - EObject iv_rulePredicateDefinition = null; - - - try { - // InternalProblem.g:617:60: (iv_rulePredicateDefinition= rulePredicateDefinition EOF ) - // InternalProblem.g:618:2: iv_rulePredicateDefinition= rulePredicateDefinition EOF - { - newCompositeNode(grammarAccess.getPredicateDefinitionRule()); - pushFollow(FOLLOW_1); - iv_rulePredicateDefinition=rulePredicateDefinition(); - - state._fsp--; - - current =iv_rulePredicateDefinition; - match(input,EOF,FOLLOW_2); - - } - - } - - catch (RecognitionException re) { - recover(input,re); - appendSkippedTokens(); - } - finally { - } - return current; - } - // $ANTLR end "entryRulePredicateDefinition" - - - // $ANTLR start "rulePredicateDefinition" - // InternalProblem.g:624:1: rulePredicateDefinition returns [EObject current=null] : ( ( ( ( (lv_error_0_0= 'error' ) ) (otherlv_1= 'pred' )? ) | otherlv_2= 'pred' ) ( (lv_name_3_0= ruleIdentifier ) ) otherlv_4= '(' ( ( (lv_parameters_5_0= ruleParameter ) ) (otherlv_6= ',' ( (lv_parameters_7_0= ruleParameter ) ) )* )? otherlv_8= ')' (otherlv_9= ':-' ( (lv_bodies_10_0= ruleConjunction ) ) (otherlv_11= ';' ( (lv_bodies_12_0= ruleConjunction ) ) )* )? otherlv_13= '.' ) ; - public final EObject rulePredicateDefinition() throws RecognitionException { - EObject current = null; - - Token lv_error_0_0=null; - Token otherlv_1=null; - Token otherlv_2=null; - Token otherlv_4=null; - Token otherlv_6=null; - Token otherlv_8=null; - Token otherlv_9=null; - Token otherlv_11=null; - Token otherlv_13=null; - AntlrDatatypeRuleToken lv_name_3_0 = null; - - EObject lv_parameters_5_0 = null; - - EObject lv_parameters_7_0 = null; - - EObject lv_bodies_10_0 = null; - - EObject lv_bodies_12_0 = null; - - - - enterRule(); - - try { - // InternalProblem.g:630:2: ( ( ( ( ( (lv_error_0_0= 'error' ) ) (otherlv_1= 'pred' )? ) | otherlv_2= 'pred' ) ( (lv_name_3_0= ruleIdentifier ) ) otherlv_4= '(' ( ( (lv_parameters_5_0= ruleParameter ) ) (otherlv_6= ',' ( (lv_parameters_7_0= ruleParameter ) ) )* )? otherlv_8= ')' (otherlv_9= ':-' ( (lv_bodies_10_0= ruleConjunction ) ) (otherlv_11= ';' ( (lv_bodies_12_0= ruleConjunction ) ) )* )? otherlv_13= '.' ) ) - // InternalProblem.g:631:2: ( ( ( ( (lv_error_0_0= 'error' ) ) (otherlv_1= 'pred' )? ) | otherlv_2= 'pred' ) ( (lv_name_3_0= ruleIdentifier ) ) otherlv_4= '(' ( ( (lv_parameters_5_0= ruleParameter ) ) (otherlv_6= ',' ( (lv_parameters_7_0= ruleParameter ) ) )* )? otherlv_8= ')' (otherlv_9= ':-' ( (lv_bodies_10_0= ruleConjunction ) ) (otherlv_11= ';' ( (lv_bodies_12_0= ruleConjunction ) ) )* )? otherlv_13= '.' ) - { - // InternalProblem.g:631:2: ( ( ( ( (lv_error_0_0= 'error' ) ) (otherlv_1= 'pred' )? ) | otherlv_2= 'pred' ) ( (lv_name_3_0= ruleIdentifier ) ) otherlv_4= '(' ( ( (lv_parameters_5_0= ruleParameter ) ) (otherlv_6= ',' ( (lv_parameters_7_0= ruleParameter ) ) )* )? otherlv_8= ')' (otherlv_9= ':-' ( (lv_bodies_10_0= ruleConjunction ) ) (otherlv_11= ';' ( (lv_bodies_12_0= ruleConjunction ) ) )* )? otherlv_13= '.' ) - // InternalProblem.g:632:3: ( ( ( (lv_error_0_0= 'error' ) ) (otherlv_1= 'pred' )? ) | otherlv_2= 'pred' ) ( (lv_name_3_0= ruleIdentifier ) ) otherlv_4= '(' ( ( (lv_parameters_5_0= ruleParameter ) ) (otherlv_6= ',' ( (lv_parameters_7_0= ruleParameter ) ) )* )? otherlv_8= ')' (otherlv_9= ':-' ( (lv_bodies_10_0= ruleConjunction ) ) (otherlv_11= ';' ( (lv_bodies_12_0= ruleConjunction ) ) )* )? otherlv_13= '.' - { - // InternalProblem.g:632:3: ( ( ( (lv_error_0_0= 'error' ) ) (otherlv_1= 'pred' )? ) | otherlv_2= 'pred' ) - int alt18=2; - int LA18_0 = input.LA(1); - - if ( (LA18_0==27) ) { - alt18=1; - } - else if ( (LA18_0==28) ) { - alt18=2; - } - else { - NoViableAltException nvae = - new NoViableAltException("", 18, 0, input); - - throw nvae; - } - switch (alt18) { - case 1 : - // InternalProblem.g:633:4: ( ( (lv_error_0_0= 'error' ) ) (otherlv_1= 'pred' )? ) - { - // InternalProblem.g:633:4: ( ( (lv_error_0_0= 'error' ) ) (otherlv_1= 'pred' )? ) - // InternalProblem.g:634:5: ( (lv_error_0_0= 'error' ) ) (otherlv_1= 'pred' )? - { - // InternalProblem.g:634:5: ( (lv_error_0_0= 'error' ) ) - // InternalProblem.g:635:6: (lv_error_0_0= 'error' ) - { - // InternalProblem.g:635:6: (lv_error_0_0= 'error' ) - // InternalProblem.g:636:7: lv_error_0_0= 'error' - { - lv_error_0_0=(Token)match(input,27,FOLLOW_20); - - newLeafNode(lv_error_0_0, grammarAccess.getPredicateDefinitionAccess().getErrorErrorKeyword_0_0_0_0()); - - - if (current==null) { - current = createModelElement(grammarAccess.getPredicateDefinitionRule()); - } - setWithLastConsumed(current, "error", lv_error_0_0 != null, "error"); - - - } - - - } - - // InternalProblem.g:648:5: (otherlv_1= 'pred' )? - int alt17=2; - int LA17_0 = input.LA(1); - - if ( (LA17_0==28) ) { - alt17=1; - } - switch (alt17) { - case 1 : - // InternalProblem.g:649:6: otherlv_1= 'pred' - { - otherlv_1=(Token)match(input,28,FOLLOW_3); - - newLeafNode(otherlv_1, grammarAccess.getPredicateDefinitionAccess().getPredKeyword_0_0_1()); - - - } - break; - - } - - - } - - - } - break; - case 2 : - // InternalProblem.g:656:4: otherlv_2= 'pred' - { - otherlv_2=(Token)match(input,28,FOLLOW_3); - - newLeafNode(otherlv_2, grammarAccess.getPredicateDefinitionAccess().getPredKeyword_0_1()); - - - } - break; - - } - - // InternalProblem.g:661:3: ( (lv_name_3_0= ruleIdentifier ) ) - // InternalProblem.g:662:4: (lv_name_3_0= ruleIdentifier ) - { - // InternalProblem.g:662:4: (lv_name_3_0= ruleIdentifier ) - // InternalProblem.g:663:5: lv_name_3_0= ruleIdentifier - { - - newCompositeNode(grammarAccess.getPredicateDefinitionAccess().getNameIdentifierParserRuleCall_1_0()); - - pushFollow(FOLLOW_21); - lv_name_3_0=ruleIdentifier(); - - state._fsp--; - - - if (current==null) { - current = createModelElementForParent(grammarAccess.getPredicateDefinitionRule()); - } - set( - current, - "name", - lv_name_3_0, - "org.eclipse.viatra.solver.language.Problem.Identifier"); - afterParserOrEnumRuleCall(); - - - } - - - } - - otherlv_4=(Token)match(input,29,FOLLOW_22); - - newLeafNode(otherlv_4, grammarAccess.getPredicateDefinitionAccess().getLeftParenthesisKeyword_2()); - - // InternalProblem.g:684:3: ( ( (lv_parameters_5_0= ruleParameter ) ) (otherlv_6= ',' ( (lv_parameters_7_0= ruleParameter ) ) )* )? - int alt20=2; - int LA20_0 = input.LA(1); - - if ( (LA20_0==RULE_ID||LA20_0==RULE_QUOTED_ID||(LA20_0>=40 && LA20_0<=41)) ) { - alt20=1; - } - switch (alt20) { - case 1 : - // InternalProblem.g:685:4: ( (lv_parameters_5_0= ruleParameter ) ) (otherlv_6= ',' ( (lv_parameters_7_0= ruleParameter ) ) )* - { - // InternalProblem.g:685:4: ( (lv_parameters_5_0= ruleParameter ) ) - // InternalProblem.g:686:5: (lv_parameters_5_0= ruleParameter ) - { - // InternalProblem.g:686:5: (lv_parameters_5_0= ruleParameter ) - // InternalProblem.g:687:6: lv_parameters_5_0= ruleParameter - { - - newCompositeNode(grammarAccess.getPredicateDefinitionAccess().getParametersParameterParserRuleCall_3_0_0()); - - pushFollow(FOLLOW_23); - lv_parameters_5_0=ruleParameter(); - - state._fsp--; - - - if (current==null) { - current = createModelElementForParent(grammarAccess.getPredicateDefinitionRule()); - } - add( - current, - "parameters", - lv_parameters_5_0, - "org.eclipse.viatra.solver.language.Problem.Parameter"); - afterParserOrEnumRuleCall(); - - - } - - - } - - // InternalProblem.g:704:4: (otherlv_6= ',' ( (lv_parameters_7_0= ruleParameter ) ) )* - loop19: - do { - int alt19=2; - int LA19_0 = input.LA(1); - - if ( (LA19_0==17) ) { - alt19=1; - } - - - switch (alt19) { - case 1 : - // InternalProblem.g:705:5: otherlv_6= ',' ( (lv_parameters_7_0= ruleParameter ) ) - { - otherlv_6=(Token)match(input,17,FOLLOW_8); - - newLeafNode(otherlv_6, grammarAccess.getPredicateDefinitionAccess().getCommaKeyword_3_1_0()); - - // InternalProblem.g:709:5: ( (lv_parameters_7_0= ruleParameter ) ) - // InternalProblem.g:710:6: (lv_parameters_7_0= ruleParameter ) - { - // InternalProblem.g:710:6: (lv_parameters_7_0= ruleParameter ) - // InternalProblem.g:711:7: lv_parameters_7_0= ruleParameter - { - - newCompositeNode(grammarAccess.getPredicateDefinitionAccess().getParametersParameterParserRuleCall_3_1_1_0()); - - pushFollow(FOLLOW_23); - lv_parameters_7_0=ruleParameter(); - - state._fsp--; - - - if (current==null) { - current = createModelElementForParent(grammarAccess.getPredicateDefinitionRule()); - } - add( - current, - "parameters", - lv_parameters_7_0, - "org.eclipse.viatra.solver.language.Problem.Parameter"); - afterParserOrEnumRuleCall(); - - - } - - - } - - - } - break; - - default : - break loop19; - } - } while (true); - - - } - break; - - } - - otherlv_8=(Token)match(input,30,FOLLOW_24); - - newLeafNode(otherlv_8, grammarAccess.getPredicateDefinitionAccess().getRightParenthesisKeyword_4()); - - // InternalProblem.g:734:3: (otherlv_9= ':-' ( (lv_bodies_10_0= ruleConjunction ) ) (otherlv_11= ';' ( (lv_bodies_12_0= ruleConjunction ) ) )* )? - int alt22=2; - int LA22_0 = input.LA(1); - - if ( (LA22_0==31) ) { - alt22=1; - } - switch (alt22) { - case 1 : - // InternalProblem.g:735:4: otherlv_9= ':-' ( (lv_bodies_10_0= ruleConjunction ) ) (otherlv_11= ';' ( (lv_bodies_12_0= ruleConjunction ) ) )* - { - otherlv_9=(Token)match(input,31,FOLLOW_25); - - newLeafNode(otherlv_9, grammarAccess.getPredicateDefinitionAccess().getColonHyphenMinusKeyword_5_0()); - - // InternalProblem.g:739:4: ( (lv_bodies_10_0= ruleConjunction ) ) - // InternalProblem.g:740:5: (lv_bodies_10_0= ruleConjunction ) - { - // InternalProblem.g:740:5: (lv_bodies_10_0= ruleConjunction ) - // InternalProblem.g:741:6: lv_bodies_10_0= ruleConjunction - { - - newCompositeNode(grammarAccess.getPredicateDefinitionAccess().getBodiesConjunctionParserRuleCall_5_1_0()); - - pushFollow(FOLLOW_26); - lv_bodies_10_0=ruleConjunction(); - - state._fsp--; - - - if (current==null) { - current = createModelElementForParent(grammarAccess.getPredicateDefinitionRule()); - } - add( - current, - "bodies", - lv_bodies_10_0, - "org.eclipse.viatra.solver.language.Problem.Conjunction"); - afterParserOrEnumRuleCall(); - - - } - - - } - - // InternalProblem.g:758:4: (otherlv_11= ';' ( (lv_bodies_12_0= ruleConjunction ) ) )* - loop21: - do { - int alt21=2; - int LA21_0 = input.LA(1); - - if ( (LA21_0==19) ) { - alt21=1; - } - - - switch (alt21) { - case 1 : - // InternalProblem.g:759:5: otherlv_11= ';' ( (lv_bodies_12_0= ruleConjunction ) ) - { - otherlv_11=(Token)match(input,19,FOLLOW_25); - - newLeafNode(otherlv_11, grammarAccess.getPredicateDefinitionAccess().getSemicolonKeyword_5_2_0()); - - // InternalProblem.g:763:5: ( (lv_bodies_12_0= ruleConjunction ) ) - // InternalProblem.g:764:6: (lv_bodies_12_0= ruleConjunction ) - { - // InternalProblem.g:764:6: (lv_bodies_12_0= ruleConjunction ) - // InternalProblem.g:765:7: lv_bodies_12_0= ruleConjunction - { - - newCompositeNode(grammarAccess.getPredicateDefinitionAccess().getBodiesConjunctionParserRuleCall_5_2_1_0()); - - pushFollow(FOLLOW_26); - lv_bodies_12_0=ruleConjunction(); - - state._fsp--; - - - if (current==null) { - current = createModelElementForParent(grammarAccess.getPredicateDefinitionRule()); - } - add( - current, - "bodies", - lv_bodies_12_0, - "org.eclipse.viatra.solver.language.Problem.Conjunction"); - afterParserOrEnumRuleCall(); - - - } - - - } - - - } - break; - - default : - break loop21; - } - } while (true); - - - } - break; - - } - - otherlv_13=(Token)match(input,13,FOLLOW_2); - - newLeafNode(otherlv_13, grammarAccess.getPredicateDefinitionAccess().getFullStopKeyword_6()); - - - } - - - } - - - leaveRule(); - - } - - catch (RecognitionException re) { - recover(input,re); - appendSkippedTokens(); - } - finally { - } - return current; - } - // $ANTLR end "rulePredicateDefinition" - - - // $ANTLR start "entryRuleParameter" - // InternalProblem.g:792:1: entryRuleParameter returns [EObject current=null] : iv_ruleParameter= ruleParameter EOF ; - public final EObject entryRuleParameter() throws RecognitionException { - EObject current = null; - - EObject iv_ruleParameter = null; - - - try { - // InternalProblem.g:792:50: (iv_ruleParameter= ruleParameter EOF ) - // InternalProblem.g:793:2: iv_ruleParameter= ruleParameter EOF - { - newCompositeNode(grammarAccess.getParameterRule()); - pushFollow(FOLLOW_1); - iv_ruleParameter=ruleParameter(); - - state._fsp--; - - current =iv_ruleParameter; - match(input,EOF,FOLLOW_2); - - } - - } - - catch (RecognitionException re) { - recover(input,re); - appendSkippedTokens(); - } - finally { - } - return current; - } - // $ANTLR end "entryRuleParameter" - - - // $ANTLR start "ruleParameter" - // InternalProblem.g:799:1: ruleParameter returns [EObject current=null] : ( ( ( ruleQualifiedName ) )? ( (lv_name_1_0= ruleIdentifier ) ) ) ; - public final EObject ruleParameter() throws RecognitionException { - EObject current = null; - - AntlrDatatypeRuleToken lv_name_1_0 = null; - - - - enterRule(); - - try { - // InternalProblem.g:805:2: ( ( ( ( ruleQualifiedName ) )? ( (lv_name_1_0= ruleIdentifier ) ) ) ) - // InternalProblem.g:806:2: ( ( ( ruleQualifiedName ) )? ( (lv_name_1_0= ruleIdentifier ) ) ) - { - // InternalProblem.g:806:2: ( ( ( ruleQualifiedName ) )? ( (lv_name_1_0= ruleIdentifier ) ) ) - // InternalProblem.g:807:3: ( ( ruleQualifiedName ) )? ( (lv_name_1_0= ruleIdentifier ) ) - { - // InternalProblem.g:807:3: ( ( ruleQualifiedName ) )? - int alt23=2; - switch ( input.LA(1) ) { - case RULE_QUOTED_ID: - { - alt23=1; - } - break; - case RULE_ID: - { - int LA23_2 = input.LA(2); - - if ( (LA23_2==RULE_ID||LA23_2==34||(LA23_2>=40 && LA23_2<=41)) ) { - alt23=1; - } - } - break; - case 40: - { - int LA23_3 = input.LA(2); - - if ( (LA23_3==RULE_ID||LA23_3==34||(LA23_3>=40 && LA23_3<=41)) ) { - alt23=1; - } - } - break; - case 41: - { - int LA23_4 = input.LA(2); - - if ( (LA23_4==RULE_ID||LA23_4==34||(LA23_4>=40 && LA23_4<=41)) ) { - alt23=1; - } - } - break; - } - - switch (alt23) { - case 1 : - // InternalProblem.g:808:4: ( ruleQualifiedName ) - { - // InternalProblem.g:808:4: ( ruleQualifiedName ) - // InternalProblem.g:809:5: ruleQualifiedName - { - - if (current==null) { - current = createModelElement(grammarAccess.getParameterRule()); - } - - - newCompositeNode(grammarAccess.getParameterAccess().getParameterTypeRelationCrossReference_0_0()); - - pushFollow(FOLLOW_3); - ruleQualifiedName(); - - state._fsp--; - - - afterParserOrEnumRuleCall(); - - - } - - - } - break; - - } - - // InternalProblem.g:823:3: ( (lv_name_1_0= ruleIdentifier ) ) - // InternalProblem.g:824:4: (lv_name_1_0= ruleIdentifier ) - { - // InternalProblem.g:824:4: (lv_name_1_0= ruleIdentifier ) - // InternalProblem.g:825:5: lv_name_1_0= ruleIdentifier - { - - newCompositeNode(grammarAccess.getParameterAccess().getNameIdentifierParserRuleCall_1_0()); - - pushFollow(FOLLOW_2); - lv_name_1_0=ruleIdentifier(); - - state._fsp--; - - - if (current==null) { - current = createModelElementForParent(grammarAccess.getParameterRule()); - } - set( - current, - "name", - lv_name_1_0, - "org.eclipse.viatra.solver.language.Problem.Identifier"); - afterParserOrEnumRuleCall(); - - - } - - - } - - - } - - - } - - - leaveRule(); - - } - - catch (RecognitionException re) { - recover(input,re); - appendSkippedTokens(); - } - finally { - } - return current; - } - // $ANTLR end "ruleParameter" - - - // $ANTLR start "entryRuleConjunction" - // InternalProblem.g:846:1: entryRuleConjunction returns [EObject current=null] : iv_ruleConjunction= ruleConjunction EOF ; - public final EObject entryRuleConjunction() throws RecognitionException { - EObject current = null; - - EObject iv_ruleConjunction = null; - - - try { - // InternalProblem.g:846:52: (iv_ruleConjunction= ruleConjunction EOF ) - // InternalProblem.g:847:2: iv_ruleConjunction= ruleConjunction EOF - { - newCompositeNode(grammarAccess.getConjunctionRule()); - pushFollow(FOLLOW_1); - iv_ruleConjunction=ruleConjunction(); - - state._fsp--; - - current =iv_ruleConjunction; - match(input,EOF,FOLLOW_2); - - } - - } - - catch (RecognitionException re) { - recover(input,re); - appendSkippedTokens(); - } - finally { - } - return current; - } - // $ANTLR end "entryRuleConjunction" - - - // $ANTLR start "ruleConjunction" - // InternalProblem.g:853:1: ruleConjunction returns [EObject current=null] : ( ( (lv_literals_0_0= ruleLiteral ) ) (otherlv_1= ',' ( (lv_literals_2_0= ruleLiteral ) ) )* ) ; - public final EObject ruleConjunction() throws RecognitionException { - EObject current = null; - - Token otherlv_1=null; - EObject lv_literals_0_0 = null; - - EObject lv_literals_2_0 = null; - - - - enterRule(); - - try { - // InternalProblem.g:859:2: ( ( ( (lv_literals_0_0= ruleLiteral ) ) (otherlv_1= ',' ( (lv_literals_2_0= ruleLiteral ) ) )* ) ) - // InternalProblem.g:860:2: ( ( (lv_literals_0_0= ruleLiteral ) ) (otherlv_1= ',' ( (lv_literals_2_0= ruleLiteral ) ) )* ) - { - // InternalProblem.g:860:2: ( ( (lv_literals_0_0= ruleLiteral ) ) (otherlv_1= ',' ( (lv_literals_2_0= ruleLiteral ) ) )* ) - // InternalProblem.g:861:3: ( (lv_literals_0_0= ruleLiteral ) ) (otherlv_1= ',' ( (lv_literals_2_0= ruleLiteral ) ) )* - { - // InternalProblem.g:861:3: ( (lv_literals_0_0= ruleLiteral ) ) - // InternalProblem.g:862:4: (lv_literals_0_0= ruleLiteral ) - { - // InternalProblem.g:862:4: (lv_literals_0_0= ruleLiteral ) - // InternalProblem.g:863:5: lv_literals_0_0= ruleLiteral - { - - newCompositeNode(grammarAccess.getConjunctionAccess().getLiteralsLiteralParserRuleCall_0_0()); - - pushFollow(FOLLOW_27); - lv_literals_0_0=ruleLiteral(); - - state._fsp--; - - - if (current==null) { - current = createModelElementForParent(grammarAccess.getConjunctionRule()); - } - add( - current, - "literals", - lv_literals_0_0, - "org.eclipse.viatra.solver.language.Problem.Literal"); - afterParserOrEnumRuleCall(); - - - } - - - } - - // InternalProblem.g:880:3: (otherlv_1= ',' ( (lv_literals_2_0= ruleLiteral ) ) )* - loop24: - do { - int alt24=2; - int LA24_0 = input.LA(1); - - if ( (LA24_0==17) ) { - alt24=1; - } - - - switch (alt24) { - case 1 : - // InternalProblem.g:881:4: otherlv_1= ',' ( (lv_literals_2_0= ruleLiteral ) ) - { - otherlv_1=(Token)match(input,17,FOLLOW_25); - - newLeafNode(otherlv_1, grammarAccess.getConjunctionAccess().getCommaKeyword_1_0()); - - // InternalProblem.g:885:4: ( (lv_literals_2_0= ruleLiteral ) ) - // InternalProblem.g:886:5: (lv_literals_2_0= ruleLiteral ) - { - // InternalProblem.g:886:5: (lv_literals_2_0= ruleLiteral ) - // InternalProblem.g:887:6: lv_literals_2_0= ruleLiteral - { - - newCompositeNode(grammarAccess.getConjunctionAccess().getLiteralsLiteralParserRuleCall_1_1_0()); - - pushFollow(FOLLOW_27); - lv_literals_2_0=ruleLiteral(); - - state._fsp--; - - - if (current==null) { - current = createModelElementForParent(grammarAccess.getConjunctionRule()); - } - add( - current, - "literals", - lv_literals_2_0, - "org.eclipse.viatra.solver.language.Problem.Literal"); - afterParserOrEnumRuleCall(); - - - } - - - } - - - } - break; - - default : - break loop24; - } - } while (true); - - - } - - - } - - - leaveRule(); - - } - - catch (RecognitionException re) { - recover(input,re); - appendSkippedTokens(); - } - finally { - } - return current; - } - // $ANTLR end "ruleConjunction" - - - // $ANTLR start "entryRuleLiteral" - // InternalProblem.g:909:1: entryRuleLiteral returns [EObject current=null] : iv_ruleLiteral= ruleLiteral EOF ; - public final EObject entryRuleLiteral() throws RecognitionException { - EObject current = null; - - EObject iv_ruleLiteral = null; - - - try { - // InternalProblem.g:909:48: (iv_ruleLiteral= ruleLiteral EOF ) - // InternalProblem.g:910:2: iv_ruleLiteral= ruleLiteral EOF - { - newCompositeNode(grammarAccess.getLiteralRule()); - pushFollow(FOLLOW_1); - iv_ruleLiteral=ruleLiteral(); - - state._fsp--; - - current =iv_ruleLiteral; - match(input,EOF,FOLLOW_2); - - } - - } - - catch (RecognitionException re) { - recover(input,re); - appendSkippedTokens(); - } - finally { - } - return current; - } - // $ANTLR end "entryRuleLiteral" - - - // $ANTLR start "ruleLiteral" - // InternalProblem.g:916:1: ruleLiteral returns [EObject current=null] : (this_Atom_0= ruleAtom | this_NegativeLiteral_1= ruleNegativeLiteral ) ; - public final EObject ruleLiteral() throws RecognitionException { - EObject current = null; - - EObject this_Atom_0 = null; - - EObject this_NegativeLiteral_1 = null; - - - - enterRule(); - - try { - // InternalProblem.g:922:2: ( (this_Atom_0= ruleAtom | this_NegativeLiteral_1= ruleNegativeLiteral ) ) - // InternalProblem.g:923:2: (this_Atom_0= ruleAtom | this_NegativeLiteral_1= ruleNegativeLiteral ) - { - // InternalProblem.g:923:2: (this_Atom_0= ruleAtom | this_NegativeLiteral_1= ruleNegativeLiteral ) - int alt25=2; - int LA25_0 = input.LA(1); - - if ( (LA25_0==RULE_ID||LA25_0==RULE_QUOTED_ID||(LA25_0>=40 && LA25_0<=41)) ) { - alt25=1; - } - else if ( (LA25_0==32) ) { - alt25=2; - } - else { - NoViableAltException nvae = - new NoViableAltException("", 25, 0, input); - - throw nvae; - } - switch (alt25) { - case 1 : - // InternalProblem.g:924:3: this_Atom_0= ruleAtom - { - - newCompositeNode(grammarAccess.getLiteralAccess().getAtomParserRuleCall_0()); - - pushFollow(FOLLOW_2); - this_Atom_0=ruleAtom(); - - state._fsp--; - - - current = this_Atom_0; - afterParserOrEnumRuleCall(); - - - } - break; - case 2 : - // InternalProblem.g:933:3: this_NegativeLiteral_1= ruleNegativeLiteral - { - - newCompositeNode(grammarAccess.getLiteralAccess().getNegativeLiteralParserRuleCall_1()); - - pushFollow(FOLLOW_2); - this_NegativeLiteral_1=ruleNegativeLiteral(); - - state._fsp--; - - - current = this_NegativeLiteral_1; - afterParserOrEnumRuleCall(); - - - } - break; - - } - - - } - - - leaveRule(); - - } - - catch (RecognitionException re) { - recover(input,re); - appendSkippedTokens(); - } - finally { - } - return current; - } - // $ANTLR end "ruleLiteral" - - - // $ANTLR start "entryRuleNegativeLiteral" - // InternalProblem.g:945:1: entryRuleNegativeLiteral returns [EObject current=null] : iv_ruleNegativeLiteral= ruleNegativeLiteral EOF ; - public final EObject entryRuleNegativeLiteral() throws RecognitionException { - EObject current = null; - - EObject iv_ruleNegativeLiteral = null; - - - try { - // InternalProblem.g:945:56: (iv_ruleNegativeLiteral= ruleNegativeLiteral EOF ) - // InternalProblem.g:946:2: iv_ruleNegativeLiteral= ruleNegativeLiteral EOF - { - newCompositeNode(grammarAccess.getNegativeLiteralRule()); - pushFollow(FOLLOW_1); - iv_ruleNegativeLiteral=ruleNegativeLiteral(); - - state._fsp--; - - current =iv_ruleNegativeLiteral; - match(input,EOF,FOLLOW_2); - - } - - } - - catch (RecognitionException re) { - recover(input,re); - appendSkippedTokens(); - } - finally { - } - return current; - } - // $ANTLR end "entryRuleNegativeLiteral" - - - // $ANTLR start "ruleNegativeLiteral" - // InternalProblem.g:952:1: ruleNegativeLiteral returns [EObject current=null] : (otherlv_0= '!' ( (lv_atom_1_0= ruleAtom ) ) ) ; - public final EObject ruleNegativeLiteral() throws RecognitionException { - EObject current = null; - - Token otherlv_0=null; - EObject lv_atom_1_0 = null; - - - - enterRule(); - - try { - // InternalProblem.g:958:2: ( (otherlv_0= '!' ( (lv_atom_1_0= ruleAtom ) ) ) ) - // InternalProblem.g:959:2: (otherlv_0= '!' ( (lv_atom_1_0= ruleAtom ) ) ) - { - // InternalProblem.g:959:2: (otherlv_0= '!' ( (lv_atom_1_0= ruleAtom ) ) ) - // InternalProblem.g:960:3: otherlv_0= '!' ( (lv_atom_1_0= ruleAtom ) ) - { - otherlv_0=(Token)match(input,32,FOLLOW_8); - - newLeafNode(otherlv_0, grammarAccess.getNegativeLiteralAccess().getExclamationMarkKeyword_0()); - - // InternalProblem.g:964:3: ( (lv_atom_1_0= ruleAtom ) ) - // InternalProblem.g:965:4: (lv_atom_1_0= ruleAtom ) - { - // InternalProblem.g:965:4: (lv_atom_1_0= ruleAtom ) - // InternalProblem.g:966:5: lv_atom_1_0= ruleAtom - { - - newCompositeNode(grammarAccess.getNegativeLiteralAccess().getAtomAtomParserRuleCall_1_0()); - - pushFollow(FOLLOW_2); - lv_atom_1_0=ruleAtom(); - - state._fsp--; - - - if (current==null) { - current = createModelElementForParent(grammarAccess.getNegativeLiteralRule()); - } - set( - current, - "atom", - lv_atom_1_0, - "org.eclipse.viatra.solver.language.Problem.Atom"); - afterParserOrEnumRuleCall(); - - - } - - - } - - - } - - - } - - - leaveRule(); - - } - - catch (RecognitionException re) { - recover(input,re); - appendSkippedTokens(); - } - finally { - } - return current; - } - // $ANTLR end "ruleNegativeLiteral" - - - // $ANTLR start "entryRuleAtom" - // InternalProblem.g:987:1: entryRuleAtom returns [EObject current=null] : iv_ruleAtom= ruleAtom EOF ; - public final EObject entryRuleAtom() throws RecognitionException { - EObject current = null; - - EObject iv_ruleAtom = null; - - - try { - // InternalProblem.g:987:45: (iv_ruleAtom= ruleAtom EOF ) - // InternalProblem.g:988:2: iv_ruleAtom= ruleAtom EOF - { - newCompositeNode(grammarAccess.getAtomRule()); - pushFollow(FOLLOW_1); - iv_ruleAtom=ruleAtom(); - - state._fsp--; - - current =iv_ruleAtom; - match(input,EOF,FOLLOW_2); - - } - - } - - catch (RecognitionException re) { - recover(input,re); - appendSkippedTokens(); - } - finally { - } - return current; - } - // $ANTLR end "entryRuleAtom" - - - // $ANTLR start "ruleAtom" - // InternalProblem.g:994:1: ruleAtom returns [EObject current=null] : ( ( ( ruleQualifiedName ) ) ( (lv_transitiveClosure_1_0= '+' ) )? otherlv_2= '(' ( ( (lv_arguments_3_0= ruleArgument ) ) (otherlv_4= ',' ( (lv_arguments_5_0= ruleArgument ) ) )* )? otherlv_6= ')' ) ; - public final EObject ruleAtom() throws RecognitionException { - EObject current = null; - - Token lv_transitiveClosure_1_0=null; - Token otherlv_2=null; - Token otherlv_4=null; - Token otherlv_6=null; - EObject lv_arguments_3_0 = null; - - EObject lv_arguments_5_0 = null; - - - - enterRule(); - - try { - // InternalProblem.g:1000:2: ( ( ( ( ruleQualifiedName ) ) ( (lv_transitiveClosure_1_0= '+' ) )? otherlv_2= '(' ( ( (lv_arguments_3_0= ruleArgument ) ) (otherlv_4= ',' ( (lv_arguments_5_0= ruleArgument ) ) )* )? otherlv_6= ')' ) ) - // InternalProblem.g:1001:2: ( ( ( ruleQualifiedName ) ) ( (lv_transitiveClosure_1_0= '+' ) )? otherlv_2= '(' ( ( (lv_arguments_3_0= ruleArgument ) ) (otherlv_4= ',' ( (lv_arguments_5_0= ruleArgument ) ) )* )? otherlv_6= ')' ) - { - // InternalProblem.g:1001:2: ( ( ( ruleQualifiedName ) ) ( (lv_transitiveClosure_1_0= '+' ) )? otherlv_2= '(' ( ( (lv_arguments_3_0= ruleArgument ) ) (otherlv_4= ',' ( (lv_arguments_5_0= ruleArgument ) ) )* )? otherlv_6= ')' ) - // InternalProblem.g:1002:3: ( ( ruleQualifiedName ) ) ( (lv_transitiveClosure_1_0= '+' ) )? otherlv_2= '(' ( ( (lv_arguments_3_0= ruleArgument ) ) (otherlv_4= ',' ( (lv_arguments_5_0= ruleArgument ) ) )* )? otherlv_6= ')' - { - // InternalProblem.g:1002:3: ( ( ruleQualifiedName ) ) - // InternalProblem.g:1003:4: ( ruleQualifiedName ) - { - // InternalProblem.g:1003:4: ( ruleQualifiedName ) - // InternalProblem.g:1004:5: ruleQualifiedName - { - - if (current==null) { - current = createModelElement(grammarAccess.getAtomRule()); - } - - - newCompositeNode(grammarAccess.getAtomAccess().getRelationRelationCrossReference_0_0()); - - pushFollow(FOLLOW_28); - ruleQualifiedName(); - - state._fsp--; - - - afterParserOrEnumRuleCall(); - - - } - - - } - - // InternalProblem.g:1018:3: ( (lv_transitiveClosure_1_0= '+' ) )? - int alt26=2; - int LA26_0 = input.LA(1); - - if ( (LA26_0==33) ) { - alt26=1; - } - switch (alt26) { - case 1 : - // InternalProblem.g:1019:4: (lv_transitiveClosure_1_0= '+' ) - { - // InternalProblem.g:1019:4: (lv_transitiveClosure_1_0= '+' ) - // InternalProblem.g:1020:5: lv_transitiveClosure_1_0= '+' - { - lv_transitiveClosure_1_0=(Token)match(input,33,FOLLOW_21); - - newLeafNode(lv_transitiveClosure_1_0, grammarAccess.getAtomAccess().getTransitiveClosurePlusSignKeyword_1_0()); - - - if (current==null) { - current = createModelElement(grammarAccess.getAtomRule()); - } - setWithLastConsumed(current, "transitiveClosure", lv_transitiveClosure_1_0 != null, "+"); - - - } - - - } - break; - - } - - otherlv_2=(Token)match(input,29,FOLLOW_22); - - newLeafNode(otherlv_2, grammarAccess.getAtomAccess().getLeftParenthesisKeyword_2()); - - // InternalProblem.g:1036:3: ( ( (lv_arguments_3_0= ruleArgument ) ) (otherlv_4= ',' ( (lv_arguments_5_0= ruleArgument ) ) )* )? - int alt28=2; - int LA28_0 = input.LA(1); - - if ( (LA28_0==RULE_ID||LA28_0==RULE_QUOTED_ID||(LA28_0>=40 && LA28_0<=41)) ) { - alt28=1; - } - switch (alt28) { - case 1 : - // InternalProblem.g:1037:4: ( (lv_arguments_3_0= ruleArgument ) ) (otherlv_4= ',' ( (lv_arguments_5_0= ruleArgument ) ) )* - { - // InternalProblem.g:1037:4: ( (lv_arguments_3_0= ruleArgument ) ) - // InternalProblem.g:1038:5: (lv_arguments_3_0= ruleArgument ) - { - // InternalProblem.g:1038:5: (lv_arguments_3_0= ruleArgument ) - // InternalProblem.g:1039:6: lv_arguments_3_0= ruleArgument - { - - newCompositeNode(grammarAccess.getAtomAccess().getArgumentsArgumentParserRuleCall_3_0_0()); - - pushFollow(FOLLOW_23); - lv_arguments_3_0=ruleArgument(); - - state._fsp--; - - - if (current==null) { - current = createModelElementForParent(grammarAccess.getAtomRule()); - } - add( - current, - "arguments", - lv_arguments_3_0, - "org.eclipse.viatra.solver.language.Problem.Argument"); - afterParserOrEnumRuleCall(); - - - } - - - } - - // InternalProblem.g:1056:4: (otherlv_4= ',' ( (lv_arguments_5_0= ruleArgument ) ) )* - loop27: - do { - int alt27=2; - int LA27_0 = input.LA(1); - - if ( (LA27_0==17) ) { - alt27=1; - } - - - switch (alt27) { - case 1 : - // InternalProblem.g:1057:5: otherlv_4= ',' ( (lv_arguments_5_0= ruleArgument ) ) - { - otherlv_4=(Token)match(input,17,FOLLOW_8); - - newLeafNode(otherlv_4, grammarAccess.getAtomAccess().getCommaKeyword_3_1_0()); - - // InternalProblem.g:1061:5: ( (lv_arguments_5_0= ruleArgument ) ) - // InternalProblem.g:1062:6: (lv_arguments_5_0= ruleArgument ) - { - // InternalProblem.g:1062:6: (lv_arguments_5_0= ruleArgument ) - // InternalProblem.g:1063:7: lv_arguments_5_0= ruleArgument - { - - newCompositeNode(grammarAccess.getAtomAccess().getArgumentsArgumentParserRuleCall_3_1_1_0()); - - pushFollow(FOLLOW_23); - lv_arguments_5_0=ruleArgument(); - - state._fsp--; - - - if (current==null) { - current = createModelElementForParent(grammarAccess.getAtomRule()); - } - add( - current, - "arguments", - lv_arguments_5_0, - "org.eclipse.viatra.solver.language.Problem.Argument"); - afterParserOrEnumRuleCall(); - - - } - - - } - - - } - break; - - default : - break loop27; - } - } while (true); - - - } - break; - - } - - otherlv_6=(Token)match(input,30,FOLLOW_2); - - newLeafNode(otherlv_6, grammarAccess.getAtomAccess().getRightParenthesisKeyword_4()); - - - } - - - } - - - leaveRule(); - - } - - catch (RecognitionException re) { - recover(input,re); - appendSkippedTokens(); - } - finally { - } - return current; - } - // $ANTLR end "ruleAtom" - - - // $ANTLR start "entryRuleArgument" - // InternalProblem.g:1090:1: entryRuleArgument returns [EObject current=null] : iv_ruleArgument= ruleArgument EOF ; - public final EObject entryRuleArgument() throws RecognitionException { - EObject current = null; - - EObject iv_ruleArgument = null; - - - try { - // InternalProblem.g:1090:49: (iv_ruleArgument= ruleArgument EOF ) - // InternalProblem.g:1091:2: iv_ruleArgument= ruleArgument EOF - { - newCompositeNode(grammarAccess.getArgumentRule()); - pushFollow(FOLLOW_1); - iv_ruleArgument=ruleArgument(); - - state._fsp--; - - current =iv_ruleArgument; - match(input,EOF,FOLLOW_2); - - } - - } - - catch (RecognitionException re) { - recover(input,re); - appendSkippedTokens(); - } - finally { - } - return current; - } - // $ANTLR end "entryRuleArgument" - - - // $ANTLR start "ruleArgument" - // InternalProblem.g:1097:1: ruleArgument returns [EObject current=null] : ( ( ruleQualifiedName ) ) ; - public final EObject ruleArgument() throws RecognitionException { - EObject current = null; - - - enterRule(); - - try { - // InternalProblem.g:1103:2: ( ( ( ruleQualifiedName ) ) ) - // InternalProblem.g:1104:2: ( ( ruleQualifiedName ) ) - { - // InternalProblem.g:1104:2: ( ( ruleQualifiedName ) ) - // InternalProblem.g:1105:3: ( ruleQualifiedName ) - { - // InternalProblem.g:1105:3: ( ruleQualifiedName ) - // InternalProblem.g:1106:4: ruleQualifiedName - { - - if (current==null) { - current = createModelElement(grammarAccess.getArgumentRule()); - } - - - newCompositeNode(grammarAccess.getArgumentAccess().getVariableOrNodeVariableOrNodeCrossReference_0()); - - pushFollow(FOLLOW_2); - ruleQualifiedName(); - - state._fsp--; - - - afterParserOrEnumRuleCall(); - - - } - - - } - - - } - - - leaveRule(); - - } - - catch (RecognitionException re) { - recover(input,re); - appendSkippedTokens(); - } - finally { - } - return current; - } - // $ANTLR end "ruleArgument" - - - // $ANTLR start "entryRuleAssertion" - // InternalProblem.g:1123:1: entryRuleAssertion returns [EObject current=null] : iv_ruleAssertion= ruleAssertion EOF ; - public final EObject entryRuleAssertion() throws RecognitionException { - EObject current = null; - - EObject iv_ruleAssertion = null; - - - try { - // InternalProblem.g:1123:50: (iv_ruleAssertion= ruleAssertion EOF ) - // InternalProblem.g:1124:2: iv_ruleAssertion= ruleAssertion EOF - { - newCompositeNode(grammarAccess.getAssertionRule()); - pushFollow(FOLLOW_1); - iv_ruleAssertion=ruleAssertion(); - - state._fsp--; - - current =iv_ruleAssertion; - match(input,EOF,FOLLOW_2); - - } - - } - - catch (RecognitionException re) { - recover(input,re); - appendSkippedTokens(); - } - finally { - } - return current; - } - // $ANTLR end "entryRuleAssertion" - - - // $ANTLR start "ruleAssertion" - // InternalProblem.g:1130:1: ruleAssertion returns [EObject current=null] : ( ( ( ( ( ruleQualifiedName ) ) otherlv_1= '(' ( ( ( ruleQualifiedName ) ) (otherlv_3= ',' ( ( ruleQualifiedName ) ) )* )? otherlv_5= ')' otherlv_6= ':' ( (lv_value_7_0= ruleLogicValue ) ) ) | ( ( (lv_value_8_0= ruleShortLogicValue ) )? ( ( ruleQualifiedName ) ) otherlv_10= '(' ( ( ( ruleQualifiedName ) ) (otherlv_12= ',' ( ( ruleQualifiedName ) ) )* )? otherlv_14= ')' ) ) otherlv_15= '.' ) ; - public final EObject ruleAssertion() throws RecognitionException { - EObject current = null; - - Token otherlv_1=null; - Token otherlv_3=null; - Token otherlv_5=null; - Token otherlv_6=null; - Token otherlv_10=null; - Token otherlv_12=null; - Token otherlv_14=null; - Token otherlv_15=null; - Enumerator lv_value_7_0 = null; - - Enumerator lv_value_8_0 = null; - - - - enterRule(); - - try { - // InternalProblem.g:1136:2: ( ( ( ( ( ( ruleQualifiedName ) ) otherlv_1= '(' ( ( ( ruleQualifiedName ) ) (otherlv_3= ',' ( ( ruleQualifiedName ) ) )* )? otherlv_5= ')' otherlv_6= ':' ( (lv_value_7_0= ruleLogicValue ) ) ) | ( ( (lv_value_8_0= ruleShortLogicValue ) )? ( ( ruleQualifiedName ) ) otherlv_10= '(' ( ( ( ruleQualifiedName ) ) (otherlv_12= ',' ( ( ruleQualifiedName ) ) )* )? otherlv_14= ')' ) ) otherlv_15= '.' ) ) - // InternalProblem.g:1137:2: ( ( ( ( ( ruleQualifiedName ) ) otherlv_1= '(' ( ( ( ruleQualifiedName ) ) (otherlv_3= ',' ( ( ruleQualifiedName ) ) )* )? otherlv_5= ')' otherlv_6= ':' ( (lv_value_7_0= ruleLogicValue ) ) ) | ( ( (lv_value_8_0= ruleShortLogicValue ) )? ( ( ruleQualifiedName ) ) otherlv_10= '(' ( ( ( ruleQualifiedName ) ) (otherlv_12= ',' ( ( ruleQualifiedName ) ) )* )? otherlv_14= ')' ) ) otherlv_15= '.' ) - { - // InternalProblem.g:1137:2: ( ( ( ( ( ruleQualifiedName ) ) otherlv_1= '(' ( ( ( ruleQualifiedName ) ) (otherlv_3= ',' ( ( ruleQualifiedName ) ) )* )? otherlv_5= ')' otherlv_6= ':' ( (lv_value_7_0= ruleLogicValue ) ) ) | ( ( (lv_value_8_0= ruleShortLogicValue ) )? ( ( ruleQualifiedName ) ) otherlv_10= '(' ( ( ( ruleQualifiedName ) ) (otherlv_12= ',' ( ( ruleQualifiedName ) ) )* )? otherlv_14= ')' ) ) otherlv_15= '.' ) - // InternalProblem.g:1138:3: ( ( ( ( ruleQualifiedName ) ) otherlv_1= '(' ( ( ( ruleQualifiedName ) ) (otherlv_3= ',' ( ( ruleQualifiedName ) ) )* )? otherlv_5= ')' otherlv_6= ':' ( (lv_value_7_0= ruleLogicValue ) ) ) | ( ( (lv_value_8_0= ruleShortLogicValue ) )? ( ( ruleQualifiedName ) ) otherlv_10= '(' ( ( ( ruleQualifiedName ) ) (otherlv_12= ',' ( ( ruleQualifiedName ) ) )* )? otherlv_14= ')' ) ) otherlv_15= '.' - { - // InternalProblem.g:1138:3: ( ( ( ( ruleQualifiedName ) ) otherlv_1= '(' ( ( ( ruleQualifiedName ) ) (otherlv_3= ',' ( ( ruleQualifiedName ) ) )* )? otherlv_5= ')' otherlv_6= ':' ( (lv_value_7_0= ruleLogicValue ) ) ) | ( ( (lv_value_8_0= ruleShortLogicValue ) )? ( ( ruleQualifiedName ) ) otherlv_10= '(' ( ( ( ruleQualifiedName ) ) (otherlv_12= ',' ( ( ruleQualifiedName ) ) )* )? otherlv_14= ')' ) ) - int alt34=2; - alt34 = dfa34.predict(input); - switch (alt34) { - case 1 : - // InternalProblem.g:1139:4: ( ( ( ruleQualifiedName ) ) otherlv_1= '(' ( ( ( ruleQualifiedName ) ) (otherlv_3= ',' ( ( ruleQualifiedName ) ) )* )? otherlv_5= ')' otherlv_6= ':' ( (lv_value_7_0= ruleLogicValue ) ) ) - { - // InternalProblem.g:1139:4: ( ( ( ruleQualifiedName ) ) otherlv_1= '(' ( ( ( ruleQualifiedName ) ) (otherlv_3= ',' ( ( ruleQualifiedName ) ) )* )? otherlv_5= ')' otherlv_6= ':' ( (lv_value_7_0= ruleLogicValue ) ) ) - // InternalProblem.g:1140:5: ( ( ruleQualifiedName ) ) otherlv_1= '(' ( ( ( ruleQualifiedName ) ) (otherlv_3= ',' ( ( ruleQualifiedName ) ) )* )? otherlv_5= ')' otherlv_6= ':' ( (lv_value_7_0= ruleLogicValue ) ) - { - // InternalProblem.g:1140:5: ( ( ruleQualifiedName ) ) - // InternalProblem.g:1141:6: ( ruleQualifiedName ) - { - // InternalProblem.g:1141:6: ( ruleQualifiedName ) - // InternalProblem.g:1142:7: ruleQualifiedName - { - - if (current==null) { - current = createModelElement(grammarAccess.getAssertionRule()); - } - - - newCompositeNode(grammarAccess.getAssertionAccess().getRelationRelationCrossReference_0_0_0_0()); - - pushFollow(FOLLOW_21); - ruleQualifiedName(); - - state._fsp--; - - - afterParserOrEnumRuleCall(); - - - } - - - } - - otherlv_1=(Token)match(input,29,FOLLOW_22); - - newLeafNode(otherlv_1, grammarAccess.getAssertionAccess().getLeftParenthesisKeyword_0_0_1()); - - // InternalProblem.g:1160:5: ( ( ( ruleQualifiedName ) ) (otherlv_3= ',' ( ( ruleQualifiedName ) ) )* )? - int alt30=2; - int LA30_0 = input.LA(1); - - if ( (LA30_0==RULE_ID||LA30_0==RULE_QUOTED_ID||(LA30_0>=40 && LA30_0<=41)) ) { - alt30=1; - } - switch (alt30) { - case 1 : - // InternalProblem.g:1161:6: ( ( ruleQualifiedName ) ) (otherlv_3= ',' ( ( ruleQualifiedName ) ) )* - { - // InternalProblem.g:1161:6: ( ( ruleQualifiedName ) ) - // InternalProblem.g:1162:7: ( ruleQualifiedName ) - { - // InternalProblem.g:1162:7: ( ruleQualifiedName ) - // InternalProblem.g:1163:8: ruleQualifiedName - { - - if (current==null) { - current = createModelElement(grammarAccess.getAssertionRule()); - } - - - newCompositeNode(grammarAccess.getAssertionAccess().getArgumentsNodeCrossReference_0_0_2_0_0()); - - pushFollow(FOLLOW_23); - ruleQualifiedName(); - - state._fsp--; - - - afterParserOrEnumRuleCall(); - - - } - - - } - - // InternalProblem.g:1177:6: (otherlv_3= ',' ( ( ruleQualifiedName ) ) )* - loop29: - do { - int alt29=2; - int LA29_0 = input.LA(1); - - if ( (LA29_0==17) ) { - alt29=1; - } - - - switch (alt29) { - case 1 : - // InternalProblem.g:1178:7: otherlv_3= ',' ( ( ruleQualifiedName ) ) - { - otherlv_3=(Token)match(input,17,FOLLOW_8); - - newLeafNode(otherlv_3, grammarAccess.getAssertionAccess().getCommaKeyword_0_0_2_1_0()); - - // InternalProblem.g:1182:7: ( ( ruleQualifiedName ) ) - // InternalProblem.g:1183:8: ( ruleQualifiedName ) - { - // InternalProblem.g:1183:8: ( ruleQualifiedName ) - // InternalProblem.g:1184:9: ruleQualifiedName - { - - if (current==null) { - current = createModelElement(grammarAccess.getAssertionRule()); - } - - - newCompositeNode(grammarAccess.getAssertionAccess().getArgumentsNodeCrossReference_0_0_2_1_1_0()); - - pushFollow(FOLLOW_23); - ruleQualifiedName(); - - state._fsp--; - - - afterParserOrEnumRuleCall(); - - - } - - - } - - - } - break; - - default : - break loop29; - } - } while (true); - - - } - break; - - } - - otherlv_5=(Token)match(input,30,FOLLOW_29); - - newLeafNode(otherlv_5, grammarAccess.getAssertionAccess().getRightParenthesisKeyword_0_0_3()); - - otherlv_6=(Token)match(input,34,FOLLOW_30); - - newLeafNode(otherlv_6, grammarAccess.getAssertionAccess().getColonKeyword_0_0_4()); - - // InternalProblem.g:1208:5: ( (lv_value_7_0= ruleLogicValue ) ) - // InternalProblem.g:1209:6: (lv_value_7_0= ruleLogicValue ) - { - // InternalProblem.g:1209:6: (lv_value_7_0= ruleLogicValue ) - // InternalProblem.g:1210:7: lv_value_7_0= ruleLogicValue - { - - newCompositeNode(grammarAccess.getAssertionAccess().getValueLogicValueEnumRuleCall_0_0_5_0()); - - pushFollow(FOLLOW_4); - lv_value_7_0=ruleLogicValue(); - - state._fsp--; - - - if (current==null) { - current = createModelElementForParent(grammarAccess.getAssertionRule()); - } - set( - current, - "value", - lv_value_7_0, - "org.eclipse.viatra.solver.language.Problem.LogicValue"); - afterParserOrEnumRuleCall(); - - - } - - - } - - - } - - - } - break; - case 2 : - // InternalProblem.g:1229:4: ( ( (lv_value_8_0= ruleShortLogicValue ) )? ( ( ruleQualifiedName ) ) otherlv_10= '(' ( ( ( ruleQualifiedName ) ) (otherlv_12= ',' ( ( ruleQualifiedName ) ) )* )? otherlv_14= ')' ) - { - // InternalProblem.g:1229:4: ( ( (lv_value_8_0= ruleShortLogicValue ) )? ( ( ruleQualifiedName ) ) otherlv_10= '(' ( ( ( ruleQualifiedName ) ) (otherlv_12= ',' ( ( ruleQualifiedName ) ) )* )? otherlv_14= ')' ) - // InternalProblem.g:1230:5: ( (lv_value_8_0= ruleShortLogicValue ) )? ( ( ruleQualifiedName ) ) otherlv_10= '(' ( ( ( ruleQualifiedName ) ) (otherlv_12= ',' ( ( ruleQualifiedName ) ) )* )? otherlv_14= ')' - { - // InternalProblem.g:1230:5: ( (lv_value_8_0= ruleShortLogicValue ) )? - int alt31=2; - int LA31_0 = input.LA(1); - - if ( (LA31_0==32||LA31_0==43) ) { - alt31=1; - } - switch (alt31) { - case 1 : - // InternalProblem.g:1231:6: (lv_value_8_0= ruleShortLogicValue ) - { - // InternalProblem.g:1231:6: (lv_value_8_0= ruleShortLogicValue ) - // InternalProblem.g:1232:7: lv_value_8_0= ruleShortLogicValue - { - - newCompositeNode(grammarAccess.getAssertionAccess().getValueShortLogicValueEnumRuleCall_0_1_0_0()); - - pushFollow(FOLLOW_8); - lv_value_8_0=ruleShortLogicValue(); - - state._fsp--; - - - if (current==null) { - current = createModelElementForParent(grammarAccess.getAssertionRule()); - } - set( - current, - "value", - lv_value_8_0, - "org.eclipse.viatra.solver.language.Problem.ShortLogicValue"); - afterParserOrEnumRuleCall(); - - - } - - - } - break; - - } - - // InternalProblem.g:1249:5: ( ( ruleQualifiedName ) ) - // InternalProblem.g:1250:6: ( ruleQualifiedName ) - { - // InternalProblem.g:1250:6: ( ruleQualifiedName ) - // InternalProblem.g:1251:7: ruleQualifiedName - { - - if (current==null) { - current = createModelElement(grammarAccess.getAssertionRule()); - } - - - newCompositeNode(grammarAccess.getAssertionAccess().getRelationRelationCrossReference_0_1_1_0()); - - pushFollow(FOLLOW_21); - ruleQualifiedName(); - - state._fsp--; - - - afterParserOrEnumRuleCall(); - - - } - - - } - - otherlv_10=(Token)match(input,29,FOLLOW_22); - - newLeafNode(otherlv_10, grammarAccess.getAssertionAccess().getLeftParenthesisKeyword_0_1_2()); - - // InternalProblem.g:1269:5: ( ( ( ruleQualifiedName ) ) (otherlv_12= ',' ( ( ruleQualifiedName ) ) )* )? - int alt33=2; - int LA33_0 = input.LA(1); - - if ( (LA33_0==RULE_ID||LA33_0==RULE_QUOTED_ID||(LA33_0>=40 && LA33_0<=41)) ) { - alt33=1; - } - switch (alt33) { - case 1 : - // InternalProblem.g:1270:6: ( ( ruleQualifiedName ) ) (otherlv_12= ',' ( ( ruleQualifiedName ) ) )* - { - // InternalProblem.g:1270:6: ( ( ruleQualifiedName ) ) - // InternalProblem.g:1271:7: ( ruleQualifiedName ) - { - // InternalProblem.g:1271:7: ( ruleQualifiedName ) - // InternalProblem.g:1272:8: ruleQualifiedName - { - - if (current==null) { - current = createModelElement(grammarAccess.getAssertionRule()); - } - - - newCompositeNode(grammarAccess.getAssertionAccess().getArgumentsNodeCrossReference_0_1_3_0_0()); - - pushFollow(FOLLOW_23); - ruleQualifiedName(); - - state._fsp--; - - - afterParserOrEnumRuleCall(); - - - } - - - } - - // InternalProblem.g:1286:6: (otherlv_12= ',' ( ( ruleQualifiedName ) ) )* - loop32: - do { - int alt32=2; - int LA32_0 = input.LA(1); - - if ( (LA32_0==17) ) { - alt32=1; - } - - - switch (alt32) { - case 1 : - // InternalProblem.g:1287:7: otherlv_12= ',' ( ( ruleQualifiedName ) ) - { - otherlv_12=(Token)match(input,17,FOLLOW_8); - - newLeafNode(otherlv_12, grammarAccess.getAssertionAccess().getCommaKeyword_0_1_3_1_0()); - - // InternalProblem.g:1291:7: ( ( ruleQualifiedName ) ) - // InternalProblem.g:1292:8: ( ruleQualifiedName ) - { - // InternalProblem.g:1292:8: ( ruleQualifiedName ) - // InternalProblem.g:1293:9: ruleQualifiedName - { - - if (current==null) { - current = createModelElement(grammarAccess.getAssertionRule()); - } - - - newCompositeNode(grammarAccess.getAssertionAccess().getArgumentsNodeCrossReference_0_1_3_1_1_0()); - - pushFollow(FOLLOW_23); - ruleQualifiedName(); - - state._fsp--; - - - afterParserOrEnumRuleCall(); - - - } - - - } - - - } - break; - - default : - break loop32; - } - } while (true); - - - } - break; - - } - - otherlv_14=(Token)match(input,30,FOLLOW_4); - - newLeafNode(otherlv_14, grammarAccess.getAssertionAccess().getRightParenthesisKeyword_0_1_4()); - - - } - - - } - break; - - } - - otherlv_15=(Token)match(input,13,FOLLOW_2); - - newLeafNode(otherlv_15, grammarAccess.getAssertionAccess().getFullStopKeyword_1()); - - - } - - - } - - - leaveRule(); - - } - - catch (RecognitionException re) { - recover(input,re); - appendSkippedTokens(); - } - finally { - } - return current; - } - // $ANTLR end "ruleAssertion" - - - // $ANTLR start "entryRuleScopeDeclaration" - // InternalProblem.g:1323:1: entryRuleScopeDeclaration returns [EObject current=null] : iv_ruleScopeDeclaration= ruleScopeDeclaration EOF ; - public final EObject entryRuleScopeDeclaration() throws RecognitionException { - EObject current = null; - - EObject iv_ruleScopeDeclaration = null; - - - try { - // InternalProblem.g:1323:57: (iv_ruleScopeDeclaration= ruleScopeDeclaration EOF ) - // InternalProblem.g:1324:2: iv_ruleScopeDeclaration= ruleScopeDeclaration EOF - { - newCompositeNode(grammarAccess.getScopeDeclarationRule()); - pushFollow(FOLLOW_1); - iv_ruleScopeDeclaration=ruleScopeDeclaration(); - - state._fsp--; - - current =iv_ruleScopeDeclaration; - match(input,EOF,FOLLOW_2); - - } - - } - - catch (RecognitionException re) { - recover(input,re); - appendSkippedTokens(); - } - finally { - } - return current; - } - // $ANTLR end "entryRuleScopeDeclaration" - - - // $ANTLR start "ruleScopeDeclaration" - // InternalProblem.g:1330:1: ruleScopeDeclaration returns [EObject current=null] : (otherlv_0= 'scope' ( (lv_typeScopes_1_0= ruleTypeScope ) ) (otherlv_2= ',' ( (lv_typeScopes_3_0= ruleTypeScope ) ) )* otherlv_4= '.' ) ; - public final EObject ruleScopeDeclaration() throws RecognitionException { - EObject current = null; - - Token otherlv_0=null; - Token otherlv_2=null; - Token otherlv_4=null; - EObject lv_typeScopes_1_0 = null; - - EObject lv_typeScopes_3_0 = null; - - - - enterRule(); - - try { - // InternalProblem.g:1336:2: ( (otherlv_0= 'scope' ( (lv_typeScopes_1_0= ruleTypeScope ) ) (otherlv_2= ',' ( (lv_typeScopes_3_0= ruleTypeScope ) ) )* otherlv_4= '.' ) ) - // InternalProblem.g:1337:2: (otherlv_0= 'scope' ( (lv_typeScopes_1_0= ruleTypeScope ) ) (otherlv_2= ',' ( (lv_typeScopes_3_0= ruleTypeScope ) ) )* otherlv_4= '.' ) - { - // InternalProblem.g:1337:2: (otherlv_0= 'scope' ( (lv_typeScopes_1_0= ruleTypeScope ) ) (otherlv_2= ',' ( (lv_typeScopes_3_0= ruleTypeScope ) ) )* otherlv_4= '.' ) - // InternalProblem.g:1338:3: otherlv_0= 'scope' ( (lv_typeScopes_1_0= ruleTypeScope ) ) (otherlv_2= ',' ( (lv_typeScopes_3_0= ruleTypeScope ) ) )* otherlv_4= '.' - { - otherlv_0=(Token)match(input,35,FOLLOW_31); - - newLeafNode(otherlv_0, grammarAccess.getScopeDeclarationAccess().getScopeKeyword_0()); - - // InternalProblem.g:1342:3: ( (lv_typeScopes_1_0= ruleTypeScope ) ) - // InternalProblem.g:1343:4: (lv_typeScopes_1_0= ruleTypeScope ) - { - // InternalProblem.g:1343:4: (lv_typeScopes_1_0= ruleTypeScope ) - // InternalProblem.g:1344:5: lv_typeScopes_1_0= ruleTypeScope - { - - newCompositeNode(grammarAccess.getScopeDeclarationAccess().getTypeScopesTypeScopeParserRuleCall_1_0()); - - pushFollow(FOLLOW_32); - lv_typeScopes_1_0=ruleTypeScope(); - - state._fsp--; - - - if (current==null) { - current = createModelElementForParent(grammarAccess.getScopeDeclarationRule()); - } - add( - current, - "typeScopes", - lv_typeScopes_1_0, - "org.eclipse.viatra.solver.language.Problem.TypeScope"); - afterParserOrEnumRuleCall(); - - - } - - - } - - // InternalProblem.g:1361:3: (otherlv_2= ',' ( (lv_typeScopes_3_0= ruleTypeScope ) ) )* - loop35: - do { - int alt35=2; - int LA35_0 = input.LA(1); - - if ( (LA35_0==17) ) { - alt35=1; - } - - - switch (alt35) { - case 1 : - // InternalProblem.g:1362:4: otherlv_2= ',' ( (lv_typeScopes_3_0= ruleTypeScope ) ) - { - otherlv_2=(Token)match(input,17,FOLLOW_31); - - newLeafNode(otherlv_2, grammarAccess.getScopeDeclarationAccess().getCommaKeyword_2_0()); - - // InternalProblem.g:1366:4: ( (lv_typeScopes_3_0= ruleTypeScope ) ) - // InternalProblem.g:1367:5: (lv_typeScopes_3_0= ruleTypeScope ) - { - // InternalProblem.g:1367:5: (lv_typeScopes_3_0= ruleTypeScope ) - // InternalProblem.g:1368:6: lv_typeScopes_3_0= ruleTypeScope - { - - newCompositeNode(grammarAccess.getScopeDeclarationAccess().getTypeScopesTypeScopeParserRuleCall_2_1_0()); - - pushFollow(FOLLOW_32); - lv_typeScopes_3_0=ruleTypeScope(); - - state._fsp--; - - - if (current==null) { - current = createModelElementForParent(grammarAccess.getScopeDeclarationRule()); - } - add( - current, - "typeScopes", - lv_typeScopes_3_0, - "org.eclipse.viatra.solver.language.Problem.TypeScope"); - afterParserOrEnumRuleCall(); - - - } - - - } - - - } - break; - - default : - break loop35; - } - } while (true); - - otherlv_4=(Token)match(input,13,FOLLOW_2); - - newLeafNode(otherlv_4, grammarAccess.getScopeDeclarationAccess().getFullStopKeyword_3()); - - - } - - - } - - - leaveRule(); - - } - - catch (RecognitionException re) { - recover(input,re); - appendSkippedTokens(); - } - finally { - } - return current; - } - // $ANTLR end "ruleScopeDeclaration" - - - // $ANTLR start "entryRuleTypeScope" - // InternalProblem.g:1394:1: entryRuleTypeScope returns [EObject current=null] : iv_ruleTypeScope= ruleTypeScope EOF ; - public final EObject entryRuleTypeScope() throws RecognitionException { - EObject current = null; - - EObject iv_ruleTypeScope = null; - - - try { - // InternalProblem.g:1394:50: (iv_ruleTypeScope= ruleTypeScope EOF ) - // InternalProblem.g:1395:2: iv_ruleTypeScope= ruleTypeScope EOF - { - newCompositeNode(grammarAccess.getTypeScopeRule()); - pushFollow(FOLLOW_1); - iv_ruleTypeScope=ruleTypeScope(); - - state._fsp--; - - current =iv_ruleTypeScope; - match(input,EOF,FOLLOW_2); - - } - - } - - catch (RecognitionException re) { - recover(input,re); - appendSkippedTokens(); - } - finally { - } - return current; - } - // $ANTLR end "entryRuleTypeScope" - - - // $ANTLR start "ruleTypeScope" - // InternalProblem.g:1401:1: ruleTypeScope returns [EObject current=null] : ( ( (otherlv_0= RULE_ID ) ) ( ( (lv_increment_1_0= '+=' ) ) | otherlv_2= '=' ) ( (lv_multiplicity_3_0= ruleDefiniteMultiplicity ) ) ) ; - public final EObject ruleTypeScope() throws RecognitionException { - EObject current = null; - - Token otherlv_0=null; - Token lv_increment_1_0=null; - Token otherlv_2=null; - EObject lv_multiplicity_3_0 = null; - - - - enterRule(); - - try { - // InternalProblem.g:1407:2: ( ( ( (otherlv_0= RULE_ID ) ) ( ( (lv_increment_1_0= '+=' ) ) | otherlv_2= '=' ) ( (lv_multiplicity_3_0= ruleDefiniteMultiplicity ) ) ) ) - // InternalProblem.g:1408:2: ( ( (otherlv_0= RULE_ID ) ) ( ( (lv_increment_1_0= '+=' ) ) | otherlv_2= '=' ) ( (lv_multiplicity_3_0= ruleDefiniteMultiplicity ) ) ) - { - // InternalProblem.g:1408:2: ( ( (otherlv_0= RULE_ID ) ) ( ( (lv_increment_1_0= '+=' ) ) | otherlv_2= '=' ) ( (lv_multiplicity_3_0= ruleDefiniteMultiplicity ) ) ) - // InternalProblem.g:1409:3: ( (otherlv_0= RULE_ID ) ) ( ( (lv_increment_1_0= '+=' ) ) | otherlv_2= '=' ) ( (lv_multiplicity_3_0= ruleDefiniteMultiplicity ) ) - { - // InternalProblem.g:1409:3: ( (otherlv_0= RULE_ID ) ) - // InternalProblem.g:1410:4: (otherlv_0= RULE_ID ) - { - // InternalProblem.g:1410:4: (otherlv_0= RULE_ID ) - // InternalProblem.g:1411:5: otherlv_0= RULE_ID - { - - if (current==null) { - current = createModelElement(grammarAccess.getTypeScopeRule()); - } - - otherlv_0=(Token)match(input,RULE_ID,FOLLOW_33); - - newLeafNode(otherlv_0, grammarAccess.getTypeScopeAccess().getTargetTypeClassDeclarationCrossReference_0_0()); - - - } - - - } - - // InternalProblem.g:1422:3: ( ( (lv_increment_1_0= '+=' ) ) | otherlv_2= '=' ) - int alt36=2; - int LA36_0 = input.LA(1); - - if ( (LA36_0==36) ) { - alt36=1; - } - else if ( (LA36_0==37) ) { - alt36=2; - } - else { - NoViableAltException nvae = - new NoViableAltException("", 36, 0, input); - - throw nvae; - } - switch (alt36) { - case 1 : - // InternalProblem.g:1423:4: ( (lv_increment_1_0= '+=' ) ) - { - // InternalProblem.g:1423:4: ( (lv_increment_1_0= '+=' ) ) - // InternalProblem.g:1424:5: (lv_increment_1_0= '+=' ) - { - // InternalProblem.g:1424:5: (lv_increment_1_0= '+=' ) - // InternalProblem.g:1425:6: lv_increment_1_0= '+=' - { - lv_increment_1_0=(Token)match(input,36,FOLLOW_17); - - newLeafNode(lv_increment_1_0, grammarAccess.getTypeScopeAccess().getIncrementPlusSignEqualsSignKeyword_1_0_0()); - - - if (current==null) { - current = createModelElement(grammarAccess.getTypeScopeRule()); - } - setWithLastConsumed(current, "increment", lv_increment_1_0 != null, "+="); - - - } - - - } - - - } - break; - case 2 : - // InternalProblem.g:1438:4: otherlv_2= '=' - { - otherlv_2=(Token)match(input,37,FOLLOW_17); - - newLeafNode(otherlv_2, grammarAccess.getTypeScopeAccess().getEqualsSignKeyword_1_1()); - - - } - break; - - } - - // InternalProblem.g:1443:3: ( (lv_multiplicity_3_0= ruleDefiniteMultiplicity ) ) - // InternalProblem.g:1444:4: (lv_multiplicity_3_0= ruleDefiniteMultiplicity ) - { - // InternalProblem.g:1444:4: (lv_multiplicity_3_0= ruleDefiniteMultiplicity ) - // InternalProblem.g:1445:5: lv_multiplicity_3_0= ruleDefiniteMultiplicity - { - - newCompositeNode(grammarAccess.getTypeScopeAccess().getMultiplicityDefiniteMultiplicityParserRuleCall_2_0()); - - pushFollow(FOLLOW_2); - lv_multiplicity_3_0=ruleDefiniteMultiplicity(); - - state._fsp--; - - - if (current==null) { - current = createModelElementForParent(grammarAccess.getTypeScopeRule()); - } - set( - current, - "multiplicity", - lv_multiplicity_3_0, - "org.eclipse.viatra.solver.language.Problem.DefiniteMultiplicity"); - afterParserOrEnumRuleCall(); - - - } - - - } - - - } - - - } - - - leaveRule(); - - } - - catch (RecognitionException re) { - recover(input,re); - appendSkippedTokens(); - } - finally { - } - return current; - } - // $ANTLR end "ruleTypeScope" - - - // $ANTLR start "entryRuleMultiplicity" - // InternalProblem.g:1466:1: entryRuleMultiplicity returns [EObject current=null] : iv_ruleMultiplicity= ruleMultiplicity EOF ; - public final EObject entryRuleMultiplicity() throws RecognitionException { - EObject current = null; - - EObject iv_ruleMultiplicity = null; - - - try { - // InternalProblem.g:1466:53: (iv_ruleMultiplicity= ruleMultiplicity EOF ) - // InternalProblem.g:1467:2: iv_ruleMultiplicity= ruleMultiplicity EOF - { - newCompositeNode(grammarAccess.getMultiplicityRule()); - pushFollow(FOLLOW_1); - iv_ruleMultiplicity=ruleMultiplicity(); - - state._fsp--; - - current =iv_ruleMultiplicity; - match(input,EOF,FOLLOW_2); - - } - - } - - catch (RecognitionException re) { - recover(input,re); - appendSkippedTokens(); - } - finally { - } - return current; - } - // $ANTLR end "entryRuleMultiplicity" - - - // $ANTLR start "ruleMultiplicity" - // InternalProblem.g:1473:1: ruleMultiplicity returns [EObject current=null] : (this_UnboundedMultiplicity_0= ruleUnboundedMultiplicity | this_DefiniteMultiplicity_1= ruleDefiniteMultiplicity ) ; - public final EObject ruleMultiplicity() throws RecognitionException { - EObject current = null; - - EObject this_UnboundedMultiplicity_0 = null; - - EObject this_DefiniteMultiplicity_1 = null; - - - - enterRule(); - - try { - // InternalProblem.g:1479:2: ( (this_UnboundedMultiplicity_0= ruleUnboundedMultiplicity | this_DefiniteMultiplicity_1= ruleDefiniteMultiplicity ) ) - // InternalProblem.g:1480:2: (this_UnboundedMultiplicity_0= ruleUnboundedMultiplicity | this_DefiniteMultiplicity_1= ruleDefiniteMultiplicity ) - { - // InternalProblem.g:1480:2: (this_UnboundedMultiplicity_0= ruleUnboundedMultiplicity | this_DefiniteMultiplicity_1= ruleDefiniteMultiplicity ) - int alt37=2; - int LA37_0 = input.LA(1); - - if ( (LA37_0==EOF||LA37_0==25) ) { - alt37=1; - } - else if ( (LA37_0==RULE_INT) ) { - alt37=2; - } - else { - NoViableAltException nvae = - new NoViableAltException("", 37, 0, input); - - throw nvae; - } - switch (alt37) { - case 1 : - // InternalProblem.g:1481:3: this_UnboundedMultiplicity_0= ruleUnboundedMultiplicity - { - - newCompositeNode(grammarAccess.getMultiplicityAccess().getUnboundedMultiplicityParserRuleCall_0()); - - pushFollow(FOLLOW_2); - this_UnboundedMultiplicity_0=ruleUnboundedMultiplicity(); - - state._fsp--; - - - current = this_UnboundedMultiplicity_0; - afterParserOrEnumRuleCall(); - - - } - break; - case 2 : - // InternalProblem.g:1490:3: this_DefiniteMultiplicity_1= ruleDefiniteMultiplicity - { - - newCompositeNode(grammarAccess.getMultiplicityAccess().getDefiniteMultiplicityParserRuleCall_1()); - - pushFollow(FOLLOW_2); - this_DefiniteMultiplicity_1=ruleDefiniteMultiplicity(); - - state._fsp--; - - - current = this_DefiniteMultiplicity_1; - afterParserOrEnumRuleCall(); - - - } - break; - - } - - - } - - - leaveRule(); - - } - - catch (RecognitionException re) { - recover(input,re); - appendSkippedTokens(); - } - finally { - } - return current; - } - // $ANTLR end "ruleMultiplicity" - - - // $ANTLR start "entryRuleDefiniteMultiplicity" - // InternalProblem.g:1502:1: entryRuleDefiniteMultiplicity returns [EObject current=null] : iv_ruleDefiniteMultiplicity= ruleDefiniteMultiplicity EOF ; - public final EObject entryRuleDefiniteMultiplicity() throws RecognitionException { - EObject current = null; - - EObject iv_ruleDefiniteMultiplicity = null; - - - try { - // InternalProblem.g:1502:61: (iv_ruleDefiniteMultiplicity= ruleDefiniteMultiplicity EOF ) - // InternalProblem.g:1503:2: iv_ruleDefiniteMultiplicity= ruleDefiniteMultiplicity EOF - { - newCompositeNode(grammarAccess.getDefiniteMultiplicityRule()); - pushFollow(FOLLOW_1); - iv_ruleDefiniteMultiplicity=ruleDefiniteMultiplicity(); - - state._fsp--; - - current =iv_ruleDefiniteMultiplicity; - match(input,EOF,FOLLOW_2); - - } - - } - - catch (RecognitionException re) { - recover(input,re); - appendSkippedTokens(); - } - finally { - } - return current; - } - // $ANTLR end "entryRuleDefiniteMultiplicity" - - - // $ANTLR start "ruleDefiniteMultiplicity" - // InternalProblem.g:1509:1: ruleDefiniteMultiplicity returns [EObject current=null] : (this_RangeMultiplicity_0= ruleRangeMultiplicity | this_ExactMultiplicity_1= ruleExactMultiplicity ) ; - public final EObject ruleDefiniteMultiplicity() throws RecognitionException { - EObject current = null; - - EObject this_RangeMultiplicity_0 = null; - - EObject this_ExactMultiplicity_1 = null; - - - - enterRule(); - - try { - // InternalProblem.g:1515:2: ( (this_RangeMultiplicity_0= ruleRangeMultiplicity | this_ExactMultiplicity_1= ruleExactMultiplicity ) ) - // InternalProblem.g:1516:2: (this_RangeMultiplicity_0= ruleRangeMultiplicity | this_ExactMultiplicity_1= ruleExactMultiplicity ) - { - // InternalProblem.g:1516:2: (this_RangeMultiplicity_0= ruleRangeMultiplicity | this_ExactMultiplicity_1= ruleExactMultiplicity ) - int alt38=2; - int LA38_0 = input.LA(1); - - if ( (LA38_0==RULE_INT) ) { - int LA38_1 = input.LA(2); - - if ( (LA38_1==38) ) { - alt38=1; - } - else if ( (LA38_1==EOF||LA38_1==13||LA38_1==17||LA38_1==25) ) { - alt38=2; - } - else { - NoViableAltException nvae = - new NoViableAltException("", 38, 1, input); - - throw nvae; - } - } - else { - NoViableAltException nvae = - new NoViableAltException("", 38, 0, input); - - throw nvae; - } - switch (alt38) { - case 1 : - // InternalProblem.g:1517:3: this_RangeMultiplicity_0= ruleRangeMultiplicity - { - - newCompositeNode(grammarAccess.getDefiniteMultiplicityAccess().getRangeMultiplicityParserRuleCall_0()); - - pushFollow(FOLLOW_2); - this_RangeMultiplicity_0=ruleRangeMultiplicity(); - - state._fsp--; - - - current = this_RangeMultiplicity_0; - afterParserOrEnumRuleCall(); - - - } - break; - case 2 : - // InternalProblem.g:1526:3: this_ExactMultiplicity_1= ruleExactMultiplicity - { - - newCompositeNode(grammarAccess.getDefiniteMultiplicityAccess().getExactMultiplicityParserRuleCall_1()); - - pushFollow(FOLLOW_2); - this_ExactMultiplicity_1=ruleExactMultiplicity(); - - state._fsp--; - - - current = this_ExactMultiplicity_1; - afterParserOrEnumRuleCall(); - - - } - break; - - } - - - } - - - leaveRule(); - - } - - catch (RecognitionException re) { - recover(input,re); - appendSkippedTokens(); - } - finally { - } - return current; - } - // $ANTLR end "ruleDefiniteMultiplicity" - - - // $ANTLR start "entryRuleUnboundedMultiplicity" - // InternalProblem.g:1538:1: entryRuleUnboundedMultiplicity returns [EObject current=null] : iv_ruleUnboundedMultiplicity= ruleUnboundedMultiplicity EOF ; - public final EObject entryRuleUnboundedMultiplicity() throws RecognitionException { - EObject current = null; - - EObject iv_ruleUnboundedMultiplicity = null; - - - try { - // InternalProblem.g:1538:62: (iv_ruleUnboundedMultiplicity= ruleUnboundedMultiplicity EOF ) - // InternalProblem.g:1539:2: iv_ruleUnboundedMultiplicity= ruleUnboundedMultiplicity EOF - { - newCompositeNode(grammarAccess.getUnboundedMultiplicityRule()); - pushFollow(FOLLOW_1); - iv_ruleUnboundedMultiplicity=ruleUnboundedMultiplicity(); - - state._fsp--; - - current =iv_ruleUnboundedMultiplicity; - match(input,EOF,FOLLOW_2); - - } - - } - - catch (RecognitionException re) { - recover(input,re); - appendSkippedTokens(); - } - finally { - } - return current; - } - // $ANTLR end "entryRuleUnboundedMultiplicity" - - - // $ANTLR start "ruleUnboundedMultiplicity" - // InternalProblem.g:1545:1: ruleUnboundedMultiplicity returns [EObject current=null] : () ; - public final EObject ruleUnboundedMultiplicity() throws RecognitionException { - EObject current = null; - - - enterRule(); - - try { - // InternalProblem.g:1551:2: ( () ) - // InternalProblem.g:1552:2: () - { - // InternalProblem.g:1552:2: () - // InternalProblem.g:1553:3: - { - - current = forceCreateModelElement( - grammarAccess.getUnboundedMultiplicityAccess().getUnboundedMultiplicityAction(), - current); - - - } - - - } - - - leaveRule(); - - } - finally { - } - return current; - } - // $ANTLR end "ruleUnboundedMultiplicity" - - - // $ANTLR start "entryRuleRangeMultiplicity" - // InternalProblem.g:1562:1: entryRuleRangeMultiplicity returns [EObject current=null] : iv_ruleRangeMultiplicity= ruleRangeMultiplicity EOF ; - public final EObject entryRuleRangeMultiplicity() throws RecognitionException { - EObject current = null; - - EObject iv_ruleRangeMultiplicity = null; - - - try { - // InternalProblem.g:1562:58: (iv_ruleRangeMultiplicity= ruleRangeMultiplicity EOF ) - // InternalProblem.g:1563:2: iv_ruleRangeMultiplicity= ruleRangeMultiplicity EOF - { - newCompositeNode(grammarAccess.getRangeMultiplicityRule()); - pushFollow(FOLLOW_1); - iv_ruleRangeMultiplicity=ruleRangeMultiplicity(); - - state._fsp--; - - current =iv_ruleRangeMultiplicity; - match(input,EOF,FOLLOW_2); - - } - - } - - catch (RecognitionException re) { - recover(input,re); - appendSkippedTokens(); - } - finally { - } - return current; - } - // $ANTLR end "entryRuleRangeMultiplicity" - - - // $ANTLR start "ruleRangeMultiplicity" - // InternalProblem.g:1569:1: ruleRangeMultiplicity returns [EObject current=null] : ( ( (lv_lowerBound_0_0= RULE_INT ) ) otherlv_1= '..' ( (lv_upperBound_2_0= ruleUpperBound ) ) ) ; - public final EObject ruleRangeMultiplicity() throws RecognitionException { - EObject current = null; - - Token lv_lowerBound_0_0=null; - Token otherlv_1=null; - AntlrDatatypeRuleToken lv_upperBound_2_0 = null; - - - - enterRule(); - - try { - // InternalProblem.g:1575:2: ( ( ( (lv_lowerBound_0_0= RULE_INT ) ) otherlv_1= '..' ( (lv_upperBound_2_0= ruleUpperBound ) ) ) ) - // InternalProblem.g:1576:2: ( ( (lv_lowerBound_0_0= RULE_INT ) ) otherlv_1= '..' ( (lv_upperBound_2_0= ruleUpperBound ) ) ) - { - // InternalProblem.g:1576:2: ( ( (lv_lowerBound_0_0= RULE_INT ) ) otherlv_1= '..' ( (lv_upperBound_2_0= ruleUpperBound ) ) ) - // InternalProblem.g:1577:3: ( (lv_lowerBound_0_0= RULE_INT ) ) otherlv_1= '..' ( (lv_upperBound_2_0= ruleUpperBound ) ) - { - // InternalProblem.g:1577:3: ( (lv_lowerBound_0_0= RULE_INT ) ) - // InternalProblem.g:1578:4: (lv_lowerBound_0_0= RULE_INT ) - { - // InternalProblem.g:1578:4: (lv_lowerBound_0_0= RULE_INT ) - // InternalProblem.g:1579:5: lv_lowerBound_0_0= RULE_INT - { - lv_lowerBound_0_0=(Token)match(input,RULE_INT,FOLLOW_34); - - newLeafNode(lv_lowerBound_0_0, grammarAccess.getRangeMultiplicityAccess().getLowerBoundINTTerminalRuleCall_0_0()); - - - if (current==null) { - current = createModelElement(grammarAccess.getRangeMultiplicityRule()); - } - setWithLastConsumed( - current, - "lowerBound", - lv_lowerBound_0_0, - "org.eclipse.xtext.common.Terminals.INT"); - - - } - - - } - - otherlv_1=(Token)match(input,38,FOLLOW_35); - - newLeafNode(otherlv_1, grammarAccess.getRangeMultiplicityAccess().getFullStopFullStopKeyword_1()); - - // InternalProblem.g:1599:3: ( (lv_upperBound_2_0= ruleUpperBound ) ) - // InternalProblem.g:1600:4: (lv_upperBound_2_0= ruleUpperBound ) - { - // InternalProblem.g:1600:4: (lv_upperBound_2_0= ruleUpperBound ) - // InternalProblem.g:1601:5: lv_upperBound_2_0= ruleUpperBound - { - - newCompositeNode(grammarAccess.getRangeMultiplicityAccess().getUpperBoundUpperBoundParserRuleCall_2_0()); - - pushFollow(FOLLOW_2); - lv_upperBound_2_0=ruleUpperBound(); - - state._fsp--; - - - if (current==null) { - current = createModelElementForParent(grammarAccess.getRangeMultiplicityRule()); - } - set( - current, - "upperBound", - lv_upperBound_2_0, - "org.eclipse.viatra.solver.language.Problem.UpperBound"); - afterParserOrEnumRuleCall(); - - - } - - - } - - - } - - - } - - - leaveRule(); - - } - - catch (RecognitionException re) { - recover(input,re); - appendSkippedTokens(); - } - finally { - } - return current; - } - // $ANTLR end "ruleRangeMultiplicity" - - - // $ANTLR start "entryRuleExactMultiplicity" - // InternalProblem.g:1622:1: entryRuleExactMultiplicity returns [EObject current=null] : iv_ruleExactMultiplicity= ruleExactMultiplicity EOF ; - public final EObject entryRuleExactMultiplicity() throws RecognitionException { - EObject current = null; - - EObject iv_ruleExactMultiplicity = null; - - - try { - // InternalProblem.g:1622:58: (iv_ruleExactMultiplicity= ruleExactMultiplicity EOF ) - // InternalProblem.g:1623:2: iv_ruleExactMultiplicity= ruleExactMultiplicity EOF - { - newCompositeNode(grammarAccess.getExactMultiplicityRule()); - pushFollow(FOLLOW_1); - iv_ruleExactMultiplicity=ruleExactMultiplicity(); - - state._fsp--; - - current =iv_ruleExactMultiplicity; - match(input,EOF,FOLLOW_2); - - } - - } - - catch (RecognitionException re) { - recover(input,re); - appendSkippedTokens(); - } - finally { - } - return current; - } - // $ANTLR end "entryRuleExactMultiplicity" - - - // $ANTLR start "ruleExactMultiplicity" - // InternalProblem.g:1629:1: ruleExactMultiplicity returns [EObject current=null] : ( (lv_exactValue_0_0= RULE_INT ) ) ; - public final EObject ruleExactMultiplicity() throws RecognitionException { - EObject current = null; - - Token lv_exactValue_0_0=null; - - - enterRule(); - - try { - // InternalProblem.g:1635:2: ( ( (lv_exactValue_0_0= RULE_INT ) ) ) - // InternalProblem.g:1636:2: ( (lv_exactValue_0_0= RULE_INT ) ) - { - // InternalProblem.g:1636:2: ( (lv_exactValue_0_0= RULE_INT ) ) - // InternalProblem.g:1637:3: (lv_exactValue_0_0= RULE_INT ) - { - // InternalProblem.g:1637:3: (lv_exactValue_0_0= RULE_INT ) - // InternalProblem.g:1638:4: lv_exactValue_0_0= RULE_INT - { - lv_exactValue_0_0=(Token)match(input,RULE_INT,FOLLOW_2); - - newLeafNode(lv_exactValue_0_0, grammarAccess.getExactMultiplicityAccess().getExactValueINTTerminalRuleCall_0()); - - - if (current==null) { - current = createModelElement(grammarAccess.getExactMultiplicityRule()); - } - setWithLastConsumed( - current, - "exactValue", - lv_exactValue_0_0, - "org.eclipse.xtext.common.Terminals.INT"); - - - } - - - } - - - } - - - leaveRule(); - - } - - catch (RecognitionException re) { - recover(input,re); - appendSkippedTokens(); - } - finally { - } - return current; - } - // $ANTLR end "ruleExactMultiplicity" - - - // $ANTLR start "entryRuleUpperBound" - // InternalProblem.g:1657:1: entryRuleUpperBound returns [String current=null] : iv_ruleUpperBound= ruleUpperBound EOF ; - public final String entryRuleUpperBound() throws RecognitionException { - String current = null; - - AntlrDatatypeRuleToken iv_ruleUpperBound = null; - - - try { - // InternalProblem.g:1657:50: (iv_ruleUpperBound= ruleUpperBound EOF ) - // InternalProblem.g:1658:2: iv_ruleUpperBound= ruleUpperBound EOF - { - newCompositeNode(grammarAccess.getUpperBoundRule()); - pushFollow(FOLLOW_1); - iv_ruleUpperBound=ruleUpperBound(); - - state._fsp--; - - current =iv_ruleUpperBound.getText(); - match(input,EOF,FOLLOW_2); - - } - - } - - catch (RecognitionException re) { - recover(input,re); - appendSkippedTokens(); - } - finally { - } - return current; - } - // $ANTLR end "entryRuleUpperBound" - - - // $ANTLR start "ruleUpperBound" - // InternalProblem.g:1664:1: ruleUpperBound returns [AntlrDatatypeRuleToken current=new AntlrDatatypeRuleToken()] : (this_INT_0= RULE_INT | kw= '*' ) ; - public final AntlrDatatypeRuleToken ruleUpperBound() throws RecognitionException { - AntlrDatatypeRuleToken current = new AntlrDatatypeRuleToken(); - - Token this_INT_0=null; - Token kw=null; - - - enterRule(); - - try { - // InternalProblem.g:1670:2: ( (this_INT_0= RULE_INT | kw= '*' ) ) - // InternalProblem.g:1671:2: (this_INT_0= RULE_INT | kw= '*' ) - { - // InternalProblem.g:1671:2: (this_INT_0= RULE_INT | kw= '*' ) - int alt39=2; - int LA39_0 = input.LA(1); - - if ( (LA39_0==RULE_INT) ) { - alt39=1; - } - else if ( (LA39_0==39) ) { - alt39=2; - } - else { - NoViableAltException nvae = - new NoViableAltException("", 39, 0, input); - - throw nvae; - } - switch (alt39) { - case 1 : - // InternalProblem.g:1672:3: this_INT_0= RULE_INT - { - this_INT_0=(Token)match(input,RULE_INT,FOLLOW_2); - - current.merge(this_INT_0); - - - newLeafNode(this_INT_0, grammarAccess.getUpperBoundAccess().getINTTerminalRuleCall_0()); - - - } - break; - case 2 : - // InternalProblem.g:1680:3: kw= '*' - { - kw=(Token)match(input,39,FOLLOW_2); - - current.merge(kw); - newLeafNode(kw, grammarAccess.getUpperBoundAccess().getAsteriskKeyword_1()); - - - } - break; - - } - - - } - - - leaveRule(); - - } - - catch (RecognitionException re) { - recover(input,re); - appendSkippedTokens(); - } - finally { - } - return current; - } - // $ANTLR end "ruleUpperBound" - - - // $ANTLR start "entryRuleQuotedOrUnquotedId" - // InternalProblem.g:1689:1: entryRuleQuotedOrUnquotedId returns [String current=null] : iv_ruleQuotedOrUnquotedId= ruleQuotedOrUnquotedId EOF ; - public final String entryRuleQuotedOrUnquotedId() throws RecognitionException { - String current = null; - - AntlrDatatypeRuleToken iv_ruleQuotedOrUnquotedId = null; - - - try { - // InternalProblem.g:1689:58: (iv_ruleQuotedOrUnquotedId= ruleQuotedOrUnquotedId EOF ) - // InternalProblem.g:1690:2: iv_ruleQuotedOrUnquotedId= ruleQuotedOrUnquotedId EOF - { - newCompositeNode(grammarAccess.getQuotedOrUnquotedIdRule()); - pushFollow(FOLLOW_1); - iv_ruleQuotedOrUnquotedId=ruleQuotedOrUnquotedId(); - - state._fsp--; - - current =iv_ruleQuotedOrUnquotedId.getText(); - match(input,EOF,FOLLOW_2); - - } - - } - - catch (RecognitionException re) { - recover(input,re); - appendSkippedTokens(); - } - finally { - } - return current; - } - // $ANTLR end "entryRuleQuotedOrUnquotedId" - - - // $ANTLR start "ruleQuotedOrUnquotedId" - // InternalProblem.g:1696:1: ruleQuotedOrUnquotedId returns [AntlrDatatypeRuleToken current=new AntlrDatatypeRuleToken()] : (this_QUOTED_ID_0= RULE_QUOTED_ID | this_Identifier_1= ruleIdentifier ) ; - public final AntlrDatatypeRuleToken ruleQuotedOrUnquotedId() throws RecognitionException { - AntlrDatatypeRuleToken current = new AntlrDatatypeRuleToken(); - - Token this_QUOTED_ID_0=null; - AntlrDatatypeRuleToken this_Identifier_1 = null; - - - - enterRule(); - - try { - // InternalProblem.g:1702:2: ( (this_QUOTED_ID_0= RULE_QUOTED_ID | this_Identifier_1= ruleIdentifier ) ) - // InternalProblem.g:1703:2: (this_QUOTED_ID_0= RULE_QUOTED_ID | this_Identifier_1= ruleIdentifier ) - { - // InternalProblem.g:1703:2: (this_QUOTED_ID_0= RULE_QUOTED_ID | this_Identifier_1= ruleIdentifier ) - int alt40=2; - int LA40_0 = input.LA(1); - - if ( (LA40_0==RULE_QUOTED_ID) ) { - alt40=1; - } - else if ( (LA40_0==RULE_ID||(LA40_0>=40 && LA40_0<=41)) ) { - alt40=2; - } - else { - NoViableAltException nvae = - new NoViableAltException("", 40, 0, input); - - throw nvae; - } - switch (alt40) { - case 1 : - // InternalProblem.g:1704:3: this_QUOTED_ID_0= RULE_QUOTED_ID - { - this_QUOTED_ID_0=(Token)match(input,RULE_QUOTED_ID,FOLLOW_2); - - current.merge(this_QUOTED_ID_0); - - - newLeafNode(this_QUOTED_ID_0, grammarAccess.getQuotedOrUnquotedIdAccess().getQUOTED_IDTerminalRuleCall_0()); - - - } - break; - case 2 : - // InternalProblem.g:1712:3: this_Identifier_1= ruleIdentifier - { - - newCompositeNode(grammarAccess.getQuotedOrUnquotedIdAccess().getIdentifierParserRuleCall_1()); - - pushFollow(FOLLOW_2); - this_Identifier_1=ruleIdentifier(); - - state._fsp--; - - - current.merge(this_Identifier_1); - - - afterParserOrEnumRuleCall(); - - - } - break; - - } - - - } - - - leaveRule(); - - } - - catch (RecognitionException re) { - recover(input,re); - appendSkippedTokens(); - } - finally { - } - return current; - } - // $ANTLR end "ruleQuotedOrUnquotedId" - - - // $ANTLR start "entryRuleQualifiedName" - // InternalProblem.g:1726:1: entryRuleQualifiedName returns [String current=null] : iv_ruleQualifiedName= ruleQualifiedName EOF ; - public final String entryRuleQualifiedName() throws RecognitionException { - String current = null; - - AntlrDatatypeRuleToken iv_ruleQualifiedName = null; - - - try { - // InternalProblem.g:1726:53: (iv_ruleQualifiedName= ruleQualifiedName EOF ) - // InternalProblem.g:1727:2: iv_ruleQualifiedName= ruleQualifiedName EOF - { - newCompositeNode(grammarAccess.getQualifiedNameRule()); - pushFollow(FOLLOW_1); - iv_ruleQualifiedName=ruleQualifiedName(); - - state._fsp--; - - current =iv_ruleQualifiedName.getText(); - match(input,EOF,FOLLOW_2); - - } - - } - - catch (RecognitionException re) { - recover(input,re); - appendSkippedTokens(); - } - finally { - } - return current; - } - // $ANTLR end "entryRuleQualifiedName" - - - // $ANTLR start "ruleQualifiedName" - // InternalProblem.g:1733:1: ruleQualifiedName returns [AntlrDatatypeRuleToken current=new AntlrDatatypeRuleToken()] : (this_QUOTED_ID_0= RULE_QUOTED_ID | (this_Identifier_1= ruleIdentifier (kw= ':' this_Identifier_3= ruleIdentifier )* (kw= ':' this_QUOTED_ID_5= RULE_QUOTED_ID )? ) ) ; - public final AntlrDatatypeRuleToken ruleQualifiedName() throws RecognitionException { - AntlrDatatypeRuleToken current = new AntlrDatatypeRuleToken(); - - Token this_QUOTED_ID_0=null; - Token kw=null; - Token this_QUOTED_ID_5=null; - AntlrDatatypeRuleToken this_Identifier_1 = null; - - AntlrDatatypeRuleToken this_Identifier_3 = null; - - - - enterRule(); - - try { - // InternalProblem.g:1739:2: ( (this_QUOTED_ID_0= RULE_QUOTED_ID | (this_Identifier_1= ruleIdentifier (kw= ':' this_Identifier_3= ruleIdentifier )* (kw= ':' this_QUOTED_ID_5= RULE_QUOTED_ID )? ) ) ) - // InternalProblem.g:1740:2: (this_QUOTED_ID_0= RULE_QUOTED_ID | (this_Identifier_1= ruleIdentifier (kw= ':' this_Identifier_3= ruleIdentifier )* (kw= ':' this_QUOTED_ID_5= RULE_QUOTED_ID )? ) ) - { - // InternalProblem.g:1740:2: (this_QUOTED_ID_0= RULE_QUOTED_ID | (this_Identifier_1= ruleIdentifier (kw= ':' this_Identifier_3= ruleIdentifier )* (kw= ':' this_QUOTED_ID_5= RULE_QUOTED_ID )? ) ) - int alt43=2; - int LA43_0 = input.LA(1); - - if ( (LA43_0==RULE_QUOTED_ID) ) { - alt43=1; - } - else if ( (LA43_0==RULE_ID||(LA43_0>=40 && LA43_0<=41)) ) { - alt43=2; - } - else { - NoViableAltException nvae = - new NoViableAltException("", 43, 0, input); - - throw nvae; - } - switch (alt43) { - case 1 : - // InternalProblem.g:1741:3: this_QUOTED_ID_0= RULE_QUOTED_ID - { - this_QUOTED_ID_0=(Token)match(input,RULE_QUOTED_ID,FOLLOW_2); - - current.merge(this_QUOTED_ID_0); - - - newLeafNode(this_QUOTED_ID_0, grammarAccess.getQualifiedNameAccess().getQUOTED_IDTerminalRuleCall_0()); - - - } - break; - case 2 : - // InternalProblem.g:1749:3: (this_Identifier_1= ruleIdentifier (kw= ':' this_Identifier_3= ruleIdentifier )* (kw= ':' this_QUOTED_ID_5= RULE_QUOTED_ID )? ) - { - // InternalProblem.g:1749:3: (this_Identifier_1= ruleIdentifier (kw= ':' this_Identifier_3= ruleIdentifier )* (kw= ':' this_QUOTED_ID_5= RULE_QUOTED_ID )? ) - // InternalProblem.g:1750:4: this_Identifier_1= ruleIdentifier (kw= ':' this_Identifier_3= ruleIdentifier )* (kw= ':' this_QUOTED_ID_5= RULE_QUOTED_ID )? - { - - newCompositeNode(grammarAccess.getQualifiedNameAccess().getIdentifierParserRuleCall_1_0()); - - pushFollow(FOLLOW_36); - this_Identifier_1=ruleIdentifier(); - - state._fsp--; - - - current.merge(this_Identifier_1); - - - afterParserOrEnumRuleCall(); - - // InternalProblem.g:1760:4: (kw= ':' this_Identifier_3= ruleIdentifier )* - loop41: - do { - int alt41=2; - int LA41_0 = input.LA(1); - - if ( (LA41_0==34) ) { - int LA41_1 = input.LA(2); - - if ( (LA41_1==RULE_ID||(LA41_1>=40 && LA41_1<=41)) ) { - alt41=1; - } - - - } - - - switch (alt41) { - case 1 : - // InternalProblem.g:1761:5: kw= ':' this_Identifier_3= ruleIdentifier - { - kw=(Token)match(input,34,FOLLOW_3); - - current.merge(kw); - newLeafNode(kw, grammarAccess.getQualifiedNameAccess().getColonKeyword_1_1_0()); - - - newCompositeNode(grammarAccess.getQualifiedNameAccess().getIdentifierParserRuleCall_1_1_1()); - - pushFollow(FOLLOW_36); - this_Identifier_3=ruleIdentifier(); - - state._fsp--; - - - current.merge(this_Identifier_3); - - - afterParserOrEnumRuleCall(); - - - } - break; - - default : - break loop41; - } - } while (true); - - // InternalProblem.g:1777:4: (kw= ':' this_QUOTED_ID_5= RULE_QUOTED_ID )? - int alt42=2; - int LA42_0 = input.LA(1); - - if ( (LA42_0==34) ) { - alt42=1; - } - switch (alt42) { - case 1 : - // InternalProblem.g:1778:5: kw= ':' this_QUOTED_ID_5= RULE_QUOTED_ID - { - kw=(Token)match(input,34,FOLLOW_37); - - current.merge(kw); - newLeafNode(kw, grammarAccess.getQualifiedNameAccess().getColonKeyword_1_2_0()); - - this_QUOTED_ID_5=(Token)match(input,RULE_QUOTED_ID,FOLLOW_2); - - current.merge(this_QUOTED_ID_5); - - - newLeafNode(this_QUOTED_ID_5, grammarAccess.getQualifiedNameAccess().getQUOTED_IDTerminalRuleCall_1_2_1()); - - - } - break; - - } - - - } - - - } - break; - - } - - - } - - - leaveRule(); - - } - - catch (RecognitionException re) { - recover(input,re); - appendSkippedTokens(); - } - finally { - } - return current; - } - // $ANTLR end "ruleQualifiedName" - - - // $ANTLR start "entryRuleIdentifier" - // InternalProblem.g:1796:1: entryRuleIdentifier returns [String current=null] : iv_ruleIdentifier= ruleIdentifier EOF ; - public final String entryRuleIdentifier() throws RecognitionException { - String current = null; - - AntlrDatatypeRuleToken iv_ruleIdentifier = null; - - - try { - // InternalProblem.g:1796:50: (iv_ruleIdentifier= ruleIdentifier EOF ) - // InternalProblem.g:1797:2: iv_ruleIdentifier= ruleIdentifier EOF - { - newCompositeNode(grammarAccess.getIdentifierRule()); - pushFollow(FOLLOW_1); - iv_ruleIdentifier=ruleIdentifier(); - - state._fsp--; - - current =iv_ruleIdentifier.getText(); - match(input,EOF,FOLLOW_2); - - } - - } - - catch (RecognitionException re) { - recover(input,re); - appendSkippedTokens(); - } - finally { - } - return current; - } - // $ANTLR end "entryRuleIdentifier" - - - // $ANTLR start "ruleIdentifier" - // InternalProblem.g:1803:1: ruleIdentifier returns [AntlrDatatypeRuleToken current=new AntlrDatatypeRuleToken()] : (this_ID_0= RULE_ID | kw= 'true' | kw= 'false' ) ; - public final AntlrDatatypeRuleToken ruleIdentifier() throws RecognitionException { - AntlrDatatypeRuleToken current = new AntlrDatatypeRuleToken(); - - Token this_ID_0=null; - Token kw=null; - - - enterRule(); - - try { - // InternalProblem.g:1809:2: ( (this_ID_0= RULE_ID | kw= 'true' | kw= 'false' ) ) - // InternalProblem.g:1810:2: (this_ID_0= RULE_ID | kw= 'true' | kw= 'false' ) - { - // InternalProblem.g:1810:2: (this_ID_0= RULE_ID | kw= 'true' | kw= 'false' ) - int alt44=3; - switch ( input.LA(1) ) { - case RULE_ID: - { - alt44=1; - } - break; - case 40: - { - alt44=2; - } - break; - case 41: - { - alt44=3; - } - break; - default: - NoViableAltException nvae = - new NoViableAltException("", 44, 0, input); - - throw nvae; - } - - switch (alt44) { - case 1 : - // InternalProblem.g:1811:3: this_ID_0= RULE_ID - { - this_ID_0=(Token)match(input,RULE_ID,FOLLOW_2); - - current.merge(this_ID_0); - - - newLeafNode(this_ID_0, grammarAccess.getIdentifierAccess().getIDTerminalRuleCall_0()); - - - } - break; - case 2 : - // InternalProblem.g:1819:3: kw= 'true' - { - kw=(Token)match(input,40,FOLLOW_2); - - current.merge(kw); - newLeafNode(kw, grammarAccess.getIdentifierAccess().getTrueKeyword_1()); - - - } - break; - case 3 : - // InternalProblem.g:1825:3: kw= 'false' - { - kw=(Token)match(input,41,FOLLOW_2); - - current.merge(kw); - newLeafNode(kw, grammarAccess.getIdentifierAccess().getFalseKeyword_2()); - - - } - break; - - } - - - } - - - leaveRule(); - - } - - catch (RecognitionException re) { - recover(input,re); - appendSkippedTokens(); - } - finally { - } - return current; - } - // $ANTLR end "ruleIdentifier" - - - // $ANTLR start "ruleLogicValue" - // InternalProblem.g:1834:1: ruleLogicValue returns [Enumerator current=null] : ( (enumLiteral_0= 'true' ) | (enumLiteral_1= 'false' ) | (enumLiteral_2= 'unknown' ) ) ; - public final Enumerator ruleLogicValue() throws RecognitionException { - Enumerator current = null; - - Token enumLiteral_0=null; - Token enumLiteral_1=null; - Token enumLiteral_2=null; - - - enterRule(); - - try { - // InternalProblem.g:1840:2: ( ( (enumLiteral_0= 'true' ) | (enumLiteral_1= 'false' ) | (enumLiteral_2= 'unknown' ) ) ) - // InternalProblem.g:1841:2: ( (enumLiteral_0= 'true' ) | (enumLiteral_1= 'false' ) | (enumLiteral_2= 'unknown' ) ) - { - // InternalProblem.g:1841:2: ( (enumLiteral_0= 'true' ) | (enumLiteral_1= 'false' ) | (enumLiteral_2= 'unknown' ) ) - int alt45=3; - switch ( input.LA(1) ) { - case 40: - { - alt45=1; - } - break; - case 41: - { - alt45=2; - } - break; - case 42: - { - alt45=3; - } - break; - default: - NoViableAltException nvae = - new NoViableAltException("", 45, 0, input); - - throw nvae; - } - - switch (alt45) { - case 1 : - // InternalProblem.g:1842:3: (enumLiteral_0= 'true' ) - { - // InternalProblem.g:1842:3: (enumLiteral_0= 'true' ) - // InternalProblem.g:1843:4: enumLiteral_0= 'true' - { - enumLiteral_0=(Token)match(input,40,FOLLOW_2); - - current = grammarAccess.getLogicValueAccess().getTRUEEnumLiteralDeclaration_0().getEnumLiteral().getInstance(); - newLeafNode(enumLiteral_0, grammarAccess.getLogicValueAccess().getTRUEEnumLiteralDeclaration_0()); - - - } - - - } - break; - case 2 : - // InternalProblem.g:1850:3: (enumLiteral_1= 'false' ) - { - // InternalProblem.g:1850:3: (enumLiteral_1= 'false' ) - // InternalProblem.g:1851:4: enumLiteral_1= 'false' - { - enumLiteral_1=(Token)match(input,41,FOLLOW_2); - - current = grammarAccess.getLogicValueAccess().getFALSEEnumLiteralDeclaration_1().getEnumLiteral().getInstance(); - newLeafNode(enumLiteral_1, grammarAccess.getLogicValueAccess().getFALSEEnumLiteralDeclaration_1()); - - - } - - - } - break; - case 3 : - // InternalProblem.g:1858:3: (enumLiteral_2= 'unknown' ) - { - // InternalProblem.g:1858:3: (enumLiteral_2= 'unknown' ) - // InternalProblem.g:1859:4: enumLiteral_2= 'unknown' - { - enumLiteral_2=(Token)match(input,42,FOLLOW_2); - - current = grammarAccess.getLogicValueAccess().getUNKNOWNEnumLiteralDeclaration_2().getEnumLiteral().getInstance(); - newLeafNode(enumLiteral_2, grammarAccess.getLogicValueAccess().getUNKNOWNEnumLiteralDeclaration_2()); - - - } - - - } - break; - - } - - - } - - - leaveRule(); - - } - - catch (RecognitionException re) { - recover(input,re); - appendSkippedTokens(); - } - finally { - } - return current; - } - // $ANTLR end "ruleLogicValue" - - - // $ANTLR start "ruleShortLogicValue" - // InternalProblem.g:1869:1: ruleShortLogicValue returns [Enumerator current=null] : ( (enumLiteral_0= '!' ) | (enumLiteral_1= '?' ) ) ; - public final Enumerator ruleShortLogicValue() throws RecognitionException { - Enumerator current = null; - - Token enumLiteral_0=null; - Token enumLiteral_1=null; - - - enterRule(); - - try { - // InternalProblem.g:1875:2: ( ( (enumLiteral_0= '!' ) | (enumLiteral_1= '?' ) ) ) - // InternalProblem.g:1876:2: ( (enumLiteral_0= '!' ) | (enumLiteral_1= '?' ) ) - { - // InternalProblem.g:1876:2: ( (enumLiteral_0= '!' ) | (enumLiteral_1= '?' ) ) - int alt46=2; - int LA46_0 = input.LA(1); - - if ( (LA46_0==32) ) { - alt46=1; - } - else if ( (LA46_0==43) ) { - alt46=2; - } - else { - NoViableAltException nvae = - new NoViableAltException("", 46, 0, input); - - throw nvae; - } - switch (alt46) { - case 1 : - // InternalProblem.g:1877:3: (enumLiteral_0= '!' ) - { - // InternalProblem.g:1877:3: (enumLiteral_0= '!' ) - // InternalProblem.g:1878:4: enumLiteral_0= '!' - { - enumLiteral_0=(Token)match(input,32,FOLLOW_2); - - current = grammarAccess.getShortLogicValueAccess().getFALSEEnumLiteralDeclaration_0().getEnumLiteral().getInstance(); - newLeafNode(enumLiteral_0, grammarAccess.getShortLogicValueAccess().getFALSEEnumLiteralDeclaration_0()); - - - } - - - } - break; - case 2 : - // InternalProblem.g:1885:3: (enumLiteral_1= '?' ) - { - // InternalProblem.g:1885:3: (enumLiteral_1= '?' ) - // InternalProblem.g:1886:4: enumLiteral_1= '?' - { - enumLiteral_1=(Token)match(input,43,FOLLOW_2); - - current = grammarAccess.getShortLogicValueAccess().getUNKNOWNEnumLiteralDeclaration_1().getEnumLiteral().getInstance(); - newLeafNode(enumLiteral_1, grammarAccess.getShortLogicValueAccess().getUNKNOWNEnumLiteralDeclaration_1()); - - - } - - - } - break; - - } - - - } - - - leaveRule(); - - } - - catch (RecognitionException re) { - recover(input,re); - appendSkippedTokens(); - } - finally { - } - return current; - } - // $ANTLR end "ruleShortLogicValue" - - // Delegated rules - - - protected DFA34 dfa34 = new DFA34(this); - static final String dfa_1s = "\41\uffff"; - static final String dfa_2s = "\1\4\4\35\1\uffff\2\4\4\21\1\15\4\35\2\4\1\uffff\10\21\1\4\4\21"; - static final String dfa_3s = "\1\53\1\35\3\42\1\uffff\2\51\1\36\7\42\1\35\2\51\1\uffff\1\36\6\42\1\36\1\51\3\42\1\36"; - static final String dfa_4s = "\5\uffff\1\2\15\uffff\1\1\15\uffff"; - static final String dfa_5s = "\41\uffff}>"; - static final String[] dfa_6s = { - "\1\2\1\uffff\1\1\31\uffff\1\5\7\uffff\1\3\1\4\1\uffff\1\5", - "\1\6", - "\1\6\4\uffff\1\7", - "\1\6\4\uffff\1\7", - "\1\6\4\uffff\1\7", - "", - "\1\11\1\uffff\1\10\27\uffff\1\14\11\uffff\1\12\1\13", - "\1\15\1\uffff\1\20\41\uffff\1\16\1\17", - "\1\21\14\uffff\1\14", - "\1\21\14\uffff\1\14\3\uffff\1\22", - "\1\21\14\uffff\1\14\3\uffff\1\22", - "\1\21\14\uffff\1\14\3\uffff\1\22", - "\1\5\24\uffff\1\23", - "\1\6\4\uffff\1\7", - "\1\6\4\uffff\1\7", - "\1\6\4\uffff\1\7", - "\1\6", - "\1\25\1\uffff\1\24\41\uffff\1\26\1\27", - "\1\30\1\uffff\1\33\41\uffff\1\31\1\32", - "", - "\1\21\14\uffff\1\14", - "\1\21\14\uffff\1\14\3\uffff\1\34", - "\1\21\14\uffff\1\14\3\uffff\1\34", - "\1\21\14\uffff\1\14\3\uffff\1\34", - "\1\21\14\uffff\1\14\3\uffff\1\22", - "\1\21\14\uffff\1\14\3\uffff\1\22", - "\1\21\14\uffff\1\14\3\uffff\1\22", - "\1\21\14\uffff\1\14", - "\1\35\1\uffff\1\40\41\uffff\1\36\1\37", - "\1\21\14\uffff\1\14\3\uffff\1\34", - "\1\21\14\uffff\1\14\3\uffff\1\34", - "\1\21\14\uffff\1\14\3\uffff\1\34", - "\1\21\14\uffff\1\14" - }; - - static final short[] dfa_1 = DFA.unpackEncodedString(dfa_1s); - static final char[] dfa_2 = DFA.unpackEncodedStringToUnsignedChars(dfa_2s); - static final char[] dfa_3 = DFA.unpackEncodedStringToUnsignedChars(dfa_3s); - static final short[] dfa_4 = DFA.unpackEncodedString(dfa_4s); - static final short[] dfa_5 = DFA.unpackEncodedString(dfa_5s); - static final short[][] dfa_6 = unpackEncodedStringArray(dfa_6s); - - class DFA34 extends DFA { - - public DFA34(BaseRecognizer recognizer) { - this.recognizer = recognizer; - this.decisionNumber = 34; - this.eot = dfa_1; - this.eof = dfa_1; - this.min = dfa_2; - this.max = dfa_3; - this.accept = dfa_4; - this.special = dfa_5; - this.transition = dfa_6; - } - public String getDescription() { - return "1138:3: ( ( ( ( ruleQualifiedName ) ) otherlv_1= '(' ( ( ( ruleQualifiedName ) ) (otherlv_3= ',' ( ( ruleQualifiedName ) ) )* )? otherlv_5= ')' otherlv_6= ':' ( (lv_value_7_0= ruleLogicValue ) ) ) | ( ( (lv_value_8_0= ruleShortLogicValue ) )? ( ( ruleQualifiedName ) ) otherlv_10= '(' ( ( ( ruleQualifiedName ) ) (otherlv_12= ',' ( ( ruleQualifiedName ) ) )* )? otherlv_14= ')' ) )"; - } - } - - - public static final BitSet FOLLOW_1 = new BitSet(new long[]{0x0000000000000000L}); - public static final BitSet FOLLOW_2 = new BitSet(new long[]{0x0000000000000002L}); - public static final BitSet FOLLOW_3 = new BitSet(new long[]{0x0000030000000010L}); - public static final BitSet FOLLOW_4 = new BitSet(new long[]{0x0000000000002000L}); - public static final BitSet FOLLOW_5 = new BitSet(new long[]{0x00000B091820C052L}); - public static final BitSet FOLLOW_6 = new BitSet(new long[]{0x0000000000008000L}); - public static final BitSet FOLLOW_7 = new BitSet(new long[]{0x0000000000052000L}); - public static final BitSet FOLLOW_8 = new BitSet(new long[]{0x0000030000000050L}); - public static final BitSet FOLLOW_9 = new BitSet(new long[]{0x0000000000062000L}); - public static final BitSet FOLLOW_10 = new BitSet(new long[]{0x0000030000D00050L}); - public static final BitSet FOLLOW_11 = new BitSet(new long[]{0x0000030000D80050L}); - public static final BitSet FOLLOW_12 = new BitSet(new long[]{0x0000000000042000L}); - public static final BitSet FOLLOW_13 = new BitSet(new long[]{0x0000030000100050L}); - public static final BitSet FOLLOW_14 = new BitSet(new long[]{0x00000000001A0000L}); - public static final BitSet FOLLOW_15 = new BitSet(new long[]{0x0000000000100000L}); - public static final BitSet FOLLOW_16 = new BitSet(new long[]{0x0000030001000010L}); - public static final BitSet FOLLOW_17 = new BitSet(new long[]{0x0000000000000020L}); - public static final BitSet FOLLOW_18 = new BitSet(new long[]{0x0000000002000000L}); - public static final BitSet FOLLOW_19 = new BitSet(new long[]{0x0000000004000002L}); - public static final BitSet FOLLOW_20 = new BitSet(new long[]{0x0000030010000010L}); - public static final BitSet FOLLOW_21 = new BitSet(new long[]{0x0000000020000000L}); - public static final BitSet FOLLOW_22 = new BitSet(new long[]{0x0000030040000050L}); - public static final BitSet FOLLOW_23 = new BitSet(new long[]{0x0000000040020000L}); - public static final BitSet FOLLOW_24 = new BitSet(new long[]{0x0000000080002000L}); - public static final BitSet FOLLOW_25 = new BitSet(new long[]{0x0000030100000050L}); - public static final BitSet FOLLOW_26 = new BitSet(new long[]{0x0000000000082000L}); - public static final BitSet FOLLOW_27 = new BitSet(new long[]{0x0000000000020002L}); - public static final BitSet FOLLOW_28 = new BitSet(new long[]{0x0000000220000000L}); - public static final BitSet FOLLOW_29 = new BitSet(new long[]{0x0000000400000000L}); - public static final BitSet FOLLOW_30 = new BitSet(new long[]{0x0000070000000000L}); - public static final BitSet FOLLOW_31 = new BitSet(new long[]{0x0000000000000010L}); - public static final BitSet FOLLOW_32 = new BitSet(new long[]{0x0000000000022000L}); - public static final BitSet FOLLOW_33 = new BitSet(new long[]{0x0000003000000000L}); - public static final BitSet FOLLOW_34 = new BitSet(new long[]{0x0000004000000000L}); - public static final BitSet FOLLOW_35 = new BitSet(new long[]{0x0000008000000020L}); - public static final BitSet FOLLOW_36 = new BitSet(new long[]{0x0000000400000002L}); - public static final BitSet FOLLOW_37 = new BitSet(new long[]{0x0000000000000040L}); - -} \ No newline at end of file diff --git a/language-web/xtext-gen/org/eclipse/viatra/solver/language/scoping/AbstractProblemScopeProvider.java b/language-web/xtext-gen/org/eclipse/viatra/solver/language/scoping/AbstractProblemScopeProvider.java deleted file mode 100644 index 5b024d47..00000000 --- a/language-web/xtext-gen/org/eclipse/viatra/solver/language/scoping/AbstractProblemScopeProvider.java +++ /dev/null @@ -1,9 +0,0 @@ -/* - * generated by Xtext 2.26.0.M1 - */ -package org.eclipse.viatra.solver.language.scoping; - -import org.eclipse.xtext.scoping.impl.DelegatingScopeProvider; - -public abstract class AbstractProblemScopeProvider extends DelegatingScopeProvider { -} diff --git a/language-web/xtext-gen/org/eclipse/viatra/solver/language/serializer/ProblemSemanticSequencer.java b/language-web/xtext-gen/org/eclipse/viatra/solver/language/serializer/ProblemSemanticSequencer.java deleted file mode 100644 index cb44c31f..00000000 --- a/language-web/xtext-gen/org/eclipse/viatra/solver/language/serializer/ProblemSemanticSequencer.java +++ /dev/null @@ -1,369 +0,0 @@ -/* - * generated by Xtext 2.26.0.M1 - */ -package org.eclipse.viatra.solver.language.serializer; - -import com.google.inject.Inject; -import java.util.Set; -import org.eclipse.emf.ecore.EObject; -import org.eclipse.emf.ecore.EPackage; -import org.eclipse.viatra.solver.language.model.problem.Argument; -import org.eclipse.viatra.solver.language.model.problem.Assertion; -import org.eclipse.viatra.solver.language.model.problem.Atom; -import org.eclipse.viatra.solver.language.model.problem.ClassDeclaration; -import org.eclipse.viatra.solver.language.model.problem.Conjunction; -import org.eclipse.viatra.solver.language.model.problem.EnumDeclaration; -import org.eclipse.viatra.solver.language.model.problem.ExactMultiplicity; -import org.eclipse.viatra.solver.language.model.problem.NegativeLiteral; -import org.eclipse.viatra.solver.language.model.problem.Node; -import org.eclipse.viatra.solver.language.model.problem.PredicateDefinition; -import org.eclipse.viatra.solver.language.model.problem.Problem; -import org.eclipse.viatra.solver.language.model.problem.ProblemPackage; -import org.eclipse.viatra.solver.language.model.problem.RangeMultiplicity; -import org.eclipse.viatra.solver.language.model.problem.ReferenceDeclaration; -import org.eclipse.viatra.solver.language.model.problem.ScopeDeclaration; -import org.eclipse.viatra.solver.language.model.problem.TypeScope; -import org.eclipse.viatra.solver.language.model.problem.UnboundedMultiplicity; -import org.eclipse.viatra.solver.language.services.ProblemGrammarAccess; -import org.eclipse.xtext.Action; -import org.eclipse.xtext.Parameter; -import org.eclipse.xtext.ParserRule; -import org.eclipse.xtext.serializer.ISerializationContext; -import org.eclipse.xtext.serializer.acceptor.SequenceFeeder; -import org.eclipse.xtext.serializer.sequencer.AbstractDelegatingSemanticSequencer; -import org.eclipse.xtext.serializer.sequencer.ITransientValueService.ValueTransient; - -@SuppressWarnings("all") -public class ProblemSemanticSequencer extends AbstractDelegatingSemanticSequencer { - - @Inject - private ProblemGrammarAccess grammarAccess; - - @Override - public void sequence(ISerializationContext context, EObject semanticObject) { - EPackage epackage = semanticObject.eClass().getEPackage(); - ParserRule rule = context.getParserRule(); - Action action = context.getAssignedAction(); - Set parameters = context.getEnabledBooleanParameters(); - if (epackage == ProblemPackage.eINSTANCE) - switch (semanticObject.eClass().getClassifierID()) { - case ProblemPackage.ARGUMENT: - sequence_Argument(context, (Argument) semanticObject); - return; - case ProblemPackage.ASSERTION: - sequence_Assertion(context, (Assertion) semanticObject); - return; - case ProblemPackage.ATOM: - sequence_Atom(context, (Atom) semanticObject); - return; - case ProblemPackage.CLASS_DECLARATION: - sequence_ClassDeclaration(context, (ClassDeclaration) semanticObject); - return; - case ProblemPackage.CONJUNCTION: - sequence_Conjunction(context, (Conjunction) semanticObject); - return; - case ProblemPackage.ENUM_DECLARATION: - sequence_EnumDeclaration(context, (EnumDeclaration) semanticObject); - return; - case ProblemPackage.EXACT_MULTIPLICITY: - sequence_ExactMultiplicity(context, (ExactMultiplicity) semanticObject); - return; - case ProblemPackage.NEGATIVE_LITERAL: - sequence_NegativeLiteral(context, (NegativeLiteral) semanticObject); - return; - case ProblemPackage.NODE: - sequence_EnumLiteral(context, (Node) semanticObject); - return; - case ProblemPackage.PARAMETER: - sequence_Parameter(context, (org.eclipse.viatra.solver.language.model.problem.Parameter) semanticObject); - return; - case ProblemPackage.PREDICATE_DEFINITION: - sequence_PredicateDefinition(context, (PredicateDefinition) semanticObject); - return; - case ProblemPackage.PROBLEM: - sequence_Problem(context, (Problem) semanticObject); - return; - case ProblemPackage.RANGE_MULTIPLICITY: - sequence_RangeMultiplicity(context, (RangeMultiplicity) semanticObject); - return; - case ProblemPackage.REFERENCE_DECLARATION: - sequence_ReferenceDeclaration(context, (ReferenceDeclaration) semanticObject); - return; - case ProblemPackage.SCOPE_DECLARATION: - sequence_ScopeDeclaration(context, (ScopeDeclaration) semanticObject); - return; - case ProblemPackage.TYPE_SCOPE: - sequence_TypeScope(context, (TypeScope) semanticObject); - return; - case ProblemPackage.UNBOUNDED_MULTIPLICITY: - sequence_UnboundedMultiplicity(context, (UnboundedMultiplicity) semanticObject); - return; - } - if (errorAcceptor != null) - errorAcceptor.accept(diagnosticProvider.createInvalidContextOrTypeDiagnostic(semanticObject, context)); - } - - /** - * Contexts: - * Argument returns Argument - * - * Constraint: - * variableOrNode=[VariableOrNode|QualifiedName] - */ - protected void sequence_Argument(ISerializationContext context, Argument semanticObject) { - if (errorAcceptor != null) { - if (transientValues.isValueTransient(semanticObject, ProblemPackage.Literals.ARGUMENT__VARIABLE_OR_NODE) == ValueTransient.YES) - errorAcceptor.accept(diagnosticProvider.createFeatureValueMissing(semanticObject, ProblemPackage.Literals.ARGUMENT__VARIABLE_OR_NODE)); - } - SequenceFeeder feeder = createSequencerFeeder(context, semanticObject); - feeder.accept(grammarAccess.getArgumentAccess().getVariableOrNodeVariableOrNodeQualifiedNameParserRuleCall_0_1(), semanticObject.eGet(ProblemPackage.Literals.ARGUMENT__VARIABLE_OR_NODE, false)); - feeder.finish(); - } - - - /** - * Contexts: - * Statement returns Assertion - * Assertion returns Assertion - * - * Constraint: - * ( - * (relation=[Relation|QualifiedName] (arguments+=[Node|QualifiedName] arguments+=[Node|QualifiedName]*)? value=LogicValue) | - * (value=ShortLogicValue? relation=[Relation|QualifiedName] (arguments+=[Node|QualifiedName] arguments+=[Node|QualifiedName]*)?) - * ) - */ - protected void sequence_Assertion(ISerializationContext context, Assertion semanticObject) { - genericSequencer.createSequence(context, semanticObject); - } - - - /** - * Contexts: - * Literal returns Atom - * Atom returns Atom - * - * Constraint: - * (relation=[Relation|QualifiedName] transitiveClosure?='+'? (arguments+=Argument arguments+=Argument*)?) - */ - protected void sequence_Atom(ISerializationContext context, Atom semanticObject) { - genericSequencer.createSequence(context, semanticObject); - } - - - /** - * Contexts: - * Statement returns ClassDeclaration - * ClassDeclaration returns ClassDeclaration - * - * Constraint: - * ( - * abstract?='abstract'? - * name=Identifier - * (superTypes+=[Relation|QualifiedName] superTypes+=[Relation|QualifiedName]*)? - * referenceDeclarations+=ReferenceDeclaration* - * ) - */ - protected void sequence_ClassDeclaration(ISerializationContext context, ClassDeclaration semanticObject) { - genericSequencer.createSequence(context, semanticObject); - } - - - /** - * Contexts: - * Conjunction returns Conjunction - * - * Constraint: - * (literals+=Literal literals+=Literal*) - */ - protected void sequence_Conjunction(ISerializationContext context, Conjunction semanticObject) { - genericSequencer.createSequence(context, semanticObject); - } - - - /** - * Contexts: - * Statement returns EnumDeclaration - * EnumDeclaration returns EnumDeclaration - * - * Constraint: - * (name=Identifier (literals+=EnumLiteral literals+=EnumLiteral*)?) - */ - protected void sequence_EnumDeclaration(ISerializationContext context, EnumDeclaration semanticObject) { - genericSequencer.createSequence(context, semanticObject); - } - - - /** - * Contexts: - * EnumLiteral returns Node - * - * Constraint: - * name=QuotedOrUnquotedId - */ - protected void sequence_EnumLiteral(ISerializationContext context, Node semanticObject) { - if (errorAcceptor != null) { - if (transientValues.isValueTransient(semanticObject, ProblemPackage.Literals.NAMED_ELEMENT__NAME) == ValueTransient.YES) - errorAcceptor.accept(diagnosticProvider.createFeatureValueMissing(semanticObject, ProblemPackage.Literals.NAMED_ELEMENT__NAME)); - } - SequenceFeeder feeder = createSequencerFeeder(context, semanticObject); - feeder.accept(grammarAccess.getEnumLiteralAccess().getNameQuotedOrUnquotedIdParserRuleCall_0(), semanticObject.getName()); - feeder.finish(); - } - - - /** - * Contexts: - * Multiplicity returns ExactMultiplicity - * DefiniteMultiplicity returns ExactMultiplicity - * ExactMultiplicity returns ExactMultiplicity - * - * Constraint: - * exactValue=INT - */ - protected void sequence_ExactMultiplicity(ISerializationContext context, ExactMultiplicity semanticObject) { - if (errorAcceptor != null) { - if (transientValues.isValueTransient(semanticObject, ProblemPackage.Literals.EXACT_MULTIPLICITY__EXACT_VALUE) == ValueTransient.YES) - errorAcceptor.accept(diagnosticProvider.createFeatureValueMissing(semanticObject, ProblemPackage.Literals.EXACT_MULTIPLICITY__EXACT_VALUE)); - } - SequenceFeeder feeder = createSequencerFeeder(context, semanticObject); - feeder.accept(grammarAccess.getExactMultiplicityAccess().getExactValueINTTerminalRuleCall_0(), semanticObject.getExactValue()); - feeder.finish(); - } - - - /** - * Contexts: - * Literal returns NegativeLiteral - * NegativeLiteral returns NegativeLiteral - * - * Constraint: - * atom=Atom - */ - protected void sequence_NegativeLiteral(ISerializationContext context, NegativeLiteral semanticObject) { - if (errorAcceptor != null) { - if (transientValues.isValueTransient(semanticObject, ProblemPackage.Literals.NEGATIVE_LITERAL__ATOM) == ValueTransient.YES) - errorAcceptor.accept(diagnosticProvider.createFeatureValueMissing(semanticObject, ProblemPackage.Literals.NEGATIVE_LITERAL__ATOM)); - } - SequenceFeeder feeder = createSequencerFeeder(context, semanticObject); - feeder.accept(grammarAccess.getNegativeLiteralAccess().getAtomAtomParserRuleCall_1_0(), semanticObject.getAtom()); - feeder.finish(); - } - - - /** - * Contexts: - * Parameter returns Parameter - * - * Constraint: - * (parameterType=[Relation|QualifiedName]? name=Identifier) - */ - protected void sequence_Parameter(ISerializationContext context, org.eclipse.viatra.solver.language.model.problem.Parameter semanticObject) { - genericSequencer.createSequence(context, semanticObject); - } - - - /** - * Contexts: - * Statement returns PredicateDefinition - * PredicateDefinition returns PredicateDefinition - * - * Constraint: - * (error?='error'? name=Identifier (parameters+=Parameter parameters+=Parameter*)? (bodies+=Conjunction bodies+=Conjunction*)?) - */ - protected void sequence_PredicateDefinition(ISerializationContext context, PredicateDefinition semanticObject) { - genericSequencer.createSequence(context, semanticObject); - } - - - /** - * Contexts: - * Problem returns Problem - * - * Constraint: - * ((name=Identifier statements+=Statement+) | statements+=Statement+)? - */ - protected void sequence_Problem(ISerializationContext context, Problem semanticObject) { - genericSequencer.createSequence(context, semanticObject); - } - - - /** - * Contexts: - * Multiplicity returns RangeMultiplicity - * DefiniteMultiplicity returns RangeMultiplicity - * RangeMultiplicity returns RangeMultiplicity - * - * Constraint: - * (lowerBound=INT upperBound=UpperBound) - */ - protected void sequence_RangeMultiplicity(ISerializationContext context, RangeMultiplicity semanticObject) { - if (errorAcceptor != null) { - if (transientValues.isValueTransient(semanticObject, ProblemPackage.Literals.RANGE_MULTIPLICITY__LOWER_BOUND) == ValueTransient.YES) - errorAcceptor.accept(diagnosticProvider.createFeatureValueMissing(semanticObject, ProblemPackage.Literals.RANGE_MULTIPLICITY__LOWER_BOUND)); - if (transientValues.isValueTransient(semanticObject, ProblemPackage.Literals.RANGE_MULTIPLICITY__UPPER_BOUND) == ValueTransient.YES) - errorAcceptor.accept(diagnosticProvider.createFeatureValueMissing(semanticObject, ProblemPackage.Literals.RANGE_MULTIPLICITY__UPPER_BOUND)); - } - SequenceFeeder feeder = createSequencerFeeder(context, semanticObject); - feeder.accept(grammarAccess.getRangeMultiplicityAccess().getLowerBoundINTTerminalRuleCall_0_0(), semanticObject.getLowerBound()); - feeder.accept(grammarAccess.getRangeMultiplicityAccess().getUpperBoundUpperBoundParserRuleCall_2_0(), semanticObject.getUpperBound()); - feeder.finish(); - } - - - /** - * Contexts: - * ReferenceDeclaration returns ReferenceDeclaration - * - * Constraint: - * ( - * containment?='contains'? - * referenceType=[Relation|QualifiedName] - * multiplicity=Multiplicity? - * name=Identifier - * opposite=[ReferenceDeclaration|QualifiedName]? - * ) - */ - protected void sequence_ReferenceDeclaration(ISerializationContext context, ReferenceDeclaration semanticObject) { - genericSequencer.createSequence(context, semanticObject); - } - - - /** - * Contexts: - * Statement returns ScopeDeclaration - * ScopeDeclaration returns ScopeDeclaration - * - * Constraint: - * (typeScopes+=TypeScope typeScopes+=TypeScope*) - */ - protected void sequence_ScopeDeclaration(ISerializationContext context, ScopeDeclaration semanticObject) { - genericSequencer.createSequence(context, semanticObject); - } - - - /** - * Contexts: - * TypeScope returns TypeScope - * - * Constraint: - * (targetType=[ClassDeclaration|ID] increment?='+='? multiplicity=DefiniteMultiplicity) - */ - protected void sequence_TypeScope(ISerializationContext context, TypeScope semanticObject) { - genericSequencer.createSequence(context, semanticObject); - } - - - /** - * Contexts: - * Multiplicity returns UnboundedMultiplicity - * UnboundedMultiplicity returns UnboundedMultiplicity - * - * Constraint: - * {UnboundedMultiplicity} - */ - protected void sequence_UnboundedMultiplicity(ISerializationContext context, UnboundedMultiplicity semanticObject) { - genericSequencer.createSequence(context, semanticObject); - } - - -} diff --git a/language-web/xtext-gen/org/eclipse/viatra/solver/language/serializer/ProblemSyntacticSequencer.java b/language-web/xtext-gen/org/eclipse/viatra/solver/language/serializer/ProblemSyntacticSequencer.java deleted file mode 100644 index 3f0a3f05..00000000 --- a/language-web/xtext-gen/org/eclipse/viatra/solver/language/serializer/ProblemSyntacticSequencer.java +++ /dev/null @@ -1,139 +0,0 @@ -/* - * generated by Xtext 2.26.0.M1 - */ -package org.eclipse.viatra.solver.language.serializer; - -import com.google.inject.Inject; -import java.util.List; -import org.eclipse.emf.ecore.EObject; -import org.eclipse.viatra.solver.language.services.ProblemGrammarAccess; -import org.eclipse.xtext.IGrammarAccess; -import org.eclipse.xtext.RuleCall; -import org.eclipse.xtext.nodemodel.INode; -import org.eclipse.xtext.serializer.analysis.GrammarAlias.AbstractElementAlias; -import org.eclipse.xtext.serializer.analysis.GrammarAlias.AlternativeAlias; -import org.eclipse.xtext.serializer.analysis.GrammarAlias.GroupAlias; -import org.eclipse.xtext.serializer.analysis.GrammarAlias.TokenAlias; -import org.eclipse.xtext.serializer.analysis.ISyntacticSequencerPDAProvider.ISynNavigable; -import org.eclipse.xtext.serializer.analysis.ISyntacticSequencerPDAProvider.ISynTransition; -import org.eclipse.xtext.serializer.sequencer.AbstractSyntacticSequencer; - -@SuppressWarnings("all") -public class ProblemSyntacticSequencer extends AbstractSyntacticSequencer { - - protected ProblemGrammarAccess grammarAccess; - protected AbstractElementAlias match_ClassDeclaration_FullStopKeyword_4_1_or___LeftCurlyBracketKeyword_4_0_0_RightCurlyBracketKeyword_4_0_2__; - protected AbstractElementAlias match_ClassDeclaration_SemicolonKeyword_4_0_1_1_q; - protected AbstractElementAlias match_EnumDeclaration_FullStopKeyword_2_1_or___LeftCurlyBracketKeyword_2_0_0_RightCurlyBracketKeyword_2_0_2__; - protected AbstractElementAlias match_EnumDeclaration___CommaKeyword_2_0_1_2_0_or_SemicolonKeyword_2_0_1_2_1__q; - protected AbstractElementAlias match_PredicateDefinition_PredKeyword_0_0_1_q; - protected AbstractElementAlias match_ReferenceDeclaration_RefersKeyword_0_1_q; - - @Inject - protected void init(IGrammarAccess access) { - grammarAccess = (ProblemGrammarAccess) access; - match_ClassDeclaration_FullStopKeyword_4_1_or___LeftCurlyBracketKeyword_4_0_0_RightCurlyBracketKeyword_4_0_2__ = new AlternativeAlias(false, false, new GroupAlias(false, false, new TokenAlias(false, false, grammarAccess.getClassDeclarationAccess().getLeftCurlyBracketKeyword_4_0_0()), new TokenAlias(false, false, grammarAccess.getClassDeclarationAccess().getRightCurlyBracketKeyword_4_0_2())), new TokenAlias(false, false, grammarAccess.getClassDeclarationAccess().getFullStopKeyword_4_1())); - match_ClassDeclaration_SemicolonKeyword_4_0_1_1_q = new TokenAlias(false, true, grammarAccess.getClassDeclarationAccess().getSemicolonKeyword_4_0_1_1()); - match_EnumDeclaration_FullStopKeyword_2_1_or___LeftCurlyBracketKeyword_2_0_0_RightCurlyBracketKeyword_2_0_2__ = new AlternativeAlias(false, false, new GroupAlias(false, false, new TokenAlias(false, false, grammarAccess.getEnumDeclarationAccess().getLeftCurlyBracketKeyword_2_0_0()), new TokenAlias(false, false, grammarAccess.getEnumDeclarationAccess().getRightCurlyBracketKeyword_2_0_2())), new TokenAlias(false, false, grammarAccess.getEnumDeclarationAccess().getFullStopKeyword_2_1())); - match_EnumDeclaration___CommaKeyword_2_0_1_2_0_or_SemicolonKeyword_2_0_1_2_1__q = new AlternativeAlias(false, true, new TokenAlias(false, false, grammarAccess.getEnumDeclarationAccess().getCommaKeyword_2_0_1_2_0()), new TokenAlias(false, false, grammarAccess.getEnumDeclarationAccess().getSemicolonKeyword_2_0_1_2_1())); - match_PredicateDefinition_PredKeyword_0_0_1_q = new TokenAlias(false, true, grammarAccess.getPredicateDefinitionAccess().getPredKeyword_0_0_1()); - match_ReferenceDeclaration_RefersKeyword_0_1_q = new TokenAlias(false, true, grammarAccess.getReferenceDeclarationAccess().getRefersKeyword_0_1()); - } - - @Override - protected String getUnassignedRuleCallToken(EObject semanticObject, RuleCall ruleCall, INode node) { - return ""; - } - - - @Override - protected void emitUnassignedTokens(EObject semanticObject, ISynTransition transition, INode fromNode, INode toNode) { - if (transition.getAmbiguousSyntaxes().isEmpty()) return; - List transitionNodes = collectNodes(fromNode, toNode); - for (AbstractElementAlias syntax : transition.getAmbiguousSyntaxes()) { - List syntaxNodes = getNodesFor(transitionNodes, syntax); - if (match_ClassDeclaration_FullStopKeyword_4_1_or___LeftCurlyBracketKeyword_4_0_0_RightCurlyBracketKeyword_4_0_2__.equals(syntax)) - emit_ClassDeclaration_FullStopKeyword_4_1_or___LeftCurlyBracketKeyword_4_0_0_RightCurlyBracketKeyword_4_0_2__(semanticObject, getLastNavigableState(), syntaxNodes); - else if (match_ClassDeclaration_SemicolonKeyword_4_0_1_1_q.equals(syntax)) - emit_ClassDeclaration_SemicolonKeyword_4_0_1_1_q(semanticObject, getLastNavigableState(), syntaxNodes); - else if (match_EnumDeclaration_FullStopKeyword_2_1_or___LeftCurlyBracketKeyword_2_0_0_RightCurlyBracketKeyword_2_0_2__.equals(syntax)) - emit_EnumDeclaration_FullStopKeyword_2_1_or___LeftCurlyBracketKeyword_2_0_0_RightCurlyBracketKeyword_2_0_2__(semanticObject, getLastNavigableState(), syntaxNodes); - else if (match_EnumDeclaration___CommaKeyword_2_0_1_2_0_or_SemicolonKeyword_2_0_1_2_1__q.equals(syntax)) - emit_EnumDeclaration___CommaKeyword_2_0_1_2_0_or_SemicolonKeyword_2_0_1_2_1__q(semanticObject, getLastNavigableState(), syntaxNodes); - else if (match_PredicateDefinition_PredKeyword_0_0_1_q.equals(syntax)) - emit_PredicateDefinition_PredKeyword_0_0_1_q(semanticObject, getLastNavigableState(), syntaxNodes); - else if (match_ReferenceDeclaration_RefersKeyword_0_1_q.equals(syntax)) - emit_ReferenceDeclaration_RefersKeyword_0_1_q(semanticObject, getLastNavigableState(), syntaxNodes); - else acceptNodes(getLastNavigableState(), syntaxNodes); - } - } - - /** - * Ambiguous syntax: - * ('{' '}') | '.' - * - * This ambiguous syntax occurs at: - * name=Identifier (ambiguity) (rule end) - * superTypes+=[Relation|QualifiedName] (ambiguity) (rule end) - */ - protected void emit_ClassDeclaration_FullStopKeyword_4_1_or___LeftCurlyBracketKeyword_4_0_0_RightCurlyBracketKeyword_4_0_2__(EObject semanticObject, ISynNavigable transition, List nodes) { - acceptNodes(transition, nodes); - } - - /** - * Ambiguous syntax: - * ';'? - * - * This ambiguous syntax occurs at: - * referenceDeclarations+=ReferenceDeclaration (ambiguity) '}' (rule end) - * referenceDeclarations+=ReferenceDeclaration (ambiguity) referenceDeclarations+=ReferenceDeclaration - */ - protected void emit_ClassDeclaration_SemicolonKeyword_4_0_1_1_q(EObject semanticObject, ISynNavigable transition, List nodes) { - acceptNodes(transition, nodes); - } - - /** - * Ambiguous syntax: - * ('{' '}') | '.' - * - * This ambiguous syntax occurs at: - * name=Identifier (ambiguity) (rule end) - */ - protected void emit_EnumDeclaration_FullStopKeyword_2_1_or___LeftCurlyBracketKeyword_2_0_0_RightCurlyBracketKeyword_2_0_2__(EObject semanticObject, ISynNavigable transition, List nodes) { - acceptNodes(transition, nodes); - } - - /** - * Ambiguous syntax: - * (',' | ';')? - * - * This ambiguous syntax occurs at: - * literals+=EnumLiteral (ambiguity) '}' (rule end) - */ - protected void emit_EnumDeclaration___CommaKeyword_2_0_1_2_0_or_SemicolonKeyword_2_0_1_2_1__q(EObject semanticObject, ISynNavigable transition, List nodes) { - acceptNodes(transition, nodes); - } - - /** - * Ambiguous syntax: - * 'pred'? - * - * This ambiguous syntax occurs at: - * error?='error' (ambiguity) name=Identifier - */ - protected void emit_PredicateDefinition_PredKeyword_0_0_1_q(EObject semanticObject, ISynNavigable transition, List nodes) { - acceptNodes(transition, nodes); - } - - /** - * Ambiguous syntax: - * 'refers'? - * - * This ambiguous syntax occurs at: - * (rule start) (ambiguity) referenceType=[Relation|QualifiedName] - */ - protected void emit_ReferenceDeclaration_RefersKeyword_0_1_q(EObject semanticObject, ISynNavigable transition, List nodes) { - acceptNodes(transition, nodes); - } - -} diff --git a/language-web/xtext-gen/org/eclipse/viatra/solver/language/services/ProblemGrammarAccess.java b/language-web/xtext-gen/org/eclipse/viatra/solver/language/services/ProblemGrammarAccess.java deleted file mode 100644 index 4368036b..00000000 --- a/language-web/xtext-gen/org/eclipse/viatra/solver/language/services/ProblemGrammarAccess.java +++ /dev/null @@ -1,1706 +0,0 @@ -/* - * generated by Xtext 2.26.0.M1 - */ -package org.eclipse.viatra.solver.language.services; - -import com.google.inject.Inject; -import com.google.inject.Singleton; -import java.util.List; -import org.eclipse.xtext.Action; -import org.eclipse.xtext.Alternatives; -import org.eclipse.xtext.Assignment; -import org.eclipse.xtext.CrossReference; -import org.eclipse.xtext.EnumLiteralDeclaration; -import org.eclipse.xtext.EnumRule; -import org.eclipse.xtext.Grammar; -import org.eclipse.xtext.GrammarUtil; -import org.eclipse.xtext.Group; -import org.eclipse.xtext.Keyword; -import org.eclipse.xtext.ParserRule; -import org.eclipse.xtext.RuleCall; -import org.eclipse.xtext.TerminalRule; -import org.eclipse.xtext.common.services.TerminalsGrammarAccess; -import org.eclipse.xtext.service.AbstractElementFinder; -import org.eclipse.xtext.service.GrammarProvider; - -@Singleton -public class ProblemGrammarAccess extends AbstractElementFinder.AbstractGrammarElementFinder { - - public class ProblemElements extends AbstractParserRuleElementFinder { - private final ParserRule rule = (ParserRule) GrammarUtil.findRuleForName(getGrammar(), "org.eclipse.viatra.solver.language.Problem.Problem"); - private final Group cGroup = (Group)rule.eContents().get(1); - private final Group cGroup_0 = (Group)cGroup.eContents().get(0); - private final Keyword cProblemKeyword_0_0 = (Keyword)cGroup_0.eContents().get(0); - private final Assignment cNameAssignment_0_1 = (Assignment)cGroup_0.eContents().get(1); - private final RuleCall cNameIdentifierParserRuleCall_0_1_0 = (RuleCall)cNameAssignment_0_1.eContents().get(0); - private final Keyword cFullStopKeyword_0_2 = (Keyword)cGroup_0.eContents().get(2); - private final Assignment cStatementsAssignment_1 = (Assignment)cGroup.eContents().get(1); - private final RuleCall cStatementsStatementParserRuleCall_1_0 = (RuleCall)cStatementsAssignment_1.eContents().get(0); - - //Problem: - // ("problem" name=Identifier ".")? - // statements+=Statement*; - @Override public ParserRule getRule() { return rule; } - - //("problem" name=Identifier ".")? - //statements+=Statement* - public Group getGroup() { return cGroup; } - - //("problem" name=Identifier ".")? - public Group getGroup_0() { return cGroup_0; } - - //"problem" - public Keyword getProblemKeyword_0_0() { return cProblemKeyword_0_0; } - - //name=Identifier - public Assignment getNameAssignment_0_1() { return cNameAssignment_0_1; } - - //Identifier - public RuleCall getNameIdentifierParserRuleCall_0_1_0() { return cNameIdentifierParserRuleCall_0_1_0; } - - //"." - public Keyword getFullStopKeyword_0_2() { return cFullStopKeyword_0_2; } - - //statements+=Statement* - public Assignment getStatementsAssignment_1() { return cStatementsAssignment_1; } - - //Statement - public RuleCall getStatementsStatementParserRuleCall_1_0() { return cStatementsStatementParserRuleCall_1_0; } - } - public class StatementElements extends AbstractParserRuleElementFinder { - private final ParserRule rule = (ParserRule) GrammarUtil.findRuleForName(getGrammar(), "org.eclipse.viatra.solver.language.Problem.Statement"); - private final Alternatives cAlternatives = (Alternatives)rule.eContents().get(1); - private final RuleCall cClassDeclarationParserRuleCall_0 = (RuleCall)cAlternatives.eContents().get(0); - private final RuleCall cEnumDeclarationParserRuleCall_1 = (RuleCall)cAlternatives.eContents().get(1); - private final RuleCall cPredicateDefinitionParserRuleCall_2 = (RuleCall)cAlternatives.eContents().get(2); - private final RuleCall cAssertionParserRuleCall_3 = (RuleCall)cAlternatives.eContents().get(3); - private final RuleCall cScopeDeclarationParserRuleCall_4 = (RuleCall)cAlternatives.eContents().get(4); - - //Statement: - // ClassDeclaration | EnumDeclaration | PredicateDefinition | Assertion | ScopeDeclaration; - @Override public ParserRule getRule() { return rule; } - - //ClassDeclaration | EnumDeclaration | PredicateDefinition | Assertion | ScopeDeclaration - public Alternatives getAlternatives() { return cAlternatives; } - - //ClassDeclaration - public RuleCall getClassDeclarationParserRuleCall_0() { return cClassDeclarationParserRuleCall_0; } - - //EnumDeclaration - public RuleCall getEnumDeclarationParserRuleCall_1() { return cEnumDeclarationParserRuleCall_1; } - - //PredicateDefinition - public RuleCall getPredicateDefinitionParserRuleCall_2() { return cPredicateDefinitionParserRuleCall_2; } - - //Assertion - public RuleCall getAssertionParserRuleCall_3() { return cAssertionParserRuleCall_3; } - - //ScopeDeclaration - public RuleCall getScopeDeclarationParserRuleCall_4() { return cScopeDeclarationParserRuleCall_4; } - } - public class ClassDeclarationElements extends AbstractParserRuleElementFinder { - private final ParserRule rule = (ParserRule) GrammarUtil.findRuleForName(getGrammar(), "org.eclipse.viatra.solver.language.Problem.ClassDeclaration"); - private final Group cGroup = (Group)rule.eContents().get(1); - private final Assignment cAbstractAssignment_0 = (Assignment)cGroup.eContents().get(0); - private final Keyword cAbstractAbstractKeyword_0_0 = (Keyword)cAbstractAssignment_0.eContents().get(0); - private final Keyword cClassKeyword_1 = (Keyword)cGroup.eContents().get(1); - private final Assignment cNameAssignment_2 = (Assignment)cGroup.eContents().get(2); - private final RuleCall cNameIdentifierParserRuleCall_2_0 = (RuleCall)cNameAssignment_2.eContents().get(0); - private final Group cGroup_3 = (Group)cGroup.eContents().get(3); - private final Keyword cExtendsKeyword_3_0 = (Keyword)cGroup_3.eContents().get(0); - private final Assignment cSuperTypesAssignment_3_1 = (Assignment)cGroup_3.eContents().get(1); - private final CrossReference cSuperTypesRelationCrossReference_3_1_0 = (CrossReference)cSuperTypesAssignment_3_1.eContents().get(0); - private final RuleCall cSuperTypesRelationQualifiedNameParserRuleCall_3_1_0_1 = (RuleCall)cSuperTypesRelationCrossReference_3_1_0.eContents().get(1); - private final Group cGroup_3_2 = (Group)cGroup_3.eContents().get(2); - private final Keyword cCommaKeyword_3_2_0 = (Keyword)cGroup_3_2.eContents().get(0); - private final Assignment cSuperTypesAssignment_3_2_1 = (Assignment)cGroup_3_2.eContents().get(1); - private final CrossReference cSuperTypesRelationCrossReference_3_2_1_0 = (CrossReference)cSuperTypesAssignment_3_2_1.eContents().get(0); - private final RuleCall cSuperTypesRelationQualifiedNameParserRuleCall_3_2_1_0_1 = (RuleCall)cSuperTypesRelationCrossReference_3_2_1_0.eContents().get(1); - private final Alternatives cAlternatives_4 = (Alternatives)cGroup.eContents().get(4); - private final Group cGroup_4_0 = (Group)cAlternatives_4.eContents().get(0); - private final Keyword cLeftCurlyBracketKeyword_4_0_0 = (Keyword)cGroup_4_0.eContents().get(0); - private final Group cGroup_4_0_1 = (Group)cGroup_4_0.eContents().get(1); - private final Assignment cReferenceDeclarationsAssignment_4_0_1_0 = (Assignment)cGroup_4_0_1.eContents().get(0); - private final RuleCall cReferenceDeclarationsReferenceDeclarationParserRuleCall_4_0_1_0_0 = (RuleCall)cReferenceDeclarationsAssignment_4_0_1_0.eContents().get(0); - private final Keyword cSemicolonKeyword_4_0_1_1 = (Keyword)cGroup_4_0_1.eContents().get(1); - private final Keyword cRightCurlyBracketKeyword_4_0_2 = (Keyword)cGroup_4_0.eContents().get(2); - private final Keyword cFullStopKeyword_4_1 = (Keyword)cAlternatives_4.eContents().get(1); - - //ClassDeclaration: - // abstract?="abstract"? "class" - // name=Identifier - // ("extends" superTypes+=[Relation|QualifiedName] ("," superTypes+=[Relation|QualifiedName])*)? - // ("{" (referenceDeclarations+=ReferenceDeclaration ";"?)* "}" | "."); - @Override public ParserRule getRule() { return rule; } - - //abstract?="abstract"? "class" - //name=Identifier - //("extends" superTypes+=[Relation|QualifiedName] ("," superTypes+=[Relation|QualifiedName])*)? - //("{" (referenceDeclarations+=ReferenceDeclaration ";"?)* "}" | ".") - public Group getGroup() { return cGroup; } - - //abstract?="abstract"? - public Assignment getAbstractAssignment_0() { return cAbstractAssignment_0; } - - //"abstract" - public Keyword getAbstractAbstractKeyword_0_0() { return cAbstractAbstractKeyword_0_0; } - - //"class" - public Keyword getClassKeyword_1() { return cClassKeyword_1; } - - //name=Identifier - public Assignment getNameAssignment_2() { return cNameAssignment_2; } - - //Identifier - public RuleCall getNameIdentifierParserRuleCall_2_0() { return cNameIdentifierParserRuleCall_2_0; } - - //("extends" superTypes+=[Relation|QualifiedName] ("," superTypes+=[Relation|QualifiedName])*)? - public Group getGroup_3() { return cGroup_3; } - - //"extends" - public Keyword getExtendsKeyword_3_0() { return cExtendsKeyword_3_0; } - - //superTypes+=[Relation|QualifiedName] - public Assignment getSuperTypesAssignment_3_1() { return cSuperTypesAssignment_3_1; } - - //[Relation|QualifiedName] - public CrossReference getSuperTypesRelationCrossReference_3_1_0() { return cSuperTypesRelationCrossReference_3_1_0; } - - //QualifiedName - public RuleCall getSuperTypesRelationQualifiedNameParserRuleCall_3_1_0_1() { return cSuperTypesRelationQualifiedNameParserRuleCall_3_1_0_1; } - - //("," superTypes+=[Relation|QualifiedName])* - public Group getGroup_3_2() { return cGroup_3_2; } - - //"," - public Keyword getCommaKeyword_3_2_0() { return cCommaKeyword_3_2_0; } - - //superTypes+=[Relation|QualifiedName] - public Assignment getSuperTypesAssignment_3_2_1() { return cSuperTypesAssignment_3_2_1; } - - //[Relation|QualifiedName] - public CrossReference getSuperTypesRelationCrossReference_3_2_1_0() { return cSuperTypesRelationCrossReference_3_2_1_0; } - - //QualifiedName - public RuleCall getSuperTypesRelationQualifiedNameParserRuleCall_3_2_1_0_1() { return cSuperTypesRelationQualifiedNameParserRuleCall_3_2_1_0_1; } - - //("{" (referenceDeclarations+=ReferenceDeclaration ";"?)* "}" | ".") - public Alternatives getAlternatives_4() { return cAlternatives_4; } - - //"{" (referenceDeclarations+=ReferenceDeclaration ";"?)* "}" - public Group getGroup_4_0() { return cGroup_4_0; } - - //"{" - public Keyword getLeftCurlyBracketKeyword_4_0_0() { return cLeftCurlyBracketKeyword_4_0_0; } - - //(referenceDeclarations+=ReferenceDeclaration ";"?)* - public Group getGroup_4_0_1() { return cGroup_4_0_1; } - - //referenceDeclarations+=ReferenceDeclaration - public Assignment getReferenceDeclarationsAssignment_4_0_1_0() { return cReferenceDeclarationsAssignment_4_0_1_0; } - - //ReferenceDeclaration - public RuleCall getReferenceDeclarationsReferenceDeclarationParserRuleCall_4_0_1_0_0() { return cReferenceDeclarationsReferenceDeclarationParserRuleCall_4_0_1_0_0; } - - //";"? - public Keyword getSemicolonKeyword_4_0_1_1() { return cSemicolonKeyword_4_0_1_1; } - - //"}" - public Keyword getRightCurlyBracketKeyword_4_0_2() { return cRightCurlyBracketKeyword_4_0_2; } - - //"." - public Keyword getFullStopKeyword_4_1() { return cFullStopKeyword_4_1; } - } - public class EnumDeclarationElements extends AbstractParserRuleElementFinder { - private final ParserRule rule = (ParserRule) GrammarUtil.findRuleForName(getGrammar(), "org.eclipse.viatra.solver.language.Problem.EnumDeclaration"); - private final Group cGroup = (Group)rule.eContents().get(1); - private final Keyword cEnumKeyword_0 = (Keyword)cGroup.eContents().get(0); - private final Assignment cNameAssignment_1 = (Assignment)cGroup.eContents().get(1); - private final RuleCall cNameIdentifierParserRuleCall_1_0 = (RuleCall)cNameAssignment_1.eContents().get(0); - private final Alternatives cAlternatives_2 = (Alternatives)cGroup.eContents().get(2); - private final Group cGroup_2_0 = (Group)cAlternatives_2.eContents().get(0); - private final Keyword cLeftCurlyBracketKeyword_2_0_0 = (Keyword)cGroup_2_0.eContents().get(0); - private final Group cGroup_2_0_1 = (Group)cGroup_2_0.eContents().get(1); - private final Assignment cLiteralsAssignment_2_0_1_0 = (Assignment)cGroup_2_0_1.eContents().get(0); - private final RuleCall cLiteralsEnumLiteralParserRuleCall_2_0_1_0_0 = (RuleCall)cLiteralsAssignment_2_0_1_0.eContents().get(0); - private final Group cGroup_2_0_1_1 = (Group)cGroup_2_0_1.eContents().get(1); - private final Keyword cCommaKeyword_2_0_1_1_0 = (Keyword)cGroup_2_0_1_1.eContents().get(0); - private final Assignment cLiteralsAssignment_2_0_1_1_1 = (Assignment)cGroup_2_0_1_1.eContents().get(1); - private final RuleCall cLiteralsEnumLiteralParserRuleCall_2_0_1_1_1_0 = (RuleCall)cLiteralsAssignment_2_0_1_1_1.eContents().get(0); - private final Alternatives cAlternatives_2_0_1_2 = (Alternatives)cGroup_2_0_1.eContents().get(2); - private final Keyword cCommaKeyword_2_0_1_2_0 = (Keyword)cAlternatives_2_0_1_2.eContents().get(0); - private final Keyword cSemicolonKeyword_2_0_1_2_1 = (Keyword)cAlternatives_2_0_1_2.eContents().get(1); - private final Keyword cRightCurlyBracketKeyword_2_0_2 = (Keyword)cGroup_2_0.eContents().get(2); - private final Keyword cFullStopKeyword_2_1 = (Keyword)cAlternatives_2.eContents().get(1); - - //EnumDeclaration: - // "enum" - // name=Identifier - // ("{" (literals+=EnumLiteral ("," literals+=EnumLiteral)* ("," | ";")?)? "}" | "."); - @Override public ParserRule getRule() { return rule; } - - //"enum" - //name=Identifier - //("{" (literals+=EnumLiteral ("," literals+=EnumLiteral)* ("," | ";")?)? "}" | ".") - public Group getGroup() { return cGroup; } - - //"enum" - public Keyword getEnumKeyword_0() { return cEnumKeyword_0; } - - //name=Identifier - public Assignment getNameAssignment_1() { return cNameAssignment_1; } - - //Identifier - public RuleCall getNameIdentifierParserRuleCall_1_0() { return cNameIdentifierParserRuleCall_1_0; } - - //("{" (literals+=EnumLiteral ("," literals+=EnumLiteral)* ("," | ";")?)? "}" | ".") - public Alternatives getAlternatives_2() { return cAlternatives_2; } - - //"{" (literals+=EnumLiteral ("," literals+=EnumLiteral)* ("," | ";")?)? "}" - public Group getGroup_2_0() { return cGroup_2_0; } - - //"{" - public Keyword getLeftCurlyBracketKeyword_2_0_0() { return cLeftCurlyBracketKeyword_2_0_0; } - - //(literals+=EnumLiteral ("," literals+=EnumLiteral)* ("," | ";")?)? - public Group getGroup_2_0_1() { return cGroup_2_0_1; } - - //literals+=EnumLiteral - public Assignment getLiteralsAssignment_2_0_1_0() { return cLiteralsAssignment_2_0_1_0; } - - //EnumLiteral - public RuleCall getLiteralsEnumLiteralParserRuleCall_2_0_1_0_0() { return cLiteralsEnumLiteralParserRuleCall_2_0_1_0_0; } - - //("," literals+=EnumLiteral)* - public Group getGroup_2_0_1_1() { return cGroup_2_0_1_1; } - - //"," - public Keyword getCommaKeyword_2_0_1_1_0() { return cCommaKeyword_2_0_1_1_0; } - - //literals+=EnumLiteral - public Assignment getLiteralsAssignment_2_0_1_1_1() { return cLiteralsAssignment_2_0_1_1_1; } - - //EnumLiteral - public RuleCall getLiteralsEnumLiteralParserRuleCall_2_0_1_1_1_0() { return cLiteralsEnumLiteralParserRuleCall_2_0_1_1_1_0; } - - //("," | ";")? - public Alternatives getAlternatives_2_0_1_2() { return cAlternatives_2_0_1_2; } - - //"," - public Keyword getCommaKeyword_2_0_1_2_0() { return cCommaKeyword_2_0_1_2_0; } - - //";" - public Keyword getSemicolonKeyword_2_0_1_2_1() { return cSemicolonKeyword_2_0_1_2_1; } - - //"}" - public Keyword getRightCurlyBracketKeyword_2_0_2() { return cRightCurlyBracketKeyword_2_0_2; } - - //"." - public Keyword getFullStopKeyword_2_1() { return cFullStopKeyword_2_1; } - } - public class EnumLiteralElements extends AbstractParserRuleElementFinder { - private final ParserRule rule = (ParserRule) GrammarUtil.findRuleForName(getGrammar(), "org.eclipse.viatra.solver.language.Problem.EnumLiteral"); - private final Assignment cNameAssignment = (Assignment)rule.eContents().get(1); - private final RuleCall cNameQuotedOrUnquotedIdParserRuleCall_0 = (RuleCall)cNameAssignment.eContents().get(0); - - //EnumLiteral returns Node: - // name=QuotedOrUnquotedId; - @Override public ParserRule getRule() { return rule; } - - //name=QuotedOrUnquotedId - public Assignment getNameAssignment() { return cNameAssignment; } - - //QuotedOrUnquotedId - public RuleCall getNameQuotedOrUnquotedIdParserRuleCall_0() { return cNameQuotedOrUnquotedIdParserRuleCall_0; } - } - public class ReferenceDeclarationElements extends AbstractParserRuleElementFinder { - private final ParserRule rule = (ParserRule) GrammarUtil.findRuleForName(getGrammar(), "org.eclipse.viatra.solver.language.Problem.ReferenceDeclaration"); - private final Group cGroup = (Group)rule.eContents().get(1); - private final Alternatives cAlternatives_0 = (Alternatives)cGroup.eContents().get(0); - private final Assignment cContainmentAssignment_0_0 = (Assignment)cAlternatives_0.eContents().get(0); - private final Keyword cContainmentContainsKeyword_0_0_0 = (Keyword)cContainmentAssignment_0_0.eContents().get(0); - private final Keyword cRefersKeyword_0_1 = (Keyword)cAlternatives_0.eContents().get(1); - private final Assignment cReferenceTypeAssignment_1 = (Assignment)cGroup.eContents().get(1); - private final CrossReference cReferenceTypeRelationCrossReference_1_0 = (CrossReference)cReferenceTypeAssignment_1.eContents().get(0); - private final RuleCall cReferenceTypeRelationQualifiedNameParserRuleCall_1_0_1 = (RuleCall)cReferenceTypeRelationCrossReference_1_0.eContents().get(1); - private final Group cGroup_2 = (Group)cGroup.eContents().get(2); - private final Keyword cLeftSquareBracketKeyword_2_0 = (Keyword)cGroup_2.eContents().get(0); - private final Assignment cMultiplicityAssignment_2_1 = (Assignment)cGroup_2.eContents().get(1); - private final RuleCall cMultiplicityMultiplicityParserRuleCall_2_1_0 = (RuleCall)cMultiplicityAssignment_2_1.eContents().get(0); - private final Keyword cRightSquareBracketKeyword_2_2 = (Keyword)cGroup_2.eContents().get(2); - private final Assignment cNameAssignment_3 = (Assignment)cGroup.eContents().get(3); - private final RuleCall cNameIdentifierParserRuleCall_3_0 = (RuleCall)cNameAssignment_3.eContents().get(0); - private final Group cGroup_4 = (Group)cGroup.eContents().get(4); - private final Keyword cOppositeKeyword_4_0 = (Keyword)cGroup_4.eContents().get(0); - private final Assignment cOppositeAssignment_4_1 = (Assignment)cGroup_4.eContents().get(1); - private final CrossReference cOppositeReferenceDeclarationCrossReference_4_1_0 = (CrossReference)cOppositeAssignment_4_1.eContents().get(0); - private final RuleCall cOppositeReferenceDeclarationQualifiedNameParserRuleCall_4_1_0_1 = (RuleCall)cOppositeReferenceDeclarationCrossReference_4_1_0.eContents().get(1); - - //ReferenceDeclaration: - // (containment?="contains" | "refers")? - // referenceType=[Relation|QualifiedName] - // ("[" multiplicity=Multiplicity "]")? - // name=Identifier - // ("opposite" opposite=[ReferenceDeclaration|QualifiedName])?; - @Override public ParserRule getRule() { return rule; } - - //(containment?="contains" | "refers")? - //referenceType=[Relation|QualifiedName] - //("[" multiplicity=Multiplicity "]")? - //name=Identifier - //("opposite" opposite=[ReferenceDeclaration|QualifiedName])? - public Group getGroup() { return cGroup; } - - //(containment?="contains" | "refers")? - public Alternatives getAlternatives_0() { return cAlternatives_0; } - - //containment?="contains" - public Assignment getContainmentAssignment_0_0() { return cContainmentAssignment_0_0; } - - //"contains" - public Keyword getContainmentContainsKeyword_0_0_0() { return cContainmentContainsKeyword_0_0_0; } - - //"refers" - public Keyword getRefersKeyword_0_1() { return cRefersKeyword_0_1; } - - //referenceType=[Relation|QualifiedName] - public Assignment getReferenceTypeAssignment_1() { return cReferenceTypeAssignment_1; } - - //[Relation|QualifiedName] - public CrossReference getReferenceTypeRelationCrossReference_1_0() { return cReferenceTypeRelationCrossReference_1_0; } - - //QualifiedName - public RuleCall getReferenceTypeRelationQualifiedNameParserRuleCall_1_0_1() { return cReferenceTypeRelationQualifiedNameParserRuleCall_1_0_1; } - - //("[" multiplicity=Multiplicity "]")? - public Group getGroup_2() { return cGroup_2; } - - //"[" - public Keyword getLeftSquareBracketKeyword_2_0() { return cLeftSquareBracketKeyword_2_0; } - - //multiplicity=Multiplicity - public Assignment getMultiplicityAssignment_2_1() { return cMultiplicityAssignment_2_1; } - - //Multiplicity - public RuleCall getMultiplicityMultiplicityParserRuleCall_2_1_0() { return cMultiplicityMultiplicityParserRuleCall_2_1_0; } - - //"]" - public Keyword getRightSquareBracketKeyword_2_2() { return cRightSquareBracketKeyword_2_2; } - - //name=Identifier - public Assignment getNameAssignment_3() { return cNameAssignment_3; } - - //Identifier - public RuleCall getNameIdentifierParserRuleCall_3_0() { return cNameIdentifierParserRuleCall_3_0; } - - //("opposite" opposite=[ReferenceDeclaration|QualifiedName])? - public Group getGroup_4() { return cGroup_4; } - - //"opposite" - public Keyword getOppositeKeyword_4_0() { return cOppositeKeyword_4_0; } - - //opposite=[ReferenceDeclaration|QualifiedName] - public Assignment getOppositeAssignment_4_1() { return cOppositeAssignment_4_1; } - - //[ReferenceDeclaration|QualifiedName] - public CrossReference getOppositeReferenceDeclarationCrossReference_4_1_0() { return cOppositeReferenceDeclarationCrossReference_4_1_0; } - - //QualifiedName - public RuleCall getOppositeReferenceDeclarationQualifiedNameParserRuleCall_4_1_0_1() { return cOppositeReferenceDeclarationQualifiedNameParserRuleCall_4_1_0_1; } - } - public class PredicateDefinitionElements extends AbstractParserRuleElementFinder { - private final ParserRule rule = (ParserRule) GrammarUtil.findRuleForName(getGrammar(), "org.eclipse.viatra.solver.language.Problem.PredicateDefinition"); - private final Group cGroup = (Group)rule.eContents().get(1); - private final Alternatives cAlternatives_0 = (Alternatives)cGroup.eContents().get(0); - private final Group cGroup_0_0 = (Group)cAlternatives_0.eContents().get(0); - private final Assignment cErrorAssignment_0_0_0 = (Assignment)cGroup_0_0.eContents().get(0); - private final Keyword cErrorErrorKeyword_0_0_0_0 = (Keyword)cErrorAssignment_0_0_0.eContents().get(0); - private final Keyword cPredKeyword_0_0_1 = (Keyword)cGroup_0_0.eContents().get(1); - private final Keyword cPredKeyword_0_1 = (Keyword)cAlternatives_0.eContents().get(1); - private final Assignment cNameAssignment_1 = (Assignment)cGroup.eContents().get(1); - private final RuleCall cNameIdentifierParserRuleCall_1_0 = (RuleCall)cNameAssignment_1.eContents().get(0); - private final Keyword cLeftParenthesisKeyword_2 = (Keyword)cGroup.eContents().get(2); - private final Group cGroup_3 = (Group)cGroup.eContents().get(3); - private final Assignment cParametersAssignment_3_0 = (Assignment)cGroup_3.eContents().get(0); - private final RuleCall cParametersParameterParserRuleCall_3_0_0 = (RuleCall)cParametersAssignment_3_0.eContents().get(0); - private final Group cGroup_3_1 = (Group)cGroup_3.eContents().get(1); - private final Keyword cCommaKeyword_3_1_0 = (Keyword)cGroup_3_1.eContents().get(0); - private final Assignment cParametersAssignment_3_1_1 = (Assignment)cGroup_3_1.eContents().get(1); - private final RuleCall cParametersParameterParserRuleCall_3_1_1_0 = (RuleCall)cParametersAssignment_3_1_1.eContents().get(0); - private final Keyword cRightParenthesisKeyword_4 = (Keyword)cGroup.eContents().get(4); - private final Group cGroup_5 = (Group)cGroup.eContents().get(5); - private final Keyword cColonHyphenMinusKeyword_5_0 = (Keyword)cGroup_5.eContents().get(0); - private final Assignment cBodiesAssignment_5_1 = (Assignment)cGroup_5.eContents().get(1); - private final RuleCall cBodiesConjunctionParserRuleCall_5_1_0 = (RuleCall)cBodiesAssignment_5_1.eContents().get(0); - private final Group cGroup_5_2 = (Group)cGroup_5.eContents().get(2); - private final Keyword cSemicolonKeyword_5_2_0 = (Keyword)cGroup_5_2.eContents().get(0); - private final Assignment cBodiesAssignment_5_2_1 = (Assignment)cGroup_5_2.eContents().get(1); - private final RuleCall cBodiesConjunctionParserRuleCall_5_2_1_0 = (RuleCall)cBodiesAssignment_5_2_1.eContents().get(0); - private final Keyword cFullStopKeyword_6 = (Keyword)cGroup.eContents().get(6); - - //PredicateDefinition: - // (error?="error" "pred"? | "pred") - // name=Identifier - // "(" (parameters+=Parameter ("," parameters+=Parameter)*)? ")" - // (":-" bodies+=Conjunction (";" bodies+=Conjunction)*)? - // "."; - @Override public ParserRule getRule() { return rule; } - - //(error?="error" "pred"? | "pred") - //name=Identifier - //"(" (parameters+=Parameter ("," parameters+=Parameter)*)? ")" - //(":-" bodies+=Conjunction (";" bodies+=Conjunction)*)? - //"." - public Group getGroup() { return cGroup; } - - //(error?="error" "pred"? | "pred") - public Alternatives getAlternatives_0() { return cAlternatives_0; } - - //error?="error" "pred"? - public Group getGroup_0_0() { return cGroup_0_0; } - - //error?="error" - public Assignment getErrorAssignment_0_0_0() { return cErrorAssignment_0_0_0; } - - //"error" - public Keyword getErrorErrorKeyword_0_0_0_0() { return cErrorErrorKeyword_0_0_0_0; } - - //"pred"? - public Keyword getPredKeyword_0_0_1() { return cPredKeyword_0_0_1; } - - //"pred" - public Keyword getPredKeyword_0_1() { return cPredKeyword_0_1; } - - //name=Identifier - public Assignment getNameAssignment_1() { return cNameAssignment_1; } - - //Identifier - public RuleCall getNameIdentifierParserRuleCall_1_0() { return cNameIdentifierParserRuleCall_1_0; } - - //"(" - public Keyword getLeftParenthesisKeyword_2() { return cLeftParenthesisKeyword_2; } - - //(parameters+=Parameter ("," parameters+=Parameter)*)? - public Group getGroup_3() { return cGroup_3; } - - //parameters+=Parameter - public Assignment getParametersAssignment_3_0() { return cParametersAssignment_3_0; } - - //Parameter - public RuleCall getParametersParameterParserRuleCall_3_0_0() { return cParametersParameterParserRuleCall_3_0_0; } - - //("," parameters+=Parameter)* - public Group getGroup_3_1() { return cGroup_3_1; } - - //"," - public Keyword getCommaKeyword_3_1_0() { return cCommaKeyword_3_1_0; } - - //parameters+=Parameter - public Assignment getParametersAssignment_3_1_1() { return cParametersAssignment_3_1_1; } - - //Parameter - public RuleCall getParametersParameterParserRuleCall_3_1_1_0() { return cParametersParameterParserRuleCall_3_1_1_0; } - - //")" - public Keyword getRightParenthesisKeyword_4() { return cRightParenthesisKeyword_4; } - - //(":-" bodies+=Conjunction (";" bodies+=Conjunction)*)? - public Group getGroup_5() { return cGroup_5; } - - //":-" - public Keyword getColonHyphenMinusKeyword_5_0() { return cColonHyphenMinusKeyword_5_0; } - - //bodies+=Conjunction - public Assignment getBodiesAssignment_5_1() { return cBodiesAssignment_5_1; } - - //Conjunction - public RuleCall getBodiesConjunctionParserRuleCall_5_1_0() { return cBodiesConjunctionParserRuleCall_5_1_0; } - - //(";" bodies+=Conjunction)* - public Group getGroup_5_2() { return cGroup_5_2; } - - //";" - public Keyword getSemicolonKeyword_5_2_0() { return cSemicolonKeyword_5_2_0; } - - //bodies+=Conjunction - public Assignment getBodiesAssignment_5_2_1() { return cBodiesAssignment_5_2_1; } - - //Conjunction - public RuleCall getBodiesConjunctionParserRuleCall_5_2_1_0() { return cBodiesConjunctionParserRuleCall_5_2_1_0; } - - //"." - public Keyword getFullStopKeyword_6() { return cFullStopKeyword_6; } - } - public class ParameterElements extends AbstractParserRuleElementFinder { - private final ParserRule rule = (ParserRule) GrammarUtil.findRuleForName(getGrammar(), "org.eclipse.viatra.solver.language.Problem.Parameter"); - private final Group cGroup = (Group)rule.eContents().get(1); - private final Assignment cParameterTypeAssignment_0 = (Assignment)cGroup.eContents().get(0); - private final CrossReference cParameterTypeRelationCrossReference_0_0 = (CrossReference)cParameterTypeAssignment_0.eContents().get(0); - private final RuleCall cParameterTypeRelationQualifiedNameParserRuleCall_0_0_1 = (RuleCall)cParameterTypeRelationCrossReference_0_0.eContents().get(1); - private final Assignment cNameAssignment_1 = (Assignment)cGroup.eContents().get(1); - private final RuleCall cNameIdentifierParserRuleCall_1_0 = (RuleCall)cNameAssignment_1.eContents().get(0); - - //Parameter: - // parameterType=[Relation|QualifiedName]? name=Identifier; - @Override public ParserRule getRule() { return rule; } - - //parameterType=[Relation|QualifiedName]? name=Identifier - public Group getGroup() { return cGroup; } - - //parameterType=[Relation|QualifiedName]? - public Assignment getParameterTypeAssignment_0() { return cParameterTypeAssignment_0; } - - //[Relation|QualifiedName] - public CrossReference getParameterTypeRelationCrossReference_0_0() { return cParameterTypeRelationCrossReference_0_0; } - - //QualifiedName - public RuleCall getParameterTypeRelationQualifiedNameParserRuleCall_0_0_1() { return cParameterTypeRelationQualifiedNameParserRuleCall_0_0_1; } - - //name=Identifier - public Assignment getNameAssignment_1() { return cNameAssignment_1; } - - //Identifier - public RuleCall getNameIdentifierParserRuleCall_1_0() { return cNameIdentifierParserRuleCall_1_0; } - } - public class ConjunctionElements extends AbstractParserRuleElementFinder { - private final ParserRule rule = (ParserRule) GrammarUtil.findRuleForName(getGrammar(), "org.eclipse.viatra.solver.language.Problem.Conjunction"); - private final Group cGroup = (Group)rule.eContents().get(1); - private final Assignment cLiteralsAssignment_0 = (Assignment)cGroup.eContents().get(0); - private final RuleCall cLiteralsLiteralParserRuleCall_0_0 = (RuleCall)cLiteralsAssignment_0.eContents().get(0); - private final Group cGroup_1 = (Group)cGroup.eContents().get(1); - private final Keyword cCommaKeyword_1_0 = (Keyword)cGroup_1.eContents().get(0); - private final Assignment cLiteralsAssignment_1_1 = (Assignment)cGroup_1.eContents().get(1); - private final RuleCall cLiteralsLiteralParserRuleCall_1_1_0 = (RuleCall)cLiteralsAssignment_1_1.eContents().get(0); - - //Conjunction: - // literals+=Literal ("," literals+=Literal)*; - @Override public ParserRule getRule() { return rule; } - - //literals+=Literal ("," literals+=Literal)* - public Group getGroup() { return cGroup; } - - //literals+=Literal - public Assignment getLiteralsAssignment_0() { return cLiteralsAssignment_0; } - - //Literal - public RuleCall getLiteralsLiteralParserRuleCall_0_0() { return cLiteralsLiteralParserRuleCall_0_0; } - - //("," literals+=Literal)* - public Group getGroup_1() { return cGroup_1; } - - //"," - public Keyword getCommaKeyword_1_0() { return cCommaKeyword_1_0; } - - //literals+=Literal - public Assignment getLiteralsAssignment_1_1() { return cLiteralsAssignment_1_1; } - - //Literal - public RuleCall getLiteralsLiteralParserRuleCall_1_1_0() { return cLiteralsLiteralParserRuleCall_1_1_0; } - } - public class LiteralElements extends AbstractParserRuleElementFinder { - private final ParserRule rule = (ParserRule) GrammarUtil.findRuleForName(getGrammar(), "org.eclipse.viatra.solver.language.Problem.Literal"); - private final Alternatives cAlternatives = (Alternatives)rule.eContents().get(1); - private final RuleCall cAtomParserRuleCall_0 = (RuleCall)cAlternatives.eContents().get(0); - private final RuleCall cNegativeLiteralParserRuleCall_1 = (RuleCall)cAlternatives.eContents().get(1); - - //Literal: - // Atom | NegativeLiteral; - @Override public ParserRule getRule() { return rule; } - - //Atom | NegativeLiteral - public Alternatives getAlternatives() { return cAlternatives; } - - //Atom - public RuleCall getAtomParserRuleCall_0() { return cAtomParserRuleCall_0; } - - //NegativeLiteral - public RuleCall getNegativeLiteralParserRuleCall_1() { return cNegativeLiteralParserRuleCall_1; } - } - public class NegativeLiteralElements extends AbstractParserRuleElementFinder { - private final ParserRule rule = (ParserRule) GrammarUtil.findRuleForName(getGrammar(), "org.eclipse.viatra.solver.language.Problem.NegativeLiteral"); - private final Group cGroup = (Group)rule.eContents().get(1); - private final Keyword cExclamationMarkKeyword_0 = (Keyword)cGroup.eContents().get(0); - private final Assignment cAtomAssignment_1 = (Assignment)cGroup.eContents().get(1); - private final RuleCall cAtomAtomParserRuleCall_1_0 = (RuleCall)cAtomAssignment_1.eContents().get(0); - - //NegativeLiteral: - // "!" atom=Atom; - @Override public ParserRule getRule() { return rule; } - - //"!" atom=Atom - public Group getGroup() { return cGroup; } - - //"!" - public Keyword getExclamationMarkKeyword_0() { return cExclamationMarkKeyword_0; } - - //atom=Atom - public Assignment getAtomAssignment_1() { return cAtomAssignment_1; } - - //Atom - public RuleCall getAtomAtomParserRuleCall_1_0() { return cAtomAtomParserRuleCall_1_0; } - } - public class AtomElements extends AbstractParserRuleElementFinder { - private final ParserRule rule = (ParserRule) GrammarUtil.findRuleForName(getGrammar(), "org.eclipse.viatra.solver.language.Problem.Atom"); - private final Group cGroup = (Group)rule.eContents().get(1); - private final Assignment cRelationAssignment_0 = (Assignment)cGroup.eContents().get(0); - private final CrossReference cRelationRelationCrossReference_0_0 = (CrossReference)cRelationAssignment_0.eContents().get(0); - private final RuleCall cRelationRelationQualifiedNameParserRuleCall_0_0_1 = (RuleCall)cRelationRelationCrossReference_0_0.eContents().get(1); - private final Assignment cTransitiveClosureAssignment_1 = (Assignment)cGroup.eContents().get(1); - private final Keyword cTransitiveClosurePlusSignKeyword_1_0 = (Keyword)cTransitiveClosureAssignment_1.eContents().get(0); - private final Keyword cLeftParenthesisKeyword_2 = (Keyword)cGroup.eContents().get(2); - private final Group cGroup_3 = (Group)cGroup.eContents().get(3); - private final Assignment cArgumentsAssignment_3_0 = (Assignment)cGroup_3.eContents().get(0); - private final RuleCall cArgumentsArgumentParserRuleCall_3_0_0 = (RuleCall)cArgumentsAssignment_3_0.eContents().get(0); - private final Group cGroup_3_1 = (Group)cGroup_3.eContents().get(1); - private final Keyword cCommaKeyword_3_1_0 = (Keyword)cGroup_3_1.eContents().get(0); - private final Assignment cArgumentsAssignment_3_1_1 = (Assignment)cGroup_3_1.eContents().get(1); - private final RuleCall cArgumentsArgumentParserRuleCall_3_1_1_0 = (RuleCall)cArgumentsAssignment_3_1_1.eContents().get(0); - private final Keyword cRightParenthesisKeyword_4 = (Keyword)cGroup.eContents().get(4); - - //Atom: - // relation=[Relation|QualifiedName] - // transitiveClosure?="+"? - // "(" (arguments+=Argument ("," arguments+=Argument)*)? ")"; - @Override public ParserRule getRule() { return rule; } - - //relation=[Relation|QualifiedName] - //transitiveClosure?="+"? - //"(" (arguments+=Argument ("," arguments+=Argument)*)? ")" - public Group getGroup() { return cGroup; } - - //relation=[Relation|QualifiedName] - public Assignment getRelationAssignment_0() { return cRelationAssignment_0; } - - //[Relation|QualifiedName] - public CrossReference getRelationRelationCrossReference_0_0() { return cRelationRelationCrossReference_0_0; } - - //QualifiedName - public RuleCall getRelationRelationQualifiedNameParserRuleCall_0_0_1() { return cRelationRelationQualifiedNameParserRuleCall_0_0_1; } - - //transitiveClosure?="+"? - public Assignment getTransitiveClosureAssignment_1() { return cTransitiveClosureAssignment_1; } - - //"+" - public Keyword getTransitiveClosurePlusSignKeyword_1_0() { return cTransitiveClosurePlusSignKeyword_1_0; } - - //"(" - public Keyword getLeftParenthesisKeyword_2() { return cLeftParenthesisKeyword_2; } - - //(arguments+=Argument ("," arguments+=Argument)*)? - public Group getGroup_3() { return cGroup_3; } - - //arguments+=Argument - public Assignment getArgumentsAssignment_3_0() { return cArgumentsAssignment_3_0; } - - //Argument - public RuleCall getArgumentsArgumentParserRuleCall_3_0_0() { return cArgumentsArgumentParserRuleCall_3_0_0; } - - //("," arguments+=Argument)* - public Group getGroup_3_1() { return cGroup_3_1; } - - //"," - public Keyword getCommaKeyword_3_1_0() { return cCommaKeyword_3_1_0; } - - //arguments+=Argument - public Assignment getArgumentsAssignment_3_1_1() { return cArgumentsAssignment_3_1_1; } - - //Argument - public RuleCall getArgumentsArgumentParserRuleCall_3_1_1_0() { return cArgumentsArgumentParserRuleCall_3_1_1_0; } - - //")" - public Keyword getRightParenthesisKeyword_4() { return cRightParenthesisKeyword_4; } - } - public class ArgumentElements extends AbstractParserRuleElementFinder { - private final ParserRule rule = (ParserRule) GrammarUtil.findRuleForName(getGrammar(), "org.eclipse.viatra.solver.language.Problem.Argument"); - private final Assignment cVariableOrNodeAssignment = (Assignment)rule.eContents().get(1); - private final CrossReference cVariableOrNodeVariableOrNodeCrossReference_0 = (CrossReference)cVariableOrNodeAssignment.eContents().get(0); - private final RuleCall cVariableOrNodeVariableOrNodeQualifiedNameParserRuleCall_0_1 = (RuleCall)cVariableOrNodeVariableOrNodeCrossReference_0.eContents().get(1); - - //Argument: - // variableOrNode=[VariableOrNode|QualifiedName]; - @Override public ParserRule getRule() { return rule; } - - //variableOrNode=[VariableOrNode|QualifiedName] - public Assignment getVariableOrNodeAssignment() { return cVariableOrNodeAssignment; } - - //[VariableOrNode|QualifiedName] - public CrossReference getVariableOrNodeVariableOrNodeCrossReference_0() { return cVariableOrNodeVariableOrNodeCrossReference_0; } - - //QualifiedName - public RuleCall getVariableOrNodeVariableOrNodeQualifiedNameParserRuleCall_0_1() { return cVariableOrNodeVariableOrNodeQualifiedNameParserRuleCall_0_1; } - } - public class AssertionElements extends AbstractParserRuleElementFinder { - private final ParserRule rule = (ParserRule) GrammarUtil.findRuleForName(getGrammar(), "org.eclipse.viatra.solver.language.Problem.Assertion"); - private final Group cGroup = (Group)rule.eContents().get(1); - private final Alternatives cAlternatives_0 = (Alternatives)cGroup.eContents().get(0); - private final Group cGroup_0_0 = (Group)cAlternatives_0.eContents().get(0); - private final Assignment cRelationAssignment_0_0_0 = (Assignment)cGroup_0_0.eContents().get(0); - private final CrossReference cRelationRelationCrossReference_0_0_0_0 = (CrossReference)cRelationAssignment_0_0_0.eContents().get(0); - private final RuleCall cRelationRelationQualifiedNameParserRuleCall_0_0_0_0_1 = (RuleCall)cRelationRelationCrossReference_0_0_0_0.eContents().get(1); - private final Keyword cLeftParenthesisKeyword_0_0_1 = (Keyword)cGroup_0_0.eContents().get(1); - private final Group cGroup_0_0_2 = (Group)cGroup_0_0.eContents().get(2); - private final Assignment cArgumentsAssignment_0_0_2_0 = (Assignment)cGroup_0_0_2.eContents().get(0); - private final CrossReference cArgumentsNodeCrossReference_0_0_2_0_0 = (CrossReference)cArgumentsAssignment_0_0_2_0.eContents().get(0); - private final RuleCall cArgumentsNodeQualifiedNameParserRuleCall_0_0_2_0_0_1 = (RuleCall)cArgumentsNodeCrossReference_0_0_2_0_0.eContents().get(1); - private final Group cGroup_0_0_2_1 = (Group)cGroup_0_0_2.eContents().get(1); - private final Keyword cCommaKeyword_0_0_2_1_0 = (Keyword)cGroup_0_0_2_1.eContents().get(0); - private final Assignment cArgumentsAssignment_0_0_2_1_1 = (Assignment)cGroup_0_0_2_1.eContents().get(1); - private final CrossReference cArgumentsNodeCrossReference_0_0_2_1_1_0 = (CrossReference)cArgumentsAssignment_0_0_2_1_1.eContents().get(0); - private final RuleCall cArgumentsNodeQualifiedNameParserRuleCall_0_0_2_1_1_0_1 = (RuleCall)cArgumentsNodeCrossReference_0_0_2_1_1_0.eContents().get(1); - private final Keyword cRightParenthesisKeyword_0_0_3 = (Keyword)cGroup_0_0.eContents().get(3); - private final Keyword cColonKeyword_0_0_4 = (Keyword)cGroup_0_0.eContents().get(4); - private final Assignment cValueAssignment_0_0_5 = (Assignment)cGroup_0_0.eContents().get(5); - private final RuleCall cValueLogicValueEnumRuleCall_0_0_5_0 = (RuleCall)cValueAssignment_0_0_5.eContents().get(0); - private final Group cGroup_0_1 = (Group)cAlternatives_0.eContents().get(1); - private final Assignment cValueAssignment_0_1_0 = (Assignment)cGroup_0_1.eContents().get(0); - private final RuleCall cValueShortLogicValueEnumRuleCall_0_1_0_0 = (RuleCall)cValueAssignment_0_1_0.eContents().get(0); - private final Assignment cRelationAssignment_0_1_1 = (Assignment)cGroup_0_1.eContents().get(1); - private final CrossReference cRelationRelationCrossReference_0_1_1_0 = (CrossReference)cRelationAssignment_0_1_1.eContents().get(0); - private final RuleCall cRelationRelationQualifiedNameParserRuleCall_0_1_1_0_1 = (RuleCall)cRelationRelationCrossReference_0_1_1_0.eContents().get(1); - private final Keyword cLeftParenthesisKeyword_0_1_2 = (Keyword)cGroup_0_1.eContents().get(2); - private final Group cGroup_0_1_3 = (Group)cGroup_0_1.eContents().get(3); - private final Assignment cArgumentsAssignment_0_1_3_0 = (Assignment)cGroup_0_1_3.eContents().get(0); - private final CrossReference cArgumentsNodeCrossReference_0_1_3_0_0 = (CrossReference)cArgumentsAssignment_0_1_3_0.eContents().get(0); - private final RuleCall cArgumentsNodeQualifiedNameParserRuleCall_0_1_3_0_0_1 = (RuleCall)cArgumentsNodeCrossReference_0_1_3_0_0.eContents().get(1); - private final Group cGroup_0_1_3_1 = (Group)cGroup_0_1_3.eContents().get(1); - private final Keyword cCommaKeyword_0_1_3_1_0 = (Keyword)cGroup_0_1_3_1.eContents().get(0); - private final Assignment cArgumentsAssignment_0_1_3_1_1 = (Assignment)cGroup_0_1_3_1.eContents().get(1); - private final CrossReference cArgumentsNodeCrossReference_0_1_3_1_1_0 = (CrossReference)cArgumentsAssignment_0_1_3_1_1.eContents().get(0); - private final RuleCall cArgumentsNodeQualifiedNameParserRuleCall_0_1_3_1_1_0_1 = (RuleCall)cArgumentsNodeCrossReference_0_1_3_1_1_0.eContents().get(1); - private final Keyword cRightParenthesisKeyword_0_1_4 = (Keyword)cGroup_0_1.eContents().get(4); - private final Keyword cFullStopKeyword_1 = (Keyword)cGroup.eContents().get(1); - - //Assertion: - // (relation=[Relation|QualifiedName] - // "(" (arguments+=[Node|QualifiedName] ("," arguments+=[Node|QualifiedName])*)? ")" - // ":" value=LogicValue | - // value=ShortLogicValue? - // relation=[Relation|QualifiedName] - // "(" (arguments+=[Node|QualifiedName] ("," arguments+=[Node|QualifiedName])*)? ")") - // "."; - @Override public ParserRule getRule() { return rule; } - - //(relation=[Relation|QualifiedName] - //"(" (arguments+=[Node|QualifiedName] ("," arguments+=[Node|QualifiedName])*)? ")" - //":" value=LogicValue | - //value=ShortLogicValue? - //relation=[Relation|QualifiedName] - //"(" (arguments+=[Node|QualifiedName] ("," arguments+=[Node|QualifiedName])*)? ")") - //"." - public Group getGroup() { return cGroup; } - - //(relation=[Relation|QualifiedName] - //"(" (arguments+=[Node|QualifiedName] ("," arguments+=[Node|QualifiedName])*)? ")" - //":" value=LogicValue | - //value=ShortLogicValue? - //relation=[Relation|QualifiedName] - //"(" (arguments+=[Node|QualifiedName] ("," arguments+=[Node|QualifiedName])*)? ")") - public Alternatives getAlternatives_0() { return cAlternatives_0; } - - //relation=[Relation|QualifiedName] - // "(" (arguments+=[Node|QualifiedName] ("," arguments+=[Node|QualifiedName])*)? ")" - // ":" value=LogicValue - public Group getGroup_0_0() { return cGroup_0_0; } - - //relation=[Relation|QualifiedName] - public Assignment getRelationAssignment_0_0_0() { return cRelationAssignment_0_0_0; } - - //[Relation|QualifiedName] - public CrossReference getRelationRelationCrossReference_0_0_0_0() { return cRelationRelationCrossReference_0_0_0_0; } - - //QualifiedName - public RuleCall getRelationRelationQualifiedNameParserRuleCall_0_0_0_0_1() { return cRelationRelationQualifiedNameParserRuleCall_0_0_0_0_1; } - - //"(" - public Keyword getLeftParenthesisKeyword_0_0_1() { return cLeftParenthesisKeyword_0_0_1; } - - //(arguments+=[Node|QualifiedName] ("," arguments+=[Node|QualifiedName])*)? - public Group getGroup_0_0_2() { return cGroup_0_0_2; } - - //arguments+=[Node|QualifiedName] - public Assignment getArgumentsAssignment_0_0_2_0() { return cArgumentsAssignment_0_0_2_0; } - - //[Node|QualifiedName] - public CrossReference getArgumentsNodeCrossReference_0_0_2_0_0() { return cArgumentsNodeCrossReference_0_0_2_0_0; } - - //QualifiedName - public RuleCall getArgumentsNodeQualifiedNameParserRuleCall_0_0_2_0_0_1() { return cArgumentsNodeQualifiedNameParserRuleCall_0_0_2_0_0_1; } - - //("," arguments+=[Node|QualifiedName])* - public Group getGroup_0_0_2_1() { return cGroup_0_0_2_1; } - - //"," - public Keyword getCommaKeyword_0_0_2_1_0() { return cCommaKeyword_0_0_2_1_0; } - - //arguments+=[Node|QualifiedName] - public Assignment getArgumentsAssignment_0_0_2_1_1() { return cArgumentsAssignment_0_0_2_1_1; } - - //[Node|QualifiedName] - public CrossReference getArgumentsNodeCrossReference_0_0_2_1_1_0() { return cArgumentsNodeCrossReference_0_0_2_1_1_0; } - - //QualifiedName - public RuleCall getArgumentsNodeQualifiedNameParserRuleCall_0_0_2_1_1_0_1() { return cArgumentsNodeQualifiedNameParserRuleCall_0_0_2_1_1_0_1; } - - //")" - public Keyword getRightParenthesisKeyword_0_0_3() { return cRightParenthesisKeyword_0_0_3; } - - //":" - public Keyword getColonKeyword_0_0_4() { return cColonKeyword_0_0_4; } - - //value=LogicValue - public Assignment getValueAssignment_0_0_5() { return cValueAssignment_0_0_5; } - - //LogicValue - public RuleCall getValueLogicValueEnumRuleCall_0_0_5_0() { return cValueLogicValueEnumRuleCall_0_0_5_0; } - - //value=ShortLogicValue? - //relation=[Relation|QualifiedName] - //"(" (arguments+=[Node|QualifiedName] ("," arguments+=[Node|QualifiedName])*)? ")" - public Group getGroup_0_1() { return cGroup_0_1; } - - //value=ShortLogicValue? - public Assignment getValueAssignment_0_1_0() { return cValueAssignment_0_1_0; } - - //ShortLogicValue - public RuleCall getValueShortLogicValueEnumRuleCall_0_1_0_0() { return cValueShortLogicValueEnumRuleCall_0_1_0_0; } - - //relation=[Relation|QualifiedName] - public Assignment getRelationAssignment_0_1_1() { return cRelationAssignment_0_1_1; } - - //[Relation|QualifiedName] - public CrossReference getRelationRelationCrossReference_0_1_1_0() { return cRelationRelationCrossReference_0_1_1_0; } - - //QualifiedName - public RuleCall getRelationRelationQualifiedNameParserRuleCall_0_1_1_0_1() { return cRelationRelationQualifiedNameParserRuleCall_0_1_1_0_1; } - - //"(" - public Keyword getLeftParenthesisKeyword_0_1_2() { return cLeftParenthesisKeyword_0_1_2; } - - //(arguments+=[Node|QualifiedName] ("," arguments+=[Node|QualifiedName])*)? - public Group getGroup_0_1_3() { return cGroup_0_1_3; } - - //arguments+=[Node|QualifiedName] - public Assignment getArgumentsAssignment_0_1_3_0() { return cArgumentsAssignment_0_1_3_0; } - - //[Node|QualifiedName] - public CrossReference getArgumentsNodeCrossReference_0_1_3_0_0() { return cArgumentsNodeCrossReference_0_1_3_0_0; } - - //QualifiedName - public RuleCall getArgumentsNodeQualifiedNameParserRuleCall_0_1_3_0_0_1() { return cArgumentsNodeQualifiedNameParserRuleCall_0_1_3_0_0_1; } - - //("," arguments+=[Node|QualifiedName])* - public Group getGroup_0_1_3_1() { return cGroup_0_1_3_1; } - - //"," - public Keyword getCommaKeyword_0_1_3_1_0() { return cCommaKeyword_0_1_3_1_0; } - - //arguments+=[Node|QualifiedName] - public Assignment getArgumentsAssignment_0_1_3_1_1() { return cArgumentsAssignment_0_1_3_1_1; } - - //[Node|QualifiedName] - public CrossReference getArgumentsNodeCrossReference_0_1_3_1_1_0() { return cArgumentsNodeCrossReference_0_1_3_1_1_0; } - - //QualifiedName - public RuleCall getArgumentsNodeQualifiedNameParserRuleCall_0_1_3_1_1_0_1() { return cArgumentsNodeQualifiedNameParserRuleCall_0_1_3_1_1_0_1; } - - //")" - public Keyword getRightParenthesisKeyword_0_1_4() { return cRightParenthesisKeyword_0_1_4; } - - //"." - public Keyword getFullStopKeyword_1() { return cFullStopKeyword_1; } - } - public class ScopeDeclarationElements extends AbstractParserRuleElementFinder { - private final ParserRule rule = (ParserRule) GrammarUtil.findRuleForName(getGrammar(), "org.eclipse.viatra.solver.language.Problem.ScopeDeclaration"); - private final Group cGroup = (Group)rule.eContents().get(1); - private final Keyword cScopeKeyword_0 = (Keyword)cGroup.eContents().get(0); - private final Assignment cTypeScopesAssignment_1 = (Assignment)cGroup.eContents().get(1); - private final RuleCall cTypeScopesTypeScopeParserRuleCall_1_0 = (RuleCall)cTypeScopesAssignment_1.eContents().get(0); - private final Group cGroup_2 = (Group)cGroup.eContents().get(2); - private final Keyword cCommaKeyword_2_0 = (Keyword)cGroup_2.eContents().get(0); - private final Assignment cTypeScopesAssignment_2_1 = (Assignment)cGroup_2.eContents().get(1); - private final RuleCall cTypeScopesTypeScopeParserRuleCall_2_1_0 = (RuleCall)cTypeScopesAssignment_2_1.eContents().get(0); - private final Keyword cFullStopKeyword_3 = (Keyword)cGroup.eContents().get(3); - - //ScopeDeclaration: - // "scope" typeScopes+=TypeScope ("," typeScopes+=TypeScope)* "."; - @Override public ParserRule getRule() { return rule; } - - //"scope" typeScopes+=TypeScope ("," typeScopes+=TypeScope)* "." - public Group getGroup() { return cGroup; } - - //"scope" - public Keyword getScopeKeyword_0() { return cScopeKeyword_0; } - - //typeScopes+=TypeScope - public Assignment getTypeScopesAssignment_1() { return cTypeScopesAssignment_1; } - - //TypeScope - public RuleCall getTypeScopesTypeScopeParserRuleCall_1_0() { return cTypeScopesTypeScopeParserRuleCall_1_0; } - - //("," typeScopes+=TypeScope)* - public Group getGroup_2() { return cGroup_2; } - - //"," - public Keyword getCommaKeyword_2_0() { return cCommaKeyword_2_0; } - - //typeScopes+=TypeScope - public Assignment getTypeScopesAssignment_2_1() { return cTypeScopesAssignment_2_1; } - - //TypeScope - public RuleCall getTypeScopesTypeScopeParserRuleCall_2_1_0() { return cTypeScopesTypeScopeParserRuleCall_2_1_0; } - - //"." - public Keyword getFullStopKeyword_3() { return cFullStopKeyword_3; } - } - public class TypeScopeElements extends AbstractParserRuleElementFinder { - private final ParserRule rule = (ParserRule) GrammarUtil.findRuleForName(getGrammar(), "org.eclipse.viatra.solver.language.Problem.TypeScope"); - private final Group cGroup = (Group)rule.eContents().get(1); - private final Assignment cTargetTypeAssignment_0 = (Assignment)cGroup.eContents().get(0); - private final CrossReference cTargetTypeClassDeclarationCrossReference_0_0 = (CrossReference)cTargetTypeAssignment_0.eContents().get(0); - private final RuleCall cTargetTypeClassDeclarationIDTerminalRuleCall_0_0_1 = (RuleCall)cTargetTypeClassDeclarationCrossReference_0_0.eContents().get(1); - private final Alternatives cAlternatives_1 = (Alternatives)cGroup.eContents().get(1); - private final Assignment cIncrementAssignment_1_0 = (Assignment)cAlternatives_1.eContents().get(0); - private final Keyword cIncrementPlusSignEqualsSignKeyword_1_0_0 = (Keyword)cIncrementAssignment_1_0.eContents().get(0); - private final Keyword cEqualsSignKeyword_1_1 = (Keyword)cAlternatives_1.eContents().get(1); - private final Assignment cMultiplicityAssignment_2 = (Assignment)cGroup.eContents().get(2); - private final RuleCall cMultiplicityDefiniteMultiplicityParserRuleCall_2_0 = (RuleCall)cMultiplicityAssignment_2.eContents().get(0); - - //TypeScope: - // targetType=[ClassDeclaration] - // (increment?="+=" | "=") - // multiplicity=DefiniteMultiplicity; - @Override public ParserRule getRule() { return rule; } - - //targetType=[ClassDeclaration] - //(increment?="+=" | "=") - //multiplicity=DefiniteMultiplicity - public Group getGroup() { return cGroup; } - - //targetType=[ClassDeclaration] - public Assignment getTargetTypeAssignment_0() { return cTargetTypeAssignment_0; } - - //[ClassDeclaration] - public CrossReference getTargetTypeClassDeclarationCrossReference_0_0() { return cTargetTypeClassDeclarationCrossReference_0_0; } - - //ID - public RuleCall getTargetTypeClassDeclarationIDTerminalRuleCall_0_0_1() { return cTargetTypeClassDeclarationIDTerminalRuleCall_0_0_1; } - - //(increment?="+=" | "=") - public Alternatives getAlternatives_1() { return cAlternatives_1; } - - //increment?="+=" - public Assignment getIncrementAssignment_1_0() { return cIncrementAssignment_1_0; } - - //"+=" - public Keyword getIncrementPlusSignEqualsSignKeyword_1_0_0() { return cIncrementPlusSignEqualsSignKeyword_1_0_0; } - - //"=" - public Keyword getEqualsSignKeyword_1_1() { return cEqualsSignKeyword_1_1; } - - //multiplicity=DefiniteMultiplicity - public Assignment getMultiplicityAssignment_2() { return cMultiplicityAssignment_2; } - - //DefiniteMultiplicity - public RuleCall getMultiplicityDefiniteMultiplicityParserRuleCall_2_0() { return cMultiplicityDefiniteMultiplicityParserRuleCall_2_0; } - } - public class MultiplicityElements extends AbstractParserRuleElementFinder { - private final ParserRule rule = (ParserRule) GrammarUtil.findRuleForName(getGrammar(), "org.eclipse.viatra.solver.language.Problem.Multiplicity"); - private final Alternatives cAlternatives = (Alternatives)rule.eContents().get(1); - private final RuleCall cUnboundedMultiplicityParserRuleCall_0 = (RuleCall)cAlternatives.eContents().get(0); - private final RuleCall cDefiniteMultiplicityParserRuleCall_1 = (RuleCall)cAlternatives.eContents().get(1); - - //Multiplicity: - // UnboundedMultiplicity | DefiniteMultiplicity; - @Override public ParserRule getRule() { return rule; } - - //UnboundedMultiplicity | DefiniteMultiplicity - public Alternatives getAlternatives() { return cAlternatives; } - - //UnboundedMultiplicity - public RuleCall getUnboundedMultiplicityParserRuleCall_0() { return cUnboundedMultiplicityParserRuleCall_0; } - - //DefiniteMultiplicity - public RuleCall getDefiniteMultiplicityParserRuleCall_1() { return cDefiniteMultiplicityParserRuleCall_1; } - } - public class DefiniteMultiplicityElements extends AbstractParserRuleElementFinder { - private final ParserRule rule = (ParserRule) GrammarUtil.findRuleForName(getGrammar(), "org.eclipse.viatra.solver.language.Problem.DefiniteMultiplicity"); - private final Alternatives cAlternatives = (Alternatives)rule.eContents().get(1); - private final RuleCall cRangeMultiplicityParserRuleCall_0 = (RuleCall)cAlternatives.eContents().get(0); - private final RuleCall cExactMultiplicityParserRuleCall_1 = (RuleCall)cAlternatives.eContents().get(1); - - //DefiniteMultiplicity returns Multiplicity: - // RangeMultiplicity | ExactMultiplicity; - @Override public ParserRule getRule() { return rule; } - - //RangeMultiplicity | ExactMultiplicity - public Alternatives getAlternatives() { return cAlternatives; } - - //RangeMultiplicity - public RuleCall getRangeMultiplicityParserRuleCall_0() { return cRangeMultiplicityParserRuleCall_0; } - - //ExactMultiplicity - public RuleCall getExactMultiplicityParserRuleCall_1() { return cExactMultiplicityParserRuleCall_1; } - } - public class UnboundedMultiplicityElements extends AbstractParserRuleElementFinder { - private final ParserRule rule = (ParserRule) GrammarUtil.findRuleForName(getGrammar(), "org.eclipse.viatra.solver.language.Problem.UnboundedMultiplicity"); - private final Action cUnboundedMultiplicityAction = (Action)rule.eContents().get(1); - - //UnboundedMultiplicity: - // {UnboundedMultiplicity}; - @Override public ParserRule getRule() { return rule; } - - //{UnboundedMultiplicity} - public Action getUnboundedMultiplicityAction() { return cUnboundedMultiplicityAction; } - } - public class RangeMultiplicityElements extends AbstractParserRuleElementFinder { - private final ParserRule rule = (ParserRule) GrammarUtil.findRuleForName(getGrammar(), "org.eclipse.viatra.solver.language.Problem.RangeMultiplicity"); - private final Group cGroup = (Group)rule.eContents().get(1); - private final Assignment cLowerBoundAssignment_0 = (Assignment)cGroup.eContents().get(0); - private final RuleCall cLowerBoundINTTerminalRuleCall_0_0 = (RuleCall)cLowerBoundAssignment_0.eContents().get(0); - private final Keyword cFullStopFullStopKeyword_1 = (Keyword)cGroup.eContents().get(1); - private final Assignment cUpperBoundAssignment_2 = (Assignment)cGroup.eContents().get(2); - private final RuleCall cUpperBoundUpperBoundParserRuleCall_2_0 = (RuleCall)cUpperBoundAssignment_2.eContents().get(0); - - //RangeMultiplicity: - // lowerBound=INT ".." upperBound=UpperBound; - @Override public ParserRule getRule() { return rule; } - - //lowerBound=INT ".." upperBound=UpperBound - public Group getGroup() { return cGroup; } - - //lowerBound=INT - public Assignment getLowerBoundAssignment_0() { return cLowerBoundAssignment_0; } - - //INT - public RuleCall getLowerBoundINTTerminalRuleCall_0_0() { return cLowerBoundINTTerminalRuleCall_0_0; } - - //".." - public Keyword getFullStopFullStopKeyword_1() { return cFullStopFullStopKeyword_1; } - - //upperBound=UpperBound - public Assignment getUpperBoundAssignment_2() { return cUpperBoundAssignment_2; } - - //UpperBound - public RuleCall getUpperBoundUpperBoundParserRuleCall_2_0() { return cUpperBoundUpperBoundParserRuleCall_2_0; } - } - public class ExactMultiplicityElements extends AbstractParserRuleElementFinder { - private final ParserRule rule = (ParserRule) GrammarUtil.findRuleForName(getGrammar(), "org.eclipse.viatra.solver.language.Problem.ExactMultiplicity"); - private final Assignment cExactValueAssignment = (Assignment)rule.eContents().get(1); - private final RuleCall cExactValueINTTerminalRuleCall_0 = (RuleCall)cExactValueAssignment.eContents().get(0); - - //ExactMultiplicity: - // exactValue=INT; - @Override public ParserRule getRule() { return rule; } - - //exactValue=INT - public Assignment getExactValueAssignment() { return cExactValueAssignment; } - - //INT - public RuleCall getExactValueINTTerminalRuleCall_0() { return cExactValueINTTerminalRuleCall_0; } - } - public class UpperBoundElements extends AbstractParserRuleElementFinder { - private final ParserRule rule = (ParserRule) GrammarUtil.findRuleForName(getGrammar(), "org.eclipse.viatra.solver.language.Problem.UpperBound"); - private final Alternatives cAlternatives = (Alternatives)rule.eContents().get(1); - private final RuleCall cINTTerminalRuleCall_0 = (RuleCall)cAlternatives.eContents().get(0); - private final Keyword cAsteriskKeyword_1 = (Keyword)cAlternatives.eContents().get(1); - - //UpperBound returns ecore::EInt: - // INT | "*"; - @Override public ParserRule getRule() { return rule; } - - //INT | "*" - public Alternatives getAlternatives() { return cAlternatives; } - - //INT - public RuleCall getINTTerminalRuleCall_0() { return cINTTerminalRuleCall_0; } - - //"*" - public Keyword getAsteriskKeyword_1() { return cAsteriskKeyword_1; } - } - public class QuotedOrUnquotedIdElements extends AbstractParserRuleElementFinder { - private final ParserRule rule = (ParserRule) GrammarUtil.findRuleForName(getGrammar(), "org.eclipse.viatra.solver.language.Problem.QuotedOrUnquotedId"); - private final Alternatives cAlternatives = (Alternatives)rule.eContents().get(1); - private final RuleCall cQUOTED_IDTerminalRuleCall_0 = (RuleCall)cAlternatives.eContents().get(0); - private final RuleCall cIdentifierParserRuleCall_1 = (RuleCall)cAlternatives.eContents().get(1); - - //QuotedOrUnquotedId: - // QUOTED_ID | Identifier; - @Override public ParserRule getRule() { return rule; } - - //QUOTED_ID | Identifier - public Alternatives getAlternatives() { return cAlternatives; } - - //QUOTED_ID - public RuleCall getQUOTED_IDTerminalRuleCall_0() { return cQUOTED_IDTerminalRuleCall_0; } - - //Identifier - public RuleCall getIdentifierParserRuleCall_1() { return cIdentifierParserRuleCall_1; } - } - public class QualifiedNameElements extends AbstractParserRuleElementFinder { - private final ParserRule rule = (ParserRule) GrammarUtil.findRuleForName(getGrammar(), "org.eclipse.viatra.solver.language.Problem.QualifiedName"); - private final Alternatives cAlternatives = (Alternatives)rule.eContents().get(1); - private final RuleCall cQUOTED_IDTerminalRuleCall_0 = (RuleCall)cAlternatives.eContents().get(0); - private final Group cGroup_1 = (Group)cAlternatives.eContents().get(1); - private final RuleCall cIdentifierParserRuleCall_1_0 = (RuleCall)cGroup_1.eContents().get(0); - private final Group cGroup_1_1 = (Group)cGroup_1.eContents().get(1); - private final Keyword cColonKeyword_1_1_0 = (Keyword)cGroup_1_1.eContents().get(0); - private final RuleCall cIdentifierParserRuleCall_1_1_1 = (RuleCall)cGroup_1_1.eContents().get(1); - private final Group cGroup_1_2 = (Group)cGroup_1.eContents().get(2); - private final Keyword cColonKeyword_1_2_0 = (Keyword)cGroup_1_2.eContents().get(0); - private final RuleCall cQUOTED_IDTerminalRuleCall_1_2_1 = (RuleCall)cGroup_1_2.eContents().get(1); - - //QualifiedName: - // QUOTED_ID | Identifier (":" Identifier)* (":" QUOTED_ID)?; - @Override public ParserRule getRule() { return rule; } - - //QUOTED_ID | Identifier (":" Identifier)* (":" QUOTED_ID)? - public Alternatives getAlternatives() { return cAlternatives; } - - //QUOTED_ID - public RuleCall getQUOTED_IDTerminalRuleCall_0() { return cQUOTED_IDTerminalRuleCall_0; } - - //Identifier (":" Identifier)* (":" QUOTED_ID)? - public Group getGroup_1() { return cGroup_1; } - - //Identifier - public RuleCall getIdentifierParserRuleCall_1_0() { return cIdentifierParserRuleCall_1_0; } - - //(":" Identifier)* - public Group getGroup_1_1() { return cGroup_1_1; } - - //":" - public Keyword getColonKeyword_1_1_0() { return cColonKeyword_1_1_0; } - - //Identifier - public RuleCall getIdentifierParserRuleCall_1_1_1() { return cIdentifierParserRuleCall_1_1_1; } - - //(":" QUOTED_ID)? - public Group getGroup_1_2() { return cGroup_1_2; } - - //":" - public Keyword getColonKeyword_1_2_0() { return cColonKeyword_1_2_0; } - - //QUOTED_ID - public RuleCall getQUOTED_IDTerminalRuleCall_1_2_1() { return cQUOTED_IDTerminalRuleCall_1_2_1; } - } - public class IdentifierElements extends AbstractParserRuleElementFinder { - private final ParserRule rule = (ParserRule) GrammarUtil.findRuleForName(getGrammar(), "org.eclipse.viatra.solver.language.Problem.Identifier"); - private final Alternatives cAlternatives = (Alternatives)rule.eContents().get(1); - private final RuleCall cIDTerminalRuleCall_0 = (RuleCall)cAlternatives.eContents().get(0); - private final Keyword cTrueKeyword_1 = (Keyword)cAlternatives.eContents().get(1); - private final Keyword cFalseKeyword_2 = (Keyword)cAlternatives.eContents().get(2); - - //Identifier: - // ID | "true" | "false"; - @Override public ParserRule getRule() { return rule; } - - //ID | "true" | "false" - public Alternatives getAlternatives() { return cAlternatives; } - - //ID - public RuleCall getIDTerminalRuleCall_0() { return cIDTerminalRuleCall_0; } - - //"true" - public Keyword getTrueKeyword_1() { return cTrueKeyword_1; } - - //"false" - public Keyword getFalseKeyword_2() { return cFalseKeyword_2; } - } - - public class LogicValueElements extends AbstractElementFinder.AbstractEnumRuleElementFinder { - private final EnumRule rule = (EnumRule) GrammarUtil.findRuleForName(getGrammar(), "org.eclipse.viatra.solver.language.Problem.LogicValue"); - private final Alternatives cAlternatives = (Alternatives)rule.eContents().get(1); - private final EnumLiteralDeclaration cTRUEEnumLiteralDeclaration_0 = (EnumLiteralDeclaration)cAlternatives.eContents().get(0); - private final Keyword cTRUETrueKeyword_0_0 = (Keyword)cTRUEEnumLiteralDeclaration_0.eContents().get(0); - private final EnumLiteralDeclaration cFALSEEnumLiteralDeclaration_1 = (EnumLiteralDeclaration)cAlternatives.eContents().get(1); - private final Keyword cFALSEFalseKeyword_1_0 = (Keyword)cFALSEEnumLiteralDeclaration_1.eContents().get(0); - private final EnumLiteralDeclaration cUNKNOWNEnumLiteralDeclaration_2 = (EnumLiteralDeclaration)cAlternatives.eContents().get(2); - private final Keyword cUNKNOWNUnknownKeyword_2_0 = (Keyword)cUNKNOWNEnumLiteralDeclaration_2.eContents().get(0); - - //enum LogicValue: - // TRUE="true" | FALSE="false" | UNKNOWN="unknown"; - public EnumRule getRule() { return rule; } - - //TRUE="true" | FALSE="false" | UNKNOWN="unknown" - public Alternatives getAlternatives() { return cAlternatives; } - - //TRUE="true" - public EnumLiteralDeclaration getTRUEEnumLiteralDeclaration_0() { return cTRUEEnumLiteralDeclaration_0; } - - //"true" - public Keyword getTRUETrueKeyword_0_0() { return cTRUETrueKeyword_0_0; } - - //FALSE="false" - public EnumLiteralDeclaration getFALSEEnumLiteralDeclaration_1() { return cFALSEEnumLiteralDeclaration_1; } - - //"false" - public Keyword getFALSEFalseKeyword_1_0() { return cFALSEFalseKeyword_1_0; } - - //UNKNOWN="unknown" - public EnumLiteralDeclaration getUNKNOWNEnumLiteralDeclaration_2() { return cUNKNOWNEnumLiteralDeclaration_2; } - - //"unknown" - public Keyword getUNKNOWNUnknownKeyword_2_0() { return cUNKNOWNUnknownKeyword_2_0; } - } - public class ShortLogicValueElements extends AbstractElementFinder.AbstractEnumRuleElementFinder { - private final EnumRule rule = (EnumRule) GrammarUtil.findRuleForName(getGrammar(), "org.eclipse.viatra.solver.language.Problem.ShortLogicValue"); - private final Alternatives cAlternatives = (Alternatives)rule.eContents().get(1); - private final EnumLiteralDeclaration cFALSEEnumLiteralDeclaration_0 = (EnumLiteralDeclaration)cAlternatives.eContents().get(0); - private final Keyword cFALSEExclamationMarkKeyword_0_0 = (Keyword)cFALSEEnumLiteralDeclaration_0.eContents().get(0); - private final EnumLiteralDeclaration cUNKNOWNEnumLiteralDeclaration_1 = (EnumLiteralDeclaration)cAlternatives.eContents().get(1); - private final Keyword cUNKNOWNQuestionMarkKeyword_1_0 = (Keyword)cUNKNOWNEnumLiteralDeclaration_1.eContents().get(0); - - //enum ShortLogicValue returns LogicValue: - // FALSE="!" | UNKNOWN="?"; - public EnumRule getRule() { return rule; } - - //FALSE="!" | UNKNOWN="?" - public Alternatives getAlternatives() { return cAlternatives; } - - //FALSE="!" - public EnumLiteralDeclaration getFALSEEnumLiteralDeclaration_0() { return cFALSEEnumLiteralDeclaration_0; } - - //"!" - public Keyword getFALSEExclamationMarkKeyword_0_0() { return cFALSEExclamationMarkKeyword_0_0; } - - //UNKNOWN="?" - public EnumLiteralDeclaration getUNKNOWNEnumLiteralDeclaration_1() { return cUNKNOWNEnumLiteralDeclaration_1; } - - //"?" - public Keyword getUNKNOWNQuestionMarkKeyword_1_0() { return cUNKNOWNQuestionMarkKeyword_1_0; } - } - - private final ProblemElements pProblem; - private final StatementElements pStatement; - private final ClassDeclarationElements pClassDeclaration; - private final EnumDeclarationElements pEnumDeclaration; - private final EnumLiteralElements pEnumLiteral; - private final ReferenceDeclarationElements pReferenceDeclaration; - private final PredicateDefinitionElements pPredicateDefinition; - private final ParameterElements pParameter; - private final ConjunctionElements pConjunction; - private final LiteralElements pLiteral; - private final NegativeLiteralElements pNegativeLiteral; - private final AtomElements pAtom; - private final ArgumentElements pArgument; - private final AssertionElements pAssertion; - private final LogicValueElements eLogicValue; - private final ShortLogicValueElements eShortLogicValue; - private final ScopeDeclarationElements pScopeDeclaration; - private final TypeScopeElements pTypeScope; - private final MultiplicityElements pMultiplicity; - private final DefiniteMultiplicityElements pDefiniteMultiplicity; - private final UnboundedMultiplicityElements pUnboundedMultiplicity; - private final RangeMultiplicityElements pRangeMultiplicity; - private final ExactMultiplicityElements pExactMultiplicity; - private final UpperBoundElements pUpperBound; - private final QuotedOrUnquotedIdElements pQuotedOrUnquotedId; - private final QualifiedNameElements pQualifiedName; - private final IdentifierElements pIdentifier; - private final TerminalRule tSTRING; - private final TerminalRule tQUOTED_ID; - - private final Grammar grammar; - - private final TerminalsGrammarAccess gaTerminals; - - @Inject - public ProblemGrammarAccess(GrammarProvider grammarProvider, - TerminalsGrammarAccess gaTerminals) { - this.grammar = internalFindGrammar(grammarProvider); - this.gaTerminals = gaTerminals; - this.pProblem = new ProblemElements(); - this.pStatement = new StatementElements(); - this.pClassDeclaration = new ClassDeclarationElements(); - this.pEnumDeclaration = new EnumDeclarationElements(); - this.pEnumLiteral = new EnumLiteralElements(); - this.pReferenceDeclaration = new ReferenceDeclarationElements(); - this.pPredicateDefinition = new PredicateDefinitionElements(); - this.pParameter = new ParameterElements(); - this.pConjunction = new ConjunctionElements(); - this.pLiteral = new LiteralElements(); - this.pNegativeLiteral = new NegativeLiteralElements(); - this.pAtom = new AtomElements(); - this.pArgument = new ArgumentElements(); - this.pAssertion = new AssertionElements(); - this.eLogicValue = new LogicValueElements(); - this.eShortLogicValue = new ShortLogicValueElements(); - this.pScopeDeclaration = new ScopeDeclarationElements(); - this.pTypeScope = new TypeScopeElements(); - this.pMultiplicity = new MultiplicityElements(); - this.pDefiniteMultiplicity = new DefiniteMultiplicityElements(); - this.pUnboundedMultiplicity = new UnboundedMultiplicityElements(); - this.pRangeMultiplicity = new RangeMultiplicityElements(); - this.pExactMultiplicity = new ExactMultiplicityElements(); - this.pUpperBound = new UpperBoundElements(); - this.pQuotedOrUnquotedId = new QuotedOrUnquotedIdElements(); - this.pQualifiedName = new QualifiedNameElements(); - this.pIdentifier = new IdentifierElements(); - this.tSTRING = (TerminalRule) GrammarUtil.findRuleForName(getGrammar(), "org.eclipse.viatra.solver.language.Problem.STRING"); - this.tQUOTED_ID = (TerminalRule) GrammarUtil.findRuleForName(getGrammar(), "org.eclipse.viatra.solver.language.Problem.QUOTED_ID"); - } - - protected Grammar internalFindGrammar(GrammarProvider grammarProvider) { - Grammar grammar = grammarProvider.getGrammar(this); - while (grammar != null) { - if ("org.eclipse.viatra.solver.language.Problem".equals(grammar.getName())) { - return grammar; - } - List grammars = grammar.getUsedGrammars(); - if (!grammars.isEmpty()) { - grammar = grammars.iterator().next(); - } else { - return null; - } - } - return grammar; - } - - @Override - public Grammar getGrammar() { - return grammar; - } - - - public TerminalsGrammarAccess getTerminalsGrammarAccess() { - return gaTerminals; - } - - - //Problem: - // ("problem" name=Identifier ".")? - // statements+=Statement*; - public ProblemElements getProblemAccess() { - return pProblem; - } - - public ParserRule getProblemRule() { - return getProblemAccess().getRule(); - } - - //Statement: - // ClassDeclaration | EnumDeclaration | PredicateDefinition | Assertion | ScopeDeclaration; - public StatementElements getStatementAccess() { - return pStatement; - } - - public ParserRule getStatementRule() { - return getStatementAccess().getRule(); - } - - //ClassDeclaration: - // abstract?="abstract"? "class" - // name=Identifier - // ("extends" superTypes+=[Relation|QualifiedName] ("," superTypes+=[Relation|QualifiedName])*)? - // ("{" (referenceDeclarations+=ReferenceDeclaration ";"?)* "}" | "."); - public ClassDeclarationElements getClassDeclarationAccess() { - return pClassDeclaration; - } - - public ParserRule getClassDeclarationRule() { - return getClassDeclarationAccess().getRule(); - } - - //EnumDeclaration: - // "enum" - // name=Identifier - // ("{" (literals+=EnumLiteral ("," literals+=EnumLiteral)* ("," | ";")?)? "}" | "."); - public EnumDeclarationElements getEnumDeclarationAccess() { - return pEnumDeclaration; - } - - public ParserRule getEnumDeclarationRule() { - return getEnumDeclarationAccess().getRule(); - } - - //EnumLiteral returns Node: - // name=QuotedOrUnquotedId; - public EnumLiteralElements getEnumLiteralAccess() { - return pEnumLiteral; - } - - public ParserRule getEnumLiteralRule() { - return getEnumLiteralAccess().getRule(); - } - - //ReferenceDeclaration: - // (containment?="contains" | "refers")? - // referenceType=[Relation|QualifiedName] - // ("[" multiplicity=Multiplicity "]")? - // name=Identifier - // ("opposite" opposite=[ReferenceDeclaration|QualifiedName])?; - public ReferenceDeclarationElements getReferenceDeclarationAccess() { - return pReferenceDeclaration; - } - - public ParserRule getReferenceDeclarationRule() { - return getReferenceDeclarationAccess().getRule(); - } - - //PredicateDefinition: - // (error?="error" "pred"? | "pred") - // name=Identifier - // "(" (parameters+=Parameter ("," parameters+=Parameter)*)? ")" - // (":-" bodies+=Conjunction (";" bodies+=Conjunction)*)? - // "."; - public PredicateDefinitionElements getPredicateDefinitionAccess() { - return pPredicateDefinition; - } - - public ParserRule getPredicateDefinitionRule() { - return getPredicateDefinitionAccess().getRule(); - } - - //Parameter: - // parameterType=[Relation|QualifiedName]? name=Identifier; - public ParameterElements getParameterAccess() { - return pParameter; - } - - public ParserRule getParameterRule() { - return getParameterAccess().getRule(); - } - - //Conjunction: - // literals+=Literal ("," literals+=Literal)*; - public ConjunctionElements getConjunctionAccess() { - return pConjunction; - } - - public ParserRule getConjunctionRule() { - return getConjunctionAccess().getRule(); - } - - //Literal: - // Atom | NegativeLiteral; - public LiteralElements getLiteralAccess() { - return pLiteral; - } - - public ParserRule getLiteralRule() { - return getLiteralAccess().getRule(); - } - - //NegativeLiteral: - // "!" atom=Atom; - public NegativeLiteralElements getNegativeLiteralAccess() { - return pNegativeLiteral; - } - - public ParserRule getNegativeLiteralRule() { - return getNegativeLiteralAccess().getRule(); - } - - //Atom: - // relation=[Relation|QualifiedName] - // transitiveClosure?="+"? - // "(" (arguments+=Argument ("," arguments+=Argument)*)? ")"; - public AtomElements getAtomAccess() { - return pAtom; - } - - public ParserRule getAtomRule() { - return getAtomAccess().getRule(); - } - - //Argument: - // variableOrNode=[VariableOrNode|QualifiedName]; - public ArgumentElements getArgumentAccess() { - return pArgument; - } - - public ParserRule getArgumentRule() { - return getArgumentAccess().getRule(); - } - - //Assertion: - // (relation=[Relation|QualifiedName] - // "(" (arguments+=[Node|QualifiedName] ("," arguments+=[Node|QualifiedName])*)? ")" - // ":" value=LogicValue | - // value=ShortLogicValue? - // relation=[Relation|QualifiedName] - // "(" (arguments+=[Node|QualifiedName] ("," arguments+=[Node|QualifiedName])*)? ")") - // "."; - public AssertionElements getAssertionAccess() { - return pAssertion; - } - - public ParserRule getAssertionRule() { - return getAssertionAccess().getRule(); - } - - //enum LogicValue: - // TRUE="true" | FALSE="false" | UNKNOWN="unknown"; - public LogicValueElements getLogicValueAccess() { - return eLogicValue; - } - - public EnumRule getLogicValueRule() { - return getLogicValueAccess().getRule(); - } - - //enum ShortLogicValue returns LogicValue: - // FALSE="!" | UNKNOWN="?"; - public ShortLogicValueElements getShortLogicValueAccess() { - return eShortLogicValue; - } - - public EnumRule getShortLogicValueRule() { - return getShortLogicValueAccess().getRule(); - } - - //ScopeDeclaration: - // "scope" typeScopes+=TypeScope ("," typeScopes+=TypeScope)* "."; - public ScopeDeclarationElements getScopeDeclarationAccess() { - return pScopeDeclaration; - } - - public ParserRule getScopeDeclarationRule() { - return getScopeDeclarationAccess().getRule(); - } - - //TypeScope: - // targetType=[ClassDeclaration] - // (increment?="+=" | "=") - // multiplicity=DefiniteMultiplicity; - public TypeScopeElements getTypeScopeAccess() { - return pTypeScope; - } - - public ParserRule getTypeScopeRule() { - return getTypeScopeAccess().getRule(); - } - - //Multiplicity: - // UnboundedMultiplicity | DefiniteMultiplicity; - public MultiplicityElements getMultiplicityAccess() { - return pMultiplicity; - } - - public ParserRule getMultiplicityRule() { - return getMultiplicityAccess().getRule(); - } - - //DefiniteMultiplicity returns Multiplicity: - // RangeMultiplicity | ExactMultiplicity; - public DefiniteMultiplicityElements getDefiniteMultiplicityAccess() { - return pDefiniteMultiplicity; - } - - public ParserRule getDefiniteMultiplicityRule() { - return getDefiniteMultiplicityAccess().getRule(); - } - - //UnboundedMultiplicity: - // {UnboundedMultiplicity}; - public UnboundedMultiplicityElements getUnboundedMultiplicityAccess() { - return pUnboundedMultiplicity; - } - - public ParserRule getUnboundedMultiplicityRule() { - return getUnboundedMultiplicityAccess().getRule(); - } - - //RangeMultiplicity: - // lowerBound=INT ".." upperBound=UpperBound; - public RangeMultiplicityElements getRangeMultiplicityAccess() { - return pRangeMultiplicity; - } - - public ParserRule getRangeMultiplicityRule() { - return getRangeMultiplicityAccess().getRule(); - } - - //ExactMultiplicity: - // exactValue=INT; - public ExactMultiplicityElements getExactMultiplicityAccess() { - return pExactMultiplicity; - } - - public ParserRule getExactMultiplicityRule() { - return getExactMultiplicityAccess().getRule(); - } - - //UpperBound returns ecore::EInt: - // INT | "*"; - public UpperBoundElements getUpperBoundAccess() { - return pUpperBound; - } - - public ParserRule getUpperBoundRule() { - return getUpperBoundAccess().getRule(); - } - - //QuotedOrUnquotedId: - // QUOTED_ID | Identifier; - public QuotedOrUnquotedIdElements getQuotedOrUnquotedIdAccess() { - return pQuotedOrUnquotedId; - } - - public ParserRule getQuotedOrUnquotedIdRule() { - return getQuotedOrUnquotedIdAccess().getRule(); - } - - //QualifiedName: - // QUOTED_ID | Identifier (":" Identifier)* (":" QUOTED_ID)?; - public QualifiedNameElements getQualifiedNameAccess() { - return pQualifiedName; - } - - public ParserRule getQualifiedNameRule() { - return getQualifiedNameAccess().getRule(); - } - - //Identifier: - // ID | "true" | "false"; - public IdentifierElements getIdentifierAccess() { - return pIdentifier; - } - - public ParserRule getIdentifierRule() { - return getIdentifierAccess().getRule(); - } - - //@Override - //terminal STRING: - // '"' ('\\' . /* 'b'|'t'|'n'|'f'|'r'|'u'|'"'|"'"|'\\' */ | !('\\' | '"'))* '"'; - public TerminalRule getSTRINGRule() { - return tSTRING; - } - - //terminal QUOTED_ID: - // "'" ('\\' . /* 'b'|'t'|'n'|'f'|'r'|'u'|'"'|"'"|'\\' */ | !('\\' | "'"))* "'"; - public TerminalRule getQUOTED_IDRule() { - return tQUOTED_ID; - } - - //terminal ID: '^'?('a'..'z'|'A'..'Z'|'_') ('a'..'z'|'A'..'Z'|'_'|'0'..'9')*; - public TerminalRule getIDRule() { - return gaTerminals.getIDRule(); - } - - //terminal INT returns ecore::EInt: ('0'..'9')+; - public TerminalRule getINTRule() { - return gaTerminals.getINTRule(); - } - - //terminal ML_COMMENT : '/*' -> '*/'; - public TerminalRule getML_COMMENTRule() { - return gaTerminals.getML_COMMENTRule(); - } - - //terminal SL_COMMENT : '//' !('\n'|'\r')* ('\r'? '\n')?; - public TerminalRule getSL_COMMENTRule() { - return gaTerminals.getSL_COMMENTRule(); - } - - //terminal WS : (' '|'\t'|'\r'|'\n')+; - public TerminalRule getWSRule() { - return gaTerminals.getWSRule(); - } - - //terminal ANY_OTHER: .; - public TerminalRule getANY_OTHERRule() { - return gaTerminals.getANY_OTHERRule(); - } -} diff --git a/language-web/xtext-gen/org/eclipse/viatra/solver/language/validation/AbstractProblemValidator.java b/language-web/xtext-gen/org/eclipse/viatra/solver/language/validation/AbstractProblemValidator.java deleted file mode 100644 index 9cd73e1e..00000000 --- a/language-web/xtext-gen/org/eclipse/viatra/solver/language/validation/AbstractProblemValidator.java +++ /dev/null @@ -1,19 +0,0 @@ -/* - * generated by Xtext 2.26.0.M1 - */ -package org.eclipse.viatra.solver.language.validation; - -import java.util.ArrayList; -import java.util.List; -import org.eclipse.emf.ecore.EPackage; -import org.eclipse.xtext.validation.AbstractDeclarativeValidator; - -public abstract class AbstractProblemValidator extends AbstractDeclarativeValidator { - - @Override - protected List getEPackages() { - List result = new ArrayList(); - result.add(EPackage.Registry.INSTANCE.getEPackage("http://www.eclipse.org/viatra/solver/language/model/Problem")); - return result; - } -} diff --git a/language-web/xtext-gen/org/eclipse/viatra/solver/language/validation/ProblemConfigurableIssueCodesProvider.java b/language-web/xtext-gen/org/eclipse/viatra/solver/language/validation/ProblemConfigurableIssueCodesProvider.java deleted file mode 100644 index f5a0d87d..00000000 --- a/language-web/xtext-gen/org/eclipse/viatra/solver/language/validation/ProblemConfigurableIssueCodesProvider.java +++ /dev/null @@ -1,22 +0,0 @@ -/* - * generated by Xtext 2.26.0.M1 - */ -package org.eclipse.viatra.solver.language.validation; - -import org.eclipse.xtext.preferences.PreferenceKey; -import org.eclipse.xtext.util.IAcceptor; -import org.eclipse.xtext.validation.ConfigurableIssueCodesProvider; -import org.eclipse.xtext.validation.SeverityConverter; - -@SuppressWarnings("restriction") -public class ProblemConfigurableIssueCodesProvider extends ConfigurableIssueCodesProvider { - protected static final String ISSUE_CODE_PREFIX = "org.eclipse.viatra.solver.language."; - - public static final String DEPRECATED_MODEL_PART = ISSUE_CODE_PREFIX + "deprecatedModelPart"; - - @Override - protected void initialize(IAcceptor acceptor) { - super.initialize(acceptor); - acceptor.accept(create(DEPRECATED_MODEL_PART, SeverityConverter.SEVERITY_WARNING)); - } -} diff --git a/language/src/main/java/org/eclipse/viatra/solver/language/GenerateProblem.mwe2 b/language/src/main/java/org/eclipse/viatra/solver/language/GenerateProblem.mwe2 index da5e95a4..6f265bd5 100644 --- a/language/src/main/java/org/eclipse/viatra/solver/language/GenerateProblem.mwe2 +++ b/language/src/main/java/org/eclipse/viatra/solver/language/GenerateProblem.mwe2 @@ -22,6 +22,7 @@ Workflow { web = { enabled = true name = "language-web" + assets = "../language-web/src/main/js-gen" } mavenLayout = true } @@ -47,7 +48,10 @@ Workflow { junitSupport = { junitVersion = "5" } - webSupport = ProblemWebIntegrationFragment {} + webSupport = ProblemWebIntegrationFragment { + highlightingPath = "mode-problem.js" + generateHtmlExample = false + } } } } -- cgit v1.2.3-54-g00ecf