diff --git a/.github/workflows/clp-s-generated-code-checks.yaml b/.github/workflows/clp-s-generated-code-checks.yaml index 3693e6d712..a8fd9bb726 100644 --- a/.github/workflows/clp-s-generated-code-checks.yaml +++ b/.github/workflows/clp-s-generated-code-checks.yaml @@ -40,7 +40,7 @@ jobs: - name: "Generate parsers" shell: "bash" - run: "task clp-s-generate-parsers" + run: "task codegen:clp-s-generate-parsers" - name: "Check if the generated parsers are the latest" shell: "bash" diff --git a/NOTICE b/NOTICE new file mode 100644 index 0000000000..854a1ee40e --- /dev/null +++ b/NOTICE @@ -0,0 +1,2 @@ +`components/webui/client/sql-parser/SqlBase.g4` was originally authored by the contributors of +https://github.com/prestodb/presto diff --git a/components/webui/client/eslint.config.mjs b/components/webui/client/eslint.config.mjs index 9dc0ed82c5..5895a96496 100644 --- a/components/webui/client/eslint.config.mjs +++ b/components/webui/client/eslint.config.mjs @@ -9,6 +9,7 @@ const EslintConfig = [ ignores: [ "dist/", "node_modules/", + "src/sql-parser/generated", ], }, CommonConfig, diff --git a/components/webui/client/package-lock.json b/components/webui/client/package-lock.json deleted file mode 100644 index a4a8fc7f30..0000000000 --- a/components/webui/client/package-lock.json +++ /dev/null @@ -1,9026 +0,0 @@ -{ - "name": "webui-client", - "version": "0.1.0", - "lockfileVersion": 3, - "requires": true, - "packages": { - "": { - "name": "webui-client", - "version": "0.1.0", - "license": "Apache-2.0", - "dependencies": { - "@ant-design/v5-patch-for-react-19": "^1.0.3", - "@emotion/react": "^11.14.0", - "@emotion/styled": "^11.14.0", - "@monaco-editor/react": "^4.7.0", - "@mui/joy": "^5.0.0-beta.51", - "@sinclair/typebox": "^0.34.25", - "@tanstack/react-query": "^5.81.5", - "@tanstack/react-query-devtools": "^5.81.5", - "antd": "^5.24.5", - "axios": "^1.7.9", - "chart.js": "^4.4.9", - "chartjs-adapter-dayjs-4": "^1.0.4", - "chartjs-plugin-zoom": "^2.2.0", - "color": "^5.0.0", - "dayjs": "^1.11.13", - "monaco-editor": "^0.52.2", - "react": "^19.0.0", - "react-chartjs-2": "^5.3.0", - "react-dom": "^19.0.0", - "react-router": "^7.4.1", - "react-syntax-highlighter": "^15.6.1", - "socket.io-client": "^4.8.1", - "zustand": "^5.0.3" - }, - "devDependencies": { - "@types/node": "22.15.31", - "@types/react": "^19.0.10", - "@types/react-dom": "^19.0.4", - "@types/react-syntax-highlighter": "^15.5.13", - "@vitejs/plugin-react": "^4.3.4", - "eslint-config-yscope": "*", - "typescript": "~5.6.2", - "vite": "^6.3.5" - } - }, - "node_modules/@ampproject/remapping": { - "version": "2.3.0", - "resolved": "https://registry.npmjs.org/@ampproject/remapping/-/remapping-2.3.0.tgz", - "integrity": "sha512-30iZtAPgz+LTIYoeivqYo853f02jBYSd5uGnGpkFV0M3xOt9aN73erkgYAmZU43x4VfqcnLxW9Kpg3R5LC4YYw==", - "dev": true, - "license": "Apache-2.0", - "dependencies": { - "@jridgewell/gen-mapping": "^0.3.5", - "@jridgewell/trace-mapping": "^0.3.24" - }, - "engines": { - "node": ">=6.0.0" - } - }, - "node_modules/@ant-design/colors": { - "version": "7.2.0", - "resolved": "https://registry.npmjs.org/@ant-design/colors/-/colors-7.2.0.tgz", - "integrity": "sha512-bjTObSnZ9C/O8MB/B4OUtd/q9COomuJAR2SYfhxLyHvCKn4EKwCN3e+fWGMo7H5InAyV0wL17jdE9ALrdOW/6A==", - "license": "MIT", - "dependencies": { - "@ant-design/fast-color": "^2.0.6" - } - }, - "node_modules/@ant-design/cssinjs": { - "version": "1.23.0", - "resolved": "https://registry.npmjs.org/@ant-design/cssinjs/-/cssinjs-1.23.0.tgz", - "integrity": "sha512-7GAg9bD/iC9ikWatU9ym+P9ugJhi/WbsTWzcKN6T4gU0aehsprtke1UAaaSxxkjjmkJb3llet/rbUSLPgwlY4w==", - "license": "MIT", - "dependencies": { - "@babel/runtime": "^7.11.1", - "@emotion/hash": "^0.8.0", - "@emotion/unitless": "^0.7.5", - "classnames": "^2.3.1", - "csstype": "^3.1.3", - "rc-util": "^5.35.0", - "stylis": "^4.3.4" - }, - "peerDependencies": { - "react": ">=16.0.0", - "react-dom": ">=16.0.0" - } - }, - "node_modules/@ant-design/cssinjs-utils": { - "version": "1.1.3", - "resolved": "https://registry.npmjs.org/@ant-design/cssinjs-utils/-/cssinjs-utils-1.1.3.tgz", - "integrity": "sha512-nOoQMLW1l+xR1Co8NFVYiP8pZp3VjIIzqV6D6ShYF2ljtdwWJn5WSsH+7kvCktXL/yhEtWURKOfH5Xz/gzlwsg==", - "license": "MIT", - "dependencies": { - "@ant-design/cssinjs": "^1.21.0", - "@babel/runtime": "^7.23.2", - "rc-util": "^5.38.0" - }, - "peerDependencies": { - "react": ">=16.9.0", - "react-dom": ">=16.9.0" - } - }, - "node_modules/@ant-design/cssinjs/node_modules/@emotion/hash": { - "version": "0.8.0", - "resolved": "https://registry.npmjs.org/@emotion/hash/-/hash-0.8.0.tgz", - "integrity": "sha512-kBJtf7PH6aWwZ6fka3zQ0p6SBYzx4fl1LoZXE2RrnYST9Xljm7WfKJrU4g/Xr3Beg72MLrp1AWNUmuYJTL7Cow==", - "license": "MIT" - }, - "node_modules/@ant-design/cssinjs/node_modules/@emotion/unitless": { - "version": "0.7.5", - "resolved": "https://registry.npmjs.org/@emotion/unitless/-/unitless-0.7.5.tgz", - "integrity": "sha512-OWORNpfjMsSSUBVrRBVGECkhWcULOAJz9ZW8uK9qgxD+87M7jHRcvh/A96XXNhXTLmKcoYSQtBEX7lHMO7YRwg==", - "license": "MIT" - }, - "node_modules/@ant-design/cssinjs/node_modules/stylis": { - "version": "4.3.6", - "resolved": "https://registry.npmjs.org/stylis/-/stylis-4.3.6.tgz", - "integrity": "sha512-yQ3rwFWRfwNUY7H5vpU0wfdkNSnvnJinhF9830Swlaxl03zsOjCfmX0ugac+3LtK0lYSgwL/KXc8oYL3mG4YFQ==", - "license": "MIT" - }, - "node_modules/@ant-design/fast-color": { - "version": "2.0.6", - "resolved": "https://registry.npmjs.org/@ant-design/fast-color/-/fast-color-2.0.6.tgz", - "integrity": "sha512-y2217gk4NqL35giHl72o6Zzqji9O7vHh9YmhUVkPtAOpoTCH4uWxo/pr4VE8t0+ChEPs0qo4eJRC5Q1eXWo3vA==", - "license": "MIT", - "dependencies": { - "@babel/runtime": "^7.24.7" - }, - "engines": { - "node": ">=8.x" - } - }, - "node_modules/@ant-design/icons": { - "version": "5.6.1", - "resolved": "https://registry.npmjs.org/@ant-design/icons/-/icons-5.6.1.tgz", - "integrity": "sha512-0/xS39c91WjPAZOWsvi1//zjx6kAp4kxWwctR6kuU6p133w8RU0D2dSCvZC19uQyharg/sAvYxGYWl01BbZZfg==", - "license": "MIT", - "dependencies": { - "@ant-design/colors": "^7.0.0", - "@ant-design/icons-svg": "^4.4.0", - "@babel/runtime": "^7.24.8", - "classnames": "^2.2.6", - "rc-util": "^5.31.1" - }, - "engines": { - "node": ">=8" - }, - "peerDependencies": { - "react": ">=16.0.0", - "react-dom": ">=16.0.0" - } - }, - "node_modules/@ant-design/icons-svg": { - "version": "4.4.2", - "resolved": "https://registry.npmjs.org/@ant-design/icons-svg/-/icons-svg-4.4.2.tgz", - "integrity": "sha512-vHbT+zJEVzllwP+CM+ul7reTEfBR0vgxFe7+lREAsAA7YGsYpboiq2sQNeQeRvh09GfQgs/GyFEvZpJ9cLXpXA==", - "license": "MIT" - }, - "node_modules/@ant-design/react-slick": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/@ant-design/react-slick/-/react-slick-1.1.2.tgz", - "integrity": "sha512-EzlvzE6xQUBrZuuhSAFTdsr4P2bBBHGZwKFemEfq8gIGyIQCxalYfZW/T2ORbtQx5rU69o+WycP3exY/7T1hGA==", - "license": "MIT", - "dependencies": { - "@babel/runtime": "^7.10.4", - "classnames": "^2.2.5", - "json2mq": "^0.2.0", - "resize-observer-polyfill": "^1.5.1", - "throttle-debounce": "^5.0.0" - }, - "peerDependencies": { - "react": ">=16.9.0" - } - }, - "node_modules/@ant-design/v5-patch-for-react-19": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/@ant-design/v5-patch-for-react-19/-/v5-patch-for-react-19-1.0.3.tgz", - "integrity": "sha512-iWfZuSUl5kuhqLUw7jJXUQFMMkM7XpW7apmKzQBQHU0cpifYW4A79xIBt9YVO5IBajKpPG5UKP87Ft7Yrw1p/w==", - "license": "MIT", - "engines": { - "node": ">=12.x" - }, - "peerDependencies": { - "antd": ">=5.22.6", - "react": ">=19.0.0", - "react-dom": ">=19.0.0" - } - }, - "node_modules/@babel/code-frame": { - "version": "7.26.2", - "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.26.2.tgz", - "integrity": "sha512-RJlIHRueQgwWitWgF8OdFYGZX328Ax5BCemNGlqHfplnRT9ESi8JkFlvaVYbS+UubVY6dpv87Fs2u5M29iNFVQ==", - "license": "MIT", - "dependencies": { - "@babel/helper-validator-identifier": "^7.25.9", - "js-tokens": "^4.0.0", - "picocolors": "^1.0.0" - }, - "engines": { - "node": ">=6.9.0" - } - }, - "node_modules/@babel/compat-data": { - "version": "7.26.8", - "resolved": "https://registry.npmjs.org/@babel/compat-data/-/compat-data-7.26.8.tgz", - "integrity": "sha512-oH5UPLMWR3L2wEFLnFJ1TZXqHufiTKAiLfqw5zkhS4dKXLJ10yVztfil/twG8EDTA4F/tvVNw9nOl4ZMslB8rQ==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=6.9.0" - } - }, - "node_modules/@babel/core": { - "version": "7.26.9", - "resolved": "https://registry.npmjs.org/@babel/core/-/core-7.26.9.tgz", - "integrity": "sha512-lWBYIrF7qK5+GjY5Uy+/hEgp8OJWOD/rpy74GplYRhEauvbHDeFB8t5hPOZxCZ0Oxf4Cc36tK51/l3ymJysrKw==", - "dev": true, - "license": "MIT", - "dependencies": { - "@ampproject/remapping": "^2.2.0", - "@babel/code-frame": "^7.26.2", - "@babel/generator": "^7.26.9", - "@babel/helper-compilation-targets": "^7.26.5", - "@babel/helper-module-transforms": "^7.26.0", - "@babel/helpers": "^7.26.9", - "@babel/parser": "^7.26.9", - "@babel/template": "^7.26.9", - "@babel/traverse": "^7.26.9", - "@babel/types": "^7.26.9", - "convert-source-map": "^2.0.0", - "debug": "^4.1.0", - "gensync": "^1.0.0-beta.2", - "json5": "^2.2.3", - "semver": "^6.3.1" - }, - "engines": { - "node": ">=6.9.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/babel" - } - }, - "node_modules/@babel/core/node_modules/convert-source-map": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/convert-source-map/-/convert-source-map-2.0.0.tgz", - "integrity": "sha512-Kvp459HrV2FEJ1CAsi1Ku+MY3kasH19TFykTz2xWmMeq6bk2NU3XXvfJ+Q61m0xktWwt+1HSYf3JZsTms3aRJg==", - "dev": true, - "license": "MIT" - }, - "node_modules/@babel/core/node_modules/semver": { - "version": "6.3.1", - "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.1.tgz", - "integrity": "sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA==", - "dev": true, - "license": "ISC", - "bin": { - "semver": "bin/semver.js" - } - }, - "node_modules/@babel/generator": { - "version": "7.26.9", - "resolved": "https://registry.npmjs.org/@babel/generator/-/generator-7.26.9.tgz", - "integrity": "sha512-kEWdzjOAUMW4hAyrzJ0ZaTOu9OmpyDIQicIh0zg0EEcEkYXZb2TjtBhnHi2ViX7PKwZqF4xwqfAm299/QMP3lg==", - "license": "MIT", - "dependencies": { - "@babel/parser": "^7.26.9", - "@babel/types": "^7.26.9", - "@jridgewell/gen-mapping": "^0.3.5", - "@jridgewell/trace-mapping": "^0.3.25", - "jsesc": "^3.0.2" - }, - "engines": { - "node": ">=6.9.0" - } - }, - "node_modules/@babel/helper-compilation-targets": { - "version": "7.26.5", - "resolved": "https://registry.npmjs.org/@babel/helper-compilation-targets/-/helper-compilation-targets-7.26.5.tgz", - "integrity": "sha512-IXuyn5EkouFJscIDuFF5EsiSolseme1s0CZB+QxVugqJLYmKdxI1VfIBOst0SUu4rnk2Z7kqTwmoO1lp3HIfnA==", - "dev": true, - "license": "MIT", - "dependencies": { - "@babel/compat-data": "^7.26.5", - "@babel/helper-validator-option": "^7.25.9", - "browserslist": "^4.24.0", - "lru-cache": "^5.1.1", - "semver": "^6.3.1" - }, - "engines": { - "node": ">=6.9.0" - } - }, - "node_modules/@babel/helper-compilation-targets/node_modules/semver": { - "version": "6.3.1", - "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.1.tgz", - "integrity": "sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA==", - "dev": true, - "license": "ISC", - "bin": { - "semver": "bin/semver.js" - } - }, - "node_modules/@babel/helper-module-imports": { - "version": "7.25.9", - "resolved": "https://registry.npmjs.org/@babel/helper-module-imports/-/helper-module-imports-7.25.9.tgz", - "integrity": "sha512-tnUA4RsrmflIM6W6RFTLFSXITtl0wKjgpnLgXyowocVPrbYrLUXSBXDgTs8BlbmIzIdlBySRQjINYs2BAkiLtw==", - "license": "MIT", - "dependencies": { - "@babel/traverse": "^7.25.9", - "@babel/types": "^7.25.9" - }, - "engines": { - "node": ">=6.9.0" - } - }, - "node_modules/@babel/helper-module-transforms": { - "version": "7.26.0", - "resolved": "https://registry.npmjs.org/@babel/helper-module-transforms/-/helper-module-transforms-7.26.0.tgz", - "integrity": "sha512-xO+xu6B5K2czEnQye6BHA7DolFFmS3LB7stHZFaOLb1pAwO1HWLS8fXA+eh0A2yIvltPVmx3eNNDBJA2SLHXFw==", - "dev": true, - "license": "MIT", - "dependencies": { - "@babel/helper-module-imports": "^7.25.9", - "@babel/helper-validator-identifier": "^7.25.9", - "@babel/traverse": "^7.25.9" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0" - } - }, - "node_modules/@babel/helper-plugin-utils": { - "version": "7.26.5", - "resolved": "https://registry.npmjs.org/@babel/helper-plugin-utils/-/helper-plugin-utils-7.26.5.tgz", - "integrity": "sha512-RS+jZcRdZdRFzMyr+wcsaqOmld1/EqTghfaBGQQd/WnRdzdlvSZ//kF7U8VQTxf1ynZ4cjUcYgjVGx13ewNPMg==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=6.9.0" - } - }, - "node_modules/@babel/helper-string-parser": { - "version": "7.25.9", - "resolved": "https://registry.npmjs.org/@babel/helper-string-parser/-/helper-string-parser-7.25.9.tgz", - "integrity": "sha512-4A/SCr/2KLd5jrtOMFzaKjVtAei3+2r/NChoBNoZ3EyP/+GlhoaEGoWOZUmFmoITP7zOJyHIMm+DYRd8o3PvHA==", - "license": "MIT", - "engines": { - "node": ">=6.9.0" - } - }, - "node_modules/@babel/helper-validator-identifier": { - "version": "7.25.9", - "resolved": "https://registry.npmjs.org/@babel/helper-validator-identifier/-/helper-validator-identifier-7.25.9.tgz", - "integrity": "sha512-Ed61U6XJc3CVRfkERJWDz4dJwKe7iLmmJsbOGu9wSloNSFttHV0I8g6UAgb7qnK5ly5bGLPd4oXZlxCdANBOWQ==", - "license": "MIT", - "engines": { - "node": ">=6.9.0" - } - }, - "node_modules/@babel/helper-validator-option": { - "version": "7.25.9", - "resolved": "https://registry.npmjs.org/@babel/helper-validator-option/-/helper-validator-option-7.25.9.tgz", - "integrity": "sha512-e/zv1co8pp55dNdEcCynfj9X7nyUKUXoUEwfXqaZt0omVOmDe9oOTdKStH4GmAw6zxMFs50ZayuMfHDKlO7Tfw==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=6.9.0" - } - }, - "node_modules/@babel/helpers": { - "version": "7.26.9", - "resolved": "https://registry.npmjs.org/@babel/helpers/-/helpers-7.26.9.tgz", - "integrity": "sha512-Mz/4+y8udxBKdmzt/UjPACs4G3j5SshJJEFFKxlCGPydG4JAHXxjWjAwjd09tf6oINvl1VfMJo+nB7H2YKQ0dA==", - "dev": true, - "license": "MIT", - "dependencies": { - "@babel/template": "^7.26.9", - "@babel/types": "^7.26.9" - }, - "engines": { - "node": ">=6.9.0" - } - }, - "node_modules/@babel/parser": { - "version": "7.26.9", - "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.26.9.tgz", - "integrity": "sha512-81NWa1njQblgZbQHxWHpxxCzNsa3ZwvFqpUg7P+NNUU6f3UU2jBEg4OlF/J6rl8+PQGh1q6/zWScd001YwcA5A==", - "license": "MIT", - "dependencies": { - "@babel/types": "^7.26.9" - }, - "bin": { - "parser": "bin/babel-parser.js" - }, - "engines": { - "node": ">=6.0.0" - } - }, - "node_modules/@babel/plugin-transform-react-jsx-self": { - "version": "7.25.9", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-react-jsx-self/-/plugin-transform-react-jsx-self-7.25.9.tgz", - "integrity": "sha512-y8quW6p0WHkEhmErnfe58r7x0A70uKphQm8Sp8cV7tjNQwK56sNVK0M73LK3WuYmsuyrftut4xAkjjgU0twaMg==", - "dev": true, - "license": "MIT", - "dependencies": { - "@babel/helper-plugin-utils": "^7.25.9" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/plugin-transform-react-jsx-source": { - "version": "7.25.9", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-react-jsx-source/-/plugin-transform-react-jsx-source-7.25.9.tgz", - "integrity": "sha512-+iqjT8xmXhhYv4/uiYd8FNQsraMFZIfxVSqxxVSZP0WbbSAWvBXAul0m/zu+7Vv4O/3WtApy9pmaTMiumEZgfg==", - "dev": true, - "license": "MIT", - "dependencies": { - "@babel/helper-plugin-utils": "^7.25.9" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/runtime": { - "version": "7.28.2", - "resolved": "https://registry.npmjs.org/@babel/runtime/-/runtime-7.28.2.tgz", - "integrity": "sha512-KHp2IflsnGywDjBWDkR9iEqiWSpc8GIi0lgTT3mOElT0PP1tG26P4tmFI2YvAdzgq9RGyoHZQEIEdZy6Ec5xCA==", - "license": "MIT", - "engines": { - "node": ">=6.9.0" - } - }, - "node_modules/@babel/template": { - "version": "7.26.9", - "resolved": "https://registry.npmjs.org/@babel/template/-/template-7.26.9.tgz", - "integrity": "sha512-qyRplbeIpNZhmzOysF/wFMuP9sctmh2cFzRAZOn1YapxBsE1i9bJIY586R/WBLfLcmcBlM8ROBiQURnnNy+zfA==", - "license": "MIT", - "dependencies": { - "@babel/code-frame": "^7.26.2", - "@babel/parser": "^7.26.9", - "@babel/types": "^7.26.9" - }, - "engines": { - "node": ">=6.9.0" - } - }, - "node_modules/@babel/traverse": { - "version": "7.26.9", - "resolved": "https://registry.npmjs.org/@babel/traverse/-/traverse-7.26.9.tgz", - "integrity": "sha512-ZYW7L+pL8ahU5fXmNbPF+iZFHCv5scFak7MZ9bwaRPLUhHh7QQEMjZUg0HevihoqCM5iSYHN61EyCoZvqC+bxg==", - "license": "MIT", - "dependencies": { - "@babel/code-frame": "^7.26.2", - "@babel/generator": "^7.26.9", - "@babel/parser": "^7.26.9", - "@babel/template": "^7.26.9", - "@babel/types": "^7.26.9", - "debug": "^4.3.1", - "globals": "^11.1.0" - }, - "engines": { - "node": ">=6.9.0" - } - }, - "node_modules/@babel/traverse/node_modules/globals": { - "version": "11.12.0", - "resolved": "https://registry.npmjs.org/globals/-/globals-11.12.0.tgz", - "integrity": "sha512-WOBp/EEGUiIsJSp7wcv/y6MO+lV9UoncWqxuFfm8eBwzWNgyfBd6Gz+IeKQ9jCmyhoH99g15M3T+QaVHFjizVA==", - "license": "MIT", - "engines": { - "node": ">=4" - } - }, - "node_modules/@babel/types": { - "version": "7.26.9", - "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.26.9.tgz", - "integrity": "sha512-Y3IR1cRnOxOCDvMmNiym7XpXQ93iGDDPHx+Zj+NM+rg0fBaShfQLkg+hKPaZCEvg5N/LeCo4+Rj/i3FuJsIQaw==", - "license": "MIT", - "dependencies": { - "@babel/helper-string-parser": "^7.25.9", - "@babel/helper-validator-identifier": "^7.25.9" - }, - "engines": { - "node": ">=6.9.0" - } - }, - "node_modules/@emotion/babel-plugin": { - "version": "11.13.5", - "resolved": "https://registry.npmjs.org/@emotion/babel-plugin/-/babel-plugin-11.13.5.tgz", - "integrity": "sha512-pxHCpT2ex+0q+HH91/zsdHkw/lXd468DIN2zvfvLtPKLLMo6gQj7oLObq8PhkrxOZb/gGCq03S3Z7PDhS8pduQ==", - "license": "MIT", - "dependencies": { - "@babel/helper-module-imports": "^7.16.7", - "@babel/runtime": "^7.18.3", - "@emotion/hash": "^0.9.2", - "@emotion/memoize": "^0.9.0", - "@emotion/serialize": "^1.3.3", - "babel-plugin-macros": "^3.1.0", - "convert-source-map": "^1.5.0", - "escape-string-regexp": "^4.0.0", - "find-root": "^1.1.0", - "source-map": "^0.5.7", - "stylis": "4.2.0" - } - }, - "node_modules/@emotion/cache": { - "version": "11.14.0", - "resolved": "https://registry.npmjs.org/@emotion/cache/-/cache-11.14.0.tgz", - "integrity": "sha512-L/B1lc/TViYk4DcpGxtAVbx0ZyiKM5ktoIyafGkH6zg/tj+mA+NE//aPYKG0k8kCHSHVJrpLpcAlOBEXQ3SavA==", - "license": "MIT", - "dependencies": { - "@emotion/memoize": "^0.9.0", - "@emotion/sheet": "^1.4.0", - "@emotion/utils": "^1.4.2", - "@emotion/weak-memoize": "^0.4.0", - "stylis": "4.2.0" - } - }, - "node_modules/@emotion/hash": { - "version": "0.9.2", - "resolved": "https://registry.npmjs.org/@emotion/hash/-/hash-0.9.2.tgz", - "integrity": "sha512-MyqliTZGuOm3+5ZRSaaBGP3USLw6+EGykkwZns2EPC5g8jJ4z9OrdZY9apkl3+UP9+sdz76YYkwCKP5gh8iY3g==", - "license": "MIT" - }, - "node_modules/@emotion/is-prop-valid": { - "version": "1.3.1", - "resolved": "https://registry.npmjs.org/@emotion/is-prop-valid/-/is-prop-valid-1.3.1.tgz", - "integrity": "sha512-/ACwoqx7XQi9knQs/G0qKvv5teDMhD7bXYns9N/wM8ah8iNb8jZ2uNO0YOgiq2o2poIvVtJS2YALasQuMSQ7Kw==", - "license": "MIT", - "dependencies": { - "@emotion/memoize": "^0.9.0" - } - }, - "node_modules/@emotion/memoize": { - "version": "0.9.0", - "resolved": "https://registry.npmjs.org/@emotion/memoize/-/memoize-0.9.0.tgz", - "integrity": "sha512-30FAj7/EoJ5mwVPOWhAyCX+FPfMDrVecJAM+Iw9NRoSl4BBAQeqj4cApHHUXOVvIPgLVDsCFoz/hGD+5QQD1GQ==", - "license": "MIT" - }, - "node_modules/@emotion/react": { - "version": "11.14.0", - "resolved": "https://registry.npmjs.org/@emotion/react/-/react-11.14.0.tgz", - "integrity": "sha512-O000MLDBDdk/EohJPFUqvnp4qnHeYkVP5B0xEG0D/L7cOKP9kefu2DXn8dj74cQfsEzUqh+sr1RzFqiL1o+PpA==", - "license": "MIT", - "dependencies": { - "@babel/runtime": "^7.18.3", - "@emotion/babel-plugin": "^11.13.5", - "@emotion/cache": "^11.14.0", - "@emotion/serialize": "^1.3.3", - "@emotion/use-insertion-effect-with-fallbacks": "^1.2.0", - "@emotion/utils": "^1.4.2", - "@emotion/weak-memoize": "^0.4.0", - "hoist-non-react-statics": "^3.3.1" - }, - "peerDependencies": { - "react": ">=16.8.0" - }, - "peerDependenciesMeta": { - "@types/react": { - "optional": true - } - } - }, - "node_modules/@emotion/serialize": { - "version": "1.3.3", - "resolved": "https://registry.npmjs.org/@emotion/serialize/-/serialize-1.3.3.tgz", - "integrity": "sha512-EISGqt7sSNWHGI76hC7x1CksiXPahbxEOrC5RjmFRJTqLyEK9/9hZvBbiYn70dw4wuwMKiEMCUlR6ZXTSWQqxA==", - "license": "MIT", - "dependencies": { - "@emotion/hash": "^0.9.2", - "@emotion/memoize": "^0.9.0", - "@emotion/unitless": "^0.10.0", - "@emotion/utils": "^1.4.2", - "csstype": "^3.0.2" - } - }, - "node_modules/@emotion/sheet": { - "version": "1.4.0", - "resolved": "https://registry.npmjs.org/@emotion/sheet/-/sheet-1.4.0.tgz", - "integrity": "sha512-fTBW9/8r2w3dXWYM4HCB1Rdp8NLibOw2+XELH5m5+AkWiL/KqYX6dc0kKYlaYyKjrQ6ds33MCdMPEwgs2z1rqg==", - "license": "MIT" - }, - "node_modules/@emotion/styled": { - "version": "11.14.0", - "resolved": "https://registry.npmjs.org/@emotion/styled/-/styled-11.14.0.tgz", - "integrity": "sha512-XxfOnXFffatap2IyCeJyNov3kiDQWoR08gPUQxvbL7fxKryGBKUZUkG6Hz48DZwVrJSVh9sJboyV1Ds4OW6SgA==", - "license": "MIT", - "dependencies": { - "@babel/runtime": "^7.18.3", - "@emotion/babel-plugin": "^11.13.5", - "@emotion/is-prop-valid": "^1.3.0", - "@emotion/serialize": "^1.3.3", - "@emotion/use-insertion-effect-with-fallbacks": "^1.2.0", - "@emotion/utils": "^1.4.2" - }, - "peerDependencies": { - "@emotion/react": "^11.0.0-rc.0", - "react": ">=16.8.0" - }, - "peerDependenciesMeta": { - "@types/react": { - "optional": true - } - } - }, - "node_modules/@emotion/unitless": { - "version": "0.10.0", - "resolved": "https://registry.npmjs.org/@emotion/unitless/-/unitless-0.10.0.tgz", - "integrity": "sha512-dFoMUuQA20zvtVTuxZww6OHoJYgrzfKM1t52mVySDJnMSEa08ruEvdYQbhvyu6soU+NeLVd3yKfTfT0NeV6qGg==", - "license": "MIT" - }, - "node_modules/@emotion/use-insertion-effect-with-fallbacks": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/@emotion/use-insertion-effect-with-fallbacks/-/use-insertion-effect-with-fallbacks-1.2.0.tgz", - "integrity": "sha512-yJMtVdH59sxi/aVJBpk9FQq+OR8ll5GT8oWd57UpeaKEVGab41JWaCFA7FRLoMLloOZF/c/wsPoe+bfGmRKgDg==", - "license": "MIT", - "peerDependencies": { - "react": ">=16.8.0" - } - }, - "node_modules/@emotion/utils": { - "version": "1.4.2", - "resolved": "https://registry.npmjs.org/@emotion/utils/-/utils-1.4.2.tgz", - "integrity": "sha512-3vLclRofFziIa3J2wDh9jjbkUz9qk5Vi3IZ/FSTKViB0k+ef0fPV7dYrUIugbgupYDx7v9ud/SjrtEP8Y4xLoA==", - "license": "MIT" - }, - "node_modules/@emotion/weak-memoize": { - "version": "0.4.0", - "resolved": "https://registry.npmjs.org/@emotion/weak-memoize/-/weak-memoize-0.4.0.tgz", - "integrity": "sha512-snKqtPW01tN0ui7yu9rGv69aJXr/a/Ywvl11sUjNtEcRc+ng/mQriFL0wLXMef74iHa/EkftbDzU9F8iFbH+zg==", - "license": "MIT" - }, - "node_modules/@es-joy/jsdoccomment": { - "version": "0.49.0", - "resolved": "https://registry.npmjs.org/@es-joy/jsdoccomment/-/jsdoccomment-0.49.0.tgz", - "integrity": "sha512-xjZTSFgECpb9Ohuk5yMX5RhUEbfeQcuOp8IF60e+wyzWEF0M5xeSgqsfLtvPEX8BIyOX9saZqzuGPmZ8oWc+5Q==", - "dev": true, - "license": "MIT", - "peer": true, - "dependencies": { - "comment-parser": "1.4.1", - "esquery": "^1.6.0", - "jsdoc-type-pratt-parser": "~4.1.0" - }, - "engines": { - "node": ">=16" - } - }, - "node_modules/@esbuild/aix-ppc64": { - "version": "0.25.1", - "resolved": "https://registry.npmjs.org/@esbuild/aix-ppc64/-/aix-ppc64-0.25.1.tgz", - "integrity": "sha512-kfYGy8IdzTGy+z0vFGvExZtxkFlA4zAxgKEahG9KE1ScBjpQnFsNOX8KTU5ojNru5ed5CVoJYXFtoxaq5nFbjQ==", - "cpu": [ - "ppc64" - ], - "dev": true, - "license": "MIT", - "optional": true, - "os": [ - "aix" - ], - "engines": { - "node": ">=18" - } - }, - "node_modules/@esbuild/android-arm": { - "version": "0.25.1", - "resolved": "https://registry.npmjs.org/@esbuild/android-arm/-/android-arm-0.25.1.tgz", - "integrity": "sha512-dp+MshLYux6j/JjdqVLnMglQlFu+MuVeNrmT5nk6q07wNhCdSnB7QZj+7G8VMUGh1q+vj2Bq8kRsuyA00I/k+Q==", - "cpu": [ - "arm" - ], - "dev": true, - "license": "MIT", - "optional": true, - "os": [ - "android" - ], - "engines": { - "node": ">=18" - } - }, - "node_modules/@esbuild/android-arm64": { - "version": "0.25.1", - "resolved": "https://registry.npmjs.org/@esbuild/android-arm64/-/android-arm64-0.25.1.tgz", - "integrity": "sha512-50tM0zCJW5kGqgG7fQ7IHvQOcAn9TKiVRuQ/lN0xR+T2lzEFvAi1ZcS8DiksFcEpf1t/GYOeOfCAgDHFpkiSmA==", - "cpu": [ - "arm64" - ], - "dev": true, - "license": "MIT", - "optional": true, - "os": [ - "android" - ], - "engines": { - "node": ">=18" - } - }, - "node_modules/@esbuild/android-x64": { - "version": "0.25.1", - "resolved": "https://registry.npmjs.org/@esbuild/android-x64/-/android-x64-0.25.1.tgz", - "integrity": "sha512-GCj6WfUtNldqUzYkN/ITtlhwQqGWu9S45vUXs7EIYf+7rCiiqH9bCloatO9VhxsL0Pji+PF4Lz2XXCES+Q8hDw==", - "cpu": [ - "x64" - ], - "dev": true, - "license": "MIT", - "optional": true, - "os": [ - "android" - ], - "engines": { - "node": ">=18" - } - }, - "node_modules/@esbuild/darwin-arm64": { - "version": "0.25.1", - "resolved": "https://registry.npmjs.org/@esbuild/darwin-arm64/-/darwin-arm64-0.25.1.tgz", - "integrity": "sha512-5hEZKPf+nQjYoSr/elb62U19/l1mZDdqidGfmFutVUjjUZrOazAtwK+Kr+3y0C/oeJfLlxo9fXb1w7L+P7E4FQ==", - "cpu": [ - "arm64" - ], - "dev": true, - "license": "MIT", - "optional": true, - "os": [ - "darwin" - ], - "engines": { - "node": ">=18" - } - }, - "node_modules/@esbuild/darwin-x64": { - "version": "0.25.1", - "resolved": "https://registry.npmjs.org/@esbuild/darwin-x64/-/darwin-x64-0.25.1.tgz", - "integrity": "sha512-hxVnwL2Dqs3fM1IWq8Iezh0cX7ZGdVhbTfnOy5uURtao5OIVCEyj9xIzemDi7sRvKsuSdtCAhMKarxqtlyVyfA==", - "cpu": [ - "x64" - ], - "dev": true, - "license": "MIT", - "optional": true, - "os": [ - "darwin" - ], - "engines": { - "node": ">=18" - } - }, - "node_modules/@esbuild/freebsd-arm64": { - "version": "0.25.1", - "resolved": "https://registry.npmjs.org/@esbuild/freebsd-arm64/-/freebsd-arm64-0.25.1.tgz", - "integrity": "sha512-1MrCZs0fZa2g8E+FUo2ipw6jw5qqQiH+tERoS5fAfKnRx6NXH31tXBKI3VpmLijLH6yriMZsxJtaXUyFt/8Y4A==", - "cpu": [ - "arm64" - ], - "dev": true, - "license": "MIT", - "optional": true, - "os": [ - "freebsd" - ], - "engines": { - "node": ">=18" - } - }, - "node_modules/@esbuild/freebsd-x64": { - "version": "0.25.1", - "resolved": "https://registry.npmjs.org/@esbuild/freebsd-x64/-/freebsd-x64-0.25.1.tgz", - "integrity": "sha512-0IZWLiTyz7nm0xuIs0q1Y3QWJC52R8aSXxe40VUxm6BB1RNmkODtW6LHvWRrGiICulcX7ZvyH6h5fqdLu4gkww==", - "cpu": [ - "x64" - ], - "dev": true, - "license": "MIT", - "optional": true, - "os": [ - "freebsd" - ], - "engines": { - "node": ">=18" - } - }, - "node_modules/@esbuild/linux-arm": { - "version": "0.25.1", - "resolved": "https://registry.npmjs.org/@esbuild/linux-arm/-/linux-arm-0.25.1.tgz", - "integrity": "sha512-NdKOhS4u7JhDKw9G3cY6sWqFcnLITn6SqivVArbzIaf3cemShqfLGHYMx8Xlm/lBit3/5d7kXvriTUGa5YViuQ==", - "cpu": [ - "arm" - ], - "dev": true, - "license": "MIT", - "optional": true, - "os": [ - "linux" - ], - "engines": { - "node": ">=18" - } - }, - "node_modules/@esbuild/linux-arm64": { - "version": "0.25.1", - "resolved": "https://registry.npmjs.org/@esbuild/linux-arm64/-/linux-arm64-0.25.1.tgz", - "integrity": "sha512-jaN3dHi0/DDPelk0nLcXRm1q7DNJpjXy7yWaWvbfkPvI+7XNSc/lDOnCLN7gzsyzgu6qSAmgSvP9oXAhP973uQ==", - "cpu": [ - "arm64" - ], - "dev": true, - "license": "MIT", - "optional": true, - "os": [ - "linux" - ], - "engines": { - "node": ">=18" - } - }, - "node_modules/@esbuild/linux-ia32": { - "version": "0.25.1", - "resolved": "https://registry.npmjs.org/@esbuild/linux-ia32/-/linux-ia32-0.25.1.tgz", - "integrity": "sha512-OJykPaF4v8JidKNGz8c/q1lBO44sQNUQtq1KktJXdBLn1hPod5rE/Hko5ugKKZd+D2+o1a9MFGUEIUwO2YfgkQ==", - "cpu": [ - "ia32" - ], - "dev": true, - "license": "MIT", - "optional": true, - "os": [ - "linux" - ], - "engines": { - "node": ">=18" - } - }, - "node_modules/@esbuild/linux-loong64": { - "version": "0.25.1", - "resolved": "https://registry.npmjs.org/@esbuild/linux-loong64/-/linux-loong64-0.25.1.tgz", - "integrity": "sha512-nGfornQj4dzcq5Vp835oM/o21UMlXzn79KobKlcs3Wz9smwiifknLy4xDCLUU0BWp7b/houtdrgUz7nOGnfIYg==", - "cpu": [ - "loong64" - ], - "dev": true, - "license": "MIT", - "optional": true, - "os": [ - "linux" - ], - "engines": { - "node": ">=18" - } - }, - "node_modules/@esbuild/linux-mips64el": { - "version": "0.25.1", - "resolved": "https://registry.npmjs.org/@esbuild/linux-mips64el/-/linux-mips64el-0.25.1.tgz", - "integrity": "sha512-1osBbPEFYwIE5IVB/0g2X6i1qInZa1aIoj1TdL4AaAb55xIIgbg8Doq6a5BzYWgr+tEcDzYH67XVnTmUzL+nXg==", - "cpu": [ - "mips64el" - ], - "dev": true, - "license": "MIT", - "optional": true, - "os": [ - "linux" - ], - "engines": { - "node": ">=18" - } - }, - "node_modules/@esbuild/linux-ppc64": { - "version": "0.25.1", - "resolved": "https://registry.npmjs.org/@esbuild/linux-ppc64/-/linux-ppc64-0.25.1.tgz", - "integrity": "sha512-/6VBJOwUf3TdTvJZ82qF3tbLuWsscd7/1w+D9LH0W/SqUgM5/JJD0lrJ1fVIfZsqB6RFmLCe0Xz3fmZc3WtyVg==", - "cpu": [ - "ppc64" - ], - "dev": true, - "license": "MIT", - "optional": true, - "os": [ - "linux" - ], - "engines": { - "node": ">=18" - } - }, - "node_modules/@esbuild/linux-riscv64": { - "version": "0.25.1", - "resolved": "https://registry.npmjs.org/@esbuild/linux-riscv64/-/linux-riscv64-0.25.1.tgz", - "integrity": "sha512-nSut/Mx5gnilhcq2yIMLMe3Wl4FK5wx/o0QuuCLMtmJn+WeWYoEGDN1ipcN72g1WHsnIbxGXd4i/MF0gTcuAjQ==", - "cpu": [ - "riscv64" - ], - "dev": true, - "license": "MIT", - "optional": true, - "os": [ - "linux" - ], - "engines": { - "node": ">=18" - } - }, - "node_modules/@esbuild/linux-s390x": { - "version": "0.25.1", - "resolved": "https://registry.npmjs.org/@esbuild/linux-s390x/-/linux-s390x-0.25.1.tgz", - "integrity": "sha512-cEECeLlJNfT8kZHqLarDBQso9a27o2Zd2AQ8USAEoGtejOrCYHNtKP8XQhMDJMtthdF4GBmjR2au3x1udADQQQ==", - "cpu": [ - "s390x" - ], - "dev": true, - "license": "MIT", - "optional": true, - "os": [ - "linux" - ], - "engines": { - "node": ">=18" - } - }, - "node_modules/@esbuild/linux-x64": { - "version": "0.25.1", - "resolved": "https://registry.npmjs.org/@esbuild/linux-x64/-/linux-x64-0.25.1.tgz", - "integrity": "sha512-xbfUhu/gnvSEg+EGovRc+kjBAkrvtk38RlerAzQxvMzlB4fXpCFCeUAYzJvrnhFtdeyVCDANSjJvOvGYoeKzFA==", - "cpu": [ - "x64" - ], - "dev": true, - "license": "MIT", - "optional": true, - "os": [ - "linux" - ], - "engines": { - "node": ">=18" - } - }, - "node_modules/@esbuild/netbsd-arm64": { - "version": "0.25.1", - "resolved": "https://registry.npmjs.org/@esbuild/netbsd-arm64/-/netbsd-arm64-0.25.1.tgz", - "integrity": "sha512-O96poM2XGhLtpTh+s4+nP7YCCAfb4tJNRVZHfIE7dgmax+yMP2WgMd2OecBuaATHKTHsLWHQeuaxMRnCsH8+5g==", - "cpu": [ - "arm64" - ], - "dev": true, - "license": "MIT", - "optional": true, - "os": [ - "netbsd" - ], - "engines": { - "node": ">=18" - } - }, - "node_modules/@esbuild/netbsd-x64": { - "version": "0.25.1", - "resolved": "https://registry.npmjs.org/@esbuild/netbsd-x64/-/netbsd-x64-0.25.1.tgz", - "integrity": "sha512-X53z6uXip6KFXBQ+Krbx25XHV/NCbzryM6ehOAeAil7X7oa4XIq+394PWGnwaSQ2WRA0KI6PUO6hTO5zeF5ijA==", - "cpu": [ - "x64" - ], - "dev": true, - "license": "MIT", - "optional": true, - "os": [ - "netbsd" - ], - "engines": { - "node": ">=18" - } - }, - "node_modules/@esbuild/openbsd-arm64": { - "version": "0.25.1", - "resolved": "https://registry.npmjs.org/@esbuild/openbsd-arm64/-/openbsd-arm64-0.25.1.tgz", - "integrity": "sha512-Na9T3szbXezdzM/Kfs3GcRQNjHzM6GzFBeU1/6IV/npKP5ORtp9zbQjvkDJ47s6BCgaAZnnnu/cY1x342+MvZg==", - "cpu": [ - "arm64" - ], - "dev": true, - "license": "MIT", - "optional": true, - "os": [ - "openbsd" - ], - "engines": { - "node": ">=18" - } - }, - "node_modules/@esbuild/openbsd-x64": { - "version": "0.25.1", - "resolved": "https://registry.npmjs.org/@esbuild/openbsd-x64/-/openbsd-x64-0.25.1.tgz", - "integrity": "sha512-T3H78X2h1tszfRSf+txbt5aOp/e7TAz3ptVKu9Oyir3IAOFPGV6O9c2naym5TOriy1l0nNf6a4X5UXRZSGX/dw==", - "cpu": [ - "x64" - ], - "dev": true, - "license": "MIT", - "optional": true, - "os": [ - "openbsd" - ], - "engines": { - "node": ">=18" - } - }, - "node_modules/@esbuild/sunos-x64": { - "version": "0.25.1", - "resolved": "https://registry.npmjs.org/@esbuild/sunos-x64/-/sunos-x64-0.25.1.tgz", - "integrity": "sha512-2H3RUvcmULO7dIE5EWJH8eubZAI4xw54H1ilJnRNZdeo8dTADEZ21w6J22XBkXqGJbe0+wnNJtw3UXRoLJnFEg==", - "cpu": [ - "x64" - ], - "dev": true, - "license": "MIT", - "optional": true, - "os": [ - "sunos" - ], - "engines": { - "node": ">=18" - } - }, - "node_modules/@esbuild/win32-arm64": { - "version": "0.25.1", - "resolved": "https://registry.npmjs.org/@esbuild/win32-arm64/-/win32-arm64-0.25.1.tgz", - "integrity": "sha512-GE7XvrdOzrb+yVKB9KsRMq+7a2U/K5Cf/8grVFRAGJmfADr/e/ODQ134RK2/eeHqYV5eQRFxb1hY7Nr15fv1NQ==", - "cpu": [ - "arm64" - ], - "dev": true, - "license": "MIT", - "optional": true, - "os": [ - "win32" - ], - "engines": { - "node": ">=18" - } - }, - "node_modules/@esbuild/win32-ia32": { - "version": "0.25.1", - "resolved": "https://registry.npmjs.org/@esbuild/win32-ia32/-/win32-ia32-0.25.1.tgz", - "integrity": "sha512-uOxSJCIcavSiT6UnBhBzE8wy3n0hOkJsBOzy7HDAuTDE++1DJMRRVCPGisULScHL+a/ZwdXPpXD3IyFKjA7K8A==", - "cpu": [ - "ia32" - ], - "dev": true, - "license": "MIT", - "optional": true, - "os": [ - "win32" - ], - "engines": { - "node": ">=18" - } - }, - "node_modules/@esbuild/win32-x64": { - "version": "0.25.1", - "resolved": "https://registry.npmjs.org/@esbuild/win32-x64/-/win32-x64-0.25.1.tgz", - "integrity": "sha512-Y1EQdcfwMSeQN/ujR5VayLOJ1BHaK+ssyk0AEzPjC+t1lITgsnccPqFjb6V+LsTp/9Iov4ysfjxLaGJ9RPtkVg==", - "cpu": [ - "x64" - ], - "dev": true, - "license": "MIT", - "optional": true, - "os": [ - "win32" - ], - "engines": { - "node": ">=18" - } - }, - "node_modules/@eslint-community/eslint-utils": { - "version": "4.4.1", - "resolved": "https://registry.npmjs.org/@eslint-community/eslint-utils/-/eslint-utils-4.4.1.tgz", - "integrity": "sha512-s3O3waFUrMV8P/XaF/+ZTp1X9XBZW1a4B97ZnjQF2KYWaFD2A8KyFBsrsfSjEmjn3RGWAIuvlneuZm3CUK3jbA==", - "dev": true, - "license": "MIT", - "peer": true, - "dependencies": { - "eslint-visitor-keys": "^3.4.3" - }, - "engines": { - "node": "^12.22.0 || ^14.17.0 || >=16.0.0" - }, - "funding": { - "url": "https://opencollective.com/eslint" - }, - "peerDependencies": { - "eslint": "^6.0.0 || ^7.0.0 || >=8.0.0" - } - }, - "node_modules/@eslint-community/eslint-utils/node_modules/eslint-visitor-keys": { - "version": "3.4.3", - "resolved": "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-3.4.3.tgz", - "integrity": "sha512-wpc+LXeiyiisxPlEkUzU6svyS1frIO3Mgxj1fdy7Pm8Ygzguax2N3Fa/D/ag1WqbOprdI+uY6wMUl8/a2G+iag==", - "dev": true, - "license": "Apache-2.0", - "peer": true, - "engines": { - "node": "^12.22.0 || ^14.17.0 || >=16.0.0" - }, - "funding": { - "url": "https://opencollective.com/eslint" - } - }, - "node_modules/@eslint-community/regexpp": { - "version": "4.12.1", - "resolved": "https://registry.npmjs.org/@eslint-community/regexpp/-/regexpp-4.12.1.tgz", - "integrity": "sha512-CCZCDJuduB9OUkFkY2IgppNZMi2lBQgD2qzwXkEia16cge2pijY/aXi96CJMquDMn3nJdlPV1A5KrJEXwfLNzQ==", - "dev": true, - "license": "MIT", - "peer": true, - "engines": { - "node": "^12.0.0 || ^14.0.0 || >=16.0.0" - } - }, - "node_modules/@eslint/config-array": { - "version": "0.19.2", - "resolved": "https://registry.npmjs.org/@eslint/config-array/-/config-array-0.19.2.tgz", - "integrity": "sha512-GNKqxfHG2ySmJOBSHg7LxeUx4xpuCoFjacmlCoYWEbaPXLwvfIjixRI12xCQZeULksQb23uiA8F40w5TojpV7w==", - "dev": true, - "license": "Apache-2.0", - "peer": true, - "dependencies": { - "@eslint/object-schema": "^2.1.6", - "debug": "^4.3.1", - "minimatch": "^3.1.2" - }, - "engines": { - "node": "^18.18.0 || ^20.9.0 || >=21.1.0" - } - }, - "node_modules/@eslint/config-array/node_modules/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, - "license": "MIT", - "peer": true, - "dependencies": { - "balanced-match": "^1.0.0", - "concat-map": "0.0.1" - } - }, - "node_modules/@eslint/config-array/node_modules/minimatch": { - "version": "3.1.2", - "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.1.2.tgz", - "integrity": "sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==", - "dev": true, - "license": "ISC", - "peer": true, - "dependencies": { - "brace-expansion": "^1.1.7" - }, - "engines": { - "node": "*" - } - }, - "node_modules/@eslint/core": { - "version": "0.11.0", - "resolved": "https://registry.npmjs.org/@eslint/core/-/core-0.11.0.tgz", - "integrity": "sha512-DWUB2pksgNEb6Bz2fggIy1wh6fGgZP4Xyy/Mt0QZPiloKKXerbqq9D3SBQTlCRYOrcRPu4vuz+CGjwdfqxnoWA==", - "dev": true, - "license": "Apache-2.0", - "peer": true, - "dependencies": { - "@types/json-schema": "^7.0.15" - }, - "engines": { - "node": "^18.18.0 || ^20.9.0 || >=21.1.0" - } - }, - "node_modules/@eslint/eslintrc": { - "version": "3.2.0", - "resolved": "https://registry.npmjs.org/@eslint/eslintrc/-/eslintrc-3.2.0.tgz", - "integrity": "sha512-grOjVNN8P3hjJn/eIETF1wwd12DdnwFDoyceUJLYYdkpbwq3nLi+4fqrTAONx7XDALqlL220wC/RHSC/QTI/0w==", - "dev": true, - "license": "MIT", - "peer": true, - "dependencies": { - "ajv": "^6.12.4", - "debug": "^4.3.2", - "espree": "^10.0.1", - "globals": "^14.0.0", - "ignore": "^5.2.0", - "import-fresh": "^3.2.1", - "js-yaml": "^4.1.0", - "minimatch": "^3.1.2", - "strip-json-comments": "^3.1.1" - }, - "engines": { - "node": "^18.18.0 || ^20.9.0 || >=21.1.0" - }, - "funding": { - "url": "https://opencollective.com/eslint" - } - }, - "node_modules/@eslint/eslintrc/node_modules/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, - "license": "MIT", - "peer": true, - "dependencies": { - "balanced-match": "^1.0.0", - "concat-map": "0.0.1" - } - }, - "node_modules/@eslint/eslintrc/node_modules/globals": { - "version": "14.0.0", - "resolved": "https://registry.npmjs.org/globals/-/globals-14.0.0.tgz", - "integrity": "sha512-oahGvuMGQlPw/ivIYBjVSrWAfWLBeku5tpPE2fOPLi+WHffIWbuh2tCjhyQhTBPMf5E9jDEH4FOmTYgYwbKwtQ==", - "dev": true, - "license": "MIT", - "peer": true, - "engines": { - "node": ">=18" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/@eslint/eslintrc/node_modules/minimatch": { - "version": "3.1.2", - "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.1.2.tgz", - "integrity": "sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==", - "dev": true, - "license": "ISC", - "peer": true, - "dependencies": { - "brace-expansion": "^1.1.7" - }, - "engines": { - "node": "*" - } - }, - "node_modules/@eslint/js": { - "version": "9.20.0", - "resolved": "https://registry.npmjs.org/@eslint/js/-/js-9.20.0.tgz", - "integrity": "sha512-iZA07H9io9Wn836aVTytRaNqh00Sad+EamwOVJT12GTLw1VGMFV/4JaME+JjLtr9fiGaoWgYnS54wrfWsSs4oQ==", - "dev": true, - "license": "MIT", - "peer": true, - "engines": { - "node": "^18.18.0 || ^20.9.0 || >=21.1.0" - } - }, - "node_modules/@eslint/object-schema": { - "version": "2.1.6", - "resolved": "https://registry.npmjs.org/@eslint/object-schema/-/object-schema-2.1.6.tgz", - "integrity": "sha512-RBMg5FRL0I0gs51M/guSAj5/e14VQ4tpZnQNWwuDT66P14I43ItmPfIZRhO9fUVIPOAQXU47atlywZ/czoqFPA==", - "dev": true, - "license": "Apache-2.0", - "peer": true, - "engines": { - "node": "^18.18.0 || ^20.9.0 || >=21.1.0" - } - }, - "node_modules/@eslint/plugin-kit": { - "version": "0.2.5", - "resolved": "https://registry.npmjs.org/@eslint/plugin-kit/-/plugin-kit-0.2.5.tgz", - "integrity": "sha512-lB05FkqEdUg2AA0xEbUz0SnkXT1LcCTa438W4IWTUh4hdOnVbQyOJ81OrDXsJk/LSiJHubgGEFoR5EHq1NsH1A==", - "dev": true, - "license": "Apache-2.0", - "peer": true, - "dependencies": { - "@eslint/core": "^0.10.0", - "levn": "^0.4.1" - }, - "engines": { - "node": "^18.18.0 || ^20.9.0 || >=21.1.0" - } - }, - "node_modules/@eslint/plugin-kit/node_modules/@eslint/core": { - "version": "0.10.0", - "resolved": "https://registry.npmjs.org/@eslint/core/-/core-0.10.0.tgz", - "integrity": "sha512-gFHJ+xBOo4G3WRlR1e/3G8A6/KZAH6zcE/hkLRCZTi/B9avAG365QhFA8uOGzTMqgTghpn7/fSnscW++dpMSAw==", - "dev": true, - "license": "Apache-2.0", - "peer": true, - "dependencies": { - "@types/json-schema": "^7.0.15" - }, - "engines": { - "node": "^18.18.0 || ^20.9.0 || >=21.1.0" - } - }, - "node_modules/@floating-ui/core": { - "version": "1.6.9", - "resolved": "https://registry.npmjs.org/@floating-ui/core/-/core-1.6.9.tgz", - "integrity": "sha512-uMXCuQ3BItDUbAMhIXw7UPXRfAlOAvZzdK9BWpE60MCn+Svt3aLn9jsPTi/WNGlRUu2uI0v5S7JiIUsbsvh3fw==", - "license": "MIT", - "dependencies": { - "@floating-ui/utils": "^0.2.9" - } - }, - "node_modules/@floating-ui/dom": { - "version": "1.6.13", - "resolved": "https://registry.npmjs.org/@floating-ui/dom/-/dom-1.6.13.tgz", - "integrity": "sha512-umqzocjDgNRGTuO7Q8CU32dkHkECqI8ZdMZ5Swb6QAM0t5rnlrN3lGo1hdpscRd3WS8T6DKYK4ephgIH9iRh3w==", - "license": "MIT", - "dependencies": { - "@floating-ui/core": "^1.6.0", - "@floating-ui/utils": "^0.2.9" - } - }, - "node_modules/@floating-ui/react-dom": { - "version": "2.1.2", - "resolved": "https://registry.npmjs.org/@floating-ui/react-dom/-/react-dom-2.1.2.tgz", - "integrity": "sha512-06okr5cgPzMNBy+Ycse2A6udMi4bqwW/zgBF/rwjcNqWkyr82Mcg8b0vjX8OJpZFy/FKjJmw6wV7t44kK6kW7A==", - "license": "MIT", - "dependencies": { - "@floating-ui/dom": "^1.0.0" - }, - "peerDependencies": { - "react": ">=16.8.0", - "react-dom": ">=16.8.0" - } - }, - "node_modules/@floating-ui/utils": { - "version": "0.2.9", - "resolved": "https://registry.npmjs.org/@floating-ui/utils/-/utils-0.2.9.tgz", - "integrity": "sha512-MDWhGtE+eHw5JW7lq4qhc5yRLS11ERl1c7Z6Xd0a58DozHES6EnNNwUWbMiG4J9Cgj053Bhk8zvlhFYKVhULwg==", - "license": "MIT" - }, - "node_modules/@humanfs/core": { - "version": "0.19.1", - "resolved": "https://registry.npmjs.org/@humanfs/core/-/core-0.19.1.tgz", - "integrity": "sha512-5DyQ4+1JEUzejeK1JGICcideyfUbGixgS9jNgex5nqkW+cY7WZhxBigmieN5Qnw9ZosSNVC9KQKyb+GUaGyKUA==", - "dev": true, - "license": "Apache-2.0", - "peer": true, - "engines": { - "node": ">=18.18.0" - } - }, - "node_modules/@humanfs/node": { - "version": "0.16.6", - "resolved": "https://registry.npmjs.org/@humanfs/node/-/node-0.16.6.tgz", - "integrity": "sha512-YuI2ZHQL78Q5HbhDiBA1X4LmYdXCKCMQIfw0pw7piHJwyREFebJUvrQN4cMssyES6x+vfUbx1CIpaQUKYdQZOw==", - "dev": true, - "license": "Apache-2.0", - "peer": true, - "dependencies": { - "@humanfs/core": "^0.19.1", - "@humanwhocodes/retry": "^0.3.0" - }, - "engines": { - "node": ">=18.18.0" - } - }, - "node_modules/@humanfs/node/node_modules/@humanwhocodes/retry": { - "version": "0.3.1", - "resolved": "https://registry.npmjs.org/@humanwhocodes/retry/-/retry-0.3.1.tgz", - "integrity": "sha512-JBxkERygn7Bv/GbN5Rv8Ul6LVknS+5Bp6RgDC/O8gEBU/yeH5Ui5C/OlWrTb6qct7LjjfT6Re2NxB0ln0yYybA==", - "dev": true, - "license": "Apache-2.0", - "peer": true, - "engines": { - "node": ">=18.18" - }, - "funding": { - "type": "github", - "url": "https://github.com/sponsors/nzakas" - } - }, - "node_modules/@humanwhocodes/module-importer": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/@humanwhocodes/module-importer/-/module-importer-1.0.1.tgz", - "integrity": "sha512-bxveV4V8v5Yb4ncFTT3rPSgZBOpCkjfK0y4oVVVJwIuDVBRMDXrPyXRL988i5ap9m9bnyEEjWfm5WkBmtffLfA==", - "dev": true, - "license": "Apache-2.0", - "peer": true, - "engines": { - "node": ">=12.22" - }, - "funding": { - "type": "github", - "url": "https://github.com/sponsors/nzakas" - } - }, - "node_modules/@humanwhocodes/retry": { - "version": "0.4.1", - "resolved": "https://registry.npmjs.org/@humanwhocodes/retry/-/retry-0.4.1.tgz", - "integrity": "sha512-c7hNEllBlenFTHBky65mhq8WD2kbN9Q6gk0bTk8lSBvc554jpXSkST1iePudpt7+A/AQvuHs9EMqjHDXMY1lrA==", - "dev": true, - "license": "Apache-2.0", - "peer": true, - "engines": { - "node": ">=18.18" - }, - "funding": { - "type": "github", - "url": "https://github.com/sponsors/nzakas" - } - }, - "node_modules/@jridgewell/gen-mapping": { - "version": "0.3.8", - "resolved": "https://registry.npmjs.org/@jridgewell/gen-mapping/-/gen-mapping-0.3.8.tgz", - "integrity": "sha512-imAbBGkb+ebQyxKgzv5Hu2nmROxoDOXHh80evxdoXNOrvAnVx7zimzc1Oo5h9RlfV4vPXaE2iM5pOFbvOCClWA==", - "license": "MIT", - "dependencies": { - "@jridgewell/set-array": "^1.2.1", - "@jridgewell/sourcemap-codec": "^1.4.10", - "@jridgewell/trace-mapping": "^0.3.24" - }, - "engines": { - "node": ">=6.0.0" - } - }, - "node_modules/@jridgewell/resolve-uri": { - "version": "3.1.2", - "resolved": "https://registry.npmjs.org/@jridgewell/resolve-uri/-/resolve-uri-3.1.2.tgz", - "integrity": "sha512-bRISgCIjP20/tbWSPWMEi54QVPRZExkuD9lJL+UIxUKtwVJA8wW1Trb1jMs1RFXo1CBTNZ/5hpC9QvmKWdopKw==", - "license": "MIT", - "engines": { - "node": ">=6.0.0" - } - }, - "node_modules/@jridgewell/set-array": { - "version": "1.2.1", - "resolved": "https://registry.npmjs.org/@jridgewell/set-array/-/set-array-1.2.1.tgz", - "integrity": "sha512-R8gLRTZeyp03ymzP/6Lil/28tGeGEzhx1q2k703KGWRAI1VdvPIXdG70VJc2pAMw3NA6JKL5hhFu1sJX0Mnn/A==", - "license": "MIT", - "engines": { - "node": ">=6.0.0" - } - }, - "node_modules/@jridgewell/sourcemap-codec": { - "version": "1.5.0", - "resolved": "https://registry.npmjs.org/@jridgewell/sourcemap-codec/-/sourcemap-codec-1.5.0.tgz", - "integrity": "sha512-gv3ZRaISU3fjPAgNsriBRqGWQL6quFx04YMPW/zD8XMLsU32mhCCbfbO6KZFLjvYpCZ8zyDEgqsgf+PwPaM7GQ==", - "license": "MIT" - }, - "node_modules/@jridgewell/trace-mapping": { - "version": "0.3.25", - "resolved": "https://registry.npmjs.org/@jridgewell/trace-mapping/-/trace-mapping-0.3.25.tgz", - "integrity": "sha512-vNk6aEwybGtawWmy/PzwnGDOjCkLWSD2wqvjGGAgOAwCGWySYXfYoxt00IJkTF+8Lb57DwOb3Aa0o9CApepiYQ==", - "license": "MIT", - "dependencies": { - "@jridgewell/resolve-uri": "^3.1.0", - "@jridgewell/sourcemap-codec": "^1.4.14" - } - }, - "node_modules/@kurkle/color": { - "version": "0.3.4", - "resolved": "https://registry.npmjs.org/@kurkle/color/-/color-0.3.4.tgz", - "integrity": "sha512-M5UknZPHRu3DEDWoipU6sE8PdkZ6Z/S+v4dD+Ke8IaNlpdSQah50lz1KtcFBa2vsdOnwbbnxJwVM4wty6udA5w==", - "license": "MIT" - }, - "node_modules/@monaco-editor/loader": { - "version": "1.5.0", - "resolved": "https://registry.npmjs.org/@monaco-editor/loader/-/loader-1.5.0.tgz", - "integrity": "sha512-hKoGSM+7aAc7eRTRjpqAZucPmoNOC4UUbknb/VNoTkEIkCPhqV8LfbsgM1webRM7S/z21eHEx9Fkwx8Z/C/+Xw==", - "license": "MIT", - "dependencies": { - "state-local": "^1.0.6" - } - }, - "node_modules/@monaco-editor/react": { - "version": "4.7.0", - "resolved": "https://registry.npmjs.org/@monaco-editor/react/-/react-4.7.0.tgz", - "integrity": "sha512-cyzXQCtO47ydzxpQtCGSQGOC8Gk3ZUeBXFAxD+CWXYFo5OqZyZUonFl0DwUlTyAfRHntBfw2p3w4s9R6oe1eCA==", - "license": "MIT", - "dependencies": { - "@monaco-editor/loader": "^1.5.0" - }, - "peerDependencies": { - "monaco-editor": ">= 0.25.0 < 1", - "react": "^16.8.0 || ^17.0.0 || ^18.0.0 || ^19.0.0", - "react-dom": "^16.8.0 || ^17.0.0 || ^18.0.0 || ^19.0.0" - } - }, - "node_modules/@mui/base": { - "version": "5.0.0-beta.40-0", - "resolved": "https://registry.npmjs.org/@mui/base/-/base-5.0.0-beta.40-0.tgz", - "integrity": "sha512-hG3atoDUxlvEy+0mqdMpWd04wca8HKr2IHjW/fAjlkCHQolSLazhZM46vnHjOf15M4ESu25mV/3PgjczyjVM4w==", - "deprecated": "This package has been replaced by @base-ui-components/react", - "license": "MIT", - "dependencies": { - "@babel/runtime": "^7.23.9", - "@floating-ui/react-dom": "^2.0.8", - "@mui/types": "^7.2.15", - "@mui/utils": "^5.16.12", - "@popperjs/core": "^2.11.8", - "clsx": "^2.1.0", - "prop-types": "^15.8.1" - }, - "engines": { - "node": ">=12.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/mui-org" - }, - "peerDependencies": { - "@types/react": "^17.0.0 || ^18.0.0 || ^19.0.0", - "react": "^17.0.0 || ^18.0.0 || ^19.0.0", - "react-dom": "^17.0.0 || ^18.0.0 || ^19.0.0" - }, - "peerDependenciesMeta": { - "@types/react": { - "optional": true - } - } - }, - "node_modules/@mui/core-downloads-tracker": { - "version": "5.16.14", - "resolved": "https://registry.npmjs.org/@mui/core-downloads-tracker/-/core-downloads-tracker-5.16.14.tgz", - "integrity": "sha512-sbjXW+BBSvmzn61XyTMun899E7nGPTXwqD9drm1jBUAvWEhJpPFIRxwQQiATWZnd9rvdxtnhhdsDxEGWI0jxqA==", - "license": "MIT", - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/mui-org" - } - }, - "node_modules/@mui/joy": { - "version": "5.0.0-beta.51", - "resolved": "https://registry.npmjs.org/@mui/joy/-/joy-5.0.0-beta.51.tgz", - "integrity": "sha512-0M+aSSm291CnVLIdQP1di538zD/kekRYSzm+5hWattpGiXvUAYRQMKV4XFcs/dCsr0tkMpVT3dIdmbu6YP2r7g==", - "license": "MIT", - "dependencies": { - "@babel/runtime": "^7.23.9", - "@mui/base": "5.0.0-beta.40-0", - "@mui/core-downloads-tracker": "^5.16.12", - "@mui/system": "^5.16.12", - "@mui/types": "^7.2.15", - "@mui/utils": "^5.16.12", - "clsx": "^2.1.0", - "prop-types": "^15.8.1" - }, - "engines": { - "node": ">=12.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/mui-org" - }, - "peerDependencies": { - "@emotion/react": "^11.5.0", - "@emotion/styled": "^11.3.0", - "@types/react": "^17.0.0 || ^18.0.0 || ^19.0.0", - "react": "^17.0.0 || ^18.0.0 || ^19.0.0", - "react-dom": "^17.0.0 || ^18.0.0 || ^19.0.0" - }, - "peerDependenciesMeta": { - "@emotion/react": { - "optional": true - }, - "@emotion/styled": { - "optional": true - }, - "@types/react": { - "optional": true - } - } - }, - "node_modules/@mui/private-theming": { - "version": "5.16.14", - "resolved": "https://registry.npmjs.org/@mui/private-theming/-/private-theming-5.16.14.tgz", - "integrity": "sha512-12t7NKzvYi819IO5IapW2BcR33wP/KAVrU8d7gLhGHoAmhDxyXlRoKiRij3TOD8+uzk0B6R9wHUNKi4baJcRNg==", - "license": "MIT", - "dependencies": { - "@babel/runtime": "^7.23.9", - "@mui/utils": "^5.16.14", - "prop-types": "^15.8.1" - }, - "engines": { - "node": ">=12.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/mui-org" - }, - "peerDependencies": { - "@types/react": "^17.0.0 || ^18.0.0 || ^19.0.0", - "react": "^17.0.0 || ^18.0.0 || ^19.0.0" - }, - "peerDependenciesMeta": { - "@types/react": { - "optional": true - } - } - }, - "node_modules/@mui/styled-engine": { - "version": "5.16.14", - "resolved": "https://registry.npmjs.org/@mui/styled-engine/-/styled-engine-5.16.14.tgz", - "integrity": "sha512-UAiMPZABZ7p8mUW4akDV6O7N3+4DatStpXMZwPlt+H/dA0lt67qawN021MNND+4QTpjaiMYxbhKZeQcyWCbuKw==", - "license": "MIT", - "dependencies": { - "@babel/runtime": "^7.23.9", - "@emotion/cache": "^11.13.5", - "csstype": "^3.1.3", - "prop-types": "^15.8.1" - }, - "engines": { - "node": ">=12.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/mui-org" - }, - "peerDependencies": { - "@emotion/react": "^11.4.1", - "@emotion/styled": "^11.3.0", - "react": "^17.0.0 || ^18.0.0 || ^19.0.0" - }, - "peerDependenciesMeta": { - "@emotion/react": { - "optional": true - }, - "@emotion/styled": { - "optional": true - } - } - }, - "node_modules/@mui/system": { - "version": "5.16.14", - "resolved": "https://registry.npmjs.org/@mui/system/-/system-5.16.14.tgz", - "integrity": "sha512-KBxMwCb8mSIABnKvoGbvM33XHyT+sN0BzEBG+rsSc0lLQGzs7127KWkCA6/H8h6LZ00XpBEME5MAj8mZLiQ1tw==", - "license": "MIT", - "dependencies": { - "@babel/runtime": "^7.23.9", - "@mui/private-theming": "^5.16.14", - "@mui/styled-engine": "^5.16.14", - "@mui/types": "^7.2.15", - "@mui/utils": "^5.16.14", - "clsx": "^2.1.0", - "csstype": "^3.1.3", - "prop-types": "^15.8.1" - }, - "engines": { - "node": ">=12.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/mui-org" - }, - "peerDependencies": { - "@emotion/react": "^11.5.0", - "@emotion/styled": "^11.3.0", - "@types/react": "^17.0.0 || ^18.0.0 || ^19.0.0", - "react": "^17.0.0 || ^18.0.0 || ^19.0.0" - }, - "peerDependenciesMeta": { - "@emotion/react": { - "optional": true - }, - "@emotion/styled": { - "optional": true - }, - "@types/react": { - "optional": true - } - } - }, - "node_modules/@mui/types": { - "version": "7.2.21", - "resolved": "https://registry.npmjs.org/@mui/types/-/types-7.2.21.tgz", - "integrity": "sha512-6HstngiUxNqLU+/DPqlUJDIPbzUBxIVHb1MmXP0eTWDIROiCR2viugXpEif0PPe2mLqqakPzzRClWAnK+8UJww==", - "license": "MIT", - "peerDependencies": { - "@types/react": "^17.0.0 || ^18.0.0 || ^19.0.0" - }, - "peerDependenciesMeta": { - "@types/react": { - "optional": true - } - } - }, - "node_modules/@mui/utils": { - "version": "5.16.14", - "resolved": "https://registry.npmjs.org/@mui/utils/-/utils-5.16.14.tgz", - "integrity": "sha512-wn1QZkRzSmeXD1IguBVvJJHV3s6rxJrfb6YuC9Kk6Noh9f8Fb54nUs5JRkKm+BOerRhj5fLg05Dhx/H3Ofb8Mg==", - "license": "MIT", - "dependencies": { - "@babel/runtime": "^7.23.9", - "@mui/types": "^7.2.15", - "@types/prop-types": "^15.7.12", - "clsx": "^2.1.1", - "prop-types": "^15.8.1", - "react-is": "^19.0.0" - }, - "engines": { - "node": ">=12.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/mui-org" - }, - "peerDependencies": { - "@types/react": "^17.0.0 || ^18.0.0 || ^19.0.0", - "react": "^17.0.0 || ^18.0.0 || ^19.0.0" - }, - "peerDependenciesMeta": { - "@types/react": { - "optional": true - } - } - }, - "node_modules/@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, - "license": "MIT", - "peer": true, - "dependencies": { - "@nodelib/fs.stat": "2.0.5", - "run-parallel": "^1.1.9" - }, - "engines": { - "node": ">= 8" - } - }, - "node_modules/@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, - "license": "MIT", - "peer": true, - "engines": { - "node": ">= 8" - } - }, - "node_modules/@nodelib/fs.walk": { - "version": "1.2.8", - "resolved": "https://registry.npmjs.org/@nodelib/fs.walk/-/fs.walk-1.2.8.tgz", - "integrity": "sha512-oGB+UxlgWcgQkgwo8GcEGwemoTFt3FIO9ababBmaGwXIoBKZ+GTy0pP185beGg7Llih/NSHSV2XAs1lnznocSg==", - "dev": true, - "license": "MIT", - "peer": true, - "dependencies": { - "@nodelib/fs.scandir": "2.1.5", - "fastq": "^1.6.0" - }, - "engines": { - "node": ">= 8" - } - }, - "node_modules/@nolyfill/is-core-module": { - "version": "1.0.39", - "resolved": "https://registry.npmjs.org/@nolyfill/is-core-module/-/is-core-module-1.0.39.tgz", - "integrity": "sha512-nn5ozdjYQpUCZlWGuxcJY/KpxkWQs4DcbMCmKojjyrYDEAGy4Ce19NN4v5MduafTwJlbKc99UA8YhSVqq9yPZA==", - "dev": true, - "license": "MIT", - "peer": true, - "engines": { - "node": ">=12.4.0" - } - }, - "node_modules/@pkgr/core": { - "version": "0.1.1", - "resolved": "https://registry.npmjs.org/@pkgr/core/-/core-0.1.1.tgz", - "integrity": "sha512-cq8o4cWH0ibXh9VGi5P20Tu9XF/0fFXl9EUinr9QfTM7a7p0oTA4iJRCQWppXR1Pg8dSM0UCItCkPwsk9qWWYA==", - "dev": true, - "license": "MIT", - "peer": true, - "engines": { - "node": "^12.20.0 || ^14.18.0 || >=16.0.0" - }, - "funding": { - "url": "https://opencollective.com/unts" - } - }, - "node_modules/@popperjs/core": { - "version": "2.11.8", - "resolved": "https://registry.npmjs.org/@popperjs/core/-/core-2.11.8.tgz", - "integrity": "sha512-P1st0aksCrn9sGZhp8GMYwBnQsbvAWsZAX44oXNNvLHGqAOcoVxmjZiohstwQ7SqKnbR47akdNi+uleWD8+g6A==", - "license": "MIT", - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/popperjs" - } - }, - "node_modules/@rc-component/async-validator": { - "version": "5.0.4", - "resolved": "https://registry.npmjs.org/@rc-component/async-validator/-/async-validator-5.0.4.tgz", - "integrity": "sha512-qgGdcVIF604M9EqjNF0hbUTz42bz/RDtxWdWuU5EQe3hi7M8ob54B6B35rOsvX5eSvIHIzT9iH1R3n+hk3CGfg==", - "license": "MIT", - "dependencies": { - "@babel/runtime": "^7.24.4" - }, - "engines": { - "node": ">=14.x" - } - }, - "node_modules/@rc-component/color-picker": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/@rc-component/color-picker/-/color-picker-2.0.1.tgz", - "integrity": "sha512-WcZYwAThV/b2GISQ8F+7650r5ZZJ043E57aVBFkQ+kSY4C6wdofXgB0hBx+GPGpIU0Z81eETNoDUJMr7oy/P8Q==", - "license": "MIT", - "dependencies": { - "@ant-design/fast-color": "^2.0.6", - "@babel/runtime": "^7.23.6", - "classnames": "^2.2.6", - "rc-util": "^5.38.1" - }, - "peerDependencies": { - "react": ">=16.9.0", - "react-dom": ">=16.9.0" - } - }, - "node_modules/@rc-component/context": { - "version": "1.4.0", - "resolved": "https://registry.npmjs.org/@rc-component/context/-/context-1.4.0.tgz", - "integrity": "sha512-kFcNxg9oLRMoL3qki0OMxK+7g5mypjgaaJp/pkOis/6rVxma9nJBF/8kCIuTYHUQNr0ii7MxqE33wirPZLJQ2w==", - "license": "MIT", - "dependencies": { - "@babel/runtime": "^7.10.1", - "rc-util": "^5.27.0" - }, - "peerDependencies": { - "react": ">=16.9.0", - "react-dom": ">=16.9.0" - } - }, - "node_modules/@rc-component/mini-decimal": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/@rc-component/mini-decimal/-/mini-decimal-1.1.0.tgz", - "integrity": "sha512-jS4E7T9Li2GuYwI6PyiVXmxTiM6b07rlD9Ge8uGZSCz3WlzcG5ZK7g5bbuKNeZ9pgUuPK/5guV781ujdVpm4HQ==", - "license": "MIT", - "dependencies": { - "@babel/runtime": "^7.18.0" - }, - "engines": { - "node": ">=8.x" - } - }, - "node_modules/@rc-component/mutate-observer": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/@rc-component/mutate-observer/-/mutate-observer-1.1.0.tgz", - "integrity": "sha512-QjrOsDXQusNwGZPf4/qRQasg7UFEj06XiCJ8iuiq/Io7CrHrgVi6Uuetw60WAMG1799v+aM8kyc+1L/GBbHSlw==", - "license": "MIT", - "dependencies": { - "@babel/runtime": "^7.18.0", - "classnames": "^2.3.2", - "rc-util": "^5.24.4" - }, - "engines": { - "node": ">=8.x" - }, - "peerDependencies": { - "react": ">=16.9.0", - "react-dom": ">=16.9.0" - } - }, - "node_modules/@rc-component/portal": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/@rc-component/portal/-/portal-1.1.2.tgz", - "integrity": "sha512-6f813C0IsasTZms08kfA8kPAGxbbkYToa8ALaiDIGGECU4i9hj8Plgbx0sNJDrey3EtHO30hmdaxtT0138xZcg==", - "license": "MIT", - "dependencies": { - "@babel/runtime": "^7.18.0", - "classnames": "^2.3.2", - "rc-util": "^5.24.4" - }, - "engines": { - "node": ">=8.x" - }, - "peerDependencies": { - "react": ">=16.9.0", - "react-dom": ">=16.9.0" - } - }, - "node_modules/@rc-component/qrcode": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/@rc-component/qrcode/-/qrcode-1.0.0.tgz", - "integrity": "sha512-L+rZ4HXP2sJ1gHMGHjsg9jlYBX/SLN2D6OxP9Zn3qgtpMWtO2vUfxVFwiogHpAIqs54FnALxraUy/BCO1yRIgg==", - "license": "MIT", - "dependencies": { - "@babel/runtime": "^7.24.7", - "classnames": "^2.3.2", - "rc-util": "^5.38.0" - }, - "engines": { - "node": ">=8.x" - }, - "peerDependencies": { - "react": ">=16.9.0", - "react-dom": ">=16.9.0" - } - }, - "node_modules/@rc-component/tour": { - "version": "1.15.1", - "resolved": "https://registry.npmjs.org/@rc-component/tour/-/tour-1.15.1.tgz", - "integrity": "sha512-Tr2t7J1DKZUpfJuDZWHxyxWpfmj8EZrqSgyMZ+BCdvKZ6r1UDsfU46M/iWAAFBy961Ssfom2kv5f3UcjIL2CmQ==", - "license": "MIT", - "dependencies": { - "@babel/runtime": "^7.18.0", - "@rc-component/portal": "^1.0.0-9", - "@rc-component/trigger": "^2.0.0", - "classnames": "^2.3.2", - "rc-util": "^5.24.4" - }, - "engines": { - "node": ">=8.x" - }, - "peerDependencies": { - "react": ">=16.9.0", - "react-dom": ">=16.9.0" - } - }, - "node_modules/@rc-component/trigger": { - "version": "2.2.6", - "resolved": "https://registry.npmjs.org/@rc-component/trigger/-/trigger-2.2.6.tgz", - "integrity": "sha512-/9zuTnWwhQ3S3WT1T8BubuFTT46kvnXgaERR9f4BTKyn61/wpf/BvbImzYBubzJibU707FxwbKszLlHjcLiv1Q==", - "license": "MIT", - "dependencies": { - "@babel/runtime": "^7.23.2", - "@rc-component/portal": "^1.1.0", - "classnames": "^2.3.2", - "rc-motion": "^2.0.0", - "rc-resize-observer": "^1.3.1", - "rc-util": "^5.44.0" - }, - "engines": { - "node": ">=8.x" - }, - "peerDependencies": { - "react": ">=16.9.0", - "react-dom": ">=16.9.0" - } - }, - "node_modules/@rollup/rollup-android-arm-eabi": { - "version": "4.45.1", - "resolved": "https://registry.npmjs.org/@rollup/rollup-android-arm-eabi/-/rollup-android-arm-eabi-4.45.1.tgz", - "integrity": "sha512-NEySIFvMY0ZQO+utJkgoMiCAjMrGvnbDLHvcmlA33UXJpYBCvlBEbMMtV837uCkS+plG2umfhn0T5mMAxGrlRA==", - "cpu": [ - "arm" - ], - "dev": true, - "license": "MIT", - "optional": true, - "os": [ - "android" - ] - }, - "node_modules/@rollup/rollup-android-arm64": { - "version": "4.45.1", - "resolved": "https://registry.npmjs.org/@rollup/rollup-android-arm64/-/rollup-android-arm64-4.45.1.tgz", - "integrity": "sha512-ujQ+sMXJkg4LRJaYreaVx7Z/VMgBBd89wGS4qMrdtfUFZ+TSY5Rs9asgjitLwzeIbhwdEhyj29zhst3L1lKsRQ==", - "cpu": [ - "arm64" - ], - "dev": true, - "license": "MIT", - "optional": true, - "os": [ - "android" - ] - }, - "node_modules/@rollup/rollup-darwin-arm64": { - "version": "4.45.1", - "resolved": "https://registry.npmjs.org/@rollup/rollup-darwin-arm64/-/rollup-darwin-arm64-4.45.1.tgz", - "integrity": "sha512-FSncqHvqTm3lC6Y13xncsdOYfxGSLnP+73k815EfNmpewPs+EyM49haPS105Rh4aF5mJKywk9X0ogzLXZzN9lA==", - "cpu": [ - "arm64" - ], - "dev": true, - "license": "MIT", - "optional": true, - "os": [ - "darwin" - ] - }, - "node_modules/@rollup/rollup-darwin-x64": { - "version": "4.45.1", - "resolved": "https://registry.npmjs.org/@rollup/rollup-darwin-x64/-/rollup-darwin-x64-4.45.1.tgz", - "integrity": "sha512-2/vVn/husP5XI7Fsf/RlhDaQJ7x9zjvC81anIVbr4b/f0xtSmXQTFcGIQ/B1cXIYM6h2nAhJkdMHTnD7OtQ9Og==", - "cpu": [ - "x64" - ], - "dev": true, - "license": "MIT", - "optional": true, - "os": [ - "darwin" - ] - }, - "node_modules/@rollup/rollup-freebsd-arm64": { - "version": "4.45.1", - "resolved": "https://registry.npmjs.org/@rollup/rollup-freebsd-arm64/-/rollup-freebsd-arm64-4.45.1.tgz", - "integrity": "sha512-4g1kaDxQItZsrkVTdYQ0bxu4ZIQ32cotoQbmsAnW1jAE4XCMbcBPDirX5fyUzdhVCKgPcrwWuucI8yrVRBw2+g==", - "cpu": [ - "arm64" - ], - "dev": true, - "license": "MIT", - "optional": true, - "os": [ - "freebsd" - ] - }, - "node_modules/@rollup/rollup-freebsd-x64": { - "version": "4.45.1", - "resolved": "https://registry.npmjs.org/@rollup/rollup-freebsd-x64/-/rollup-freebsd-x64-4.45.1.tgz", - "integrity": "sha512-L/6JsfiL74i3uK1Ti2ZFSNsp5NMiM4/kbbGEcOCps99aZx3g8SJMO1/9Y0n/qKlWZfn6sScf98lEOUe2mBvW9A==", - "cpu": [ - "x64" - ], - "dev": true, - "license": "MIT", - "optional": true, - "os": [ - "freebsd" - ] - }, - "node_modules/@rollup/rollup-linux-arm-gnueabihf": { - "version": "4.45.1", - "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-arm-gnueabihf/-/rollup-linux-arm-gnueabihf-4.45.1.tgz", - "integrity": "sha512-RkdOTu2jK7brlu+ZwjMIZfdV2sSYHK2qR08FUWcIoqJC2eywHbXr0L8T/pONFwkGukQqERDheaGTeedG+rra6Q==", - "cpu": [ - "arm" - ], - "dev": true, - "license": "MIT", - "optional": true, - "os": [ - "linux" - ] - }, - "node_modules/@rollup/rollup-linux-arm-musleabihf": { - "version": "4.45.1", - "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-arm-musleabihf/-/rollup-linux-arm-musleabihf-4.45.1.tgz", - "integrity": "sha512-3kJ8pgfBt6CIIr1o+HQA7OZ9mp/zDk3ctekGl9qn/pRBgrRgfwiffaUmqioUGN9hv0OHv2gxmvdKOkARCtRb8Q==", - "cpu": [ - "arm" - ], - "dev": true, - "license": "MIT", - "optional": true, - "os": [ - "linux" - ] - }, - "node_modules/@rollup/rollup-linux-arm64-gnu": { - "version": "4.45.1", - "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-arm64-gnu/-/rollup-linux-arm64-gnu-4.45.1.tgz", - "integrity": "sha512-k3dOKCfIVixWjG7OXTCOmDfJj3vbdhN0QYEqB+OuGArOChek22hn7Uy5A/gTDNAcCy5v2YcXRJ/Qcnm4/ma1xw==", - "cpu": [ - "arm64" - ], - "dev": true, - "license": "MIT", - "optional": true, - "os": [ - "linux" - ] - }, - "node_modules/@rollup/rollup-linux-arm64-musl": { - "version": "4.45.1", - "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-arm64-musl/-/rollup-linux-arm64-musl-4.45.1.tgz", - "integrity": "sha512-PmI1vxQetnM58ZmDFl9/Uk2lpBBby6B6rF4muJc65uZbxCs0EA7hhKCk2PKlmZKuyVSHAyIw3+/SiuMLxKxWog==", - "cpu": [ - "arm64" - ], - "dev": true, - "license": "MIT", - "optional": true, - "os": [ - "linux" - ] - }, - "node_modules/@rollup/rollup-linux-loongarch64-gnu": { - "version": "4.45.1", - "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-loongarch64-gnu/-/rollup-linux-loongarch64-gnu-4.45.1.tgz", - "integrity": "sha512-9UmI0VzGmNJ28ibHW2GpE2nF0PBQqsyiS4kcJ5vK+wuwGnV5RlqdczVocDSUfGX/Na7/XINRVoUgJyFIgipoRg==", - "cpu": [ - "loong64" - ], - "dev": true, - "license": "MIT", - "optional": true, - "os": [ - "linux" - ] - }, - "node_modules/@rollup/rollup-linux-powerpc64le-gnu": { - "version": "4.45.1", - "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-powerpc64le-gnu/-/rollup-linux-powerpc64le-gnu-4.45.1.tgz", - "integrity": "sha512-7nR2KY8oEOUTD3pBAxIBBbZr0U7U+R9HDTPNy+5nVVHDXI4ikYniH1oxQz9VoB5PbBU1CZuDGHkLJkd3zLMWsg==", - "cpu": [ - "ppc64" - ], - "dev": true, - "license": "MIT", - "optional": true, - "os": [ - "linux" - ] - }, - "node_modules/@rollup/rollup-linux-riscv64-gnu": { - "version": "4.45.1", - "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-riscv64-gnu/-/rollup-linux-riscv64-gnu-4.45.1.tgz", - "integrity": "sha512-nlcl3jgUultKROfZijKjRQLUu9Ma0PeNv/VFHkZiKbXTBQXhpytS8CIj5/NfBeECZtY2FJQubm6ltIxm/ftxpw==", - "cpu": [ - "riscv64" - ], - "dev": true, - "license": "MIT", - "optional": true, - "os": [ - "linux" - ] - }, - "node_modules/@rollup/rollup-linux-riscv64-musl": { - "version": "4.45.1", - "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-riscv64-musl/-/rollup-linux-riscv64-musl-4.45.1.tgz", - "integrity": "sha512-HJV65KLS51rW0VY6rvZkiieiBnurSzpzore1bMKAhunQiECPuxsROvyeaot/tcK3A3aGnI+qTHqisrpSgQrpgA==", - "cpu": [ - "riscv64" - ], - "dev": true, - "license": "MIT", - "optional": true, - "os": [ - "linux" - ] - }, - "node_modules/@rollup/rollup-linux-s390x-gnu": { - "version": "4.45.1", - "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-s390x-gnu/-/rollup-linux-s390x-gnu-4.45.1.tgz", - "integrity": "sha512-NITBOCv3Qqc6hhwFt7jLV78VEO/il4YcBzoMGGNxznLgRQf43VQDae0aAzKiBeEPIxnDrACiMgbqjuihx08OOw==", - "cpu": [ - "s390x" - ], - "dev": true, - "license": "MIT", - "optional": true, - "os": [ - "linux" - ] - }, - "node_modules/@rollup/rollup-linux-x64-gnu": { - "version": "4.45.1", - "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-x64-gnu/-/rollup-linux-x64-gnu-4.45.1.tgz", - "integrity": "sha512-+E/lYl6qu1zqgPEnTrs4WysQtvc/Sh4fC2nByfFExqgYrqkKWp1tWIbe+ELhixnenSpBbLXNi6vbEEJ8M7fiHw==", - "cpu": [ - "x64" - ], - "dev": true, - "license": "MIT", - "optional": true, - "os": [ - "linux" - ] - }, - "node_modules/@rollup/rollup-linux-x64-musl": { - "version": "4.45.1", - "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-x64-musl/-/rollup-linux-x64-musl-4.45.1.tgz", - "integrity": "sha512-a6WIAp89p3kpNoYStITT9RbTbTnqarU7D8N8F2CV+4Cl9fwCOZraLVuVFvlpsW0SbIiYtEnhCZBPLoNdRkjQFw==", - "cpu": [ - "x64" - ], - "dev": true, - "license": "MIT", - "optional": true, - "os": [ - "linux" - ] - }, - "node_modules/@rollup/rollup-win32-arm64-msvc": { - "version": "4.45.1", - "resolved": "https://registry.npmjs.org/@rollup/rollup-win32-arm64-msvc/-/rollup-win32-arm64-msvc-4.45.1.tgz", - "integrity": "sha512-T5Bi/NS3fQiJeYdGvRpTAP5P02kqSOpqiopwhj0uaXB6nzs5JVi2XMJb18JUSKhCOX8+UE1UKQufyD6Or48dJg==", - "cpu": [ - "arm64" - ], - "dev": true, - "license": "MIT", - "optional": true, - "os": [ - "win32" - ] - }, - "node_modules/@rollup/rollup-win32-ia32-msvc": { - "version": "4.45.1", - "resolved": "https://registry.npmjs.org/@rollup/rollup-win32-ia32-msvc/-/rollup-win32-ia32-msvc-4.45.1.tgz", - "integrity": "sha512-lxV2Pako3ujjuUe9jiU3/s7KSrDfH6IgTSQOnDWr9aJ92YsFd7EurmClK0ly/t8dzMkDtd04g60WX6yl0sGfdw==", - "cpu": [ - "ia32" - ], - "dev": true, - "license": "MIT", - "optional": true, - "os": [ - "win32" - ] - }, - "node_modules/@rollup/rollup-win32-x64-msvc": { - "version": "4.45.1", - "resolved": "https://registry.npmjs.org/@rollup/rollup-win32-x64-msvc/-/rollup-win32-x64-msvc-4.45.1.tgz", - "integrity": "sha512-M/fKi4sasCdM8i0aWJjCSFm2qEnYRR8AMLG2kxp6wD13+tMGA4Z1tVAuHkNRjud5SW2EM3naLuK35w9twvf6aA==", - "cpu": [ - "x64" - ], - "dev": true, - "license": "MIT", - "optional": true, - "os": [ - "win32" - ] - }, - "node_modules/@rtsao/scc": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/@rtsao/scc/-/scc-1.1.0.tgz", - "integrity": "sha512-zt6OdqaDoOnJ1ZYsCYGt9YmWzDXl4vQdKTyJev62gFhRGKdx7mcT54V9KIjg+d2wi9EXsPvAPKe7i7WjfVWB8g==", - "dev": true, - "license": "MIT", - "peer": true - }, - "node_modules/@sinclair/typebox": { - "version": "0.34.25", - "resolved": "https://registry.npmjs.org/@sinclair/typebox/-/typebox-0.34.25.tgz", - "integrity": "sha512-gu+tdy9WZIRulrR4CAcGXZAAixwakKszkUXudMJ4EhtNflBEify5Pm5vnVEVqdmMkxnT4tcdfJps5XYqaNeF9Q==", - "license": "MIT" - }, - "node_modules/@socket.io/component-emitter": { - "version": "3.1.2", - "resolved": "https://registry.npmjs.org/@socket.io/component-emitter/-/component-emitter-3.1.2.tgz", - "integrity": "sha512-9BCxFwvbGg/RsZK9tjXd8s4UcwR0MWeFQ1XEKIQVVvAGJyINdrqKMcTRyLoK8Rse1GjzLV9cwjWV1olXRWEXVA==", - "license": "MIT" - }, - "node_modules/@stylistic/eslint-plugin": { - "version": "2.13.0", - "resolved": "https://registry.npmjs.org/@stylistic/eslint-plugin/-/eslint-plugin-2.13.0.tgz", - "integrity": "sha512-RnO1SaiCFHn666wNz2QfZEFxvmiNRqhzaMXHXxXXKt+MEP7aajlPxUSMIQpKAaJfverpovEYqjBOXDq6dDcaOQ==", - "dev": true, - "license": "MIT", - "peer": true, - "dependencies": { - "@typescript-eslint/utils": "^8.13.0", - "eslint-visitor-keys": "^4.2.0", - "espree": "^10.3.0", - "estraverse": "^5.3.0", - "picomatch": "^4.0.2" - }, - "engines": { - "node": "^18.18.0 || ^20.9.0 || >=21.1.0" - }, - "peerDependencies": { - "eslint": ">=8.40.0" - } - }, - "node_modules/@tanstack/query-core": { - "version": "5.81.5", - "resolved": "https://registry.npmjs.org/@tanstack/query-core/-/query-core-5.81.5.tgz", - "integrity": "sha512-ZJOgCy/z2qpZXWaj/oxvodDx07XcQa9BF92c0oINjHkoqUPsmm3uG08HpTaviviZ/N9eP1f9CM7mKSEkIo7O1Q==", - "license": "MIT", - "funding": { - "type": "github", - "url": "https://github.com/sponsors/tannerlinsley" - } - }, - "node_modules/@tanstack/query-devtools": { - "version": "5.81.2", - "resolved": "https://registry.npmjs.org/@tanstack/query-devtools/-/query-devtools-5.81.2.tgz", - "integrity": "sha512-jCeJcDCwKfoyyBXjXe9+Lo8aTkavygHHsUHAlxQKKaDeyT0qyQNLKl7+UyqYH2dDF6UN/14873IPBHchcsU+Zg==", - "license": "MIT", - "funding": { - "type": "github", - "url": "https://github.com/sponsors/tannerlinsley" - } - }, - "node_modules/@tanstack/react-query": { - "version": "5.81.5", - "resolved": "https://registry.npmjs.org/@tanstack/react-query/-/react-query-5.81.5.tgz", - "integrity": "sha512-lOf2KqRRiYWpQT86eeeftAGnjuTR35myTP8MXyvHa81VlomoAWNEd8x5vkcAfQefu0qtYCvyqLropFZqgI2EQw==", - "license": "MIT", - "dependencies": { - "@tanstack/query-core": "5.81.5" - }, - "funding": { - "type": "github", - "url": "https://github.com/sponsors/tannerlinsley" - }, - "peerDependencies": { - "react": "^18 || ^19" - } - }, - "node_modules/@tanstack/react-query-devtools": { - "version": "5.81.5", - "resolved": "https://registry.npmjs.org/@tanstack/react-query-devtools/-/react-query-devtools-5.81.5.tgz", - "integrity": "sha512-lCGMu4RX0uGnlrlLeSckBfnW/UV+KMlTBVqa97cwK7Z2ED5JKnZRSjNXwoma6sQBTJrcULvzgx2K6jEPvNUpDw==", - "license": "MIT", - "dependencies": { - "@tanstack/query-devtools": "5.81.2" - }, - "funding": { - "type": "github", - "url": "https://github.com/sponsors/tannerlinsley" - }, - "peerDependencies": { - "@tanstack/react-query": "^5.81.5", - "react": "^18 || ^19" - } - }, - "node_modules/@types/babel__core": { - "version": "7.20.5", - "resolved": "https://registry.npmjs.org/@types/babel__core/-/babel__core-7.20.5.tgz", - "integrity": "sha512-qoQprZvz5wQFJwMDqeseRXWv3rqMvhgpbXFfVyWhbx9X47POIA6i/+dXefEmZKoAgOaTdaIgNSMqMIU61yRyzA==", - "dev": true, - "license": "MIT", - "dependencies": { - "@babel/parser": "^7.20.7", - "@babel/types": "^7.20.7", - "@types/babel__generator": "*", - "@types/babel__template": "*", - "@types/babel__traverse": "*" - } - }, - "node_modules/@types/babel__generator": { - "version": "7.6.8", - "resolved": "https://registry.npmjs.org/@types/babel__generator/-/babel__generator-7.6.8.tgz", - "integrity": "sha512-ASsj+tpEDsEiFr1arWrlN6V3mdfjRMZt6LtK/Vp/kreFLnr5QH5+DhvD5nINYZXzwJvXeGq+05iUXcAzVrqWtw==", - "dev": true, - "license": "MIT", - "dependencies": { - "@babel/types": "^7.0.0" - } - }, - "node_modules/@types/babel__template": { - "version": "7.4.4", - "resolved": "https://registry.npmjs.org/@types/babel__template/-/babel__template-7.4.4.tgz", - "integrity": "sha512-h/NUaSyG5EyxBIp8YRxo4RMe2/qQgvyowRwVMzhYhBCONbW8PUsg4lkFMrhgZhUe5z3L3MiLDuvyJ/CaPa2A8A==", - "dev": true, - "license": "MIT", - "dependencies": { - "@babel/parser": "^7.1.0", - "@babel/types": "^7.0.0" - } - }, - "node_modules/@types/babel__traverse": { - "version": "7.20.6", - "resolved": "https://registry.npmjs.org/@types/babel__traverse/-/babel__traverse-7.20.6.tgz", - "integrity": "sha512-r1bzfrm0tomOI8g1SzvCaQHo6Lcv6zu0EA+W2kHrt8dyrHQxGzBBL4kdkzIS+jBMV+EYcMAEAqXqYaLJq5rOZg==", - "dev": true, - "license": "MIT", - "dependencies": { - "@babel/types": "^7.20.7" - } - }, - "node_modules/@types/cookie": { - "version": "0.6.0", - "resolved": "https://registry.npmjs.org/@types/cookie/-/cookie-0.6.0.tgz", - "integrity": "sha512-4Kh9a6B2bQciAhf7FSuMRRkUWecJgJu9nPnx3yzpsfXX/c50REIqpHY4C82bXP90qrLtXtkDxTZosYO3UpOwlA==", - "license": "MIT" - }, - "node_modules/@types/estree": { - "version": "1.0.8", - "resolved": "https://registry.npmjs.org/@types/estree/-/estree-1.0.8.tgz", - "integrity": "sha512-dWHzHa2WqEXI/O1E9OjrocMTKJl2mSrEolh1Iomrv6U+JuNwaHXsXx9bLu5gG7BUWFIN0skIQJQ/L1rIex4X6w==", - "dev": true, - "license": "MIT" - }, - "node_modules/@types/hammerjs": { - "version": "2.0.46", - "resolved": "https://registry.npmjs.org/@types/hammerjs/-/hammerjs-2.0.46.tgz", - "integrity": "sha512-ynRvcq6wvqexJ9brDMS4BnBLzmr0e14d6ZJTEShTBWKymQiHwlAyGu0ZPEFI2Fh1U53F7tN9ufClWM5KvqkKOw==", - "license": "MIT" - }, - "node_modules/@types/hast": { - "version": "2.3.10", - "resolved": "https://registry.npmjs.org/@types/hast/-/hast-2.3.10.tgz", - "integrity": "sha512-McWspRw8xx8J9HurkVBfYj0xKoE25tOFlHGdx4MJ5xORQrMGZNqJhVQWaIbm6Oyla5kYOXtDiopzKRJzEOkwJw==", - "license": "MIT", - "dependencies": { - "@types/unist": "^2" - } - }, - "node_modules/@types/json-schema": { - "version": "7.0.15", - "resolved": "https://registry.npmjs.org/@types/json-schema/-/json-schema-7.0.15.tgz", - "integrity": "sha512-5+fP8P8MFNC+AyZCDxrB2pkZFPGzqQWUzpSeuuVLvm8VMcorNYavBqoFcxK8bQz4Qsbn4oUEEem4wDLfcysGHA==", - "dev": true, - "license": "MIT", - "peer": true - }, - "node_modules/@types/json5": { - "version": "0.0.29", - "resolved": "https://registry.npmjs.org/@types/json5/-/json5-0.0.29.tgz", - "integrity": "sha512-dRLjCWHYg4oaA77cxO64oO+7JwCwnIzkZPdrrC71jQmQtlhM556pwKo5bUzqvZndkVbeFLIIi+9TC40JNF5hNQ==", - "dev": true, - "license": "MIT", - "peer": true - }, - "node_modules/@types/node": { - "version": "22.15.31", - "resolved": "https://registry.npmjs.org/@types/node/-/node-22.15.31.tgz", - "integrity": "sha512-jnVe5ULKl6tijxUhvQeNbQG/84fHfg+yMak02cT8QVhBx/F05rAVxCGBYYTh2EKz22D6JF5ktXuNwdx7b9iEGw==", - "dev": true, - "license": "MIT", - "dependencies": { - "undici-types": "~6.21.0" - } - }, - "node_modules/@types/parse-json": { - "version": "4.0.2", - "resolved": "https://registry.npmjs.org/@types/parse-json/-/parse-json-4.0.2.tgz", - "integrity": "sha512-dISoDXWWQwUquiKsyZ4Ng+HX2KsPL7LyHKHQwgGFEA3IaKac4Obd+h2a/a6waisAoepJlBcx9paWqjA8/HVjCw==", - "license": "MIT" - }, - "node_modules/@types/prop-types": { - "version": "15.7.14", - "resolved": "https://registry.npmjs.org/@types/prop-types/-/prop-types-15.7.14.tgz", - "integrity": "sha512-gNMvNH49DJ7OJYv+KAKn0Xp45p8PLl6zo2YnvDIbTd4J6MER2BmWN49TG7n9LvkyihINxeKW8+3bfS2yDC9dzQ==", - "license": "MIT" - }, - "node_modules/@types/react": { - "version": "19.0.10", - "resolved": "https://registry.npmjs.org/@types/react/-/react-19.0.10.tgz", - "integrity": "sha512-JuRQ9KXLEjaUNjTWpzuR231Z2WpIwczOkBEIvbHNCzQefFIT0L8IqE6NV6ULLyC1SI/i234JnDoMkfg+RjQj2g==", - "devOptional": true, - "license": "MIT", - "dependencies": { - "csstype": "^3.0.2" - } - }, - "node_modules/@types/react-dom": { - "version": "19.0.4", - "resolved": "https://registry.npmjs.org/@types/react-dom/-/react-dom-19.0.4.tgz", - "integrity": "sha512-4fSQ8vWFkg+TGhePfUzVmat3eC14TXYSsiiDSLI0dVLsrm9gZFABjPy/Qu6TKgl1tq1Bu1yDsuQgY3A3DOjCcg==", - "dev": true, - "license": "MIT", - "peerDependencies": { - "@types/react": "^19.0.0" - } - }, - "node_modules/@types/react-syntax-highlighter": { - "version": "15.5.13", - "resolved": "https://registry.npmjs.org/@types/react-syntax-highlighter/-/react-syntax-highlighter-15.5.13.tgz", - "integrity": "sha512-uLGJ87j6Sz8UaBAooU0T6lWJ0dBmjZgN1PZTrj05TNql2/XpC6+4HhMT5syIdFUUt+FASfCeLLv4kBygNU+8qA==", - "dev": true, - "license": "MIT", - "dependencies": { - "@types/react": "*" - } - }, - "node_modules/@types/unist": { - "version": "2.0.11", - "resolved": "https://registry.npmjs.org/@types/unist/-/unist-2.0.11.tgz", - "integrity": "sha512-CmBKiL6NNo/OqgmMn95Fk9Whlp2mtvIv+KNpQKN2F4SjvrEesubTRWGYSg+BnWZOnlCaSTU1sMpsBOzgbYhnsA==", - "license": "MIT" - }, - "node_modules/@typescript-eslint/eslint-plugin": { - "version": "8.19.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/eslint-plugin/-/eslint-plugin-8.19.0.tgz", - "integrity": "sha512-NggSaEZCdSrFddbctrVjkVZvFC6KGfKfNK0CU7mNK/iKHGKbzT4Wmgm08dKpcZECBu9f5FypndoMyRHkdqfT1Q==", - "dev": true, - "license": "MIT", - "peer": true, - "dependencies": { - "@eslint-community/regexpp": "^4.10.0", - "@typescript-eslint/scope-manager": "8.19.0", - "@typescript-eslint/type-utils": "8.19.0", - "@typescript-eslint/utils": "8.19.0", - "@typescript-eslint/visitor-keys": "8.19.0", - "graphemer": "^1.4.0", - "ignore": "^5.3.1", - "natural-compare": "^1.4.0", - "ts-api-utils": "^1.3.0" - }, - "engines": { - "node": "^18.18.0 || ^20.9.0 || >=21.1.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/typescript-eslint" - }, - "peerDependencies": { - "@typescript-eslint/parser": "^8.0.0 || ^8.0.0-alpha.0", - "eslint": "^8.57.0 || ^9.0.0", - "typescript": ">=4.8.4 <5.8.0" - } - }, - "node_modules/@typescript-eslint/eslint-plugin/node_modules/@typescript-eslint/scope-manager": { - "version": "8.19.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/scope-manager/-/scope-manager-8.19.0.tgz", - "integrity": "sha512-hkoJiKQS3GQ13TSMEiuNmSCvhz7ujyqD1x3ShbaETATHrck+9RaDdUbt+osXaUuns9OFwrDTTrjtwsU8gJyyRA==", - "dev": true, - "license": "MIT", - "peer": true, - "dependencies": { - "@typescript-eslint/types": "8.19.0", - "@typescript-eslint/visitor-keys": "8.19.0" - }, - "engines": { - "node": "^18.18.0 || ^20.9.0 || >=21.1.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/typescript-eslint" - } - }, - "node_modules/@typescript-eslint/eslint-plugin/node_modules/@typescript-eslint/types": { - "version": "8.19.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/types/-/types-8.19.0.tgz", - "integrity": "sha512-8XQ4Ss7G9WX8oaYvD4OOLCjIQYgRQxO+qCiR2V2s2GxI9AUpo7riNwo6jDhKtTcaJjT8PY54j2Yb33kWtSJsmA==", - "dev": true, - "license": "MIT", - "peer": true, - "engines": { - "node": "^18.18.0 || ^20.9.0 || >=21.1.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/typescript-eslint" - } - }, - "node_modules/@typescript-eslint/eslint-plugin/node_modules/@typescript-eslint/typescript-estree": { - "version": "8.19.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/typescript-estree/-/typescript-estree-8.19.0.tgz", - "integrity": "sha512-WW9PpDaLIFW9LCbucMSdYUuGeFUz1OkWYS/5fwZwTA+l2RwlWFdJvReQqMUMBw4yJWJOfqd7An9uwut2Oj8sLw==", - "dev": true, - "license": "MIT", - "peer": true, - "dependencies": { - "@typescript-eslint/types": "8.19.0", - "@typescript-eslint/visitor-keys": "8.19.0", - "debug": "^4.3.4", - "fast-glob": "^3.3.2", - "is-glob": "^4.0.3", - "minimatch": "^9.0.4", - "semver": "^7.6.0", - "ts-api-utils": "^1.3.0" - }, - "engines": { - "node": "^18.18.0 || ^20.9.0 || >=21.1.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/typescript-eslint" - }, - "peerDependencies": { - "typescript": ">=4.8.4 <5.8.0" - } - }, - "node_modules/@typescript-eslint/eslint-plugin/node_modules/@typescript-eslint/utils": { - "version": "8.19.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/utils/-/utils-8.19.0.tgz", - "integrity": "sha512-PTBG+0oEMPH9jCZlfg07LCB2nYI0I317yyvXGfxnvGvw4SHIOuRnQ3kadyyXY6tGdChusIHIbM5zfIbp4M6tCg==", - "dev": true, - "license": "MIT", - "peer": true, - "dependencies": { - "@eslint-community/eslint-utils": "^4.4.0", - "@typescript-eslint/scope-manager": "8.19.0", - "@typescript-eslint/types": "8.19.0", - "@typescript-eslint/typescript-estree": "8.19.0" - }, - "engines": { - "node": "^18.18.0 || ^20.9.0 || >=21.1.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/typescript-eslint" - }, - "peerDependencies": { - "eslint": "^8.57.0 || ^9.0.0", - "typescript": ">=4.8.4 <5.8.0" - } - }, - "node_modules/@typescript-eslint/eslint-plugin/node_modules/@typescript-eslint/visitor-keys": { - "version": "8.19.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/visitor-keys/-/visitor-keys-8.19.0.tgz", - "integrity": "sha512-mCFtBbFBJDCNCWUl5y6sZSCHXw1DEFEk3c/M3nRK2a4XUB8StGFtmcEMizdjKuBzB6e/smJAAWYug3VrdLMr1w==", - "dev": true, - "license": "MIT", - "peer": true, - "dependencies": { - "@typescript-eslint/types": "8.19.0", - "eslint-visitor-keys": "^4.2.0" - }, - "engines": { - "node": "^18.18.0 || ^20.9.0 || >=21.1.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/typescript-eslint" - } - }, - "node_modules/@typescript-eslint/eslint-plugin/node_modules/ts-api-utils": { - "version": "1.4.3", - "resolved": "https://registry.npmjs.org/ts-api-utils/-/ts-api-utils-1.4.3.tgz", - "integrity": "sha512-i3eMG77UTMD0hZhgRS562pv83RC6ukSAC2GMNWc+9dieh/+jDM5u5YG+NHX6VNDRHQcHwmsTHctP9LhbC3WxVw==", - "dev": true, - "license": "MIT", - "peer": true, - "engines": { - "node": ">=16" - }, - "peerDependencies": { - "typescript": ">=4.2.0" - } - }, - "node_modules/@typescript-eslint/parser": { - "version": "8.19.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/parser/-/parser-8.19.0.tgz", - "integrity": "sha512-6M8taKyOETY1TKHp0x8ndycipTVgmp4xtg5QpEZzXxDhNvvHOJi5rLRkLr8SK3jTgD5l4fTlvBiRdfsuWydxBw==", - "dev": true, - "license": "MIT", - "peer": true, - "dependencies": { - "@typescript-eslint/scope-manager": "8.19.0", - "@typescript-eslint/types": "8.19.0", - "@typescript-eslint/typescript-estree": "8.19.0", - "@typescript-eslint/visitor-keys": "8.19.0", - "debug": "^4.3.4" - }, - "engines": { - "node": "^18.18.0 || ^20.9.0 || >=21.1.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/typescript-eslint" - }, - "peerDependencies": { - "eslint": "^8.57.0 || ^9.0.0", - "typescript": ">=4.8.4 <5.8.0" - } - }, - "node_modules/@typescript-eslint/parser/node_modules/@typescript-eslint/scope-manager": { - "version": "8.19.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/scope-manager/-/scope-manager-8.19.0.tgz", - "integrity": "sha512-hkoJiKQS3GQ13TSMEiuNmSCvhz7ujyqD1x3ShbaETATHrck+9RaDdUbt+osXaUuns9OFwrDTTrjtwsU8gJyyRA==", - "dev": true, - "license": "MIT", - "peer": true, - "dependencies": { - "@typescript-eslint/types": "8.19.0", - "@typescript-eslint/visitor-keys": "8.19.0" - }, - "engines": { - "node": "^18.18.0 || ^20.9.0 || >=21.1.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/typescript-eslint" - } - }, - "node_modules/@typescript-eslint/parser/node_modules/@typescript-eslint/types": { - "version": "8.19.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/types/-/types-8.19.0.tgz", - "integrity": "sha512-8XQ4Ss7G9WX8oaYvD4OOLCjIQYgRQxO+qCiR2V2s2GxI9AUpo7riNwo6jDhKtTcaJjT8PY54j2Yb33kWtSJsmA==", - "dev": true, - "license": "MIT", - "peer": true, - "engines": { - "node": "^18.18.0 || ^20.9.0 || >=21.1.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/typescript-eslint" - } - }, - "node_modules/@typescript-eslint/parser/node_modules/@typescript-eslint/typescript-estree": { - "version": "8.19.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/typescript-estree/-/typescript-estree-8.19.0.tgz", - "integrity": "sha512-WW9PpDaLIFW9LCbucMSdYUuGeFUz1OkWYS/5fwZwTA+l2RwlWFdJvReQqMUMBw4yJWJOfqd7An9uwut2Oj8sLw==", - "dev": true, - "license": "MIT", - "peer": true, - "dependencies": { - "@typescript-eslint/types": "8.19.0", - "@typescript-eslint/visitor-keys": "8.19.0", - "debug": "^4.3.4", - "fast-glob": "^3.3.2", - "is-glob": "^4.0.3", - "minimatch": "^9.0.4", - "semver": "^7.6.0", - "ts-api-utils": "^1.3.0" - }, - "engines": { - "node": "^18.18.0 || ^20.9.0 || >=21.1.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/typescript-eslint" - }, - "peerDependencies": { - "typescript": ">=4.8.4 <5.8.0" - } - }, - "node_modules/@typescript-eslint/parser/node_modules/@typescript-eslint/visitor-keys": { - "version": "8.19.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/visitor-keys/-/visitor-keys-8.19.0.tgz", - "integrity": "sha512-mCFtBbFBJDCNCWUl5y6sZSCHXw1DEFEk3c/M3nRK2a4XUB8StGFtmcEMizdjKuBzB6e/smJAAWYug3VrdLMr1w==", - "dev": true, - "license": "MIT", - "peer": true, - "dependencies": { - "@typescript-eslint/types": "8.19.0", - "eslint-visitor-keys": "^4.2.0" - }, - "engines": { - "node": "^18.18.0 || ^20.9.0 || >=21.1.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/typescript-eslint" - } - }, - "node_modules/@typescript-eslint/parser/node_modules/ts-api-utils": { - "version": "1.4.3", - "resolved": "https://registry.npmjs.org/ts-api-utils/-/ts-api-utils-1.4.3.tgz", - "integrity": "sha512-i3eMG77UTMD0hZhgRS562pv83RC6ukSAC2GMNWc+9dieh/+jDM5u5YG+NHX6VNDRHQcHwmsTHctP9LhbC3WxVw==", - "dev": true, - "license": "MIT", - "peer": true, - "engines": { - "node": ">=16" - }, - "peerDependencies": { - "typescript": ">=4.2.0" - } - }, - "node_modules/@typescript-eslint/scope-manager": { - "version": "8.24.1", - "resolved": "https://registry.npmjs.org/@typescript-eslint/scope-manager/-/scope-manager-8.24.1.tgz", - "integrity": "sha512-OdQr6BNBzwRjNEXMQyaGyZzgg7wzjYKfX2ZBV3E04hUCBDv3GQCHiz9RpqdUIiVrMgJGkXm3tcEh4vFSHreS2Q==", - "dev": true, - "license": "MIT", - "peer": true, - "dependencies": { - "@typescript-eslint/types": "8.24.1", - "@typescript-eslint/visitor-keys": "8.24.1" - }, - "engines": { - "node": "^18.18.0 || ^20.9.0 || >=21.1.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/typescript-eslint" - } - }, - "node_modules/@typescript-eslint/type-utils": { - "version": "8.19.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/type-utils/-/type-utils-8.19.0.tgz", - "integrity": "sha512-TZs0I0OSbd5Aza4qAMpp1cdCYVnER94IziudE3JU328YUHgWu9gwiwhag+fuLeJ2LkWLXI+F/182TbG+JaBdTg==", - "dev": true, - "license": "MIT", - "peer": true, - "dependencies": { - "@typescript-eslint/typescript-estree": "8.19.0", - "@typescript-eslint/utils": "8.19.0", - "debug": "^4.3.4", - "ts-api-utils": "^1.3.0" - }, - "engines": { - "node": "^18.18.0 || ^20.9.0 || >=21.1.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/typescript-eslint" - }, - "peerDependencies": { - "eslint": "^8.57.0 || ^9.0.0", - "typescript": ">=4.8.4 <5.8.0" - } - }, - "node_modules/@typescript-eslint/type-utils/node_modules/@typescript-eslint/scope-manager": { - "version": "8.19.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/scope-manager/-/scope-manager-8.19.0.tgz", - "integrity": "sha512-hkoJiKQS3GQ13TSMEiuNmSCvhz7ujyqD1x3ShbaETATHrck+9RaDdUbt+osXaUuns9OFwrDTTrjtwsU8gJyyRA==", - "dev": true, - "license": "MIT", - "peer": true, - "dependencies": { - "@typescript-eslint/types": "8.19.0", - "@typescript-eslint/visitor-keys": "8.19.0" - }, - "engines": { - "node": "^18.18.0 || ^20.9.0 || >=21.1.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/typescript-eslint" - } - }, - "node_modules/@typescript-eslint/type-utils/node_modules/@typescript-eslint/types": { - "version": "8.19.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/types/-/types-8.19.0.tgz", - "integrity": "sha512-8XQ4Ss7G9WX8oaYvD4OOLCjIQYgRQxO+qCiR2V2s2GxI9AUpo7riNwo6jDhKtTcaJjT8PY54j2Yb33kWtSJsmA==", - "dev": true, - "license": "MIT", - "peer": true, - "engines": { - "node": "^18.18.0 || ^20.9.0 || >=21.1.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/typescript-eslint" - } - }, - "node_modules/@typescript-eslint/type-utils/node_modules/@typescript-eslint/typescript-estree": { - "version": "8.19.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/typescript-estree/-/typescript-estree-8.19.0.tgz", - "integrity": "sha512-WW9PpDaLIFW9LCbucMSdYUuGeFUz1OkWYS/5fwZwTA+l2RwlWFdJvReQqMUMBw4yJWJOfqd7An9uwut2Oj8sLw==", - "dev": true, - "license": "MIT", - "peer": true, - "dependencies": { - "@typescript-eslint/types": "8.19.0", - "@typescript-eslint/visitor-keys": "8.19.0", - "debug": "^4.3.4", - "fast-glob": "^3.3.2", - "is-glob": "^4.0.3", - "minimatch": "^9.0.4", - "semver": "^7.6.0", - "ts-api-utils": "^1.3.0" - }, - "engines": { - "node": "^18.18.0 || ^20.9.0 || >=21.1.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/typescript-eslint" - }, - "peerDependencies": { - "typescript": ">=4.8.4 <5.8.0" - } - }, - "node_modules/@typescript-eslint/type-utils/node_modules/@typescript-eslint/utils": { - "version": "8.19.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/utils/-/utils-8.19.0.tgz", - "integrity": "sha512-PTBG+0oEMPH9jCZlfg07LCB2nYI0I317yyvXGfxnvGvw4SHIOuRnQ3kadyyXY6tGdChusIHIbM5zfIbp4M6tCg==", - "dev": true, - "license": "MIT", - "peer": true, - "dependencies": { - "@eslint-community/eslint-utils": "^4.4.0", - "@typescript-eslint/scope-manager": "8.19.0", - "@typescript-eslint/types": "8.19.0", - "@typescript-eslint/typescript-estree": "8.19.0" - }, - "engines": { - "node": "^18.18.0 || ^20.9.0 || >=21.1.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/typescript-eslint" - }, - "peerDependencies": { - "eslint": "^8.57.0 || ^9.0.0", - "typescript": ">=4.8.4 <5.8.0" - } - }, - "node_modules/@typescript-eslint/type-utils/node_modules/@typescript-eslint/visitor-keys": { - "version": "8.19.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/visitor-keys/-/visitor-keys-8.19.0.tgz", - "integrity": "sha512-mCFtBbFBJDCNCWUl5y6sZSCHXw1DEFEk3c/M3nRK2a4XUB8StGFtmcEMizdjKuBzB6e/smJAAWYug3VrdLMr1w==", - "dev": true, - "license": "MIT", - "peer": true, - "dependencies": { - "@typescript-eslint/types": "8.19.0", - "eslint-visitor-keys": "^4.2.0" - }, - "engines": { - "node": "^18.18.0 || ^20.9.0 || >=21.1.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/typescript-eslint" - } - }, - "node_modules/@typescript-eslint/type-utils/node_modules/ts-api-utils": { - "version": "1.4.3", - "resolved": "https://registry.npmjs.org/ts-api-utils/-/ts-api-utils-1.4.3.tgz", - "integrity": "sha512-i3eMG77UTMD0hZhgRS562pv83RC6ukSAC2GMNWc+9dieh/+jDM5u5YG+NHX6VNDRHQcHwmsTHctP9LhbC3WxVw==", - "dev": true, - "license": "MIT", - "peer": true, - "engines": { - "node": ">=16" - }, - "peerDependencies": { - "typescript": ">=4.2.0" - } - }, - "node_modules/@typescript-eslint/types": { - "version": "8.24.1", - "resolved": "https://registry.npmjs.org/@typescript-eslint/types/-/types-8.24.1.tgz", - "integrity": "sha512-9kqJ+2DkUXiuhoiYIUvIYjGcwle8pcPpdlfkemGvTObzgmYfJ5d0Qm6jwb4NBXP9W1I5tss0VIAnWFumz3mC5A==", - "dev": true, - "license": "MIT", - "peer": true, - "engines": { - "node": "^18.18.0 || ^20.9.0 || >=21.1.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/typescript-eslint" - } - }, - "node_modules/@typescript-eslint/typescript-estree": { - "version": "8.24.1", - "resolved": "https://registry.npmjs.org/@typescript-eslint/typescript-estree/-/typescript-estree-8.24.1.tgz", - "integrity": "sha512-UPyy4MJ/0RE648DSKQe9g0VDSehPINiejjA6ElqnFaFIhI6ZEiZAkUI0D5MCk0bQcTf/LVqZStvQ6K4lPn/BRg==", - "dev": true, - "license": "MIT", - "peer": true, - "dependencies": { - "@typescript-eslint/types": "8.24.1", - "@typescript-eslint/visitor-keys": "8.24.1", - "debug": "^4.3.4", - "fast-glob": "^3.3.2", - "is-glob": "^4.0.3", - "minimatch": "^9.0.4", - "semver": "^7.6.0", - "ts-api-utils": "^2.0.1" - }, - "engines": { - "node": "^18.18.0 || ^20.9.0 || >=21.1.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/typescript-eslint" - }, - "peerDependencies": { - "typescript": ">=4.8.4 <5.8.0" - } - }, - "node_modules/@typescript-eslint/utils": { - "version": "8.24.1", - "resolved": "https://registry.npmjs.org/@typescript-eslint/utils/-/utils-8.24.1.tgz", - "integrity": "sha512-OOcg3PMMQx9EXspId5iktsI3eMaXVwlhC8BvNnX6B5w9a4dVgpkQZuU8Hy67TolKcl+iFWq0XX+jbDGN4xWxjQ==", - "dev": true, - "license": "MIT", - "peer": true, - "dependencies": { - "@eslint-community/eslint-utils": "^4.4.0", - "@typescript-eslint/scope-manager": "8.24.1", - "@typescript-eslint/types": "8.24.1", - "@typescript-eslint/typescript-estree": "8.24.1" - }, - "engines": { - "node": "^18.18.0 || ^20.9.0 || >=21.1.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/typescript-eslint" - }, - "peerDependencies": { - "eslint": "^8.57.0 || ^9.0.0", - "typescript": ">=4.8.4 <5.8.0" - } - }, - "node_modules/@typescript-eslint/visitor-keys": { - "version": "8.24.1", - "resolved": "https://registry.npmjs.org/@typescript-eslint/visitor-keys/-/visitor-keys-8.24.1.tgz", - "integrity": "sha512-EwVHlp5l+2vp8CoqJm9KikPZgi3gbdZAtabKT9KPShGeOcJhsv4Zdo3oc8T8I0uKEmYoU4ItyxbptjF08enaxg==", - "dev": true, - "license": "MIT", - "peer": true, - "dependencies": { - "@typescript-eslint/types": "8.24.1", - "eslint-visitor-keys": "^4.2.0" - }, - "engines": { - "node": "^18.18.0 || ^20.9.0 || >=21.1.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/typescript-eslint" - } - }, - "node_modules/@vitejs/plugin-react": { - "version": "4.3.4", - "resolved": "https://registry.npmjs.org/@vitejs/plugin-react/-/plugin-react-4.3.4.tgz", - "integrity": "sha512-SCCPBJtYLdE8PX/7ZQAs1QAZ8Jqwih+0VBLum1EGqmCCQal+MIUqLCzj3ZUy8ufbC0cAM4LRlSTm7IQJwWT4ug==", - "dev": true, - "license": "MIT", - "dependencies": { - "@babel/core": "^7.26.0", - "@babel/plugin-transform-react-jsx-self": "^7.25.9", - "@babel/plugin-transform-react-jsx-source": "^7.25.9", - "@types/babel__core": "^7.20.5", - "react-refresh": "^0.14.2" - }, - "engines": { - "node": "^14.18.0 || >=16.0.0" - }, - "peerDependencies": { - "vite": "^4.2.0 || ^5.0.0 || ^6.0.0" - } - }, - "node_modules/acorn": { - "version": "8.14.0", - "resolved": "https://registry.npmjs.org/acorn/-/acorn-8.14.0.tgz", - "integrity": "sha512-cl669nCJTZBsL97OF4kUQm5g5hC2uihk0NxY3WENAC0TYdILVkAyHymAntgxGkl7K+t0cXIrH5siy5S4XkFycA==", - "dev": true, - "license": "MIT", - "peer": true, - "bin": { - "acorn": "bin/acorn" - }, - "engines": { - "node": ">=0.4.0" - } - }, - "node_modules/acorn-jsx": { - "version": "5.3.2", - "resolved": "https://registry.npmjs.org/acorn-jsx/-/acorn-jsx-5.3.2.tgz", - "integrity": "sha512-rq9s+JNhf0IChjtDXxllJ7g41oZk5SlXtp0LHwyA5cejwn7vKmKp4pPri6YEePv2PU65sAsegbXtIinmDFDXgQ==", - "dev": true, - "license": "MIT", - "peer": true, - "peerDependencies": { - "acorn": "^6.0.0 || ^7.0.0 || ^8.0.0" - } - }, - "node_modules/ajv": { - "version": "6.12.6", - "resolved": "https://registry.npmjs.org/ajv/-/ajv-6.12.6.tgz", - "integrity": "sha512-j3fVLgvTo527anyYyJOGTYJbG+vnnQYvE0m5mmkc1TK+nxAppkCLMIL0aZ4dblVCNoGShhm+kzE4ZUykBoMg4g==", - "dev": true, - "license": "MIT", - "peer": true, - "dependencies": { - "fast-deep-equal": "^3.1.1", - "fast-json-stable-stringify": "^2.0.0", - "json-schema-traverse": "^0.4.1", - "uri-js": "^4.2.2" - }, - "funding": { - "type": "github", - "url": "https://github.com/sponsors/epoberezkin" - } - }, - "node_modules/ansi-styles": { - "version": "4.3.0", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", - "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", - "dev": true, - "license": "MIT", - "peer": true, - "dependencies": { - "color-convert": "^2.0.1" - }, - "engines": { - "node": ">=8" - }, - "funding": { - "url": "https://github.com/chalk/ansi-styles?sponsor=1" - } - }, - "node_modules/antd": { - "version": "5.24.5", - "resolved": "https://registry.npmjs.org/antd/-/antd-5.24.5.tgz", - "integrity": "sha512-1lAv/G+9ewQanyoAo3JumQmIlVxwo5QwWGb6QCHYc40Cq0NxC/EzITcjsgq1PSaTUpLkKq8A2l7Fjtu47vqQBg==", - "license": "MIT", - "dependencies": { - "@ant-design/colors": "^7.2.0", - "@ant-design/cssinjs": "^1.23.0", - "@ant-design/cssinjs-utils": "^1.1.3", - "@ant-design/fast-color": "^2.0.6", - "@ant-design/icons": "^5.6.1", - "@ant-design/react-slick": "~1.1.2", - "@babel/runtime": "^7.26.0", - "@rc-component/color-picker": "~2.0.1", - "@rc-component/mutate-observer": "^1.1.0", - "@rc-component/qrcode": "~1.0.0", - "@rc-component/tour": "~1.15.1", - "@rc-component/trigger": "^2.2.6", - "classnames": "^2.5.1", - "copy-to-clipboard": "^3.3.3", - "dayjs": "^1.11.11", - "rc-cascader": "~3.33.1", - "rc-checkbox": "~3.5.0", - "rc-collapse": "~3.9.0", - "rc-dialog": "~9.6.0", - "rc-drawer": "~7.2.0", - "rc-dropdown": "~4.2.1", - "rc-field-form": "~2.7.0", - "rc-image": "~7.11.1", - "rc-input": "~1.7.3", - "rc-input-number": "~9.4.0", - "rc-mentions": "~2.19.1", - "rc-menu": "~9.16.1", - "rc-motion": "^2.9.5", - "rc-notification": "~5.6.3", - "rc-pagination": "~5.1.0", - "rc-picker": "~4.11.3", - "rc-progress": "~4.0.0", - "rc-rate": "~2.13.1", - "rc-resize-observer": "^1.4.3", - "rc-segmented": "~2.7.0", - "rc-select": "~14.16.6", - "rc-slider": "~11.1.8", - "rc-steps": "~6.0.1", - "rc-switch": "~4.1.0", - "rc-table": "~7.50.4", - "rc-tabs": "~15.5.1", - "rc-textarea": "~1.9.0", - "rc-tooltip": "~6.4.0", - "rc-tree": "~5.13.1", - "rc-tree-select": "~5.27.0", - "rc-upload": "~4.8.1", - "rc-util": "^5.44.4", - "scroll-into-view-if-needed": "^3.1.0", - "throttle-debounce": "^5.0.2" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/ant-design" - }, - "peerDependencies": { - "react": ">=16.9.0", - "react-dom": ">=16.9.0" - } - }, - "node_modules/are-docs-informative": { - "version": "0.0.2", - "resolved": "https://registry.npmjs.org/are-docs-informative/-/are-docs-informative-0.0.2.tgz", - "integrity": "sha512-ixiS0nLNNG5jNQzgZJNoUpBKdo9yTYZMGJ+QgT2jmjR7G7+QHRCc4v6LQ3NgE7EBJq+o0ams3waJwkrlBom8Ig==", - "dev": true, - "license": "MIT", - "peer": true, - "engines": { - "node": ">=14" - } - }, - "node_modules/argparse": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/argparse/-/argparse-2.0.1.tgz", - "integrity": "sha512-8+9WqebbFzpX9OR+Wa6O29asIogeRMzcGtAINdpMHHyAg10f05aSFVBbcEqGf/PXw1EjAZ+q2/bEBg3DvurK3Q==", - "dev": true, - "license": "Python-2.0", - "peer": true - }, - "node_modules/array-buffer-byte-length": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/array-buffer-byte-length/-/array-buffer-byte-length-1.0.2.tgz", - "integrity": "sha512-LHE+8BuR7RYGDKvnrmcuSq3tDcKv9OFEXQt/HpbZhY7V6h0zlUXutnAD82GiFx9rdieCMjkvtcsPqBwgUl1Iiw==", - "dev": true, - "license": "MIT", - "peer": true, - "dependencies": { - "call-bound": "^1.0.3", - "is-array-buffer": "^3.0.5" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/array-includes": { - "version": "3.1.8", - "resolved": "https://registry.npmjs.org/array-includes/-/array-includes-3.1.8.tgz", - "integrity": "sha512-itaWrbYbqpGXkGhZPGUulwnhVf5Hpy1xiCFsGqyIGglbBxmG5vSjxQen3/WGOjPpNEv1RtBLKxbmVXm8HpJStQ==", - "dev": true, - "license": "MIT", - "peer": true, - "dependencies": { - "call-bind": "^1.0.7", - "define-properties": "^1.2.1", - "es-abstract": "^1.23.2", - "es-object-atoms": "^1.0.0", - "get-intrinsic": "^1.2.4", - "is-string": "^1.0.7" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/array.prototype.findlast": { - "version": "1.2.5", - "resolved": "https://registry.npmjs.org/array.prototype.findlast/-/array.prototype.findlast-1.2.5.tgz", - "integrity": "sha512-CVvd6FHg1Z3POpBLxO6E6zr+rSKEQ9L6rZHAaY7lLfhKsWYUBBOuMs0e9o24oopj6H+geRCX0YJ+TJLBK2eHyQ==", - "dev": true, - "license": "MIT", - "peer": true, - "dependencies": { - "call-bind": "^1.0.7", - "define-properties": "^1.2.1", - "es-abstract": "^1.23.2", - "es-errors": "^1.3.0", - "es-object-atoms": "^1.0.0", - "es-shim-unscopables": "^1.0.2" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/array.prototype.findlastindex": { - "version": "1.2.5", - "resolved": "https://registry.npmjs.org/array.prototype.findlastindex/-/array.prototype.findlastindex-1.2.5.tgz", - "integrity": "sha512-zfETvRFA8o7EiNn++N5f/kaCw221hrpGsDmcpndVupkPzEc1Wuf3VgC0qby1BbHs7f5DVYjgtEU2LLh5bqeGfQ==", - "dev": true, - "license": "MIT", - "peer": true, - "dependencies": { - "call-bind": "^1.0.7", - "define-properties": "^1.2.1", - "es-abstract": "^1.23.2", - "es-errors": "^1.3.0", - "es-object-atoms": "^1.0.0", - "es-shim-unscopables": "^1.0.2" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/array.prototype.flat": { - "version": "1.3.3", - "resolved": "https://registry.npmjs.org/array.prototype.flat/-/array.prototype.flat-1.3.3.tgz", - "integrity": "sha512-rwG/ja1neyLqCuGZ5YYrznA62D4mZXg0i1cIskIUKSiqF3Cje9/wXAls9B9s1Wa2fomMsIv8czB8jZcPmxCXFg==", - "dev": true, - "license": "MIT", - "peer": true, - "dependencies": { - "call-bind": "^1.0.8", - "define-properties": "^1.2.1", - "es-abstract": "^1.23.5", - "es-shim-unscopables": "^1.0.2" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/array.prototype.flatmap": { - "version": "1.3.3", - "resolved": "https://registry.npmjs.org/array.prototype.flatmap/-/array.prototype.flatmap-1.3.3.tgz", - "integrity": "sha512-Y7Wt51eKJSyi80hFrJCePGGNo5ktJCslFuboqJsbf57CCPcm5zztluPlc4/aD8sWsKvlwatezpV4U1efk8kpjg==", - "dev": true, - "license": "MIT", - "peer": true, - "dependencies": { - "call-bind": "^1.0.8", - "define-properties": "^1.2.1", - "es-abstract": "^1.23.5", - "es-shim-unscopables": "^1.0.2" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/array.prototype.tosorted": { - "version": "1.1.4", - "resolved": "https://registry.npmjs.org/array.prototype.tosorted/-/array.prototype.tosorted-1.1.4.tgz", - "integrity": "sha512-p6Fx8B7b7ZhL/gmUsAy0D15WhvDccw3mnGNbZpi3pmeJdxtWsj2jEaI4Y6oo3XiHfzuSgPwKc04MYt6KgvC/wA==", - "dev": true, - "license": "MIT", - "peer": true, - "dependencies": { - "call-bind": "^1.0.7", - "define-properties": "^1.2.1", - "es-abstract": "^1.23.3", - "es-errors": "^1.3.0", - "es-shim-unscopables": "^1.0.2" - }, - "engines": { - "node": ">= 0.4" - } - }, - "node_modules/arraybuffer.prototype.slice": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/arraybuffer.prototype.slice/-/arraybuffer.prototype.slice-1.0.4.tgz", - "integrity": "sha512-BNoCY6SXXPQ7gF2opIP4GBE+Xw7U+pHMYKuzjgCN3GwiaIR09UUeKfheyIry77QtrCBlC0KK0q5/TER/tYh3PQ==", - "dev": true, - "license": "MIT", - "peer": true, - "dependencies": { - "array-buffer-byte-length": "^1.0.1", - "call-bind": "^1.0.8", - "define-properties": "^1.2.1", - "es-abstract": "^1.23.5", - "es-errors": "^1.3.0", - "get-intrinsic": "^1.2.6", - "is-array-buffer": "^3.0.4" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/async-function": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/async-function/-/async-function-1.0.0.tgz", - "integrity": "sha512-hsU18Ae8CDTR6Kgu9DYf0EbCr/a5iGL0rytQDobUcdpYOKokk8LEjVphnXkDkgpi0wYVsqrXuP0bZxJaTqdgoA==", - "dev": true, - "license": "MIT", - "peer": true, - "engines": { - "node": ">= 0.4" - } - }, - "node_modules/asynckit": { - "version": "0.4.0", - "resolved": "https://registry.npmjs.org/asynckit/-/asynckit-0.4.0.tgz", - "integrity": "sha512-Oei9OH4tRh0YqU3GxhX79dM/mwVgvbZJaSNaRk+bshkj0S5cfHcgYakreBjrHwatXKbz+IoIdYLxrKim2MjW0Q==", - "license": "MIT" - }, - "node_modules/available-typed-arrays": { - "version": "1.0.7", - "resolved": "https://registry.npmjs.org/available-typed-arrays/-/available-typed-arrays-1.0.7.tgz", - "integrity": "sha512-wvUjBtSGN7+7SjNpq/9M2Tg350UZD3q62IFZLbRAR1bSMlCo1ZaeW+BJ+D090e4hIIZLBcTDWe4Mh4jvUDajzQ==", - "dev": true, - "license": "MIT", - "peer": true, - "dependencies": { - "possible-typed-array-names": "^1.0.0" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/axios": { - "version": "1.7.9", - "resolved": "https://registry.npmjs.org/axios/-/axios-1.7.9.tgz", - "integrity": "sha512-LhLcE7Hbiryz8oMDdDptSrWowmB4Bl6RCt6sIJKpRB4XtVf0iEgewX3au/pJqm+Py1kCASkb/FFKjxQaLtxJvw==", - "license": "MIT", - "dependencies": { - "follow-redirects": "^1.15.6", - "form-data": "^4.0.0", - "proxy-from-env": "^1.1.0" - } - }, - "node_modules/babel-plugin-macros": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/babel-plugin-macros/-/babel-plugin-macros-3.1.0.tgz", - "integrity": "sha512-Cg7TFGpIr01vOQNODXOOaGz2NpCU5gl8x1qJFbb6hbZxR7XrcE2vtbAsTAbJ7/xwJtUuJEw8K8Zr/AE0LHlesg==", - "license": "MIT", - "dependencies": { - "@babel/runtime": "^7.12.5", - "cosmiconfig": "^7.0.0", - "resolve": "^1.19.0" - }, - "engines": { - "node": ">=10", - "npm": ">=6" - } - }, - "node_modules/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, - "license": "MIT", - "peer": true - }, - "node_modules/brace-expansion": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-2.0.1.tgz", - "integrity": "sha512-XnAIvQ8eM+kC6aULx6wuQiwVsnzsi9d3WxzV3FpWTGA19F621kwdbsAcFKXgKUHZWsy+mY6iL1sHTxWEFCytDA==", - "dev": true, - "license": "MIT", - "peer": true, - "dependencies": { - "balanced-match": "^1.0.0" - } - }, - "node_modules/braces": { - "version": "3.0.3", - "resolved": "https://registry.npmjs.org/braces/-/braces-3.0.3.tgz", - "integrity": "sha512-yQbXgO/OSZVD2IsiLlro+7Hf6Q18EJrKSEsdoMzKePKXct3gvD8oLcOQdIzGupr5Fj+EDe8gO/lxc1BzfMpxvA==", - "dev": true, - "license": "MIT", - "peer": true, - "dependencies": { - "fill-range": "^7.1.1" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/browserslist": { - "version": "4.24.4", - "resolved": "https://registry.npmjs.org/browserslist/-/browserslist-4.24.4.tgz", - "integrity": "sha512-KDi1Ny1gSePi1vm0q4oxSF8b4DR44GF4BbmS2YdhPLOEqd8pDviZOGH/GsmRwoWJ2+5Lr085X7naowMwKHDG1A==", - "dev": true, - "funding": [ - { - "type": "opencollective", - "url": "https://opencollective.com/browserslist" - }, - { - "type": "tidelift", - "url": "https://tidelift.com/funding/github/npm/browserslist" - }, - { - "type": "github", - "url": "https://github.com/sponsors/ai" - } - ], - "license": "MIT", - "dependencies": { - "caniuse-lite": "^1.0.30001688", - "electron-to-chromium": "^1.5.73", - "node-releases": "^2.0.19", - "update-browserslist-db": "^1.1.1" - }, - "bin": { - "browserslist": "cli.js" - }, - "engines": { - "node": "^6 || ^7 || ^8 || ^9 || ^10 || ^11 || ^12 || >=13.7" - } - }, - "node_modules/call-bind": { - "version": "1.0.8", - "resolved": "https://registry.npmjs.org/call-bind/-/call-bind-1.0.8.tgz", - "integrity": "sha512-oKlSFMcMwpUg2ednkhQ454wfWiU/ul3CkJe/PEHcTKuiX6RpbehUiFMXu13HalGZxfUwCQzZG747YXBn1im9ww==", - "dev": true, - "license": "MIT", - "peer": true, - "dependencies": { - "call-bind-apply-helpers": "^1.0.0", - "es-define-property": "^1.0.0", - "get-intrinsic": "^1.2.4", - "set-function-length": "^1.2.2" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/call-bind-apply-helpers": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/call-bind-apply-helpers/-/call-bind-apply-helpers-1.0.2.tgz", - "integrity": "sha512-Sp1ablJ0ivDkSzjcaJdxEunN5/XvksFJ2sMBFfq6x0ryhQV/2b/KwFe21cMpmHtPOSij8K99/wSfoEuTObmuMQ==", - "license": "MIT", - "dependencies": { - "es-errors": "^1.3.0", - "function-bind": "^1.1.2" - }, - "engines": { - "node": ">= 0.4" - } - }, - "node_modules/call-bound": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/call-bound/-/call-bound-1.0.3.tgz", - "integrity": "sha512-YTd+6wGlNlPxSuri7Y6X8tY2dmm12UMH66RpKMhiX6rsk5wXXnYgbUcOt8kiS31/AjfoTOvCsE+w8nZQLQnzHA==", - "dev": true, - "license": "MIT", - "peer": true, - "dependencies": { - "call-bind-apply-helpers": "^1.0.1", - "get-intrinsic": "^1.2.6" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/callsites": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/callsites/-/callsites-3.1.0.tgz", - "integrity": "sha512-P8BjAsXvZS+VIDUI11hHCQEv74YT67YUi5JJFNWIqL235sBmjX4+qx9Muvls5ivyNENctx46xQLQ3aTuE7ssaQ==", - "license": "MIT", - "engines": { - "node": ">=6" - } - }, - "node_modules/caniuse-lite": { - "version": "1.0.30001700", - "resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001700.tgz", - "integrity": "sha512-2S6XIXwaE7K7erT8dY+kLQcpa5ms63XlRkMkReXjle+kf6c5g38vyMl+Z5y8dSxOFDhcFe+nxnn261PLxBSQsQ==", - "dev": true, - "funding": [ - { - "type": "opencollective", - "url": "https://opencollective.com/browserslist" - }, - { - "type": "tidelift", - "url": "https://tidelift.com/funding/github/npm/caniuse-lite" - }, - { - "type": "github", - "url": "https://github.com/sponsors/ai" - } - ], - "license": "CC-BY-4.0" - }, - "node_modules/chalk": { - "version": "4.1.2", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", - "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", - "dev": true, - "license": "MIT", - "peer": true, - "dependencies": { - "ansi-styles": "^4.1.0", - "supports-color": "^7.1.0" - }, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/chalk/chalk?sponsor=1" - } - }, - "node_modules/character-entities": { - "version": "1.2.4", - "resolved": "https://registry.npmjs.org/character-entities/-/character-entities-1.2.4.tgz", - "integrity": "sha512-iBMyeEHxfVnIakwOuDXpVkc54HijNgCyQB2w0VfGQThle6NXn50zU6V/u+LDhxHcDUPojn6Kpga3PTAD8W1bQw==", - "license": "MIT", - "funding": { - "type": "github", - "url": "https://github.com/sponsors/wooorm" - } - }, - "node_modules/character-entities-legacy": { - "version": "1.1.4", - "resolved": "https://registry.npmjs.org/character-entities-legacy/-/character-entities-legacy-1.1.4.tgz", - "integrity": "sha512-3Xnr+7ZFS1uxeiUDvV02wQ+QDbc55o97tIV5zHScSPJpcLm/r0DFPcoY3tYRp+VZukxuMeKgXYmsXQHO05zQeA==", - "license": "MIT", - "funding": { - "type": "github", - "url": "https://github.com/sponsors/wooorm" - } - }, - "node_modules/character-reference-invalid": { - "version": "1.1.4", - "resolved": "https://registry.npmjs.org/character-reference-invalid/-/character-reference-invalid-1.1.4.tgz", - "integrity": "sha512-mKKUkUbhPpQlCOfIuZkvSEgktjPFIsZKRRbC6KWVEMvlzblj3i3asQv5ODsrwt0N3pHAEvjP8KTQPHkp0+6jOg==", - "license": "MIT", - "funding": { - "type": "github", - "url": "https://github.com/sponsors/wooorm" - } - }, - "node_modules/chart.js": { - "version": "4.4.9", - "resolved": "https://registry.npmjs.org/chart.js/-/chart.js-4.4.9.tgz", - "integrity": "sha512-EyZ9wWKgpAU0fLJ43YAEIF8sr5F2W3LqbS40ZJyHIner2lY14ufqv2VMp69MAiZ2rpwxEUxEhIH/0U3xyRynxg==", - "license": "MIT", - "dependencies": { - "@kurkle/color": "^0.3.0" - }, - "engines": { - "pnpm": ">=8" - } - }, - "node_modules/chartjs-adapter-dayjs-4": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/chartjs-adapter-dayjs-4/-/chartjs-adapter-dayjs-4-1.0.4.tgz", - "integrity": "sha512-yy9BAYW4aNzPVrCWZetbILegTRb7HokhgospPoC3b5iZ5qdlqNmXts2KdSp6AqnjkPAp/YWyHDxLvIvwt5x81w==", - "license": "MIT", - "engines": { - "node": ">=10" - }, - "peerDependencies": { - "chart.js": ">=4.0.1", - "dayjs": "^1.9.7" - } - }, - "node_modules/chartjs-plugin-zoom": { - "version": "2.2.0", - "resolved": "https://registry.npmjs.org/chartjs-plugin-zoom/-/chartjs-plugin-zoom-2.2.0.tgz", - "integrity": "sha512-in6kcdiTlP6npIVLMd4zXZ08PDUXC52gZ4FAy5oyjk1zX3gKarXMAof7B9eFiisf9WOC3bh2saHg+J5WtLXZeA==", - "license": "MIT", - "dependencies": { - "@types/hammerjs": "^2.0.45", - "hammerjs": "^2.0.8" - }, - "peerDependencies": { - "chart.js": ">=3.2.0" - } - }, - "node_modules/classnames": { - "version": "2.5.1", - "resolved": "https://registry.npmjs.org/classnames/-/classnames-2.5.1.tgz", - "integrity": "sha512-saHYOzhIQs6wy2sVxTM6bUDsQO4F50V9RQ22qBpEdCW+I+/Wmke2HOl6lS6dTpdxVhb88/I6+Hs+438c3lfUow==", - "license": "MIT" - }, - "node_modules/clsx": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/clsx/-/clsx-2.1.1.tgz", - "integrity": "sha512-eYm0QWBtUrBWZWG0d386OGAw16Z995PiOVo2B7bjWSbHedGl5e0ZWaq65kOGgUSNesEIDkB9ISbTg/JK9dhCZA==", - "license": "MIT", - "engines": { - "node": ">=6" - } - }, - "node_modules/color": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/color/-/color-5.0.0.tgz", - "integrity": "sha512-16BlyiuyLq3MLxpRWyOTiWsO3ii/eLQLJUQXBSNcxMBBSnyt1ee9YUdaozQp03ifwm5woztEZGDbk9RGVuCsdw==", - "license": "MIT", - "dependencies": { - "color-convert": "^3.0.1", - "color-string": "^2.0.0" - }, - "engines": { - "node": ">=18" - } - }, - "node_modules/color-convert": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", - "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", - "dev": true, - "license": "MIT", - "peer": true, - "dependencies": { - "color-name": "~1.1.4" - }, - "engines": { - "node": ">=7.0.0" - } - }, - "node_modules/color-name": { - "version": "1.1.4", - "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", - "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", - "dev": true, - "license": "MIT", - "peer": true - }, - "node_modules/color-string": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/color-string/-/color-string-2.0.1.tgz", - "integrity": "sha512-5z9FbYTZPAo8iKsNEqRNv+OlpBbDcoE+SY9GjLfDUHEfcNNV7tS9eSAlFHEaub/r5tBL9LtskAeq1l9SaoZ5tQ==", - "license": "MIT", - "dependencies": { - "color-name": "^2.0.0" - }, - "engines": { - "node": ">=18" - } - }, - "node_modules/color-string/node_modules/color-name": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/color-name/-/color-name-2.0.0.tgz", - "integrity": "sha512-SbtvAMWvASO5TE2QP07jHBMXKafgdZz8Vrsrn96fiL+O92/FN/PLARzUW5sKt013fjAprK2d2iCn2hk2Xb5oow==", - "license": "MIT", - "engines": { - "node": ">=12.20" - } - }, - "node_modules/color/node_modules/color-convert": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-3.1.0.tgz", - "integrity": "sha512-TVoqAq8ZDIpK5lsQY874DDnu65CSsc9vzq0wLpNQ6UMBq81GSZocVazPiBbYGzngzBOIRahpkTzCLVe2at4MfA==", - "license": "MIT", - "dependencies": { - "color-name": "^2.0.0" - }, - "engines": { - "node": ">=14.6" - } - }, - "node_modules/color/node_modules/color-name": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/color-name/-/color-name-2.0.0.tgz", - "integrity": "sha512-SbtvAMWvASO5TE2QP07jHBMXKafgdZz8Vrsrn96fiL+O92/FN/PLARzUW5sKt013fjAprK2d2iCn2hk2Xb5oow==", - "license": "MIT", - "engines": { - "node": ">=12.20" - } - }, - "node_modules/combined-stream": { - "version": "1.0.8", - "resolved": "https://registry.npmjs.org/combined-stream/-/combined-stream-1.0.8.tgz", - "integrity": "sha512-FQN4MRfuJeHf7cBbBMJFXhKSDq+2kAArBlmRBvcvFE5BB1HZKXtSFASDhdlz9zOYwxh8lDdnvmMOe/+5cdoEdg==", - "license": "MIT", - "dependencies": { - "delayed-stream": "~1.0.0" - }, - "engines": { - "node": ">= 0.8" - } - }, - "node_modules/comma-separated-tokens": { - "version": "1.0.8", - "resolved": "https://registry.npmjs.org/comma-separated-tokens/-/comma-separated-tokens-1.0.8.tgz", - "integrity": "sha512-GHuDRO12Sypu2cV70d1dkA2EUmXHgntrzbpvOB+Qy+49ypNfGgFQIC2fhhXbnyrJRynDCAARsT7Ou0M6hirpfw==", - "license": "MIT", - "funding": { - "type": "github", - "url": "https://github.com/sponsors/wooorm" - } - }, - "node_modules/comment-parser": { - "version": "1.4.1", - "resolved": "https://registry.npmjs.org/comment-parser/-/comment-parser-1.4.1.tgz", - "integrity": "sha512-buhp5kePrmda3vhc5B9t7pUQXAb2Tnd0qgpkIhPhkHXxJpiPJ11H0ZEU0oBpJ2QztSbzG/ZxMj/CHsYJqRHmyg==", - "dev": true, - "license": "MIT", - "peer": true, - "engines": { - "node": ">= 12.0.0" - } - }, - "node_modules/compute-scroll-into-view": { - "version": "3.1.1", - "resolved": "https://registry.npmjs.org/compute-scroll-into-view/-/compute-scroll-into-view-3.1.1.tgz", - "integrity": "sha512-VRhuHOLoKYOy4UbilLbUzbYg93XLjv2PncJC50EuTWPA3gaja1UjBsUP/D/9/juV3vQFr6XBEzn9KCAHdUvOHw==", - "license": "MIT" - }, - "node_modules/concat-map": { - "version": "0.0.1", - "resolved": "https://registry.npmjs.org/concat-map/-/concat-map-0.0.1.tgz", - "integrity": "sha512-/Srv4dswyQNBfohGpz9o6Yb3Gz3SrUDqBH5rTuhGR7ahtlbYKnVxw2bCFMRljaA7EXHaXZ8wsHdodFvbkhKmqg==", - "dev": true, - "license": "MIT", - "peer": true - }, - "node_modules/convert-source-map": { - "version": "1.9.0", - "resolved": "https://registry.npmjs.org/convert-source-map/-/convert-source-map-1.9.0.tgz", - "integrity": "sha512-ASFBup0Mz1uyiIjANan1jzLQami9z1PoYSZCiiYW2FczPbenXc45FZdBZLzOT+r6+iciuEModtmCti+hjaAk0A==", - "license": "MIT" - }, - "node_modules/cookie": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/cookie/-/cookie-1.0.2.tgz", - "integrity": "sha512-9Kr/j4O16ISv8zBBhJoi4bXOYNTkFLOqSL3UDB0njXxCXNezjeyVrJyGOWtgfs/q2km1gwBcfH8q1yEGoMYunA==", - "license": "MIT", - "engines": { - "node": ">=18" - } - }, - "node_modules/copy-to-clipboard": { - "version": "3.3.3", - "resolved": "https://registry.npmjs.org/copy-to-clipboard/-/copy-to-clipboard-3.3.3.tgz", - "integrity": "sha512-2KV8NhB5JqC3ky0r9PMCAZKbUHSwtEo4CwCs0KXgruG43gX5PMqDEBbVU4OUzw2MuAWUfsuFmWvEKG5QRfSnJA==", - "license": "MIT", - "dependencies": { - "toggle-selection": "^1.0.6" - } - }, - "node_modules/cosmiconfig": { - "version": "7.1.0", - "resolved": "https://registry.npmjs.org/cosmiconfig/-/cosmiconfig-7.1.0.tgz", - "integrity": "sha512-AdmX6xUzdNASswsFtmwSt7Vj8po9IuqXm0UXz7QKPuEUmPB4XyjGfaAr2PSuELMwkRMVH1EpIkX5bTZGRB3eCA==", - "license": "MIT", - "dependencies": { - "@types/parse-json": "^4.0.0", - "import-fresh": "^3.2.1", - "parse-json": "^5.0.0", - "path-type": "^4.0.0", - "yaml": "^1.10.0" - }, - "engines": { - "node": ">=10" - } - }, - "node_modules/cosmiconfig/node_modules/yaml": { - "version": "1.10.2", - "resolved": "https://registry.npmjs.org/yaml/-/yaml-1.10.2.tgz", - "integrity": "sha512-r3vXyErRCYJ7wg28yvBY5VSoAF8ZvlcW9/BwUzEtUsjvX/DKs24dIkuwjtuprwJJHsbyUbLApepYTR1BN4uHrg==", - "license": "ISC", - "engines": { - "node": ">= 6" - } - }, - "node_modules/cross-spawn": { - "version": "7.0.6", - "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-7.0.6.tgz", - "integrity": "sha512-uV2QOWP2nWzsy2aMp8aRibhi9dlzF5Hgh5SHaB9OiTGEyDTiJJyx0uy51QXdyWbtAHNua4XJzUKca3OzKUd3vA==", - "dev": true, - "license": "MIT", - "peer": true, - "dependencies": { - "path-key": "^3.1.0", - "shebang-command": "^2.0.0", - "which": "^2.0.1" - }, - "engines": { - "node": ">= 8" - } - }, - "node_modules/csstype": { - "version": "3.1.3", - "resolved": "https://registry.npmjs.org/csstype/-/csstype-3.1.3.tgz", - "integrity": "sha512-M1uQkMl8rQK/szD0LNhtqxIPLpimGm8sOBwU7lLnCpSbTyY3yeU1Vc7l4KT5zT4s/yOxHH5O7tIuuLOCnLADRw==", - "license": "MIT" - }, - "node_modules/data-view-buffer": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/data-view-buffer/-/data-view-buffer-1.0.2.tgz", - "integrity": "sha512-EmKO5V3OLXh1rtK2wgXRansaK1/mtVdTUEiEI0W8RkvgT05kfxaH29PliLnpLP73yYO6142Q72QNa8Wx/A5CqQ==", - "dev": true, - "license": "MIT", - "peer": true, - "dependencies": { - "call-bound": "^1.0.3", - "es-errors": "^1.3.0", - "is-data-view": "^1.0.2" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/data-view-byte-length": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/data-view-byte-length/-/data-view-byte-length-1.0.2.tgz", - "integrity": "sha512-tuhGbE6CfTM9+5ANGf+oQb72Ky/0+s3xKUpHvShfiz2RxMFgFPjsXuRLBVMtvMs15awe45SRb83D6wH4ew6wlQ==", - "dev": true, - "license": "MIT", - "peer": true, - "dependencies": { - "call-bound": "^1.0.3", - "es-errors": "^1.3.0", - "is-data-view": "^1.0.2" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/inspect-js" - } - }, - "node_modules/data-view-byte-offset": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/data-view-byte-offset/-/data-view-byte-offset-1.0.1.tgz", - "integrity": "sha512-BS8PfmtDGnrgYdOonGZQdLZslWIeCGFP9tpan0hi1Co2Zr2NKADsvGYA8XxuG/4UWgJ6Cjtv+YJnB6MM69QGlQ==", - "dev": true, - "license": "MIT", - "peer": true, - "dependencies": { - "call-bound": "^1.0.2", - "es-errors": "^1.3.0", - "is-data-view": "^1.0.1" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/dayjs": { - "version": "1.11.13", - "resolved": "https://registry.npmjs.org/dayjs/-/dayjs-1.11.13.tgz", - "integrity": "sha512-oaMBel6gjolK862uaPQOVTA7q3TZhuSvuMQAAglQDOWYO9A91IrAOUJEyKVlqJlHE0vq5p5UXxzdPfMH/x6xNg==", - "license": "MIT" - }, - "node_modules/debug": { - "version": "4.4.0", - "resolved": "https://registry.npmjs.org/debug/-/debug-4.4.0.tgz", - "integrity": "sha512-6WTZ/IxCY/T6BALoZHaE4ctp9xm+Z5kY/pzYaCHRFeyVhojxlrm+46y68HA6hr0TcwEssoxNiDEUJQjfPZ/RYA==", - "license": "MIT", - "dependencies": { - "ms": "^2.1.3" - }, - "engines": { - "node": ">=6.0" - }, - "peerDependenciesMeta": { - "supports-color": { - "optional": true - } - } - }, - "node_modules/deep-is": { - "version": "0.1.4", - "resolved": "https://registry.npmjs.org/deep-is/-/deep-is-0.1.4.tgz", - "integrity": "sha512-oIPzksmTg4/MriiaYGO+okXDT7ztn/w3Eptv/+gSIdMdKsJo0u4CfYNFJPy+4SKMuCqGw2wxnA+URMg3t8a/bQ==", - "dev": true, - "license": "MIT", - "peer": true - }, - "node_modules/define-data-property": { - "version": "1.1.4", - "resolved": "https://registry.npmjs.org/define-data-property/-/define-data-property-1.1.4.tgz", - "integrity": "sha512-rBMvIzlpA8v6E+SJZoo++HAYqsLrkg7MSfIinMPFhmkorw7X+dOXVJQs+QT69zGkzMyfDnIMN2Wid1+NbL3T+A==", - "dev": true, - "license": "MIT", - "peer": true, - "dependencies": { - "es-define-property": "^1.0.0", - "es-errors": "^1.3.0", - "gopd": "^1.0.1" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/define-properties": { - "version": "1.2.1", - "resolved": "https://registry.npmjs.org/define-properties/-/define-properties-1.2.1.tgz", - "integrity": "sha512-8QmQKqEASLd5nx0U1B1okLElbUuuttJ/AnYmRXbbbGDWh6uS208EjD4Xqq/I9wK7u0v6O08XhTWnt5XtEbR6Dg==", - "dev": true, - "license": "MIT", - "peer": true, - "dependencies": { - "define-data-property": "^1.0.1", - "has-property-descriptors": "^1.0.0", - "object-keys": "^1.1.1" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/delayed-stream": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/delayed-stream/-/delayed-stream-1.0.0.tgz", - "integrity": "sha512-ZySD7Nf91aLB0RxL4KGrKHBXl7Eds1DAmEdcoVawXnLD7SDhpNgtuII2aAkg7a7QS41jxPSZ17p4VdGnMHk3MQ==", - "license": "MIT", - "engines": { - "node": ">=0.4.0" - } - }, - "node_modules/doctrine": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/doctrine/-/doctrine-2.1.0.tgz", - "integrity": "sha512-35mSku4ZXK0vfCuHEDAwt55dg2jNajHZ1odvF+8SSr82EsZY4QmXfuWso8oEd8zRhVObSN18aM0CjSdoBX7zIw==", - "dev": true, - "license": "Apache-2.0", - "peer": true, - "dependencies": { - "esutils": "^2.0.2" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/dunder-proto": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/dunder-proto/-/dunder-proto-1.0.1.tgz", - "integrity": "sha512-KIN/nDJBQRcXw0MLVhZE9iQHmG68qAVIBg9CqmUYjmQIhgij9U5MFvrqkUL5FbtyyzZuOeOt0zdeRe4UY7ct+A==", - "license": "MIT", - "dependencies": { - "call-bind-apply-helpers": "^1.0.1", - "es-errors": "^1.3.0", - "gopd": "^1.2.0" - }, - "engines": { - "node": ">= 0.4" - } - }, - "node_modules/electron-to-chromium": { - "version": "1.5.102", - "resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.5.102.tgz", - "integrity": "sha512-eHhqaja8tE/FNpIiBrvBjFV/SSKpyWHLvxuR9dPTdo+3V9ppdLmFB7ZZQ98qNovcngPLYIz0oOBF9P0FfZef5Q==", - "dev": true, - "license": "ISC" - }, - "node_modules/engine.io-client": { - "version": "6.6.3", - "resolved": "https://registry.npmjs.org/engine.io-client/-/engine.io-client-6.6.3.tgz", - "integrity": "sha512-T0iLjnyNWahNyv/lcjS2y4oE358tVS/SYQNxYXGAJ9/GLgH4VCvOQ/mhTjqU88mLZCQgiG8RIegFHYCdVC+j5w==", - "license": "MIT", - "dependencies": { - "@socket.io/component-emitter": "~3.1.0", - "debug": "~4.3.1", - "engine.io-parser": "~5.2.1", - "ws": "~8.17.1", - "xmlhttprequest-ssl": "~2.1.1" - } - }, - "node_modules/engine.io-client/node_modules/debug": { - "version": "4.3.7", - "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.7.tgz", - "integrity": "sha512-Er2nc/H7RrMXZBFCEim6TCmMk02Z8vLC2Rbi1KEBggpo0fS6l0S1nnapwmIi3yW/+GOJap1Krg4w0Hg80oCqgQ==", - "license": "MIT", - "dependencies": { - "ms": "^2.1.3" - }, - "engines": { - "node": ">=6.0" - }, - "peerDependenciesMeta": { - "supports-color": { - "optional": true - } - } - }, - "node_modules/engine.io-parser": { - "version": "5.2.3", - "resolved": "https://registry.npmjs.org/engine.io-parser/-/engine.io-parser-5.2.3.tgz", - "integrity": "sha512-HqD3yTBfnBxIrbnM1DoD6Pcq8NECnh8d4As1Qgh0z5Gg3jRRIqijury0CL3ghu/edArpUYiYqQiDUQBIs4np3Q==", - "license": "MIT", - "engines": { - "node": ">=10.0.0" - } - }, - "node_modules/enhanced-resolve": { - "version": "5.18.1", - "resolved": "https://registry.npmjs.org/enhanced-resolve/-/enhanced-resolve-5.18.1.tgz", - "integrity": "sha512-ZSW3ma5GkcQBIpwZTSRAI8N71Uuwgs93IezB7mf7R60tC8ZbJideoDNKjHn2O9KIlx6rkGTTEk1xUCK2E1Y2Yg==", - "dev": true, - "license": "MIT", - "peer": true, - "dependencies": { - "graceful-fs": "^4.2.4", - "tapable": "^2.2.0" - }, - "engines": { - "node": ">=10.13.0" - } - }, - "node_modules/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==", - "license": "MIT", - "dependencies": { - "is-arrayish": "^0.2.1" - } - }, - "node_modules/es-abstract": { - "version": "1.23.9", - "resolved": "https://registry.npmjs.org/es-abstract/-/es-abstract-1.23.9.tgz", - "integrity": "sha512-py07lI0wjxAC/DcfK1S6G7iANonniZwTISvdPzk9hzeH0IZIshbuuFxLIU96OyF89Yb9hiqWn8M/bY83KY5vzA==", - "dev": true, - "license": "MIT", - "peer": true, - "dependencies": { - "array-buffer-byte-length": "^1.0.2", - "arraybuffer.prototype.slice": "^1.0.4", - "available-typed-arrays": "^1.0.7", - "call-bind": "^1.0.8", - "call-bound": "^1.0.3", - "data-view-buffer": "^1.0.2", - "data-view-byte-length": "^1.0.2", - "data-view-byte-offset": "^1.0.1", - "es-define-property": "^1.0.1", - "es-errors": "^1.3.0", - "es-object-atoms": "^1.0.0", - "es-set-tostringtag": "^2.1.0", - "es-to-primitive": "^1.3.0", - "function.prototype.name": "^1.1.8", - "get-intrinsic": "^1.2.7", - "get-proto": "^1.0.0", - "get-symbol-description": "^1.1.0", - "globalthis": "^1.0.4", - "gopd": "^1.2.0", - "has-property-descriptors": "^1.0.2", - "has-proto": "^1.2.0", - "has-symbols": "^1.1.0", - "hasown": "^2.0.2", - "internal-slot": "^1.1.0", - "is-array-buffer": "^3.0.5", - "is-callable": "^1.2.7", - "is-data-view": "^1.0.2", - "is-regex": "^1.2.1", - "is-shared-array-buffer": "^1.0.4", - "is-string": "^1.1.1", - "is-typed-array": "^1.1.15", - "is-weakref": "^1.1.0", - "math-intrinsics": "^1.1.0", - "object-inspect": "^1.13.3", - "object-keys": "^1.1.1", - "object.assign": "^4.1.7", - "own-keys": "^1.0.1", - "regexp.prototype.flags": "^1.5.3", - "safe-array-concat": "^1.1.3", - "safe-push-apply": "^1.0.0", - "safe-regex-test": "^1.1.0", - "set-proto": "^1.0.0", - "string.prototype.trim": "^1.2.10", - "string.prototype.trimend": "^1.0.9", - "string.prototype.trimstart": "^1.0.8", - "typed-array-buffer": "^1.0.3", - "typed-array-byte-length": "^1.0.3", - "typed-array-byte-offset": "^1.0.4", - "typed-array-length": "^1.0.7", - "unbox-primitive": "^1.1.0", - "which-typed-array": "^1.1.18" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/es-define-property": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/es-define-property/-/es-define-property-1.0.1.tgz", - "integrity": "sha512-e3nRfgfUZ4rNGL232gUgX06QNyyez04KdjFrF+LTRoOXmrOgFKDg4BCdsjW8EnT69eqdYGmRpJwiPVYNrCaW3g==", - "license": "MIT", - "engines": { - "node": ">= 0.4" - } - }, - "node_modules/es-errors": { - "version": "1.3.0", - "resolved": "https://registry.npmjs.org/es-errors/-/es-errors-1.3.0.tgz", - "integrity": "sha512-Zf5H2Kxt2xjTvbJvP2ZWLEICxA6j+hAmMzIlypy4xcBg1vKVnx89Wy0GbS+kf5cwCVFFzdCFh2XSCFNULS6csw==", - "license": "MIT", - "engines": { - "node": ">= 0.4" - } - }, - "node_modules/es-iterator-helpers": { - "version": "1.2.1", - "resolved": "https://registry.npmjs.org/es-iterator-helpers/-/es-iterator-helpers-1.2.1.tgz", - "integrity": "sha512-uDn+FE1yrDzyC0pCo961B2IHbdM8y/ACZsKD4dG6WqrjV53BADjwa7D+1aom2rsNVfLyDgU/eigvlJGJ08OQ4w==", - "dev": true, - "license": "MIT", - "peer": true, - "dependencies": { - "call-bind": "^1.0.8", - "call-bound": "^1.0.3", - "define-properties": "^1.2.1", - "es-abstract": "^1.23.6", - "es-errors": "^1.3.0", - "es-set-tostringtag": "^2.0.3", - "function-bind": "^1.1.2", - "get-intrinsic": "^1.2.6", - "globalthis": "^1.0.4", - "gopd": "^1.2.0", - "has-property-descriptors": "^1.0.2", - "has-proto": "^1.2.0", - "has-symbols": "^1.1.0", - "internal-slot": "^1.1.0", - "iterator.prototype": "^1.1.4", - "safe-array-concat": "^1.1.3" - }, - "engines": { - "node": ">= 0.4" - } - }, - "node_modules/es-module-lexer": { - "version": "1.6.0", - "resolved": "https://registry.npmjs.org/es-module-lexer/-/es-module-lexer-1.6.0.tgz", - "integrity": "sha512-qqnD1yMU6tk/jnaMosogGySTZP8YtUgAffA9nMN+E/rjxcfRQ6IEk7IiozUjgxKoFHBGjTLnrHB/YC45r/59EQ==", - "dev": true, - "license": "MIT", - "peer": true - }, - "node_modules/es-object-atoms": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/es-object-atoms/-/es-object-atoms-1.1.1.tgz", - "integrity": "sha512-FGgH2h8zKNim9ljj7dankFPcICIK9Cp5bm+c2gQSYePhpaG5+esrLODihIorn+Pe6FGJzWhXQotPv73jTaldXA==", - "license": "MIT", - "dependencies": { - "es-errors": "^1.3.0" - }, - "engines": { - "node": ">= 0.4" - } - }, - "node_modules/es-set-tostringtag": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/es-set-tostringtag/-/es-set-tostringtag-2.1.0.tgz", - "integrity": "sha512-j6vWzfrGVfyXxge+O0x5sh6cvxAog0a/4Rdd2K36zCMV5eJ+/+tOAngRO8cODMNWbVRdVlmGZQL2YS3yR8bIUA==", - "license": "MIT", - "dependencies": { - "es-errors": "^1.3.0", - "get-intrinsic": "^1.2.6", - "has-tostringtag": "^1.0.2", - "hasown": "^2.0.2" - }, - "engines": { - "node": ">= 0.4" - } - }, - "node_modules/es-shim-unscopables": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/es-shim-unscopables/-/es-shim-unscopables-1.1.0.tgz", - "integrity": "sha512-d9T8ucsEhh8Bi1woXCf+TIKDIROLG5WCkxg8geBCbvk22kzwC5G2OnXVMO6FUsvQlgUUXQ2itephWDLqDzbeCw==", - "dev": true, - "license": "MIT", - "peer": true, - "dependencies": { - "hasown": "^2.0.2" - }, - "engines": { - "node": ">= 0.4" - } - }, - "node_modules/es-to-primitive": { - "version": "1.3.0", - "resolved": "https://registry.npmjs.org/es-to-primitive/-/es-to-primitive-1.3.0.tgz", - "integrity": "sha512-w+5mJ3GuFL+NjVtJlvydShqE1eN3h3PbI7/5LAsYJP/2qtuMXjfL2LpHSRqo4b4eSF5K/DH1JXKUAHSB2UW50g==", - "dev": true, - "license": "MIT", - "peer": true, - "dependencies": { - "is-callable": "^1.2.7", - "is-date-object": "^1.0.5", - "is-symbol": "^1.0.4" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/esbuild": { - "version": "0.25.1", - "resolved": "https://registry.npmjs.org/esbuild/-/esbuild-0.25.1.tgz", - "integrity": "sha512-BGO5LtrGC7vxnqucAe/rmvKdJllfGaYWdyABvyMoXQlfYMb2bbRuReWR5tEGE//4LcNJj9XrkovTqNYRFZHAMQ==", - "dev": true, - "hasInstallScript": true, - "license": "MIT", - "bin": { - "esbuild": "bin/esbuild" - }, - "engines": { - "node": ">=18" - }, - "optionalDependencies": { - "@esbuild/aix-ppc64": "0.25.1", - "@esbuild/android-arm": "0.25.1", - "@esbuild/android-arm64": "0.25.1", - "@esbuild/android-x64": "0.25.1", - "@esbuild/darwin-arm64": "0.25.1", - "@esbuild/darwin-x64": "0.25.1", - "@esbuild/freebsd-arm64": "0.25.1", - "@esbuild/freebsd-x64": "0.25.1", - "@esbuild/linux-arm": "0.25.1", - "@esbuild/linux-arm64": "0.25.1", - "@esbuild/linux-ia32": "0.25.1", - "@esbuild/linux-loong64": "0.25.1", - "@esbuild/linux-mips64el": "0.25.1", - "@esbuild/linux-ppc64": "0.25.1", - "@esbuild/linux-riscv64": "0.25.1", - "@esbuild/linux-s390x": "0.25.1", - "@esbuild/linux-x64": "0.25.1", - "@esbuild/netbsd-arm64": "0.25.1", - "@esbuild/netbsd-x64": "0.25.1", - "@esbuild/openbsd-arm64": "0.25.1", - "@esbuild/openbsd-x64": "0.25.1", - "@esbuild/sunos-x64": "0.25.1", - "@esbuild/win32-arm64": "0.25.1", - "@esbuild/win32-ia32": "0.25.1", - "@esbuild/win32-x64": "0.25.1" - } - }, - "node_modules/escalade": { - "version": "3.2.0", - "resolved": "https://registry.npmjs.org/escalade/-/escalade-3.2.0.tgz", - "integrity": "sha512-WUj2qlxaQtO4g6Pq5c29GTcWGDyd8itL8zTlipgECz3JesAiiOKotd8JU6otB3PACgG6xkJUyVhboMS+bje/jA==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=6" - } - }, - "node_modules/escape-string-regexp": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-4.0.0.tgz", - "integrity": "sha512-TtpcNJ3XAzx3Gq8sWRzJaVajRs0uVxA2YAkdb1jm2YkPz4G6egUFAyA3n5vtEIZefPk5Wa4UXbKuS5fKkJWdgA==", - "license": "MIT", - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/eslint": { - "version": "9.20.1", - "resolved": "https://registry.npmjs.org/eslint/-/eslint-9.20.1.tgz", - "integrity": "sha512-m1mM33o6dBUjxl2qb6wv6nGNwCAsns1eKtaQ4l/NPHeTvhiUPbtdfMyktxN4B3fgHIgsYh1VT3V9txblpQHq+g==", - "dev": true, - "license": "MIT", - "peer": true, - "dependencies": { - "@eslint-community/eslint-utils": "^4.2.0", - "@eslint-community/regexpp": "^4.12.1", - "@eslint/config-array": "^0.19.0", - "@eslint/core": "^0.11.0", - "@eslint/eslintrc": "^3.2.0", - "@eslint/js": "9.20.0", - "@eslint/plugin-kit": "^0.2.5", - "@humanfs/node": "^0.16.6", - "@humanwhocodes/module-importer": "^1.0.1", - "@humanwhocodes/retry": "^0.4.1", - "@types/estree": "^1.0.6", - "@types/json-schema": "^7.0.15", - "ajv": "^6.12.4", - "chalk": "^4.0.0", - "cross-spawn": "^7.0.6", - "debug": "^4.3.2", - "escape-string-regexp": "^4.0.0", - "eslint-scope": "^8.2.0", - "eslint-visitor-keys": "^4.2.0", - "espree": "^10.3.0", - "esquery": "^1.5.0", - "esutils": "^2.0.2", - "fast-deep-equal": "^3.1.3", - "file-entry-cache": "^8.0.0", - "find-up": "^5.0.0", - "glob-parent": "^6.0.2", - "ignore": "^5.2.0", - "imurmurhash": "^0.1.4", - "is-glob": "^4.0.0", - "json-stable-stringify-without-jsonify": "^1.0.1", - "lodash.merge": "^4.6.2", - "minimatch": "^3.1.2", - "natural-compare": "^1.4.0", - "optionator": "^0.9.3" - }, - "bin": { - "eslint": "bin/eslint.js" - }, - "engines": { - "node": "^18.18.0 || ^20.9.0 || >=21.1.0" - }, - "funding": { - "url": "https://eslint.org/donate" - }, - "peerDependencies": { - "jiti": "*" - }, - "peerDependenciesMeta": { - "jiti": { - "optional": true - } - } - }, - "node_modules/eslint-config-yscope": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/eslint-config-yscope/-/eslint-config-yscope-1.1.0.tgz", - "integrity": "sha512-uDalIcAh3Qke95gtqDQjzA7zWDQ03yb/Li3DMiBd8Nj/XuAfntkyd1z68IcsY0DjEZv6tpwlQ94eFzXvqOrjkQ==", - "dev": true, - "license": "Apache-2.0", - "peerDependencies": { - "@stylistic/eslint-plugin": "^2.12.1", - "eslint": "^9.18.0", - "eslint-import-resolver-typescript": "^3.7.0", - "eslint-plugin-import": "^2.31.0", - "eslint-plugin-import-newlines": "^1.4.0", - "eslint-plugin-jsdoc": "^50.6.1", - "eslint-plugin-no-autofix": "^2.1.0", - "eslint-plugin-react": "^7.37.3", - "eslint-plugin-react-hooks": "^5.1.0", - "eslint-plugin-simple-import-sort": "^12.1.1", - "globals": "^15.14.0", - "typescript-eslint": "8.19.0" - } - }, - "node_modules/eslint-import-resolver-node": { - "version": "0.3.9", - "resolved": "https://registry.npmjs.org/eslint-import-resolver-node/-/eslint-import-resolver-node-0.3.9.tgz", - "integrity": "sha512-WFj2isz22JahUv+B788TlO3N6zL3nNJGU8CcZbPZvVEkBPaJdCV4vy5wyghty5ROFbCRnm132v8BScu5/1BQ8g==", - "dev": true, - "license": "MIT", - "peer": true, - "dependencies": { - "debug": "^3.2.7", - "is-core-module": "^2.13.0", - "resolve": "^1.22.4" - } - }, - "node_modules/eslint-import-resolver-node/node_modules/debug": { - "version": "3.2.7", - "resolved": "https://registry.npmjs.org/debug/-/debug-3.2.7.tgz", - "integrity": "sha512-CFjzYYAi4ThfiQvizrFQevTTXHtnCqWfe7x1AhgEscTz6ZbLbfoLRLPugTQyBth6f8ZERVUSyWHFD/7Wu4t1XQ==", - "dev": true, - "license": "MIT", - "peer": true, - "dependencies": { - "ms": "^2.1.1" - } - }, - "node_modules/eslint-import-resolver-typescript": { - "version": "3.8.1", - "resolved": "https://registry.npmjs.org/eslint-import-resolver-typescript/-/eslint-import-resolver-typescript-3.8.1.tgz", - "integrity": "sha512-qw5TPA12HTmb9CkcuiNrFtwhM1ae2FWysLeRrTbQ+/JKS///gbL3fQ5LRhAZnzkcqkScOvkB5Y5o+xgyQz1VVg==", - "dev": true, - "license": "ISC", - "peer": true, - "dependencies": { - "@nolyfill/is-core-module": "1.0.39", - "debug": "^4.3.7", - "enhanced-resolve": "^5.15.0", - "get-tsconfig": "^4.10.0", - "is-bun-module": "^1.0.2", - "stable-hash": "^0.0.4", - "tinyglobby": "^0.2.10" - }, - "engines": { - "node": "^14.18.0 || >=16.0.0" - }, - "funding": { - "url": "https://opencollective.com/unts/projects/eslint-import-resolver-ts" - }, - "peerDependencies": { - "eslint": "*", - "eslint-plugin-import": "*", - "eslint-plugin-import-x": "*" - }, - "peerDependenciesMeta": { - "eslint-plugin-import": { - "optional": true - }, - "eslint-plugin-import-x": { - "optional": true - } - } - }, - "node_modules/eslint-module-utils": { - "version": "2.12.0", - "resolved": "https://registry.npmjs.org/eslint-module-utils/-/eslint-module-utils-2.12.0.tgz", - "integrity": "sha512-wALZ0HFoytlyh/1+4wuZ9FJCD/leWHQzzrxJ8+rebyReSLk7LApMyd3WJaLVoN+D5+WIdJyDK1c6JnE65V4Zyg==", - "dev": true, - "license": "MIT", - "peer": true, - "dependencies": { - "debug": "^3.2.7" - }, - "engines": { - "node": ">=4" - }, - "peerDependenciesMeta": { - "eslint": { - "optional": true - } - } - }, - "node_modules/eslint-module-utils/node_modules/debug": { - "version": "3.2.7", - "resolved": "https://registry.npmjs.org/debug/-/debug-3.2.7.tgz", - "integrity": "sha512-CFjzYYAi4ThfiQvizrFQevTTXHtnCqWfe7x1AhgEscTz6ZbLbfoLRLPugTQyBth6f8ZERVUSyWHFD/7Wu4t1XQ==", - "dev": true, - "license": "MIT", - "peer": true, - "dependencies": { - "ms": "^2.1.1" - } - }, - "node_modules/eslint-plugin-import": { - "version": "2.31.0", - "resolved": "https://registry.npmjs.org/eslint-plugin-import/-/eslint-plugin-import-2.31.0.tgz", - "integrity": "sha512-ixmkI62Rbc2/w8Vfxyh1jQRTdRTF52VxwRVHl/ykPAmqG+Nb7/kNn+byLP0LxPgI7zWA16Jt82SybJInmMia3A==", - "dev": true, - "license": "MIT", - "peer": true, - "dependencies": { - "@rtsao/scc": "^1.1.0", - "array-includes": "^3.1.8", - "array.prototype.findlastindex": "^1.2.5", - "array.prototype.flat": "^1.3.2", - "array.prototype.flatmap": "^1.3.2", - "debug": "^3.2.7", - "doctrine": "^2.1.0", - "eslint-import-resolver-node": "^0.3.9", - "eslint-module-utils": "^2.12.0", - "hasown": "^2.0.2", - "is-core-module": "^2.15.1", - "is-glob": "^4.0.3", - "minimatch": "^3.1.2", - "object.fromentries": "^2.0.8", - "object.groupby": "^1.0.3", - "object.values": "^1.2.0", - "semver": "^6.3.1", - "string.prototype.trimend": "^1.0.8", - "tsconfig-paths": "^3.15.0" - }, - "engines": { - "node": ">=4" - }, - "peerDependencies": { - "eslint": "^2 || ^3 || ^4 || ^5 || ^6 || ^7.2.0 || ^8 || ^9" - } - }, - "node_modules/eslint-plugin-import-newlines": { - "version": "1.4.0", - "resolved": "https://registry.npmjs.org/eslint-plugin-import-newlines/-/eslint-plugin-import-newlines-1.4.0.tgz", - "integrity": "sha512-+Cz1x2xBLtI9gJbmuYEpvY7F8K75wskBmJ7rk4VRObIJo+jklUJaejFJgtnWeL0dCFWabGEkhausrikXaNbtoQ==", - "dev": true, - "license": "MIT", - "peer": true, - "bin": { - "import-linter": "lib/index.js" - }, - "engines": { - "node": ">=10.0.0" - }, - "peerDependencies": { - "eslint": ">=6.0.0" - } - }, - "node_modules/eslint-plugin-import/node_modules/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, - "license": "MIT", - "peer": true, - "dependencies": { - "balanced-match": "^1.0.0", - "concat-map": "0.0.1" - } - }, - "node_modules/eslint-plugin-import/node_modules/debug": { - "version": "3.2.7", - "resolved": "https://registry.npmjs.org/debug/-/debug-3.2.7.tgz", - "integrity": "sha512-CFjzYYAi4ThfiQvizrFQevTTXHtnCqWfe7x1AhgEscTz6ZbLbfoLRLPugTQyBth6f8ZERVUSyWHFD/7Wu4t1XQ==", - "dev": true, - "license": "MIT", - "peer": true, - "dependencies": { - "ms": "^2.1.1" - } - }, - "node_modules/eslint-plugin-import/node_modules/minimatch": { - "version": "3.1.2", - "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.1.2.tgz", - "integrity": "sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==", - "dev": true, - "license": "ISC", - "peer": true, - "dependencies": { - "brace-expansion": "^1.1.7" - }, - "engines": { - "node": "*" - } - }, - "node_modules/eslint-plugin-import/node_modules/semver": { - "version": "6.3.1", - "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.1.tgz", - "integrity": "sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA==", - "dev": true, - "license": "ISC", - "peer": true, - "bin": { - "semver": "bin/semver.js" - } - }, - "node_modules/eslint-plugin-jsdoc": { - "version": "50.6.3", - "resolved": "https://registry.npmjs.org/eslint-plugin-jsdoc/-/eslint-plugin-jsdoc-50.6.3.tgz", - "integrity": "sha512-NxbJyt1M5zffPcYZ8Nb53/8nnbIScmiLAMdoe0/FAszwb7lcSiX3iYBTsuF7RV84dZZJC8r3NghomrUXsmWvxQ==", - "dev": true, - "license": "BSD-3-Clause", - "peer": true, - "dependencies": { - "@es-joy/jsdoccomment": "~0.49.0", - "are-docs-informative": "^0.0.2", - "comment-parser": "1.4.1", - "debug": "^4.3.6", - "escape-string-regexp": "^4.0.0", - "espree": "^10.1.0", - "esquery": "^1.6.0", - "parse-imports": "^2.1.1", - "semver": "^7.6.3", - "spdx-expression-parse": "^4.0.0", - "synckit": "^0.9.1" - }, - "engines": { - "node": ">=18" - }, - "peerDependencies": { - "eslint": "^7.0.0 || ^8.0.0 || ^9.0.0" - } - }, - "node_modules/eslint-plugin-no-autofix": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/eslint-plugin-no-autofix/-/eslint-plugin-no-autofix-2.1.0.tgz", - "integrity": "sha512-JAg9OhE1QkaqlSOWTx/AdOk+1pS/ZZvBCGYa052d/vXB1oKJux0Jyj/VDl7hYjp+qxcLX6EyKXC8jtxmiVDEpA==", - "dev": true, - "license": "MIT", - "peer": true, - "dependencies": { - "eslint-rule-composer": "^0.3.0", - "find-up": "^5.0.0" - }, - "engines": { - "node": ">=18" - }, - "peerDependencies": { - "eslint": ">=8" - } - }, - "node_modules/eslint-plugin-react": { - "version": "7.37.4", - "resolved": "https://registry.npmjs.org/eslint-plugin-react/-/eslint-plugin-react-7.37.4.tgz", - "integrity": "sha512-BGP0jRmfYyvOyvMoRX/uoUeW+GqNj9y16bPQzqAHf3AYII/tDs+jMN0dBVkl88/OZwNGwrVFxE7riHsXVfy/LQ==", - "dev": true, - "license": "MIT", - "peer": true, - "dependencies": { - "array-includes": "^3.1.8", - "array.prototype.findlast": "^1.2.5", - "array.prototype.flatmap": "^1.3.3", - "array.prototype.tosorted": "^1.1.4", - "doctrine": "^2.1.0", - "es-iterator-helpers": "^1.2.1", - "estraverse": "^5.3.0", - "hasown": "^2.0.2", - "jsx-ast-utils": "^2.4.1 || ^3.0.0", - "minimatch": "^3.1.2", - "object.entries": "^1.1.8", - "object.fromentries": "^2.0.8", - "object.values": "^1.2.1", - "prop-types": "^15.8.1", - "resolve": "^2.0.0-next.5", - "semver": "^6.3.1", - "string.prototype.matchall": "^4.0.12", - "string.prototype.repeat": "^1.0.0" - }, - "engines": { - "node": ">=4" - }, - "peerDependencies": { - "eslint": "^3 || ^4 || ^5 || ^6 || ^7 || ^8 || ^9.7" - } - }, - "node_modules/eslint-plugin-react-hooks": { - "version": "5.1.0", - "resolved": "https://registry.npmjs.org/eslint-plugin-react-hooks/-/eslint-plugin-react-hooks-5.1.0.tgz", - "integrity": "sha512-mpJRtPgHN2tNAvZ35AMfqeB3Xqeo273QxrHJsbBEPWODRM4r0yB6jfoROqKEYrOn27UtRPpcpHc2UqyBSuUNTw==", - "dev": true, - "license": "MIT", - "peer": true, - "engines": { - "node": ">=10" - }, - "peerDependencies": { - "eslint": "^3.0.0 || ^4.0.0 || ^5.0.0 || ^6.0.0 || ^7.0.0 || ^8.0.0-0 || ^9.0.0" - } - }, - "node_modules/eslint-plugin-react/node_modules/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, - "license": "MIT", - "peer": true, - "dependencies": { - "balanced-match": "^1.0.0", - "concat-map": "0.0.1" - } - }, - "node_modules/eslint-plugin-react/node_modules/minimatch": { - "version": "3.1.2", - "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.1.2.tgz", - "integrity": "sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==", - "dev": true, - "license": "ISC", - "peer": true, - "dependencies": { - "brace-expansion": "^1.1.7" - }, - "engines": { - "node": "*" - } - }, - "node_modules/eslint-plugin-react/node_modules/resolve": { - "version": "2.0.0-next.5", - "resolved": "https://registry.npmjs.org/resolve/-/resolve-2.0.0-next.5.tgz", - "integrity": "sha512-U7WjGVG9sH8tvjW5SmGbQuui75FiyjAX72HX15DwBBwF9dNiQZRQAg9nnPhYy+TUnE0+VcrttuvNI8oSxZcocA==", - "dev": true, - "license": "MIT", - "peer": true, - "dependencies": { - "is-core-module": "^2.13.0", - "path-parse": "^1.0.7", - "supports-preserve-symlinks-flag": "^1.0.0" - }, - "bin": { - "resolve": "bin/resolve" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/eslint-plugin-react/node_modules/semver": { - "version": "6.3.1", - "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.1.tgz", - "integrity": "sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA==", - "dev": true, - "license": "ISC", - "peer": true, - "bin": { - "semver": "bin/semver.js" - } - }, - "node_modules/eslint-plugin-simple-import-sort": { - "version": "12.1.1", - "resolved": "https://registry.npmjs.org/eslint-plugin-simple-import-sort/-/eslint-plugin-simple-import-sort-12.1.1.tgz", - "integrity": "sha512-6nuzu4xwQtE3332Uz0to+TxDQYRLTKRESSc2hefVT48Zc8JthmN23Gx9lnYhu0FtkRSL1oxny3kJ2aveVhmOVA==", - "dev": true, - "license": "MIT", - "peer": true, - "peerDependencies": { - "eslint": ">=5.0.0" - } - }, - "node_modules/eslint-rule-composer": { - "version": "0.3.0", - "resolved": "https://registry.npmjs.org/eslint-rule-composer/-/eslint-rule-composer-0.3.0.tgz", - "integrity": "sha512-bt+Sh8CtDmn2OajxvNO+BX7Wn4CIWMpTRm3MaiKPCQcnnlm0CS2mhui6QaoeQugs+3Kj2ESKEEGJUdVafwhiCg==", - "dev": true, - "license": "MIT", - "peer": true, - "engines": { - "node": ">=4.0.0" - } - }, - "node_modules/eslint-scope": { - "version": "8.2.0", - "resolved": "https://registry.npmjs.org/eslint-scope/-/eslint-scope-8.2.0.tgz", - "integrity": "sha512-PHlWUfG6lvPc3yvP5A4PNyBL1W8fkDUccmI21JUu/+GKZBoH/W5u6usENXUrWFRsyoW5ACUjFGgAFQp5gUlb/A==", - "dev": true, - "license": "BSD-2-Clause", - "peer": true, - "dependencies": { - "esrecurse": "^4.3.0", - "estraverse": "^5.2.0" - }, - "engines": { - "node": "^18.18.0 || ^20.9.0 || >=21.1.0" - }, - "funding": { - "url": "https://opencollective.com/eslint" - } - }, - "node_modules/eslint-visitor-keys": { - "version": "4.2.0", - "resolved": "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-4.2.0.tgz", - "integrity": "sha512-UyLnSehNt62FFhSwjZlHmeokpRK59rcz29j+F1/aDgbkbRTk7wIc9XzdoasMUbRNKDM0qQt/+BJ4BrpFeABemw==", - "dev": true, - "license": "Apache-2.0", - "peer": true, - "engines": { - "node": "^18.18.0 || ^20.9.0 || >=21.1.0" - }, - "funding": { - "url": "https://opencollective.com/eslint" - } - }, - "node_modules/eslint/node_modules/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, - "license": "MIT", - "peer": true, - "dependencies": { - "balanced-match": "^1.0.0", - "concat-map": "0.0.1" - } - }, - "node_modules/eslint/node_modules/minimatch": { - "version": "3.1.2", - "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.1.2.tgz", - "integrity": "sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==", - "dev": true, - "license": "ISC", - "peer": true, - "dependencies": { - "brace-expansion": "^1.1.7" - }, - "engines": { - "node": "*" - } - }, - "node_modules/espree": { - "version": "10.3.0", - "resolved": "https://registry.npmjs.org/espree/-/espree-10.3.0.tgz", - "integrity": "sha512-0QYC8b24HWY8zjRnDTL6RiHfDbAWn63qb4LMj1Z4b076A4une81+z03Kg7l7mn/48PUTqoLptSXez8oknU8Clg==", - "dev": true, - "license": "BSD-2-Clause", - "peer": true, - "dependencies": { - "acorn": "^8.14.0", - "acorn-jsx": "^5.3.2", - "eslint-visitor-keys": "^4.2.0" - }, - "engines": { - "node": "^18.18.0 || ^20.9.0 || >=21.1.0" - }, - "funding": { - "url": "https://opencollective.com/eslint" - } - }, - "node_modules/esquery": { - "version": "1.6.0", - "resolved": "https://registry.npmjs.org/esquery/-/esquery-1.6.0.tgz", - "integrity": "sha512-ca9pw9fomFcKPvFLXhBKUK90ZvGibiGOvRJNbjljY7s7uq/5YO4BOzcYtJqExdx99rF6aAcnRxHmcUHcz6sQsg==", - "dev": true, - "license": "BSD-3-Clause", - "peer": true, - "dependencies": { - "estraverse": "^5.1.0" - }, - "engines": { - "node": ">=0.10" - } - }, - "node_modules/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, - "license": "BSD-2-Clause", - "peer": true, - "dependencies": { - "estraverse": "^5.2.0" - }, - "engines": { - "node": ">=4.0" - } - }, - "node_modules/estraverse": { - "version": "5.3.0", - "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-5.3.0.tgz", - "integrity": "sha512-MMdARuVEQziNTeJD8DgMqmhwR11BRQ/cBP+pLtYdSTnf3MIO8fFeiINEbX36ZdNlfU/7A9f3gUw49B3oQsvwBA==", - "dev": true, - "license": "BSD-2-Clause", - "peer": true, - "engines": { - "node": ">=4.0" - } - }, - "node_modules/esutils": { - "version": "2.0.3", - "resolved": "https://registry.npmjs.org/esutils/-/esutils-2.0.3.tgz", - "integrity": "sha512-kVscqXk4OCp68SZ0dkgEKVi6/8ij300KBWTJq32P/dYeWTSwK41WyTxalN1eRmA5Z9UU/LX9D7FWSmV9SAYx6g==", - "dev": true, - "license": "BSD-2-Clause", - "peer": true, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/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, - "license": "MIT", - "peer": true - }, - "node_modules/fast-glob": { - "version": "3.3.3", - "resolved": "https://registry.npmjs.org/fast-glob/-/fast-glob-3.3.3.tgz", - "integrity": "sha512-7MptL8U0cqcFdzIzwOTHoilX9x5BrNqye7Z/LuC7kCMRio1EMSyqRK3BEAUD7sXRq4iT4AzTVuZdhgQ2TCvYLg==", - "dev": true, - "license": "MIT", - "peer": true, - "dependencies": { - "@nodelib/fs.stat": "^2.0.2", - "@nodelib/fs.walk": "^1.2.3", - "glob-parent": "^5.1.2", - "merge2": "^1.3.0", - "micromatch": "^4.0.8" - }, - "engines": { - "node": ">=8.6.0" - } - }, - "node_modules/fast-glob/node_modules/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, - "license": "ISC", - "peer": true, - "dependencies": { - "is-glob": "^4.0.1" - }, - "engines": { - "node": ">= 6" - } - }, - "node_modules/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, - "license": "MIT", - "peer": true - }, - "node_modules/fast-levenshtein": { - "version": "2.0.6", - "resolved": "https://registry.npmjs.org/fast-levenshtein/-/fast-levenshtein-2.0.6.tgz", - "integrity": "sha512-DCXu6Ifhqcks7TZKY3Hxp3y6qphY5SJZmrWMDrKcERSOXWQdMhU9Ig/PYrzyw/ul9jOIyh0N4M0tbC5hodg8dw==", - "dev": true, - "license": "MIT", - "peer": true - }, - "node_modules/fastq": { - "version": "1.19.0", - "resolved": "https://registry.npmjs.org/fastq/-/fastq-1.19.0.tgz", - "integrity": "sha512-7SFSRCNjBQIZH/xZR3iy5iQYR8aGBE0h3VG6/cwlbrpdciNYBMotQav8c1XI3HjHH+NikUpP53nPdlZSdWmFzA==", - "dev": true, - "license": "ISC", - "peer": true, - "dependencies": { - "reusify": "^1.0.4" - } - }, - "node_modules/fault": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/fault/-/fault-1.0.4.tgz", - "integrity": "sha512-CJ0HCB5tL5fYTEA7ToAq5+kTwd++Borf1/bifxd9iT70QcXr4MRrO3Llf8Ifs70q+SJcGHFtnIE/Nw6giCtECA==", - "license": "MIT", - "dependencies": { - "format": "^0.2.0" - }, - "funding": { - "type": "github", - "url": "https://github.com/sponsors/wooorm" - } - }, - "node_modules/fdir": { - "version": "6.4.6", - "resolved": "https://registry.npmjs.org/fdir/-/fdir-6.4.6.tgz", - "integrity": "sha512-hiFoqpyZcfNm1yc4u8oWCf9A2c4D3QjCrks3zmoVKVxpQRzmPNar1hUJcBG2RQHvEVGDN+Jm81ZheVLAQMK6+w==", - "dev": true, - "license": "MIT", - "peerDependencies": { - "picomatch": "^3 || ^4" - }, - "peerDependenciesMeta": { - "picomatch": { - "optional": true - } - } - }, - "node_modules/file-entry-cache": { - "version": "8.0.0", - "resolved": "https://registry.npmjs.org/file-entry-cache/-/file-entry-cache-8.0.0.tgz", - "integrity": "sha512-XXTUwCvisa5oacNGRP9SfNtYBNAMi+RPwBFmblZEF7N7swHYQS6/Zfk7SRwx4D5j3CH211YNRco1DEMNVfZCnQ==", - "dev": true, - "license": "MIT", - "peer": true, - "dependencies": { - "flat-cache": "^4.0.0" - }, - "engines": { - "node": ">=16.0.0" - } - }, - "node_modules/fill-range": { - "version": "7.1.1", - "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-7.1.1.tgz", - "integrity": "sha512-YsGpe3WHLK8ZYi4tWDg2Jy3ebRz2rXowDxnld4bkQB00cc/1Zw9AWnC0i9ztDJitivtQvaI9KaLyKrc+hBW0yg==", - "dev": true, - "license": "MIT", - "peer": true, - "dependencies": { - "to-regex-range": "^5.0.1" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/find-root": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/find-root/-/find-root-1.1.0.tgz", - "integrity": "sha512-NKfW6bec6GfKc0SGx1e07QZY9PE99u0Bft/0rzSD5k3sO/vwkVUpDUKVm5Gpp5Ue3YfShPFTX2070tDs5kB9Ng==", - "license": "MIT" - }, - "node_modules/find-up": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/find-up/-/find-up-5.0.0.tgz", - "integrity": "sha512-78/PXT1wlLLDgTzDs7sjq9hzz0vXD+zn+7wypEe4fXQxCmdmqfGsEPQxmiCSQI3ajFV91bVSsvNtrJRiW6nGng==", - "dev": true, - "license": "MIT", - "peer": true, - "dependencies": { - "locate-path": "^6.0.0", - "path-exists": "^4.0.0" - }, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/flat-cache": { - "version": "4.0.1", - "resolved": "https://registry.npmjs.org/flat-cache/-/flat-cache-4.0.1.tgz", - "integrity": "sha512-f7ccFPK3SXFHpx15UIGyRJ/FJQctuKZ0zVuN3frBo4HnK3cay9VEW0R6yPYFHC0AgqhukPzKjq22t5DmAyqGyw==", - "dev": true, - "license": "MIT", - "peer": true, - "dependencies": { - "flatted": "^3.2.9", - "keyv": "^4.5.4" - }, - "engines": { - "node": ">=16" - } - }, - "node_modules/flatted": { - "version": "3.3.3", - "resolved": "https://registry.npmjs.org/flatted/-/flatted-3.3.3.tgz", - "integrity": "sha512-GX+ysw4PBCz0PzosHDepZGANEuFCMLrnRTiEy9McGjmkCQYwRq4A/X786G/fjM/+OjsWSU1ZrY5qyARZmO/uwg==", - "dev": true, - "license": "ISC", - "peer": true - }, - "node_modules/follow-redirects": { - "version": "1.15.9", - "resolved": "https://registry.npmjs.org/follow-redirects/-/follow-redirects-1.15.9.tgz", - "integrity": "sha512-gew4GsXizNgdoRyqmyfMHyAmXsZDk6mHkSxZFCzW9gwlbtOW44CDtYavM+y+72qD/Vq2l550kMF52DT8fOLJqQ==", - "funding": [ - { - "type": "individual", - "url": "https://github.com/sponsors/RubenVerborgh" - } - ], - "license": "MIT", - "engines": { - "node": ">=4.0" - }, - "peerDependenciesMeta": { - "debug": { - "optional": true - } - } - }, - "node_modules/for-each": { - "version": "0.3.5", - "resolved": "https://registry.npmjs.org/for-each/-/for-each-0.3.5.tgz", - "integrity": "sha512-dKx12eRCVIzqCxFGplyFKJMPvLEWgmNtUrpTiJIR5u97zEhRG8ySrtboPHZXx7daLxQVrl643cTzbab2tkQjxg==", - "dev": true, - "license": "MIT", - "peer": true, - "dependencies": { - "is-callable": "^1.2.7" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/form-data": { - "version": "4.0.4", - "resolved": "https://registry.npmjs.org/form-data/-/form-data-4.0.4.tgz", - "integrity": "sha512-KrGhL9Q4zjj0kiUt5OO4Mr/A/jlI2jDYs5eHBpYHPcBEVSiipAvn2Ko2HnPe20rmcuuvMHNdZFp+4IlGTMF0Ow==", - "license": "MIT", - "dependencies": { - "asynckit": "^0.4.0", - "combined-stream": "^1.0.8", - "es-set-tostringtag": "^2.1.0", - "hasown": "^2.0.2", - "mime-types": "^2.1.12" - }, - "engines": { - "node": ">= 6" - } - }, - "node_modules/format": { - "version": "0.2.2", - "resolved": "https://registry.npmjs.org/format/-/format-0.2.2.tgz", - "integrity": "sha512-wzsgA6WOq+09wrU1tsJ09udeR/YZRaeArL9e1wPbFg3GG2yDnC2ldKpxs4xunpFF9DgqCqOIra3bc1HWrJ37Ww==", - "engines": { - "node": ">=0.4.x" - } - }, - "node_modules/fsevents": { - "version": "2.3.3", - "resolved": "https://registry.npmjs.org/fsevents/-/fsevents-2.3.3.tgz", - "integrity": "sha512-5xoDfX+fL7faATnagmWPpbFtwh/R77WmMMqqHGS65C3vvB0YHrgF+B1YmZ3441tMj5n63k0212XNoJwzlhffQw==", - "dev": true, - "hasInstallScript": true, - "license": "MIT", - "optional": true, - "os": [ - "darwin" - ], - "engines": { - "node": "^8.16.0 || ^10.6.0 || >=11.0.0" - } - }, - "node_modules/function-bind": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/function-bind/-/function-bind-1.1.2.tgz", - "integrity": "sha512-7XHNxH7qX9xG5mIwxkhumTox/MIRNcOgDrxWsMt2pAr23WHp6MrRlN7FBSFpCpr+oVO0F744iUgR82nJMfG2SA==", - "license": "MIT", - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/function.prototype.name": { - "version": "1.1.8", - "resolved": "https://registry.npmjs.org/function.prototype.name/-/function.prototype.name-1.1.8.tgz", - "integrity": "sha512-e5iwyodOHhbMr/yNrc7fDYG4qlbIvI5gajyzPnb5TCwyhjApznQh1BMFou9b30SevY43gCJKXycoCBjMbsuW0Q==", - "dev": true, - "license": "MIT", - "peer": true, - "dependencies": { - "call-bind": "^1.0.8", - "call-bound": "^1.0.3", - "define-properties": "^1.2.1", - "functions-have-names": "^1.2.3", - "hasown": "^2.0.2", - "is-callable": "^1.2.7" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/functions-have-names": { - "version": "1.2.3", - "resolved": "https://registry.npmjs.org/functions-have-names/-/functions-have-names-1.2.3.tgz", - "integrity": "sha512-xckBUXyTIqT97tq2x2AMb+g163b5JFysYk0x4qxNFwbfQkmNZoiRHb6sPzI9/QV33WeuvVYBUIiD4NzNIyqaRQ==", - "dev": true, - "license": "MIT", - "peer": true, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/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, - "license": "MIT", - "engines": { - "node": ">=6.9.0" - } - }, - "node_modules/get-intrinsic": { - "version": "1.2.7", - "resolved": "https://registry.npmjs.org/get-intrinsic/-/get-intrinsic-1.2.7.tgz", - "integrity": "sha512-VW6Pxhsrk0KAOqs3WEd0klDiF/+V7gQOpAvY1jVU/LHmaD/kQO4523aiJuikX/QAKYiW6x8Jh+RJej1almdtCA==", - "license": "MIT", - "dependencies": { - "call-bind-apply-helpers": "^1.0.1", - "es-define-property": "^1.0.1", - "es-errors": "^1.3.0", - "es-object-atoms": "^1.0.0", - "function-bind": "^1.1.2", - "get-proto": "^1.0.0", - "gopd": "^1.2.0", - "has-symbols": "^1.1.0", - "hasown": "^2.0.2", - "math-intrinsics": "^1.1.0" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/get-proto": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/get-proto/-/get-proto-1.0.1.tgz", - "integrity": "sha512-sTSfBjoXBp89JvIKIefqw7U2CCebsc74kiY6awiGogKtoSGbgjYE/G/+l9sF3MWFPNc9IcoOC4ODfKHfxFmp0g==", - "license": "MIT", - "dependencies": { - "dunder-proto": "^1.0.1", - "es-object-atoms": "^1.0.0" - }, - "engines": { - "node": ">= 0.4" - } - }, - "node_modules/get-symbol-description": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/get-symbol-description/-/get-symbol-description-1.1.0.tgz", - "integrity": "sha512-w9UMqWwJxHNOvoNzSJ2oPF5wvYcvP7jUvYzhp67yEhTi17ZDBBC1z9pTdGuzjD+EFIqLSYRweZjqfiPzQ06Ebg==", - "dev": true, - "license": "MIT", - "peer": true, - "dependencies": { - "call-bound": "^1.0.3", - "es-errors": "^1.3.0", - "get-intrinsic": "^1.2.6" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/get-tsconfig": { - "version": "4.10.0", - "resolved": "https://registry.npmjs.org/get-tsconfig/-/get-tsconfig-4.10.0.tgz", - "integrity": "sha512-kGzZ3LWWQcGIAmg6iWvXn0ei6WDtV26wzHRMwDSzmAbcXrTEXxHy6IehI6/4eT6VRKyMP1eF1VqwrVUmE/LR7A==", - "dev": true, - "license": "MIT", - "peer": true, - "dependencies": { - "resolve-pkg-maps": "^1.0.0" - }, - "funding": { - "url": "https://github.com/privatenumber/get-tsconfig?sponsor=1" - } - }, - "node_modules/glob-parent": { - "version": "6.0.2", - "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-6.0.2.tgz", - "integrity": "sha512-XxwI8EOhVQgWp6iDL+3b0r86f4d6AX6zSU55HfB4ydCEuXLXc5FcYeOu+nnGftS4TEju/11rt4KJPTMgbfmv4A==", - "dev": true, - "license": "ISC", - "peer": true, - "dependencies": { - "is-glob": "^4.0.3" - }, - "engines": { - "node": ">=10.13.0" - } - }, - "node_modules/globals": { - "version": "15.15.0", - "resolved": "https://registry.npmjs.org/globals/-/globals-15.15.0.tgz", - "integrity": "sha512-7ACyT3wmyp3I61S4fG682L0VA2RGD9otkqGJIwNUMF1SWUombIIk+af1unuDYgMm082aHYwD+mzJvv9Iu8dsgg==", - "dev": true, - "license": "MIT", - "peer": true, - "engines": { - "node": ">=18" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/globalthis": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/globalthis/-/globalthis-1.0.4.tgz", - "integrity": "sha512-DpLKbNU4WylpxJykQujfCcwYWiV/Jhm50Goo0wrVILAv5jOr9d+H+UR3PhSCD2rCCEIg0uc+G+muBTwD54JhDQ==", - "dev": true, - "license": "MIT", - "peer": true, - "dependencies": { - "define-properties": "^1.2.1", - "gopd": "^1.0.1" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/gopd": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/gopd/-/gopd-1.2.0.tgz", - "integrity": "sha512-ZUKRh6/kUFoAiTAtTYPZJ3hw9wNxx+BIBOijnlG9PnrJsCcSjs1wyyD6vJpaYtgnzDrKYRSqf3OO6Rfa93xsRg==", - "license": "MIT", - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/graceful-fs": { - "version": "4.2.11", - "resolved": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.2.11.tgz", - "integrity": "sha512-RbJ5/jmFcNNCcDV5o9eTnBLJ/HszWV0P73bc+Ff4nS/rJj+YaS6IGyiOL0VoBYX+l1Wrl3k63h/KrH+nhJ0XvQ==", - "dev": true, - "license": "ISC", - "peer": true - }, - "node_modules/graphemer": { - "version": "1.4.0", - "resolved": "https://registry.npmjs.org/graphemer/-/graphemer-1.4.0.tgz", - "integrity": "sha512-EtKwoO6kxCL9WO5xipiHTZlSzBm7WLT627TqC/uVRd0HKmq8NXyebnNYxDoBi7wt8eTWrUrKXCOVaFq9x1kgag==", - "dev": true, - "license": "MIT", - "peer": true - }, - "node_modules/hammerjs": { - "version": "2.0.8", - "resolved": "https://registry.npmjs.org/hammerjs/-/hammerjs-2.0.8.tgz", - "integrity": "sha512-tSQXBXS/MWQOn/RKckawJ61vvsDpCom87JgxiYdGwHdOa0ht0vzUWDlfioofFCRU0L+6NGDt6XzbgoJvZkMeRQ==", - "license": "MIT", - "engines": { - "node": ">=0.8.0" - } - }, - "node_modules/has-bigints": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/has-bigints/-/has-bigints-1.1.0.tgz", - "integrity": "sha512-R3pbpkcIqv2Pm3dUwgjclDRVmWpTJW2DcMzcIhEXEx1oh/CEMObMm3KLmRJOdvhM7o4uQBnwr8pzRK2sJWIqfg==", - "dev": true, - "license": "MIT", - "peer": true, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/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, - "license": "MIT", - "peer": true, - "engines": { - "node": ">=8" - } - }, - "node_modules/has-property-descriptors": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/has-property-descriptors/-/has-property-descriptors-1.0.2.tgz", - "integrity": "sha512-55JNKuIW+vq4Ke1BjOTjM2YctQIvCT7GFzHwmfZPGo5wnrgkid0YQtnAleFSqumZm4az3n2BS+erby5ipJdgrg==", - "dev": true, - "license": "MIT", - "peer": true, - "dependencies": { - "es-define-property": "^1.0.0" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/has-proto": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/has-proto/-/has-proto-1.2.0.tgz", - "integrity": "sha512-KIL7eQPfHQRC8+XluaIw7BHUwwqL19bQn4hzNgdr+1wXoU0KKj6rufu47lhY7KbJR2C6T6+PfyN0Ea7wkSS+qQ==", - "dev": true, - "license": "MIT", - "peer": true, - "dependencies": { - "dunder-proto": "^1.0.0" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/has-symbols": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/has-symbols/-/has-symbols-1.1.0.tgz", - "integrity": "sha512-1cDNdwJ2Jaohmb3sg4OmKaMBwuC48sYni5HUw2DvsC8LjGTLK9h+eb1X6RyuOHe4hT0ULCW68iomhjUoKUqlPQ==", - "license": "MIT", - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/has-tostringtag": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/has-tostringtag/-/has-tostringtag-1.0.2.tgz", - "integrity": "sha512-NqADB8VjPFLM2V0VvHUewwwsw0ZWBaIdgo+ieHtK3hasLz4qeCRjYcqfB6AQrBggRKppKF8L52/VqdVsO47Dlw==", - "license": "MIT", - "dependencies": { - "has-symbols": "^1.0.3" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/hasown": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/hasown/-/hasown-2.0.2.tgz", - "integrity": "sha512-0hJU9SCPvmMzIBdZFqNPXWa6dqh7WdH0cII9y+CyS8rG3nL48Bclra9HmKhVVUHyPWNH5Y7xDwAB7bfgSjkUMQ==", - "license": "MIT", - "dependencies": { - "function-bind": "^1.1.2" - }, - "engines": { - "node": ">= 0.4" - } - }, - "node_modules/hast-util-parse-selector": { - "version": "2.2.5", - "resolved": "https://registry.npmjs.org/hast-util-parse-selector/-/hast-util-parse-selector-2.2.5.tgz", - "integrity": "sha512-7j6mrk/qqkSehsM92wQjdIgWM2/BW61u/53G6xmC8i1OmEdKLHbk419QKQUjz6LglWsfqoiHmyMRkP1BGjecNQ==", - "license": "MIT", - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/unified" - } - }, - "node_modules/hastscript": { - "version": "6.0.0", - "resolved": "https://registry.npmjs.org/hastscript/-/hastscript-6.0.0.tgz", - "integrity": "sha512-nDM6bvd7lIqDUiYEiu5Sl/+6ReP0BMk/2f4U/Rooccxkj0P5nm+acM5PrGJ/t5I8qPGiqZSE6hVAwZEdZIvP4w==", - "license": "MIT", - "dependencies": { - "@types/hast": "^2.0.0", - "comma-separated-tokens": "^1.0.0", - "hast-util-parse-selector": "^2.0.0", - "property-information": "^5.0.0", - "space-separated-tokens": "^1.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/unified" - } - }, - "node_modules/highlightjs-vue": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/highlightjs-vue/-/highlightjs-vue-1.0.0.tgz", - "integrity": "sha512-PDEfEF102G23vHmPhLyPboFCD+BkMGu+GuJe2d9/eH4FsCwvgBpnc9n0pGE+ffKdph38s6foEZiEjdgHdzp+IA==", - "license": "CC0-1.0" - }, - "node_modules/hoist-non-react-statics": { - "version": "3.3.2", - "resolved": "https://registry.npmjs.org/hoist-non-react-statics/-/hoist-non-react-statics-3.3.2.tgz", - "integrity": "sha512-/gGivxi8JPKWNm/W0jSmzcMPpfpPLc3dY/6GxhX2hQ9iGj3aDfklV4ET7NjKpSinLpJ5vafa9iiGIEZg10SfBw==", - "license": "BSD-3-Clause", - "dependencies": { - "react-is": "^16.7.0" - } - }, - "node_modules/hoist-non-react-statics/node_modules/react-is": { - "version": "16.13.1", - "resolved": "https://registry.npmjs.org/react-is/-/react-is-16.13.1.tgz", - "integrity": "sha512-24e6ynE2H+OKt4kqsOvNd8kBpV65zoxbA4BVsEOB3ARVWQki/DHzaUoC5KuON/BiccDaCCTZBuOcfZs70kR8bQ==", - "license": "MIT" - }, - "node_modules/ignore": { - "version": "5.3.2", - "resolved": "https://registry.npmjs.org/ignore/-/ignore-5.3.2.tgz", - "integrity": "sha512-hsBTNUqQTDwkWtcdYI2i06Y/nUBEsNEDJKjWdigLvegy8kDuJAS8uRlpkkcQpyEXL0Z/pjDy5HBmMjRCJ2gq+g==", - "dev": true, - "license": "MIT", - "peer": true, - "engines": { - "node": ">= 4" - } - }, - "node_modules/import-fresh": { - "version": "3.3.1", - "resolved": "https://registry.npmjs.org/import-fresh/-/import-fresh-3.3.1.tgz", - "integrity": "sha512-TR3KfrTZTYLPB6jUjfx6MF9WcWrHL9su5TObK4ZkYgBdWKPOFoSoQIdEuTuR82pmtxH2spWG9h6etwfr1pLBqQ==", - "license": "MIT", - "dependencies": { - "parent-module": "^1.0.0", - "resolve-from": "^4.0.0" - }, - "engines": { - "node": ">=6" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/imurmurhash": { - "version": "0.1.4", - "resolved": "https://registry.npmjs.org/imurmurhash/-/imurmurhash-0.1.4.tgz", - "integrity": "sha512-JmXMZ6wuvDmLiHEml9ykzqO6lwFbof0GG4IkcGaENdCRDDmMVnny7s5HsIgHCbaq0w2MyPhDqkhTUgS2LU2PHA==", - "dev": true, - "license": "MIT", - "peer": true, - "engines": { - "node": ">=0.8.19" - } - }, - "node_modules/internal-slot": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/internal-slot/-/internal-slot-1.1.0.tgz", - "integrity": "sha512-4gd7VpWNQNB4UKKCFFVcp1AVv+FMOgs9NKzjHKusc8jTMhd5eL1NqQqOpE0KzMds804/yHlglp3uxgluOqAPLw==", - "dev": true, - "license": "MIT", - "peer": true, - "dependencies": { - "es-errors": "^1.3.0", - "hasown": "^2.0.2", - "side-channel": "^1.1.0" - }, - "engines": { - "node": ">= 0.4" - } - }, - "node_modules/is-alphabetical": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/is-alphabetical/-/is-alphabetical-1.0.4.tgz", - "integrity": "sha512-DwzsA04LQ10FHTZuL0/grVDk4rFoVH1pjAToYwBrHSxcrBIGQuXrQMtD5U1b0U2XVgKZCTLLP8u2Qxqhy3l2Vg==", - "license": "MIT", - "funding": { - "type": "github", - "url": "https://github.com/sponsors/wooorm" - } - }, - "node_modules/is-alphanumerical": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/is-alphanumerical/-/is-alphanumerical-1.0.4.tgz", - "integrity": "sha512-UzoZUr+XfVz3t3v4KyGEniVL9BDRoQtY7tOyrRybkVNjDFWyo1yhXNGrrBTQxp3ib9BLAWs7k2YKBQsFRkZG9A==", - "license": "MIT", - "dependencies": { - "is-alphabetical": "^1.0.0", - "is-decimal": "^1.0.0" - }, - "funding": { - "type": "github", - "url": "https://github.com/sponsors/wooorm" - } - }, - "node_modules/is-array-buffer": { - "version": "3.0.5", - "resolved": "https://registry.npmjs.org/is-array-buffer/-/is-array-buffer-3.0.5.tgz", - "integrity": "sha512-DDfANUiiG2wC1qawP66qlTugJeL5HyzMpfr8lLK+jMQirGzNod0B12cFB/9q838Ru27sBwfw78/rdoU7RERz6A==", - "dev": true, - "license": "MIT", - "peer": true, - "dependencies": { - "call-bind": "^1.0.8", - "call-bound": "^1.0.3", - "get-intrinsic": "^1.2.6" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/is-arrayish": { - "version": "0.2.1", - "resolved": "https://registry.npmjs.org/is-arrayish/-/is-arrayish-0.2.1.tgz", - "integrity": "sha512-zz06S8t0ozoDXMG+ube26zeCTNXcKIPJZJi8hBrF4idCLms4CG9QtK7qBl1boi5ODzFpjswb5JPmHCbMpjaYzg==", - "license": "MIT" - }, - "node_modules/is-async-function": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/is-async-function/-/is-async-function-2.1.1.tgz", - "integrity": "sha512-9dgM/cZBnNvjzaMYHVoxxfPj2QXt22Ev7SuuPrs+xav0ukGB0S6d4ydZdEiM48kLx5kDV+QBPrpVnFyefL8kkQ==", - "dev": true, - "license": "MIT", - "peer": true, - "dependencies": { - "async-function": "^1.0.0", - "call-bound": "^1.0.3", - "get-proto": "^1.0.1", - "has-tostringtag": "^1.0.2", - "safe-regex-test": "^1.1.0" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/is-bigint": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/is-bigint/-/is-bigint-1.1.0.tgz", - "integrity": "sha512-n4ZT37wG78iz03xPRKJrHTdZbe3IicyucEtdRsV5yglwc3GyUfbAfpSeD0FJ41NbUNSt5wbhqfp1fS+BgnvDFQ==", - "dev": true, - "license": "MIT", - "peer": true, - "dependencies": { - "has-bigints": "^1.0.2" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/is-boolean-object": { - "version": "1.2.2", - "resolved": "https://registry.npmjs.org/is-boolean-object/-/is-boolean-object-1.2.2.tgz", - "integrity": "sha512-wa56o2/ElJMYqjCjGkXri7it5FbebW5usLw/nPmCMs5DeZ7eziSYZhSmPRn0txqeW4LnAmQQU7FgqLpsEFKM4A==", - "dev": true, - "license": "MIT", - "peer": true, - "dependencies": { - "call-bound": "^1.0.3", - "has-tostringtag": "^1.0.2" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/is-bun-module": { - "version": "1.3.0", - "resolved": "https://registry.npmjs.org/is-bun-module/-/is-bun-module-1.3.0.tgz", - "integrity": "sha512-DgXeu5UWI0IsMQundYb5UAOzm6G2eVnarJ0byP6Tm55iZNKceD59LNPA2L4VvsScTtHcw0yEkVwSf7PC+QoLSA==", - "dev": true, - "license": "MIT", - "peer": true, - "dependencies": { - "semver": "^7.6.3" - } - }, - "node_modules/is-callable": { - "version": "1.2.7", - "resolved": "https://registry.npmjs.org/is-callable/-/is-callable-1.2.7.tgz", - "integrity": "sha512-1BC0BVFhS/p0qtw6enp8e+8OD0UrK0oFLztSjNzhcKA3WDuJxxAPXzPuPtKkjEY9UUoEWlX/8fgKeu2S8i9JTA==", - "dev": true, - "license": "MIT", - "peer": true, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/is-core-module": { - "version": "2.16.1", - "resolved": "https://registry.npmjs.org/is-core-module/-/is-core-module-2.16.1.tgz", - "integrity": "sha512-UfoeMA6fIJ8wTYFEUjelnaGI67v6+N7qXJEvQuIGa99l4xsCruSYOVSQ0uPANn4dAzm8lkYPaKLrrijLq7x23w==", - "license": "MIT", - "dependencies": { - "hasown": "^2.0.2" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/is-data-view": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/is-data-view/-/is-data-view-1.0.2.tgz", - "integrity": "sha512-RKtWF8pGmS87i2D6gqQu/l7EYRlVdfzemCJN/P3UOs//x1QE7mfhvzHIApBTRf7axvT6DMGwSwBXYCT0nfB9xw==", - "dev": true, - "license": "MIT", - "peer": true, - "dependencies": { - "call-bound": "^1.0.2", - "get-intrinsic": "^1.2.6", - "is-typed-array": "^1.1.13" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/is-date-object": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/is-date-object/-/is-date-object-1.1.0.tgz", - "integrity": "sha512-PwwhEakHVKTdRNVOw+/Gyh0+MzlCl4R6qKvkhuvLtPMggI1WAHt9sOwZxQLSGpUaDnrdyDsomoRgNnCfKNSXXg==", - "dev": true, - "license": "MIT", - "peer": true, - "dependencies": { - "call-bound": "^1.0.2", - "has-tostringtag": "^1.0.2" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/is-decimal": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/is-decimal/-/is-decimal-1.0.4.tgz", - "integrity": "sha512-RGdriMmQQvZ2aqaQq3awNA6dCGtKpiDFcOzrTWrDAT2MiWrKQVPmxLGHl7Y2nNu6led0kEyoX0enY0qXYsv9zw==", - "license": "MIT", - "funding": { - "type": "github", - "url": "https://github.com/sponsors/wooorm" - } - }, - "node_modules/is-extglob": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/is-extglob/-/is-extglob-2.1.1.tgz", - "integrity": "sha512-SbKbANkN603Vi4jEZv49LeVJMn4yGwsbzZworEoyEiutsN3nJYdbO36zfhGJ6QEDpOZIFkDtnq5JRxmvl3jsoQ==", - "dev": true, - "license": "MIT", - "peer": true, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/is-finalizationregistry": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/is-finalizationregistry/-/is-finalizationregistry-1.1.1.tgz", - "integrity": "sha512-1pC6N8qWJbWoPtEjgcL2xyhQOP491EQjeUo3qTKcmV8YSDDJrOepfG8pcC7h/QgnQHYSv0mJ3Z/ZWxmatVrysg==", - "dev": true, - "license": "MIT", - "peer": true, - "dependencies": { - "call-bound": "^1.0.3" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/is-generator-function": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/is-generator-function/-/is-generator-function-1.1.0.tgz", - "integrity": "sha512-nPUB5km40q9e8UfN/Zc24eLlzdSf9OfKByBw9CIdw4H1giPMeA0OIJvbchsCu4npfI2QcMVBsGEBHKZ7wLTWmQ==", - "dev": true, - "license": "MIT", - "peer": true, - "dependencies": { - "call-bound": "^1.0.3", - "get-proto": "^1.0.0", - "has-tostringtag": "^1.0.2", - "safe-regex-test": "^1.1.0" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/is-glob": { - "version": "4.0.3", - "resolved": "https://registry.npmjs.org/is-glob/-/is-glob-4.0.3.tgz", - "integrity": "sha512-xelSayHH36ZgE7ZWhli7pW34hNbNl8Ojv5KVmkJD4hBdD3th8Tfk9vYasLM+mXWOZhFkgZfxhLSnrwRr4elSSg==", - "dev": true, - "license": "MIT", - "peer": true, - "dependencies": { - "is-extglob": "^2.1.1" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/is-hexadecimal": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/is-hexadecimal/-/is-hexadecimal-1.0.4.tgz", - "integrity": "sha512-gyPJuv83bHMpocVYoqof5VDiZveEoGoFL8m3BXNb2VW8Xs+rz9kqO8LOQ5DH6EsuvilT1ApazU0pyl+ytbPtlw==", - "license": "MIT", - "funding": { - "type": "github", - "url": "https://github.com/sponsors/wooorm" - } - }, - "node_modules/is-map": { - "version": "2.0.3", - "resolved": "https://registry.npmjs.org/is-map/-/is-map-2.0.3.tgz", - "integrity": "sha512-1Qed0/Hr2m+YqxnM09CjA2d/i6YZNfF6R2oRAOj36eUdS6qIV/huPJNSEpKbupewFs+ZsJlxsjjPbc0/afW6Lw==", - "dev": true, - "license": "MIT", - "peer": true, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/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, - "license": "MIT", - "peer": true, - "engines": { - "node": ">=0.12.0" - } - }, - "node_modules/is-number-object": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/is-number-object/-/is-number-object-1.1.1.tgz", - "integrity": "sha512-lZhclumE1G6VYD8VHe35wFaIif+CTy5SJIi5+3y4psDgWu4wPDoBhF8NxUOinEc7pHgiTsT6MaBb92rKhhD+Xw==", - "dev": true, - "license": "MIT", - "peer": true, - "dependencies": { - "call-bound": "^1.0.3", - "has-tostringtag": "^1.0.2" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/is-regex": { - "version": "1.2.1", - "resolved": "https://registry.npmjs.org/is-regex/-/is-regex-1.2.1.tgz", - "integrity": "sha512-MjYsKHO5O7mCsmRGxWcLWheFqN9DJ/2TmngvjKXihe6efViPqc274+Fx/4fYj/r03+ESvBdTXK0V6tA3rgez1g==", - "dev": true, - "license": "MIT", - "peer": true, - "dependencies": { - "call-bound": "^1.0.2", - "gopd": "^1.2.0", - "has-tostringtag": "^1.0.2", - "hasown": "^2.0.2" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/is-set": { - "version": "2.0.3", - "resolved": "https://registry.npmjs.org/is-set/-/is-set-2.0.3.tgz", - "integrity": "sha512-iPAjerrse27/ygGLxw+EBR9agv9Y6uLeYVJMu+QNCoouJ1/1ri0mGrcWpfCqFZuzzx3WjtwxG098X+n4OuRkPg==", - "dev": true, - "license": "MIT", - "peer": true, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/is-shared-array-buffer": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/is-shared-array-buffer/-/is-shared-array-buffer-1.0.4.tgz", - "integrity": "sha512-ISWac8drv4ZGfwKl5slpHG9OwPNty4jOWPRIhBpxOoD+hqITiwuipOQ2bNthAzwA3B4fIjO4Nln74N0S9byq8A==", - "dev": true, - "license": "MIT", - "peer": true, - "dependencies": { - "call-bound": "^1.0.3" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/is-string": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/is-string/-/is-string-1.1.1.tgz", - "integrity": "sha512-BtEeSsoaQjlSPBemMQIrY1MY0uM6vnS1g5fmufYOtnxLGUZM2178PKbhsk7Ffv58IX+ZtcvoGwccYsh0PglkAA==", - "dev": true, - "license": "MIT", - "peer": true, - "dependencies": { - "call-bound": "^1.0.3", - "has-tostringtag": "^1.0.2" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/is-symbol": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/is-symbol/-/is-symbol-1.1.1.tgz", - "integrity": "sha512-9gGx6GTtCQM73BgmHQXfDmLtfjjTUDSyoxTCbp5WtoixAhfgsDirWIcVQ/IHpvI5Vgd5i/J5F7B9cN/WlVbC/w==", - "dev": true, - "license": "MIT", - "peer": true, - "dependencies": { - "call-bound": "^1.0.2", - "has-symbols": "^1.1.0", - "safe-regex-test": "^1.1.0" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/is-typed-array": { - "version": "1.1.15", - "resolved": "https://registry.npmjs.org/is-typed-array/-/is-typed-array-1.1.15.tgz", - "integrity": "sha512-p3EcsicXjit7SaskXHs1hA91QxgTw46Fv6EFKKGS5DRFLD8yKnohjF3hxoju94b/OcMZoQukzpPpBE9uLVKzgQ==", - "dev": true, - "license": "MIT", - "peer": true, - "dependencies": { - "which-typed-array": "^1.1.16" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/is-weakmap": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/is-weakmap/-/is-weakmap-2.0.2.tgz", - "integrity": "sha512-K5pXYOm9wqY1RgjpL3YTkF39tni1XajUIkawTLUo9EZEVUFga5gSQJF8nNS7ZwJQ02y+1YCNYcMh+HIf1ZqE+w==", - "dev": true, - "license": "MIT", - "peer": true, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/is-weakref": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/is-weakref/-/is-weakref-1.1.1.tgz", - "integrity": "sha512-6i9mGWSlqzNMEqpCp93KwRS1uUOodk2OJ6b+sq7ZPDSy2WuI5NFIxp/254TytR8ftefexkWn5xNiHUNpPOfSew==", - "dev": true, - "license": "MIT", - "peer": true, - "dependencies": { - "call-bound": "^1.0.3" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/is-weakset": { - "version": "2.0.4", - "resolved": "https://registry.npmjs.org/is-weakset/-/is-weakset-2.0.4.tgz", - "integrity": "sha512-mfcwb6IzQyOKTs84CQMrOwW4gQcaTOAWJ0zzJCl2WSPDrWk/OzDaImWFH3djXhb24g4eudZfLRozAvPGw4d9hQ==", - "dev": true, - "license": "MIT", - "peer": true, - "dependencies": { - "call-bound": "^1.0.3", - "get-intrinsic": "^1.2.6" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/isarray": { - "version": "2.0.5", - "resolved": "https://registry.npmjs.org/isarray/-/isarray-2.0.5.tgz", - "integrity": "sha512-xHjhDr3cNBK0BzdUJSPXZntQUx/mwMS5Rw4A7lPJ90XGAO6ISP/ePDNuo0vhqOZU+UD5JoodwCAAoZQd3FeAKw==", - "dev": true, - "license": "MIT", - "peer": true - }, - "node_modules/isexe": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/isexe/-/isexe-2.0.0.tgz", - "integrity": "sha512-RHxMLp9lnKHGHRng9QFhRCMbYAcVpn69smSGcq3f36xjgVVWThj4qqLbTLlq7Ssj8B+fIQ1EuCEGI2lKsyQeIw==", - "dev": true, - "license": "ISC", - "peer": true - }, - "node_modules/iterator.prototype": { - "version": "1.1.5", - "resolved": "https://registry.npmjs.org/iterator.prototype/-/iterator.prototype-1.1.5.tgz", - "integrity": "sha512-H0dkQoCa3b2VEeKQBOxFph+JAbcrQdE7KC0UkqwpLmv2EC4P41QXP+rqo9wYodACiG5/WM5s9oDApTU8utwj9g==", - "dev": true, - "license": "MIT", - "peer": true, - "dependencies": { - "define-data-property": "^1.1.4", - "es-object-atoms": "^1.0.0", - "get-intrinsic": "^1.2.6", - "get-proto": "^1.0.0", - "has-symbols": "^1.1.0", - "set-function-name": "^2.0.2" - }, - "engines": { - "node": ">= 0.4" - } - }, - "node_modules/js-tokens": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/js-tokens/-/js-tokens-4.0.0.tgz", - "integrity": "sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ==", - "license": "MIT" - }, - "node_modules/js-yaml": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-4.1.0.tgz", - "integrity": "sha512-wpxZs9NoxZaJESJGIZTyDEaYpl0FKSA+FB9aJiyemKhMwkxQg63h4T1KJgUGHpTqPDNRcmmYLugrRjJlBtWvRA==", - "dev": true, - "license": "MIT", - "peer": true, - "dependencies": { - "argparse": "^2.0.1" - }, - "bin": { - "js-yaml": "bin/js-yaml.js" - } - }, - "node_modules/jsdoc-type-pratt-parser": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/jsdoc-type-pratt-parser/-/jsdoc-type-pratt-parser-4.1.0.tgz", - "integrity": "sha512-Hicd6JK5Njt2QB6XYFS7ok9e37O8AYk3jTcppG4YVQnYjOemymvTcmc7OWsmq/Qqj5TdRFO5/x/tIPmBeRtGHg==", - "dev": true, - "license": "MIT", - "peer": true, - "engines": { - "node": ">=12.0.0" - } - }, - "node_modules/jsesc": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/jsesc/-/jsesc-3.1.0.tgz", - "integrity": "sha512-/sM3dO2FOzXjKQhJuo0Q173wf2KOo8t4I8vHy6lF9poUp7bKT0/NHE8fPX23PwfhnykfqnC2xRxOnVw5XuGIaA==", - "license": "MIT", - "bin": { - "jsesc": "bin/jsesc" - }, - "engines": { - "node": ">=6" - } - }, - "node_modules/json-buffer": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/json-buffer/-/json-buffer-3.0.1.tgz", - "integrity": "sha512-4bV5BfR2mqfQTJm+V5tPPdf+ZpuhiIvTuAB5g8kcrXOZpTT/QwwVRWBywX1ozr6lEuPdbHxwaJlm9G6mI2sfSQ==", - "dev": true, - "license": "MIT", - "peer": true - }, - "node_modules/json-parse-even-better-errors": { - "version": "2.3.1", - "resolved": "https://registry.npmjs.org/json-parse-even-better-errors/-/json-parse-even-better-errors-2.3.1.tgz", - "integrity": "sha512-xyFwyhro/JEof6Ghe2iz2NcXoj2sloNsWr/XsERDK/oiPCfaNhl5ONfp+jQdAZRQQ0IJWNzH9zIZF7li91kh2w==", - "license": "MIT" - }, - "node_modules/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, - "license": "MIT", - "peer": true - }, - "node_modules/json-stable-stringify-without-jsonify": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/json-stable-stringify-without-jsonify/-/json-stable-stringify-without-jsonify-1.0.1.tgz", - "integrity": "sha512-Bdboy+l7tA3OGW6FjyFHWkP5LuByj1Tk33Ljyq0axyzdk9//JSi2u3fP1QSmd1KNwq6VOKYGlAu87CisVir6Pw==", - "dev": true, - "license": "MIT", - "peer": true - }, - "node_modules/json2mq": { - "version": "0.2.0", - "resolved": "https://registry.npmjs.org/json2mq/-/json2mq-0.2.0.tgz", - "integrity": "sha512-SzoRg7ux5DWTII9J2qkrZrqV1gt+rTaoufMxEzXbS26Uid0NwaJd123HcoB80TgubEppxxIGdNxCx50fEoEWQA==", - "license": "MIT", - "dependencies": { - "string-convert": "^0.2.0" - } - }, - "node_modules/json5": { - "version": "2.2.3", - "resolved": "https://registry.npmjs.org/json5/-/json5-2.2.3.tgz", - "integrity": "sha512-XmOWe7eyHYH14cLdVPoyg+GOH3rYX++KpzrylJwSW98t3Nk+U8XOl8FWKOgwtzdb8lXGf6zYwDUzeHMWfxasyg==", - "dev": true, - "license": "MIT", - "bin": { - "json5": "lib/cli.js" - }, - "engines": { - "node": ">=6" - } - }, - "node_modules/jsx-ast-utils": { - "version": "3.3.5", - "resolved": "https://registry.npmjs.org/jsx-ast-utils/-/jsx-ast-utils-3.3.5.tgz", - "integrity": "sha512-ZZow9HBI5O6EPgSJLUb8n2NKgmVWTwCvHGwFuJlMjvLFqlGG6pjirPhtdsseaLZjSibD8eegzmYpUZwoIlj2cQ==", - "dev": true, - "license": "MIT", - "peer": true, - "dependencies": { - "array-includes": "^3.1.6", - "array.prototype.flat": "^1.3.1", - "object.assign": "^4.1.4", - "object.values": "^1.1.6" - }, - "engines": { - "node": ">=4.0" - } - }, - "node_modules/keyv": { - "version": "4.5.4", - "resolved": "https://registry.npmjs.org/keyv/-/keyv-4.5.4.tgz", - "integrity": "sha512-oxVHkHR/EJf2CNXnWxRLW6mg7JyCCUcG0DtEGmL2ctUo1PNTin1PUil+r/+4r5MpVgC/fn1kjsx7mjSujKqIpw==", - "dev": true, - "license": "MIT", - "peer": true, - "dependencies": { - "json-buffer": "3.0.1" - } - }, - "node_modules/levn": { - "version": "0.4.1", - "resolved": "https://registry.npmjs.org/levn/-/levn-0.4.1.tgz", - "integrity": "sha512-+bT2uH4E5LGE7h/n3evcS/sQlJXCpIp6ym8OWJ5eV6+67Dsql/LaaT7qJBAt2rzfoa/5QBGBhxDix1dMt2kQKQ==", - "dev": true, - "license": "MIT", - "peer": true, - "dependencies": { - "prelude-ls": "^1.2.1", - "type-check": "~0.4.0" - }, - "engines": { - "node": ">= 0.8.0" - } - }, - "node_modules/lines-and-columns": { - "version": "1.2.4", - "resolved": "https://registry.npmjs.org/lines-and-columns/-/lines-and-columns-1.2.4.tgz", - "integrity": "sha512-7ylylesZQ/PV29jhEDl3Ufjo6ZX7gCqJr5F7PKrqc93v7fzSymt1BpwEU8nAUXs8qzzvqhbjhK5QZg6Mt/HkBg==", - "license": "MIT" - }, - "node_modules/locate-path": { - "version": "6.0.0", - "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-6.0.0.tgz", - "integrity": "sha512-iPZK6eYjbxRu3uB4/WZ3EsEIMJFMqAoopl3R+zuq0UjcAm/MO6KCweDgPfP3elTztoKP3KtnVHxTn2NHBSDVUw==", - "dev": true, - "license": "MIT", - "peer": true, - "dependencies": { - "p-locate": "^5.0.0" - }, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/lodash.merge": { - "version": "4.6.2", - "resolved": "https://registry.npmjs.org/lodash.merge/-/lodash.merge-4.6.2.tgz", - "integrity": "sha512-0KpjqXRVvrYyCsX1swR/XTK0va6VQkQM6MNo7PqW77ByjAhoARA8EfrP1N4+KlKj8YS0ZUCtRT/YUuhyYDujIQ==", - "dev": true, - "license": "MIT", - "peer": true - }, - "node_modules/loose-envify": { - "version": "1.4.0", - "resolved": "https://registry.npmjs.org/loose-envify/-/loose-envify-1.4.0.tgz", - "integrity": "sha512-lyuxPGr/Wfhrlem2CL/UcnUc1zcqKAImBDzukY7Y5F/yQiNdko6+fRLevlw1HgMySw7f611UIY408EtxRSoK3Q==", - "license": "MIT", - "dependencies": { - "js-tokens": "^3.0.0 || ^4.0.0" - }, - "bin": { - "loose-envify": "cli.js" - } - }, - "node_modules/lowlight": { - "version": "1.20.0", - "resolved": "https://registry.npmjs.org/lowlight/-/lowlight-1.20.0.tgz", - "integrity": "sha512-8Ktj+prEb1RoCPkEOrPMYUN/nCggB7qAWe3a7OpMjWQkh3l2RD5wKRQ+o8Q8YuI9RG/xs95waaI/E6ym/7NsTw==", - "license": "MIT", - "dependencies": { - "fault": "^1.0.0", - "highlight.js": "~10.7.0" - }, - "funding": { - "type": "github", - "url": "https://github.com/sponsors/wooorm" - } - }, - "node_modules/lowlight/node_modules/highlight.js": { - "version": "10.7.3", - "resolved": "https://registry.npmjs.org/highlight.js/-/highlight.js-10.7.3.tgz", - "integrity": "sha512-tzcUFauisWKNHaRkN4Wjl/ZA07gENAjFl3J/c480dprkGTg5EQstgaNFqBfUqCq54kZRIEcreTsAgF/m2quD7A==", - "license": "BSD-3-Clause", - "engines": { - "node": "*" - } - }, - "node_modules/lru-cache": { - "version": "5.1.1", - "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-5.1.1.tgz", - "integrity": "sha512-KpNARQA3Iwv+jTA0utUVVbrh+Jlrr1Fv0e56GGzAFOXN7dk/FviaDW8LHmK52DlcH4WP2n6gI8vN1aesBFgo9w==", - "dev": true, - "license": "ISC", - "dependencies": { - "yallist": "^3.0.2" - } - }, - "node_modules/math-intrinsics": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/math-intrinsics/-/math-intrinsics-1.1.0.tgz", - "integrity": "sha512-/IXtbwEk5HTPyEwyKX6hGkYXxM9nbj64B+ilVJnC/R6B0pH5G4V3b0pVbL7DBj4tkhBAppbQUlf6F6Xl9LHu1g==", - "license": "MIT", - "engines": { - "node": ">= 0.4" - } - }, - "node_modules/merge2": { - "version": "1.4.1", - "resolved": "https://registry.npmjs.org/merge2/-/merge2-1.4.1.tgz", - "integrity": "sha512-8q7VEgMJW4J8tcfVPy8g09NcQwZdbwFEqhe/WZkoIzjn/3TGDwtOCYtXGxA3O8tPzpczCCDgv+P2P5y00ZJOOg==", - "dev": true, - "license": "MIT", - "peer": true, - "engines": { - "node": ">= 8" - } - }, - "node_modules/micromatch": { - "version": "4.0.8", - "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-4.0.8.tgz", - "integrity": "sha512-PXwfBhYu0hBCPw8Dn0E+WDYb7af3dSLVWKi3HGv84IdF4TyFoC0ysxFd0Goxw7nSv4T/PzEJQxsYsEiFCKo2BA==", - "dev": true, - "license": "MIT", - "peer": true, - "dependencies": { - "braces": "^3.0.3", - "picomatch": "^2.3.1" - }, - "engines": { - "node": ">=8.6" - } - }, - "node_modules/micromatch/node_modules/picomatch": { - "version": "2.3.1", - "resolved": "https://registry.npmjs.org/picomatch/-/picomatch-2.3.1.tgz", - "integrity": "sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA==", - "dev": true, - "license": "MIT", - "peer": true, - "engines": { - "node": ">=8.6" - }, - "funding": { - "url": "https://github.com/sponsors/jonschlinkert" - } - }, - "node_modules/mime-db": { - "version": "1.52.0", - "resolved": "https://registry.npmjs.org/mime-db/-/mime-db-1.52.0.tgz", - "integrity": "sha512-sPU4uV7dYlvtWJxwwxHD0PuihVNiE7TyAbQ5SWxDCB9mUYvOgroQOwYQQOKPJ8CIbE+1ETVlOoK1UC2nU3gYvg==", - "license": "MIT", - "engines": { - "node": ">= 0.6" - } - }, - "node_modules/mime-types": { - "version": "2.1.35", - "resolved": "https://registry.npmjs.org/mime-types/-/mime-types-2.1.35.tgz", - "integrity": "sha512-ZDY+bPm5zTTF+YpCrAU9nK0UgICYPT0QtT1NZWFv4s++TNkcgVaT0g6+4R2uI4MjQjzysHB1zxuWL50hzaeXiw==", - "license": "MIT", - "dependencies": { - "mime-db": "1.52.0" - }, - "engines": { - "node": ">= 0.6" - } - }, - "node_modules/minimatch": { - "version": "9.0.5", - "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-9.0.5.tgz", - "integrity": "sha512-G6T0ZX48xgozx7587koeX9Ys2NYy6Gmv//P89sEte9V9whIapMNF4idKxnW2QtCcLiTWlb/wfCabAtAFWhhBow==", - "dev": true, - "license": "ISC", - "peer": true, - "dependencies": { - "brace-expansion": "^2.0.1" - }, - "engines": { - "node": ">=16 || 14 >=14.17" - }, - "funding": { - "url": "https://github.com/sponsors/isaacs" - } - }, - "node_modules/minimist": { - "version": "1.2.8", - "resolved": "https://registry.npmjs.org/minimist/-/minimist-1.2.8.tgz", - "integrity": "sha512-2yyAR8qBkN3YuheJanUpWC5U3bb5osDywNB8RzDVlDwDHbocAJveqqj1u8+SVD7jkWT4yvsHCpWqqWqAxb0zCA==", - "dev": true, - "license": "MIT", - "peer": true, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/monaco-editor": { - "version": "0.52.2", - "resolved": "https://registry.npmjs.org/monaco-editor/-/monaco-editor-0.52.2.tgz", - "integrity": "sha512-GEQWEZmfkOGLdd3XK8ryrfWz3AIP8YymVXiPHEdewrUq7mh0qrKrfHLNCXcbB6sTnMLnOZ3ztSiKcciFUkIJwQ==", - "license": "MIT" - }, - "node_modules/ms": { - "version": "2.1.3", - "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.3.tgz", - "integrity": "sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA==", - "license": "MIT" - }, - "node_modules/nanoid": { - "version": "3.3.11", - "resolved": "https://registry.npmjs.org/nanoid/-/nanoid-3.3.11.tgz", - "integrity": "sha512-N8SpfPUnUp1bK+PMYW8qSWdl9U+wwNWI4QKxOYDy9JAro3WMX7p2OeVRF9v+347pnakNevPmiHhNmZ2HbFA76w==", - "dev": true, - "funding": [ - { - "type": "github", - "url": "https://github.com/sponsors/ai" - } - ], - "license": "MIT", - "bin": { - "nanoid": "bin/nanoid.cjs" - }, - "engines": { - "node": "^10 || ^12 || ^13.7 || ^14 || >=15.0.1" - } - }, - "node_modules/natural-compare": { - "version": "1.4.0", - "resolved": "https://registry.npmjs.org/natural-compare/-/natural-compare-1.4.0.tgz", - "integrity": "sha512-OWND8ei3VtNC9h7V60qff3SVobHr996CTwgxubgyQYEpg290h9J0buyECNNJexkFm5sOajh5G116RYA1c8ZMSw==", - "dev": true, - "license": "MIT", - "peer": true - }, - "node_modules/node-releases": { - "version": "2.0.19", - "resolved": "https://registry.npmjs.org/node-releases/-/node-releases-2.0.19.tgz", - "integrity": "sha512-xxOWJsBKtzAq7DY0J+DTzuz58K8e7sJbdgwkbMWQe8UYB6ekmsQ45q0M/tJDsGaZmbC+l7n57UV8Hl5tHxO9uw==", - "dev": true, - "license": "MIT" - }, - "node_modules/object-assign": { - "version": "4.1.1", - "resolved": "https://registry.npmjs.org/object-assign/-/object-assign-4.1.1.tgz", - "integrity": "sha512-rJgTQnkUnH1sFw8yT6VSU3zD3sWmu6sZhIseY8VX+GRu3P6F7Fu+JNDoXfklElbLJSnc3FUQHVe4cU5hj+BcUg==", - "license": "MIT", - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/object-inspect": { - "version": "1.13.4", - "resolved": "https://registry.npmjs.org/object-inspect/-/object-inspect-1.13.4.tgz", - "integrity": "sha512-W67iLl4J2EXEGTbfeHCffrjDfitvLANg0UlX3wFUUSTx92KXRFegMHUVgSqE+wvhAbi4WqjGg9czysTV2Epbew==", - "dev": true, - "license": "MIT", - "peer": true, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/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, - "license": "MIT", - "peer": true, - "engines": { - "node": ">= 0.4" - } - }, - "node_modules/object.assign": { - "version": "4.1.7", - "resolved": "https://registry.npmjs.org/object.assign/-/object.assign-4.1.7.tgz", - "integrity": "sha512-nK28WOo+QIjBkDduTINE4JkF/UJJKyf2EJxvJKfblDpyg0Q+pkOHNTL0Qwy6NP6FhE/EnzV73BxxqcJaXY9anw==", - "dev": true, - "license": "MIT", - "peer": true, - "dependencies": { - "call-bind": "^1.0.8", - "call-bound": "^1.0.3", - "define-properties": "^1.2.1", - "es-object-atoms": "^1.0.0", - "has-symbols": "^1.1.0", - "object-keys": "^1.1.1" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/object.entries": { - "version": "1.1.8", - "resolved": "https://registry.npmjs.org/object.entries/-/object.entries-1.1.8.tgz", - "integrity": "sha512-cmopxi8VwRIAw/fkijJohSfpef5PdN0pMQJN6VC/ZKvn0LIknWD8KtgY6KlQdEc4tIjcQ3HxSMmnvtzIscdaYQ==", - "dev": true, - "license": "MIT", - "peer": true, - "dependencies": { - "call-bind": "^1.0.7", - "define-properties": "^1.2.1", - "es-object-atoms": "^1.0.0" - }, - "engines": { - "node": ">= 0.4" - } - }, - "node_modules/object.fromentries": { - "version": "2.0.8", - "resolved": "https://registry.npmjs.org/object.fromentries/-/object.fromentries-2.0.8.tgz", - "integrity": "sha512-k6E21FzySsSK5a21KRADBd/NGneRegFO5pLHfdQLpRDETUNJueLXs3WCzyQ3tFRDYgbq3KHGXfTbi2bs8WQ6rQ==", - "dev": true, - "license": "MIT", - "peer": true, - "dependencies": { - "call-bind": "^1.0.7", - "define-properties": "^1.2.1", - "es-abstract": "^1.23.2", - "es-object-atoms": "^1.0.0" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/object.groupby": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/object.groupby/-/object.groupby-1.0.3.tgz", - "integrity": "sha512-+Lhy3TQTuzXI5hevh8sBGqbmurHbbIjAi0Z4S63nthVLmLxfbj4T54a4CfZrXIrt9iP4mVAPYMo/v99taj3wjQ==", - "dev": true, - "license": "MIT", - "peer": true, - "dependencies": { - "call-bind": "^1.0.7", - "define-properties": "^1.2.1", - "es-abstract": "^1.23.2" - }, - "engines": { - "node": ">= 0.4" - } - }, - "node_modules/object.values": { - "version": "1.2.1", - "resolved": "https://registry.npmjs.org/object.values/-/object.values-1.2.1.tgz", - "integrity": "sha512-gXah6aZrcUxjWg2zR2MwouP2eHlCBzdV4pygudehaKXSGW4v2AsRQUK+lwwXhii6KFZcunEnmSUoYp5CXibxtA==", - "dev": true, - "license": "MIT", - "peer": true, - "dependencies": { - "call-bind": "^1.0.8", - "call-bound": "^1.0.3", - "define-properties": "^1.2.1", - "es-object-atoms": "^1.0.0" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/optionator": { - "version": "0.9.4", - "resolved": "https://registry.npmjs.org/optionator/-/optionator-0.9.4.tgz", - "integrity": "sha512-6IpQ7mKUxRcZNLIObR0hz7lxsapSSIYNZJwXPGeF0mTVqGKFIXj1DQcMoT22S3ROcLyY/rz0PWaWZ9ayWmad9g==", - "dev": true, - "license": "MIT", - "peer": true, - "dependencies": { - "deep-is": "^0.1.3", - "fast-levenshtein": "^2.0.6", - "levn": "^0.4.1", - "prelude-ls": "^1.2.1", - "type-check": "^0.4.0", - "word-wrap": "^1.2.5" - }, - "engines": { - "node": ">= 0.8.0" - } - }, - "node_modules/own-keys": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/own-keys/-/own-keys-1.0.1.tgz", - "integrity": "sha512-qFOyK5PjiWZd+QQIh+1jhdb9LpxTF0qs7Pm8o5QHYZ0M3vKqSqzsZaEB6oWlxZ+q2sJBMI/Ktgd2N5ZwQoRHfg==", - "dev": true, - "license": "MIT", - "peer": true, - "dependencies": { - "get-intrinsic": "^1.2.6", - "object-keys": "^1.1.1", - "safe-push-apply": "^1.0.0" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/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, - "license": "MIT", - "peer": true, - "dependencies": { - "yocto-queue": "^0.1.0" - }, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/p-locate": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-5.0.0.tgz", - "integrity": "sha512-LaNjtRWUBY++zB5nE/NwcaoMylSPk+S+ZHNB1TzdbMJMny6dynpAGt7X/tl/QYq3TIeE6nxHppbo2LGymrG5Pw==", - "dev": true, - "license": "MIT", - "peer": true, - "dependencies": { - "p-limit": "^3.0.2" - }, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/parent-module": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/parent-module/-/parent-module-1.0.1.tgz", - "integrity": "sha512-GQ2EWRpQV8/o+Aw8YqtfZZPfNRWZYkbidE9k5rpl/hC3vtHHBfGm2Ifi6qWV+coDGkrUKZAxE3Lot5kcsRlh+g==", - "license": "MIT", - "dependencies": { - "callsites": "^3.0.0" - }, - "engines": { - "node": ">=6" - } - }, - "node_modules/parse-entities": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/parse-entities/-/parse-entities-2.0.0.tgz", - "integrity": "sha512-kkywGpCcRYhqQIchaWqZ875wzpS/bMKhz5HnN3p7wveJTkTtyAB/AlnS0f8DFSqYW1T82t6yEAkEcB+A1I3MbQ==", - "license": "MIT", - "dependencies": { - "character-entities": "^1.0.0", - "character-entities-legacy": "^1.0.0", - "character-reference-invalid": "^1.0.0", - "is-alphanumerical": "^1.0.0", - "is-decimal": "^1.0.0", - "is-hexadecimal": "^1.0.0" - }, - "funding": { - "type": "github", - "url": "https://github.com/sponsors/wooorm" - } - }, - "node_modules/parse-imports": { - "version": "2.2.1", - "resolved": "https://registry.npmjs.org/parse-imports/-/parse-imports-2.2.1.tgz", - "integrity": "sha512-OL/zLggRp8mFhKL0rNORUTR4yBYujK/uU+xZL+/0Rgm2QE4nLO9v8PzEweSJEbMGKmDRjJE4R3IMJlL2di4JeQ==", - "dev": true, - "license": "Apache-2.0 AND MIT", - "peer": true, - "dependencies": { - "es-module-lexer": "^1.5.3", - "slashes": "^3.0.12" - }, - "engines": { - "node": ">= 18" - } - }, - "node_modules/parse-json": { - "version": "5.2.0", - "resolved": "https://registry.npmjs.org/parse-json/-/parse-json-5.2.0.tgz", - "integrity": "sha512-ayCKvm/phCGxOkYRSCM82iDwct8/EonSEgCSxWxD7ve6jHggsFl4fZVQBPRNgQoKiuV/odhFrGzQXZwbifC8Rg==", - "license": "MIT", - "dependencies": { - "@babel/code-frame": "^7.0.0", - "error-ex": "^1.3.1", - "json-parse-even-better-errors": "^2.3.0", - "lines-and-columns": "^1.1.6" - }, - "engines": { - "node": ">=8" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/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, - "license": "MIT", - "peer": true, - "engines": { - "node": ">=8" - } - }, - "node_modules/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, - "license": "MIT", - "peer": true, - "engines": { - "node": ">=8" - } - }, - "node_modules/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==", - "license": "MIT" - }, - "node_modules/path-type": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/path-type/-/path-type-4.0.0.tgz", - "integrity": "sha512-gDKb8aZMDeD/tZWs9P6+q0J9Mwkdl6xMV8TjnGP3qJVJ06bdMgkbBlLU8IdfOsIsFz2BW1rNVT3XuNEl8zPAvw==", - "license": "MIT", - "engines": { - "node": ">=8" - } - }, - "node_modules/picocolors": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/picocolors/-/picocolors-1.1.1.tgz", - "integrity": "sha512-xceH2snhtb5M9liqDsmEw56le376mTZkEX/jEb/RxNFyegNul7eNslCXP9FDj/Lcu0X8KEyMceP2ntpaHrDEVA==", - "license": "ISC" - }, - "node_modules/picomatch": { - "version": "4.0.2", - "resolved": "https://registry.npmjs.org/picomatch/-/picomatch-4.0.2.tgz", - "integrity": "sha512-M7BAV6Rlcy5u+m6oPhAPFgJTzAioX/6B0DxyvDlo9l8+T3nLKbrczg2WLUyzd45L8RqfUMyGPzekbMvX2Ldkwg==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=12" - }, - "funding": { - "url": "https://github.com/sponsors/jonschlinkert" - } - }, - "node_modules/possible-typed-array-names": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/possible-typed-array-names/-/possible-typed-array-names-1.1.0.tgz", - "integrity": "sha512-/+5VFTchJDoVj3bhoqi6UeymcD00DAwb1nJwamzPvHEszJ4FpF6SNNbUbOS8yI56qHzdV8eK0qEfOSiodkTdxg==", - "dev": true, - "license": "MIT", - "peer": true, - "engines": { - "node": ">= 0.4" - } - }, - "node_modules/postcss": { - "version": "8.5.3", - "resolved": "https://registry.npmjs.org/postcss/-/postcss-8.5.3.tgz", - "integrity": "sha512-dle9A3yYxlBSrt8Fu+IpjGT8SY8hN0mlaA6GY8t0P5PjIOZemULz/E2Bnm/2dcUOena75OTNkHI76uZBNUUq3A==", - "dev": true, - "funding": [ - { - "type": "opencollective", - "url": "https://opencollective.com/postcss/" - }, - { - "type": "tidelift", - "url": "https://tidelift.com/funding/github/npm/postcss" - }, - { - "type": "github", - "url": "https://github.com/sponsors/ai" - } - ], - "license": "MIT", - "dependencies": { - "nanoid": "^3.3.8", - "picocolors": "^1.1.1", - "source-map-js": "^1.2.1" - }, - "engines": { - "node": "^10 || ^12 || >=14" - } - }, - "node_modules/prelude-ls": { - "version": "1.2.1", - "resolved": "https://registry.npmjs.org/prelude-ls/-/prelude-ls-1.2.1.tgz", - "integrity": "sha512-vkcDPrRZo1QZLbn5RLGPpg/WmIQ65qoWWhcGKf/b5eplkkarX0m9z8ppCat4mlOqUsWpyNuYgO3VRyrYHSzX5g==", - "dev": true, - "license": "MIT", - "peer": true, - "engines": { - "node": ">= 0.8.0" - } - }, - "node_modules/prismjs": { - "version": "1.30.0", - "resolved": "https://registry.npmjs.org/prismjs/-/prismjs-1.30.0.tgz", - "integrity": "sha512-DEvV2ZF2r2/63V+tK8hQvrR2ZGn10srHbXviTlcv7Kpzw8jWiNTqbVgjO3IY8RxrrOUF8VPMQQFysYYYv0YZxw==", - "license": "MIT", - "engines": { - "node": ">=6" - } - }, - "node_modules/prop-types": { - "version": "15.8.1", - "resolved": "https://registry.npmjs.org/prop-types/-/prop-types-15.8.1.tgz", - "integrity": "sha512-oj87CgZICdulUohogVAR7AjlC0327U4el4L6eAvOqCeudMDVU0NThNaV+b9Df4dXgSP1gXMTnPdhfe/2qDH5cg==", - "license": "MIT", - "dependencies": { - "loose-envify": "^1.4.0", - "object-assign": "^4.1.1", - "react-is": "^16.13.1" - } - }, - "node_modules/prop-types/node_modules/react-is": { - "version": "16.13.1", - "resolved": "https://registry.npmjs.org/react-is/-/react-is-16.13.1.tgz", - "integrity": "sha512-24e6ynE2H+OKt4kqsOvNd8kBpV65zoxbA4BVsEOB3ARVWQki/DHzaUoC5KuON/BiccDaCCTZBuOcfZs70kR8bQ==", - "license": "MIT" - }, - "node_modules/property-information": { - "version": "5.6.0", - "resolved": "https://registry.npmjs.org/property-information/-/property-information-5.6.0.tgz", - "integrity": "sha512-YUHSPk+A30YPv+0Qf8i9Mbfe/C0hdPXk1s1jPVToV8pk8BQtpw10ct89Eo7OWkutrwqvT0eicAxlOg3dOAu8JA==", - "license": "MIT", - "dependencies": { - "xtend": "^4.0.0" - }, - "funding": { - "type": "github", - "url": "https://github.com/sponsors/wooorm" - } - }, - "node_modules/proxy-from-env": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/proxy-from-env/-/proxy-from-env-1.1.0.tgz", - "integrity": "sha512-D+zkORCbA9f1tdWRK0RaCR3GPv50cMxcrz4X8k5LTSUD1Dkw47mKJEZQNunItRTkWwgtaUSo1RVFRIG9ZXiFYg==", - "license": "MIT" - }, - "node_modules/punycode": { - "version": "2.3.1", - "resolved": "https://registry.npmjs.org/punycode/-/punycode-2.3.1.tgz", - "integrity": "sha512-vYt7UD1U9Wg6138shLtLOvdAu+8DsC/ilFtEVHcH+wydcSpNE20AfSOduf6MkRFahL5FY7X1oU7nKVZFtfq8Fg==", - "dev": true, - "license": "MIT", - "peer": true, - "engines": { - "node": ">=6" - } - }, - "node_modules/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, - "funding": [ - { - "type": "github", - "url": "https://github.com/sponsors/feross" - }, - { - "type": "patreon", - "url": "https://www.patreon.com/feross" - }, - { - "type": "consulting", - "url": "https://feross.org/support" - } - ], - "license": "MIT", - "peer": true - }, - "node_modules/rc-cascader": { - "version": "3.33.1", - "resolved": "https://registry.npmjs.org/rc-cascader/-/rc-cascader-3.33.1.tgz", - "integrity": "sha512-Kyl4EJ7ZfCBuidmZVieegcbFw0RcU5bHHSbtEdmuLYd0fYHCAiYKZ6zon7fWAVyC6rWWOOib0XKdTSf7ElC9rg==", - "license": "MIT", - "dependencies": { - "@babel/runtime": "^7.25.7", - "classnames": "^2.3.1", - "rc-select": "~14.16.2", - "rc-tree": "~5.13.0", - "rc-util": "^5.43.0" - }, - "peerDependencies": { - "react": ">=16.9.0", - "react-dom": ">=16.9.0" - } - }, - "node_modules/rc-checkbox": { - "version": "3.5.0", - "resolved": "https://registry.npmjs.org/rc-checkbox/-/rc-checkbox-3.5.0.tgz", - "integrity": "sha512-aOAQc3E98HteIIsSqm6Xk2FPKIER6+5vyEFMZfo73TqM+VVAIqOkHoPjgKLqSNtVLWScoaM7vY2ZrGEheI79yg==", - "license": "MIT", - "dependencies": { - "@babel/runtime": "^7.10.1", - "classnames": "^2.3.2", - "rc-util": "^5.25.2" - }, - "peerDependencies": { - "react": ">=16.9.0", - "react-dom": ">=16.9.0" - } - }, - "node_modules/rc-collapse": { - "version": "3.9.0", - "resolved": "https://registry.npmjs.org/rc-collapse/-/rc-collapse-3.9.0.tgz", - "integrity": "sha512-swDdz4QZ4dFTo4RAUMLL50qP0EY62N2kvmk2We5xYdRwcRn8WcYtuetCJpwpaCbUfUt5+huLpVxhvmnK+PHrkA==", - "license": "MIT", - "dependencies": { - "@babel/runtime": "^7.10.1", - "classnames": "2.x", - "rc-motion": "^2.3.4", - "rc-util": "^5.27.0" - }, - "peerDependencies": { - "react": ">=16.9.0", - "react-dom": ">=16.9.0" - } - }, - "node_modules/rc-dialog": { - "version": "9.6.0", - "resolved": "https://registry.npmjs.org/rc-dialog/-/rc-dialog-9.6.0.tgz", - "integrity": "sha512-ApoVi9Z8PaCQg6FsUzS8yvBEQy0ZL2PkuvAgrmohPkN3okps5WZ5WQWPc1RNuiOKaAYv8B97ACdsFU5LizzCqg==", - "license": "MIT", - "dependencies": { - "@babel/runtime": "^7.10.1", - "@rc-component/portal": "^1.0.0-8", - "classnames": "^2.2.6", - "rc-motion": "^2.3.0", - "rc-util": "^5.21.0" - }, - "peerDependencies": { - "react": ">=16.9.0", - "react-dom": ">=16.9.0" - } - }, - "node_modules/rc-drawer": { - "version": "7.2.0", - "resolved": "https://registry.npmjs.org/rc-drawer/-/rc-drawer-7.2.0.tgz", - "integrity": "sha512-9lOQ7kBekEJRdEpScHvtmEtXnAsy+NGDXiRWc2ZVC7QXAazNVbeT4EraQKYwCME8BJLa8Bxqxvs5swwyOepRwg==", - "license": "MIT", - "dependencies": { - "@babel/runtime": "^7.23.9", - "@rc-component/portal": "^1.1.1", - "classnames": "^2.2.6", - "rc-motion": "^2.6.1", - "rc-util": "^5.38.1" - }, - "peerDependencies": { - "react": ">=16.9.0", - "react-dom": ">=16.9.0" - } - }, - "node_modules/rc-dropdown": { - "version": "4.2.1", - "resolved": "https://registry.npmjs.org/rc-dropdown/-/rc-dropdown-4.2.1.tgz", - "integrity": "sha512-YDAlXsPv3I1n42dv1JpdM7wJ+gSUBfeyPK59ZpBD9jQhK9jVuxpjj3NmWQHOBceA1zEPVX84T2wbdb2SD0UjmA==", - "license": "MIT", - "dependencies": { - "@babel/runtime": "^7.18.3", - "@rc-component/trigger": "^2.0.0", - "classnames": "^2.2.6", - "rc-util": "^5.44.1" - }, - "peerDependencies": { - "react": ">=16.11.0", - "react-dom": ">=16.11.0" - } - }, - "node_modules/rc-field-form": { - "version": "2.7.0", - "resolved": "https://registry.npmjs.org/rc-field-form/-/rc-field-form-2.7.0.tgz", - "integrity": "sha512-hgKsCay2taxzVnBPZl+1n4ZondsV78G++XVsMIJCAoioMjlMQR9YwAp7JZDIECzIu2Z66R+f4SFIRrO2DjDNAA==", - "license": "MIT", - "dependencies": { - "@babel/runtime": "^7.18.0", - "@rc-component/async-validator": "^5.0.3", - "rc-util": "^5.32.2" - }, - "engines": { - "node": ">=8.x" - }, - "peerDependencies": { - "react": ">=16.9.0", - "react-dom": ">=16.9.0" - } - }, - "node_modules/rc-image": { - "version": "7.11.1", - "resolved": "https://registry.npmjs.org/rc-image/-/rc-image-7.11.1.tgz", - "integrity": "sha512-XuoWx4KUXg7hNy5mRTy1i8c8p3K8boWg6UajbHpDXS5AlRVucNfTi5YxTtPBTBzegxAZpvuLfh3emXFt6ybUdA==", - "license": "MIT", - "dependencies": { - "@babel/runtime": "^7.11.2", - "@rc-component/portal": "^1.0.2", - "classnames": "^2.2.6", - "rc-dialog": "~9.6.0", - "rc-motion": "^2.6.2", - "rc-util": "^5.34.1" - }, - "peerDependencies": { - "react": ">=16.9.0", - "react-dom": ">=16.9.0" - } - }, - "node_modules/rc-input": { - "version": "1.7.3", - "resolved": "https://registry.npmjs.org/rc-input/-/rc-input-1.7.3.tgz", - "integrity": "sha512-A5w4egJq8+4JzlQ55FfQjDnPvOaAbzwC3VLOAdOytyek3TboSOP9qxN+Gifup+shVXfvecBLBbWBpWxmk02SWQ==", - "license": "MIT", - "dependencies": { - "@babel/runtime": "^7.11.1", - "classnames": "^2.2.1", - "rc-util": "^5.18.1" - }, - "peerDependencies": { - "react": ">=16.0.0", - "react-dom": ">=16.0.0" - } - }, - "node_modules/rc-input-number": { - "version": "9.4.0", - "resolved": "https://registry.npmjs.org/rc-input-number/-/rc-input-number-9.4.0.tgz", - "integrity": "sha512-Tiy4DcXcFXAf9wDhN8aUAyMeCLHJUHA/VA/t7Hj8ZEx5ETvxG7MArDOSE6psbiSCo+vJPm4E3fGN710ITVn6GA==", - "license": "MIT", - "dependencies": { - "@babel/runtime": "^7.10.1", - "@rc-component/mini-decimal": "^1.0.1", - "classnames": "^2.2.5", - "rc-input": "~1.7.1", - "rc-util": "^5.40.1" - }, - "peerDependencies": { - "react": ">=16.9.0", - "react-dom": ">=16.9.0" - } - }, - "node_modules/rc-mentions": { - "version": "2.19.1", - "resolved": "https://registry.npmjs.org/rc-mentions/-/rc-mentions-2.19.1.tgz", - "integrity": "sha512-KK3bAc/bPFI993J3necmaMXD2reZTzytZdlTvkeBbp50IGH1BDPDvxLdHDUrpQx2b2TGaVJsn+86BvYa03kGqA==", - "license": "MIT", - "dependencies": { - "@babel/runtime": "^7.22.5", - "@rc-component/trigger": "^2.0.0", - "classnames": "^2.2.6", - "rc-input": "~1.7.1", - "rc-menu": "~9.16.0", - "rc-textarea": "~1.9.0", - "rc-util": "^5.34.1" - }, - "peerDependencies": { - "react": ">=16.9.0", - "react-dom": ">=16.9.0" - } - }, - "node_modules/rc-menu": { - "version": "9.16.1", - "resolved": "https://registry.npmjs.org/rc-menu/-/rc-menu-9.16.1.tgz", - "integrity": "sha512-ghHx6/6Dvp+fw8CJhDUHFHDJ84hJE3BXNCzSgLdmNiFErWSOaZNsihDAsKq9ByTALo/xkNIwtDFGIl6r+RPXBg==", - "license": "MIT", - "dependencies": { - "@babel/runtime": "^7.10.1", - "@rc-component/trigger": "^2.0.0", - "classnames": "2.x", - "rc-motion": "^2.4.3", - "rc-overflow": "^1.3.1", - "rc-util": "^5.27.0" - }, - "peerDependencies": { - "react": ">=16.9.0", - "react-dom": ">=16.9.0" - } - }, - "node_modules/rc-motion": { - "version": "2.9.5", - "resolved": "https://registry.npmjs.org/rc-motion/-/rc-motion-2.9.5.tgz", - "integrity": "sha512-w+XTUrfh7ArbYEd2582uDrEhmBHwK1ZENJiSJVb7uRxdE7qJSYjbO2eksRXmndqyKqKoYPc9ClpPh5242mV1vA==", - "license": "MIT", - "dependencies": { - "@babel/runtime": "^7.11.1", - "classnames": "^2.2.1", - "rc-util": "^5.44.0" - }, - "peerDependencies": { - "react": ">=16.9.0", - "react-dom": ">=16.9.0" - } - }, - "node_modules/rc-notification": { - "version": "5.6.3", - "resolved": "https://registry.npmjs.org/rc-notification/-/rc-notification-5.6.3.tgz", - "integrity": "sha512-42szwnn8VYQoT6GnjO00i1iwqV9D1TTMvxObWsuLwgl0TsOokzhkYiufdtQBsJMFjJravS1hfDKVMHLKLcPE4g==", - "license": "MIT", - "dependencies": { - "@babel/runtime": "^7.10.1", - "classnames": "2.x", - "rc-motion": "^2.9.0", - "rc-util": "^5.20.1" - }, - "engines": { - "node": ">=8.x" - }, - "peerDependencies": { - "react": ">=16.9.0", - "react-dom": ">=16.9.0" - } - }, - "node_modules/rc-overflow": { - "version": "1.4.1", - "resolved": "https://registry.npmjs.org/rc-overflow/-/rc-overflow-1.4.1.tgz", - "integrity": "sha512-3MoPQQPV1uKyOMVNd6SZfONi+f3st0r8PksexIdBTeIYbMX0Jr+k7pHEDvsXtR4BpCv90/Pv2MovVNhktKrwvw==", - "license": "MIT", - "dependencies": { - "@babel/runtime": "^7.11.1", - "classnames": "^2.2.1", - "rc-resize-observer": "^1.0.0", - "rc-util": "^5.37.0" - }, - "peerDependencies": { - "react": ">=16.9.0", - "react-dom": ">=16.9.0" - } - }, - "node_modules/rc-pagination": { - "version": "5.1.0", - "resolved": "https://registry.npmjs.org/rc-pagination/-/rc-pagination-5.1.0.tgz", - "integrity": "sha512-8416Yip/+eclTFdHXLKTxZvn70duYVGTvUUWbckCCZoIl3jagqke3GLsFrMs0bsQBikiYpZLD9206Ej4SOdOXQ==", - "license": "MIT", - "dependencies": { - "@babel/runtime": "^7.10.1", - "classnames": "^2.3.2", - "rc-util": "^5.38.0" - }, - "peerDependencies": { - "react": ">=16.9.0", - "react-dom": ">=16.9.0" - } - }, - "node_modules/rc-picker": { - "version": "4.11.3", - "resolved": "https://registry.npmjs.org/rc-picker/-/rc-picker-4.11.3.tgz", - "integrity": "sha512-MJ5teb7FlNE0NFHTncxXQ62Y5lytq6sh5nUw0iH8OkHL/TjARSEvSHpr940pWgjGANpjCwyMdvsEV55l5tYNSg==", - "license": "MIT", - "dependencies": { - "@babel/runtime": "^7.24.7", - "@rc-component/trigger": "^2.0.0", - "classnames": "^2.2.1", - "rc-overflow": "^1.3.2", - "rc-resize-observer": "^1.4.0", - "rc-util": "^5.43.0" - }, - "engines": { - "node": ">=8.x" - }, - "peerDependencies": { - "date-fns": ">= 2.x", - "dayjs": ">= 1.x", - "luxon": ">= 3.x", - "moment": ">= 2.x", - "react": ">=16.9.0", - "react-dom": ">=16.9.0" - }, - "peerDependenciesMeta": { - "date-fns": { - "optional": true - }, - "dayjs": { - "optional": true - }, - "luxon": { - "optional": true - }, - "moment": { - "optional": true - } - } - }, - "node_modules/rc-progress": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/rc-progress/-/rc-progress-4.0.0.tgz", - "integrity": "sha512-oofVMMafOCokIUIBnZLNcOZFsABaUw8PPrf1/y0ZBvKZNpOiu5h4AO9vv11Sw0p4Hb3D0yGWuEattcQGtNJ/aw==", - "license": "MIT", - "dependencies": { - "@babel/runtime": "^7.10.1", - "classnames": "^2.2.6", - "rc-util": "^5.16.1" - }, - "peerDependencies": { - "react": ">=16.9.0", - "react-dom": ">=16.9.0" - } - }, - "node_modules/rc-rate": { - "version": "2.13.1", - "resolved": "https://registry.npmjs.org/rc-rate/-/rc-rate-2.13.1.tgz", - "integrity": "sha512-QUhQ9ivQ8Gy7mtMZPAjLbxBt5y9GRp65VcUyGUMF3N3fhiftivPHdpuDIaWIMOTEprAjZPC08bls1dQB+I1F2Q==", - "license": "MIT", - "dependencies": { - "@babel/runtime": "^7.10.1", - "classnames": "^2.2.5", - "rc-util": "^5.0.1" - }, - "engines": { - "node": ">=8.x" - }, - "peerDependencies": { - "react": ">=16.9.0", - "react-dom": ">=16.9.0" - } - }, - "node_modules/rc-resize-observer": { - "version": "1.4.3", - "resolved": "https://registry.npmjs.org/rc-resize-observer/-/rc-resize-observer-1.4.3.tgz", - "integrity": "sha512-YZLjUbyIWox8E9i9C3Tm7ia+W7euPItNWSPX5sCcQTYbnwDb5uNpnLHQCG1f22oZWUhLw4Mv2tFmeWe68CDQRQ==", - "license": "MIT", - "dependencies": { - "@babel/runtime": "^7.20.7", - "classnames": "^2.2.1", - "rc-util": "^5.44.1", - "resize-observer-polyfill": "^1.5.1" - }, - "peerDependencies": { - "react": ">=16.9.0", - "react-dom": ">=16.9.0" - } - }, - "node_modules/rc-segmented": { - "version": "2.7.0", - "resolved": "https://registry.npmjs.org/rc-segmented/-/rc-segmented-2.7.0.tgz", - "integrity": "sha512-liijAjXz+KnTRVnxxXG2sYDGd6iLL7VpGGdR8gwoxAXy2KglviKCxLWZdjKYJzYzGSUwKDSTdYk8brj54Bn5BA==", - "license": "MIT", - "dependencies": { - "@babel/runtime": "^7.11.1", - "classnames": "^2.2.1", - "rc-motion": "^2.4.4", - "rc-util": "^5.17.0" - }, - "peerDependencies": { - "react": ">=16.0.0", - "react-dom": ">=16.0.0" - } - }, - "node_modules/rc-select": { - "version": "14.16.6", - "resolved": "https://registry.npmjs.org/rc-select/-/rc-select-14.16.6.tgz", - "integrity": "sha512-YPMtRPqfZWOm2XGTbx5/YVr1HT0vn//8QS77At0Gjb3Lv+Lbut0IORJPKLWu1hQ3u4GsA0SrDzs7nI8JG7Zmyg==", - "license": "MIT", - "dependencies": { - "@babel/runtime": "^7.10.1", - "@rc-component/trigger": "^2.1.1", - "classnames": "2.x", - "rc-motion": "^2.0.1", - "rc-overflow": "^1.3.1", - "rc-util": "^5.16.1", - "rc-virtual-list": "^3.5.2" - }, - "engines": { - "node": ">=8.x" - }, - "peerDependencies": { - "react": "*", - "react-dom": "*" - } - }, - "node_modules/rc-slider": { - "version": "11.1.8", - "resolved": "https://registry.npmjs.org/rc-slider/-/rc-slider-11.1.8.tgz", - "integrity": "sha512-2gg/72YFSpKP+Ja5AjC5DPL1YnV8DEITDQrcc1eASrUYjl0esptaBVJBh5nLTXCCp15eD8EuGjwezVGSHhs9tQ==", - "license": "MIT", - "dependencies": { - "@babel/runtime": "^7.10.1", - "classnames": "^2.2.5", - "rc-util": "^5.36.0" - }, - "engines": { - "node": ">=8.x" - }, - "peerDependencies": { - "react": ">=16.9.0", - "react-dom": ">=16.9.0" - } - }, - "node_modules/rc-steps": { - "version": "6.0.1", - "resolved": "https://registry.npmjs.org/rc-steps/-/rc-steps-6.0.1.tgz", - "integrity": "sha512-lKHL+Sny0SeHkQKKDJlAjV5oZ8DwCdS2hFhAkIjuQt1/pB81M0cA0ErVFdHq9+jmPmFw1vJB2F5NBzFXLJxV+g==", - "license": "MIT", - "dependencies": { - "@babel/runtime": "^7.16.7", - "classnames": "^2.2.3", - "rc-util": "^5.16.1" - }, - "engines": { - "node": ">=8.x" - }, - "peerDependencies": { - "react": ">=16.9.0", - "react-dom": ">=16.9.0" - } - }, - "node_modules/rc-switch": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/rc-switch/-/rc-switch-4.1.0.tgz", - "integrity": "sha512-TI8ufP2Az9oEbvyCeVE4+90PDSljGyuwix3fV58p7HV2o4wBnVToEyomJRVyTaZeqNPAp+vqeo4Wnj5u0ZZQBg==", - "license": "MIT", - "dependencies": { - "@babel/runtime": "^7.21.0", - "classnames": "^2.2.1", - "rc-util": "^5.30.0" - }, - "peerDependencies": { - "react": ">=16.9.0", - "react-dom": ">=16.9.0" - } - }, - "node_modules/rc-table": { - "version": "7.50.4", - "resolved": "https://registry.npmjs.org/rc-table/-/rc-table-7.50.4.tgz", - "integrity": "sha512-Y+YuncnQqoS5e7yHvfvlv8BmCvwDYDX/2VixTBEhkMDk9itS9aBINp4nhzXFKiBP/frG4w0pS9d9Rgisl0T1Bw==", - "license": "MIT", - "dependencies": { - "@babel/runtime": "^7.10.1", - "@rc-component/context": "^1.4.0", - "classnames": "^2.2.5", - "rc-resize-observer": "^1.1.0", - "rc-util": "^5.44.3", - "rc-virtual-list": "^3.14.2" - }, - "engines": { - "node": ">=8.x" - }, - "peerDependencies": { - "react": ">=16.9.0", - "react-dom": ">=16.9.0" - } - }, - "node_modules/rc-tabs": { - "version": "15.5.1", - "resolved": "https://registry.npmjs.org/rc-tabs/-/rc-tabs-15.5.1.tgz", - "integrity": "sha512-yiWivLAjEo5d1v2xlseB2dQocsOhkoVSfo1krS8v8r+02K+TBUjSjXIf7dgyVSxp6wRIPv5pMi5hanNUlQMgUA==", - "license": "MIT", - "dependencies": { - "@babel/runtime": "^7.11.2", - "classnames": "2.x", - "rc-dropdown": "~4.2.0", - "rc-menu": "~9.16.0", - "rc-motion": "^2.6.2", - "rc-resize-observer": "^1.0.0", - "rc-util": "^5.34.1" - }, - "engines": { - "node": ">=8.x" - }, - "peerDependencies": { - "react": ">=16.9.0", - "react-dom": ">=16.9.0" - } - }, - "node_modules/rc-textarea": { - "version": "1.9.0", - "resolved": "https://registry.npmjs.org/rc-textarea/-/rc-textarea-1.9.0.tgz", - "integrity": "sha512-dQW/Bc/MriPBTugj2Kx9PMS5eXCCGn2cxoIaichjbNvOiARlaHdI99j4DTxLl/V8+PIfW06uFy7kjfUIDDKyxQ==", - "license": "MIT", - "dependencies": { - "@babel/runtime": "^7.10.1", - "classnames": "^2.2.1", - "rc-input": "~1.7.1", - "rc-resize-observer": "^1.0.0", - "rc-util": "^5.27.0" - }, - "peerDependencies": { - "react": ">=16.9.0", - "react-dom": ">=16.9.0" - } - }, - "node_modules/rc-tooltip": { - "version": "6.4.0", - "resolved": "https://registry.npmjs.org/rc-tooltip/-/rc-tooltip-6.4.0.tgz", - "integrity": "sha512-kqyivim5cp8I5RkHmpsp1Nn/Wk+1oeloMv9c7LXNgDxUpGm+RbXJGL+OPvDlcRnx9DBeOe4wyOIl4OKUERyH1g==", - "license": "MIT", - "dependencies": { - "@babel/runtime": "^7.11.2", - "@rc-component/trigger": "^2.0.0", - "classnames": "^2.3.1", - "rc-util": "^5.44.3" - }, - "peerDependencies": { - "react": ">=16.9.0", - "react-dom": ">=16.9.0" - } - }, - "node_modules/rc-tree": { - "version": "5.13.1", - "resolved": "https://registry.npmjs.org/rc-tree/-/rc-tree-5.13.1.tgz", - "integrity": "sha512-FNhIefhftobCdUJshO7M8uZTA9F4OPGVXqGfZkkD/5soDeOhwO06T/aKTrg0WD8gRg/pyfq+ql3aMymLHCTC4A==", - "license": "MIT", - "dependencies": { - "@babel/runtime": "^7.10.1", - "classnames": "2.x", - "rc-motion": "^2.0.1", - "rc-util": "^5.16.1", - "rc-virtual-list": "^3.5.1" - }, - "engines": { - "node": ">=10.x" - }, - "peerDependencies": { - "react": "*", - "react-dom": "*" - } - }, - "node_modules/rc-tree-select": { - "version": "5.27.0", - "resolved": "https://registry.npmjs.org/rc-tree-select/-/rc-tree-select-5.27.0.tgz", - "integrity": "sha512-2qTBTzwIT7LRI1o7zLyrCzmo5tQanmyGbSaGTIf7sYimCklAToVVfpMC6OAldSKolcnjorBYPNSKQqJmN3TCww==", - "license": "MIT", - "dependencies": { - "@babel/runtime": "^7.25.7", - "classnames": "2.x", - "rc-select": "~14.16.2", - "rc-tree": "~5.13.0", - "rc-util": "^5.43.0" - }, - "peerDependencies": { - "react": "*", - "react-dom": "*" - } - }, - "node_modules/rc-upload": { - "version": "4.8.1", - "resolved": "https://registry.npmjs.org/rc-upload/-/rc-upload-4.8.1.tgz", - "integrity": "sha512-toEAhwl4hjLAI1u8/CgKWt30BR06ulPa4iGQSMvSXoHzO88gPCslxqV/mnn4gJU7PDoltGIC9Eh+wkeudqgHyw==", - "license": "MIT", - "dependencies": { - "@babel/runtime": "^7.18.3", - "classnames": "^2.2.5", - "rc-util": "^5.2.0" - }, - "peerDependencies": { - "react": ">=16.9.0", - "react-dom": ">=16.9.0" - } - }, - "node_modules/rc-util": { - "version": "5.44.4", - "resolved": "https://registry.npmjs.org/rc-util/-/rc-util-5.44.4.tgz", - "integrity": "sha512-resueRJzmHG9Q6rI/DfK6Kdv9/Lfls05vzMs1Sk3M2P+3cJa+MakaZyWY8IPfehVuhPJFKrIY1IK4GqbiaiY5w==", - "license": "MIT", - "dependencies": { - "@babel/runtime": "^7.18.3", - "react-is": "^18.2.0" - }, - "peerDependencies": { - "react": ">=16.9.0", - "react-dom": ">=16.9.0" - } - }, - "node_modules/rc-util/node_modules/react-is": { - "version": "18.3.1", - "resolved": "https://registry.npmjs.org/react-is/-/react-is-18.3.1.tgz", - "integrity": "sha512-/LLMVyas0ljjAtoYiPqYiL8VWXzUUdThrmU5+n20DZv+a+ClRoevUzw5JxU+Ieh5/c87ytoTBV9G1FiKfNJdmg==", - "license": "MIT" - }, - "node_modules/rc-virtual-list": { - "version": "3.18.5", - "resolved": "https://registry.npmjs.org/rc-virtual-list/-/rc-virtual-list-3.18.5.tgz", - "integrity": "sha512-1FuxVSxhzTj3y8k5xMPbhXCB0t2TOiI3Tq+qE2Bu+GGV7f+ECVuQl4OUg6lZ2qT5fordTW7CBpr9czdzXCI7Pg==", - "license": "MIT", - "dependencies": { - "@babel/runtime": "^7.20.0", - "classnames": "^2.2.6", - "rc-resize-observer": "^1.0.0", - "rc-util": "^5.36.0" - }, - "engines": { - "node": ">=8.x" - }, - "peerDependencies": { - "react": ">=16.9.0", - "react-dom": ">=16.9.0" - } - }, - "node_modules/react": { - "version": "19.0.0", - "resolved": "https://registry.npmjs.org/react/-/react-19.0.0.tgz", - "integrity": "sha512-V8AVnmPIICiWpGfm6GLzCR/W5FXLchHop40W4nXBmdlEceh16rCN8O8LNWm5bh5XUX91fh7KpA+W0TgMKmgTpQ==", - "license": "MIT", - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/react-chartjs-2": { - "version": "5.3.0", - "resolved": "https://registry.npmjs.org/react-chartjs-2/-/react-chartjs-2-5.3.0.tgz", - "integrity": "sha512-UfZZFnDsERI3c3CZGxzvNJd02SHjaSJ8kgW1djn65H1KK8rehwTjyrRKOG3VTMG8wtHZ5rgAO5oTHtHi9GCCmw==", - "license": "MIT", - "peerDependencies": { - "chart.js": "^4.1.1", - "react": "^16.8.0 || ^17.0.0 || ^18.0.0 || ^19.0.0" - } - }, - "node_modules/react-dom": { - "version": "19.0.0", - "resolved": "https://registry.npmjs.org/react-dom/-/react-dom-19.0.0.tgz", - "integrity": "sha512-4GV5sHFG0e/0AD4X+ySy6UJd3jVl1iNsNHdpad0qhABJ11twS3TTBnseqsKurKcsNqCEFeGL3uLpVChpIO3QfQ==", - "license": "MIT", - "dependencies": { - "scheduler": "^0.25.0" - }, - "peerDependencies": { - "react": "^19.0.0" - } - }, - "node_modules/react-is": { - "version": "19.0.0", - "resolved": "https://registry.npmjs.org/react-is/-/react-is-19.0.0.tgz", - "integrity": "sha512-H91OHcwjZsbq3ClIDHMzBShc1rotbfACdWENsmEf0IFvZ3FgGPtdHMcsv45bQ1hAbgdfiA8SnxTKfDS+x/8m2g==", - "license": "MIT" - }, - "node_modules/react-refresh": { - "version": "0.14.2", - "resolved": "https://registry.npmjs.org/react-refresh/-/react-refresh-0.14.2.tgz", - "integrity": "sha512-jCvmsr+1IUSMUyzOkRcvnVbX3ZYC6g9TDrDbFuFmRDq7PD4yaGbLKNQL6k2jnArV8hjYxh7hVhAZB6s9HDGpZA==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/react-router": { - "version": "7.4.1", - "resolved": "https://registry.npmjs.org/react-router/-/react-router-7.4.1.tgz", - "integrity": "sha512-Vmizn9ZNzxfh3cumddqv3kLOKvc7AskUT0dC1prTabhiEi0U4A33LmkDOJ79tXaeSqCqMBXBU/ySX88W85+EUg==", - "license": "MIT", - "dependencies": { - "@types/cookie": "^0.6.0", - "cookie": "^1.0.1", - "set-cookie-parser": "^2.6.0", - "turbo-stream": "2.4.0" - }, - "engines": { - "node": ">=20.0.0" - }, - "peerDependencies": { - "react": ">=18", - "react-dom": ">=18" - }, - "peerDependenciesMeta": { - "react-dom": { - "optional": true - } - } - }, - "node_modules/react-syntax-highlighter": { - "version": "15.6.1", - "resolved": "https://registry.npmjs.org/react-syntax-highlighter/-/react-syntax-highlighter-15.6.1.tgz", - "integrity": "sha512-OqJ2/vL7lEeV5zTJyG7kmARppUjiB9h9udl4qHQjjgEos66z00Ia0OckwYfRxCSFrW8RJIBnsBwQsHZbVPspqg==", - "license": "MIT", - "dependencies": { - "@babel/runtime": "^7.3.1", - "highlight.js": "^10.4.1", - "highlightjs-vue": "^1.0.0", - "lowlight": "^1.17.0", - "prismjs": "^1.27.0", - "refractor": "^3.6.0" - }, - "peerDependencies": { - "react": ">= 0.14.0" - } - }, - "node_modules/react-syntax-highlighter/node_modules/highlight.js": { - "version": "10.7.3", - "resolved": "https://registry.npmjs.org/highlight.js/-/highlight.js-10.7.3.tgz", - "integrity": "sha512-tzcUFauisWKNHaRkN4Wjl/ZA07gENAjFl3J/c480dprkGTg5EQstgaNFqBfUqCq54kZRIEcreTsAgF/m2quD7A==", - "license": "BSD-3-Clause", - "engines": { - "node": "*" - } - }, - "node_modules/reflect.getprototypeof": { - "version": "1.0.10", - "resolved": "https://registry.npmjs.org/reflect.getprototypeof/-/reflect.getprototypeof-1.0.10.tgz", - "integrity": "sha512-00o4I+DVrefhv+nX0ulyi3biSHCPDe+yLv5o/p6d/UVlirijB8E16FtfwSAi4g3tcqrQ4lRAqQSoFEZJehYEcw==", - "dev": true, - "license": "MIT", - "peer": true, - "dependencies": { - "call-bind": "^1.0.8", - "define-properties": "^1.2.1", - "es-abstract": "^1.23.9", - "es-errors": "^1.3.0", - "es-object-atoms": "^1.0.0", - "get-intrinsic": "^1.2.7", - "get-proto": "^1.0.1", - "which-builtin-type": "^1.2.1" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/refractor": { - "version": "3.6.0", - "resolved": "https://registry.npmjs.org/refractor/-/refractor-3.6.0.tgz", - "integrity": "sha512-MY9W41IOWxxk31o+YvFCNyNzdkc9M20NoZK5vq6jkv4I/uh2zkWcfudj0Q1fovjUQJrNewS9NMzeTtqPf+n5EA==", - "license": "MIT", - "dependencies": { - "hastscript": "^6.0.0", - "parse-entities": "^2.0.0", - "prismjs": "~1.27.0" - }, - "funding": { - "type": "github", - "url": "https://github.com/sponsors/wooorm" - } - }, - "node_modules/refractor/node_modules/prismjs": { - "version": "1.27.0", - "resolved": "https://registry.npmjs.org/prismjs/-/prismjs-1.27.0.tgz", - "integrity": "sha512-t13BGPUlFDR7wRB5kQDG4jjl7XeuH6jbJGt11JHPL96qwsEHNX2+68tFXqc1/k+/jALsbSWJKUOT/hcYAZ5LkA==", - "license": "MIT", - "engines": { - "node": ">=6" - } - }, - "node_modules/regexp.prototype.flags": { - "version": "1.5.4", - "resolved": "https://registry.npmjs.org/regexp.prototype.flags/-/regexp.prototype.flags-1.5.4.tgz", - "integrity": "sha512-dYqgNSZbDwkaJ2ceRd9ojCGjBq+mOm9LmtXnAnEGyHhN/5R7iDW2TRw3h+o/jCFxus3P2LfWIIiwowAjANm7IA==", - "dev": true, - "license": "MIT", - "peer": true, - "dependencies": { - "call-bind": "^1.0.8", - "define-properties": "^1.2.1", - "es-errors": "^1.3.0", - "get-proto": "^1.0.1", - "gopd": "^1.2.0", - "set-function-name": "^2.0.2" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/resize-observer-polyfill": { - "version": "1.5.1", - "resolved": "https://registry.npmjs.org/resize-observer-polyfill/-/resize-observer-polyfill-1.5.1.tgz", - "integrity": "sha512-LwZrotdHOo12nQuZlHEmtuXdqGoOD0OhaxopaNFxWzInpEgaLWoVuAMbTzixuosCx2nEG58ngzW3vxdWoxIgdg==", - "license": "MIT" - }, - "node_modules/resolve": { - "version": "1.22.10", - "resolved": "https://registry.npmjs.org/resolve/-/resolve-1.22.10.tgz", - "integrity": "sha512-NPRy+/ncIMeDlTAsuqwKIiferiawhefFJtkNSW0qZJEqMEb+qBt/77B/jGeeek+F0uOeN05CDa6HXbbIgtVX4w==", - "license": "MIT", - "dependencies": { - "is-core-module": "^2.16.0", - "path-parse": "^1.0.7", - "supports-preserve-symlinks-flag": "^1.0.0" - }, - "bin": { - "resolve": "bin/resolve" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/resolve-from": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/resolve-from/-/resolve-from-4.0.0.tgz", - "integrity": "sha512-pb/MYmXstAkysRFx8piNI1tGFNQIFA3vkE3Gq4EuA1dF6gHp/+vgZqsCGJapvy8N3Q+4o7FwvquPJcnZ7RYy4g==", - "license": "MIT", - "engines": { - "node": ">=4" - } - }, - "node_modules/resolve-pkg-maps": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/resolve-pkg-maps/-/resolve-pkg-maps-1.0.0.tgz", - "integrity": "sha512-seS2Tj26TBVOC2NIc2rOe2y2ZO7efxITtLZcGSOnHHNOQ7CkiUBfw0Iw2ck6xkIhPwLhKNLS8BO+hEpngQlqzw==", - "dev": true, - "license": "MIT", - "peer": true, - "funding": { - "url": "https://github.com/privatenumber/resolve-pkg-maps?sponsor=1" - } - }, - "node_modules/reusify": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/reusify/-/reusify-1.0.4.tgz", - "integrity": "sha512-U9nH88a3fc/ekCF1l0/UP1IosiuIjyTh7hBvXVMHYgVcfGvt897Xguj2UOLDeI5BG2m7/uwyaLVT6fbtCwTyzw==", - "dev": true, - "license": "MIT", - "peer": true, - "engines": { - "iojs": ">=1.0.0", - "node": ">=0.10.0" - } - }, - "node_modules/rollup": { - "version": "4.45.1", - "resolved": "https://registry.npmjs.org/rollup/-/rollup-4.45.1.tgz", - "integrity": "sha512-4iya7Jb76fVpQyLoiVpzUrsjQ12r3dM7fIVz+4NwoYvZOShknRmiv+iu9CClZml5ZLGb0XMcYLutK6w9tgxHDw==", - "dev": true, - "license": "MIT", - "dependencies": { - "@types/estree": "1.0.8" - }, - "bin": { - "rollup": "dist/bin/rollup" - }, - "engines": { - "node": ">=18.0.0", - "npm": ">=8.0.0" - }, - "optionalDependencies": { - "@rollup/rollup-android-arm-eabi": "4.45.1", - "@rollup/rollup-android-arm64": "4.45.1", - "@rollup/rollup-darwin-arm64": "4.45.1", - "@rollup/rollup-darwin-x64": "4.45.1", - "@rollup/rollup-freebsd-arm64": "4.45.1", - "@rollup/rollup-freebsd-x64": "4.45.1", - "@rollup/rollup-linux-arm-gnueabihf": "4.45.1", - "@rollup/rollup-linux-arm-musleabihf": "4.45.1", - "@rollup/rollup-linux-arm64-gnu": "4.45.1", - "@rollup/rollup-linux-arm64-musl": "4.45.1", - "@rollup/rollup-linux-loongarch64-gnu": "4.45.1", - "@rollup/rollup-linux-powerpc64le-gnu": "4.45.1", - "@rollup/rollup-linux-riscv64-gnu": "4.45.1", - "@rollup/rollup-linux-riscv64-musl": "4.45.1", - "@rollup/rollup-linux-s390x-gnu": "4.45.1", - "@rollup/rollup-linux-x64-gnu": "4.45.1", - "@rollup/rollup-linux-x64-musl": "4.45.1", - "@rollup/rollup-win32-arm64-msvc": "4.45.1", - "@rollup/rollup-win32-ia32-msvc": "4.45.1", - "@rollup/rollup-win32-x64-msvc": "4.45.1", - "fsevents": "~2.3.2" - } - }, - "node_modules/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, - "funding": [ - { - "type": "github", - "url": "https://github.com/sponsors/feross" - }, - { - "type": "patreon", - "url": "https://www.patreon.com/feross" - }, - { - "type": "consulting", - "url": "https://feross.org/support" - } - ], - "license": "MIT", - "peer": true, - "dependencies": { - "queue-microtask": "^1.2.2" - } - }, - "node_modules/safe-array-concat": { - "version": "1.1.3", - "resolved": "https://registry.npmjs.org/safe-array-concat/-/safe-array-concat-1.1.3.tgz", - "integrity": "sha512-AURm5f0jYEOydBj7VQlVvDrjeFgthDdEF5H1dP+6mNpoXOMo1quQqJ4wvJDyRZ9+pO3kGWoOdmV08cSv2aJV6Q==", - "dev": true, - "license": "MIT", - "peer": true, - "dependencies": { - "call-bind": "^1.0.8", - "call-bound": "^1.0.2", - "get-intrinsic": "^1.2.6", - "has-symbols": "^1.1.0", - "isarray": "^2.0.5" - }, - "engines": { - "node": ">=0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/safe-push-apply": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/safe-push-apply/-/safe-push-apply-1.0.0.tgz", - "integrity": "sha512-iKE9w/Z7xCzUMIZqdBsp6pEQvwuEebH4vdpjcDWnyzaI6yl6O9FHvVpmGelvEHNsoY6wGblkxR6Zty/h00WiSA==", - "dev": true, - "license": "MIT", - "peer": true, - "dependencies": { - "es-errors": "^1.3.0", - "isarray": "^2.0.5" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/safe-regex-test": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/safe-regex-test/-/safe-regex-test-1.1.0.tgz", - "integrity": "sha512-x/+Cz4YrimQxQccJf5mKEbIa1NzeCRNI5Ecl/ekmlYaampdNLPalVyIcCZNNH3MvmqBugV5TMYZXv0ljslUlaw==", - "dev": true, - "license": "MIT", - "peer": true, - "dependencies": { - "call-bound": "^1.0.2", - "es-errors": "^1.3.0", - "is-regex": "^1.2.1" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/scheduler": { - "version": "0.25.0", - "resolved": "https://registry.npmjs.org/scheduler/-/scheduler-0.25.0.tgz", - "integrity": "sha512-xFVuu11jh+xcO7JOAGJNOXld8/TcEHK/4CituBUeUb5hqxJLj9YuemAEuvm9gQ/+pgXYfbQuqAkiYu+u7YEsNA==", - "license": "MIT" - }, - "node_modules/scroll-into-view-if-needed": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/scroll-into-view-if-needed/-/scroll-into-view-if-needed-3.1.0.tgz", - "integrity": "sha512-49oNpRjWRvnU8NyGVmUaYG4jtTkNonFZI86MmGRDqBphEK2EXT9gdEUoQPZhuBM8yWHxCWbobltqYO5M4XrUvQ==", - "license": "MIT", - "dependencies": { - "compute-scroll-into-view": "^3.0.2" - } - }, - "node_modules/semver": { - "version": "7.7.1", - "resolved": "https://registry.npmjs.org/semver/-/semver-7.7.1.tgz", - "integrity": "sha512-hlq8tAfn0m/61p4BVRcPzIGr6LKiMwo4VM6dGi6pt4qcRkmNzTcWq6eCEjEh+qXjkMDvPlOFFSGwQjoEa6gyMA==", - "dev": true, - "license": "ISC", - "peer": true, - "bin": { - "semver": "bin/semver.js" - }, - "engines": { - "node": ">=10" - } - }, - "node_modules/set-cookie-parser": { - "version": "2.7.1", - "resolved": "https://registry.npmjs.org/set-cookie-parser/-/set-cookie-parser-2.7.1.tgz", - "integrity": "sha512-IOc8uWeOZgnb3ptbCURJWNjWUPcO3ZnTTdzsurqERrP6nPyv+paC55vJM0LpOlT2ne+Ix+9+CRG1MNLlyZ4GjQ==", - "license": "MIT" - }, - "node_modules/set-function-length": { - "version": "1.2.2", - "resolved": "https://registry.npmjs.org/set-function-length/-/set-function-length-1.2.2.tgz", - "integrity": "sha512-pgRc4hJ4/sNjWCSS9AmnS40x3bNMDTknHgL5UaMBTMyJnU90EgWh1Rz+MC9eFu4BuN/UwZjKQuY/1v3rM7HMfg==", - "dev": true, - "license": "MIT", - "peer": true, - "dependencies": { - "define-data-property": "^1.1.4", - "es-errors": "^1.3.0", - "function-bind": "^1.1.2", - "get-intrinsic": "^1.2.4", - "gopd": "^1.0.1", - "has-property-descriptors": "^1.0.2" - }, - "engines": { - "node": ">= 0.4" - } - }, - "node_modules/set-function-name": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/set-function-name/-/set-function-name-2.0.2.tgz", - "integrity": "sha512-7PGFlmtwsEADb0WYyvCMa1t+yke6daIG4Wirafur5kcf+MhUnPms1UeR0CKQdTZD81yESwMHbtn+TR+dMviakQ==", - "dev": true, - "license": "MIT", - "peer": true, - "dependencies": { - "define-data-property": "^1.1.4", - "es-errors": "^1.3.0", - "functions-have-names": "^1.2.3", - "has-property-descriptors": "^1.0.2" - }, - "engines": { - "node": ">= 0.4" - } - }, - "node_modules/set-proto": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/set-proto/-/set-proto-1.0.0.tgz", - "integrity": "sha512-RJRdvCo6IAnPdsvP/7m6bsQqNnn1FCBX5ZNtFL98MmFF/4xAIJTIg1YbHW5DC2W5SKZanrC6i4HsJqlajw/dZw==", - "dev": true, - "license": "MIT", - "peer": true, - "dependencies": { - "dunder-proto": "^1.0.1", - "es-errors": "^1.3.0", - "es-object-atoms": "^1.0.0" - }, - "engines": { - "node": ">= 0.4" - } - }, - "node_modules/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, - "license": "MIT", - "peer": true, - "dependencies": { - "shebang-regex": "^3.0.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/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, - "license": "MIT", - "peer": true, - "engines": { - "node": ">=8" - } - }, - "node_modules/side-channel": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/side-channel/-/side-channel-1.1.0.tgz", - "integrity": "sha512-ZX99e6tRweoUXqR+VBrslhda51Nh5MTQwou5tnUDgbtyM0dBgmhEDtWGP/xbKn6hqfPRHujUNwz5fy/wbbhnpw==", - "dev": true, - "license": "MIT", - "peer": true, - "dependencies": { - "es-errors": "^1.3.0", - "object-inspect": "^1.13.3", - "side-channel-list": "^1.0.0", - "side-channel-map": "^1.0.1", - "side-channel-weakmap": "^1.0.2" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/side-channel-list": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/side-channel-list/-/side-channel-list-1.0.0.tgz", - "integrity": "sha512-FCLHtRD/gnpCiCHEiJLOwdmFP+wzCmDEkc9y7NsYxeF4u7Btsn1ZuwgwJGxImImHicJArLP4R0yX4c2KCrMrTA==", - "dev": true, - "license": "MIT", - "peer": true, - "dependencies": { - "es-errors": "^1.3.0", - "object-inspect": "^1.13.3" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/side-channel-map": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/side-channel-map/-/side-channel-map-1.0.1.tgz", - "integrity": "sha512-VCjCNfgMsby3tTdo02nbjtM/ewra6jPHmpThenkTYh8pG9ucZ/1P8So4u4FGBek/BjpOVsDCMoLA/iuBKIFXRA==", - "dev": true, - "license": "MIT", - "peer": true, - "dependencies": { - "call-bound": "^1.0.2", - "es-errors": "^1.3.0", - "get-intrinsic": "^1.2.5", - "object-inspect": "^1.13.3" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/side-channel-weakmap": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/side-channel-weakmap/-/side-channel-weakmap-1.0.2.tgz", - "integrity": "sha512-WPS/HvHQTYnHisLo9McqBHOJk2FkHO/tlpvldyrnem4aeQp4hai3gythswg6p01oSoTl58rcpiFAjF2br2Ak2A==", - "dev": true, - "license": "MIT", - "peer": true, - "dependencies": { - "call-bound": "^1.0.2", - "es-errors": "^1.3.0", - "get-intrinsic": "^1.2.5", - "object-inspect": "^1.13.3", - "side-channel-map": "^1.0.1" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/slashes": { - "version": "3.0.12", - "resolved": "https://registry.npmjs.org/slashes/-/slashes-3.0.12.tgz", - "integrity": "sha512-Q9VME8WyGkc7pJf6QEkj3wE+2CnvZMI+XJhwdTPR8Z/kWQRXi7boAWLDibRPyHRTUTPx5FaU7MsyrjI3yLB4HA==", - "dev": true, - "license": "ISC", - "peer": true - }, - "node_modules/socket.io-client": { - "version": "4.8.1", - "resolved": "https://registry.npmjs.org/socket.io-client/-/socket.io-client-4.8.1.tgz", - "integrity": "sha512-hJVXfu3E28NmzGk8o1sHhN3om52tRvwYeidbj7xKy2eIIse5IoKX3USlS6Tqt3BHAtflLIkCQBkzVrEEfWUyYQ==", - "license": "MIT", - "dependencies": { - "@socket.io/component-emitter": "~3.1.0", - "debug": "~4.3.2", - "engine.io-client": "~6.6.1", - "socket.io-parser": "~4.2.4" - }, - "engines": { - "node": ">=10.0.0" - } - }, - "node_modules/socket.io-client/node_modules/debug": { - "version": "4.3.7", - "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.7.tgz", - "integrity": "sha512-Er2nc/H7RrMXZBFCEim6TCmMk02Z8vLC2Rbi1KEBggpo0fS6l0S1nnapwmIi3yW/+GOJap1Krg4w0Hg80oCqgQ==", - "license": "MIT", - "dependencies": { - "ms": "^2.1.3" - }, - "engines": { - "node": ">=6.0" - }, - "peerDependenciesMeta": { - "supports-color": { - "optional": true - } - } - }, - "node_modules/socket.io-parser": { - "version": "4.2.4", - "resolved": "https://registry.npmjs.org/socket.io-parser/-/socket.io-parser-4.2.4.tgz", - "integrity": "sha512-/GbIKmo8ioc+NIWIhwdecY0ge+qVBSMdgxGygevmdHj24bsfgtCmcUUcQ5ZzcylGFHsN3k4HB4Cgkl96KVnuew==", - "license": "MIT", - "dependencies": { - "@socket.io/component-emitter": "~3.1.0", - "debug": "~4.3.1" - }, - "engines": { - "node": ">=10.0.0" - } - }, - "node_modules/socket.io-parser/node_modules/debug": { - "version": "4.3.7", - "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.7.tgz", - "integrity": "sha512-Er2nc/H7RrMXZBFCEim6TCmMk02Z8vLC2Rbi1KEBggpo0fS6l0S1nnapwmIi3yW/+GOJap1Krg4w0Hg80oCqgQ==", - "license": "MIT", - "dependencies": { - "ms": "^2.1.3" - }, - "engines": { - "node": ">=6.0" - }, - "peerDependenciesMeta": { - "supports-color": { - "optional": true - } - } - }, - "node_modules/source-map": { - "version": "0.5.7", - "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.5.7.tgz", - "integrity": "sha512-LbrmJOMUSdEVxIKvdcJzQC+nQhe8FUZQTXQy6+I75skNgn3OoQ0DZA8YnFa7gp8tqtL3KPf1kmo0R5DoApeSGQ==", - "license": "BSD-3-Clause", - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/source-map-js": { - "version": "1.2.1", - "resolved": "https://registry.npmjs.org/source-map-js/-/source-map-js-1.2.1.tgz", - "integrity": "sha512-UXWMKhLOwVKb728IUtQPXxfYU+usdybtUrK/8uGE8CQMvrhOpwvzDBwj0QhSL7MQc7vIsISBG8VQ8+IDQxpfQA==", - "dev": true, - "license": "BSD-3-Clause", - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/space-separated-tokens": { - "version": "1.1.5", - "resolved": "https://registry.npmjs.org/space-separated-tokens/-/space-separated-tokens-1.1.5.tgz", - "integrity": "sha512-q/JSVd1Lptzhf5bkYm4ob4iWPjx0KiRe3sRFBNrVqbJkFaBm5vbbowy1mymoPNLRa52+oadOhJ+K49wsSeSjTA==", - "license": "MIT", - "funding": { - "type": "github", - "url": "https://github.com/sponsors/wooorm" - } - }, - "node_modules/spdx-exceptions": { - "version": "2.5.0", - "resolved": "https://registry.npmjs.org/spdx-exceptions/-/spdx-exceptions-2.5.0.tgz", - "integrity": "sha512-PiU42r+xO4UbUS1buo3LPJkjlO7430Xn5SVAhdpzzsPHsjbYVflnnFdATgabnLude+Cqu25p6N+g2lw/PFsa4w==", - "dev": true, - "license": "CC-BY-3.0", - "peer": true - }, - "node_modules/spdx-expression-parse": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/spdx-expression-parse/-/spdx-expression-parse-4.0.0.tgz", - "integrity": "sha512-Clya5JIij/7C6bRR22+tnGXbc4VKlibKSVj2iHvVeX5iMW7s1SIQlqu699JkODJJIhh/pUu8L0/VLh8xflD+LQ==", - "dev": true, - "license": "MIT", - "peer": true, - "dependencies": { - "spdx-exceptions": "^2.1.0", - "spdx-license-ids": "^3.0.0" - } - }, - "node_modules/spdx-license-ids": { - "version": "3.0.21", - "resolved": "https://registry.npmjs.org/spdx-license-ids/-/spdx-license-ids-3.0.21.tgz", - "integrity": "sha512-Bvg/8F5XephndSK3JffaRqdT+gyhfqIPwDHpX80tJrF8QQRYMo8sNMeaZ2Dp5+jhwKnUmIOyFFQfHRkjJm5nXg==", - "dev": true, - "license": "CC0-1.0", - "peer": true - }, - "node_modules/stable-hash": { - "version": "0.0.4", - "resolved": "https://registry.npmjs.org/stable-hash/-/stable-hash-0.0.4.tgz", - "integrity": "sha512-LjdcbuBeLcdETCrPn9i8AYAZ1eCtu4ECAWtP7UleOiZ9LzVxRzzUZEoZ8zB24nhkQnDWyET0I+3sWokSDS3E7g==", - "dev": true, - "license": "MIT", - "peer": true - }, - "node_modules/state-local": { - "version": "1.0.7", - "resolved": "https://registry.npmjs.org/state-local/-/state-local-1.0.7.tgz", - "integrity": "sha512-HTEHMNieakEnoe33shBYcZ7NX83ACUjCu8c40iOGEZsngj9zRnkqS9j1pqQPXwobB0ZcVTk27REb7COQ0UR59w==", - "license": "MIT" - }, - "node_modules/string-convert": { - "version": "0.2.1", - "resolved": "https://registry.npmjs.org/string-convert/-/string-convert-0.2.1.tgz", - "integrity": "sha512-u/1tdPl4yQnPBjnVrmdLo9gtuLvELKsAoRapekWggdiQNvvvum+jYF329d84NAa660KQw7pB2n36KrIKVoXa3A==", - "license": "MIT" - }, - "node_modules/string.prototype.matchall": { - "version": "4.0.12", - "resolved": "https://registry.npmjs.org/string.prototype.matchall/-/string.prototype.matchall-4.0.12.tgz", - "integrity": "sha512-6CC9uyBL+/48dYizRf7H7VAYCMCNTBeM78x/VTUe9bFEaxBepPJDa1Ow99LqI/1yF7kuy7Q3cQsYMrcjGUcskA==", - "dev": true, - "license": "MIT", - "peer": true, - "dependencies": { - "call-bind": "^1.0.8", - "call-bound": "^1.0.3", - "define-properties": "^1.2.1", - "es-abstract": "^1.23.6", - "es-errors": "^1.3.0", - "es-object-atoms": "^1.0.0", - "get-intrinsic": "^1.2.6", - "gopd": "^1.2.0", - "has-symbols": "^1.1.0", - "internal-slot": "^1.1.0", - "regexp.prototype.flags": "^1.5.3", - "set-function-name": "^2.0.2", - "side-channel": "^1.1.0" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/string.prototype.repeat": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/string.prototype.repeat/-/string.prototype.repeat-1.0.0.tgz", - "integrity": "sha512-0u/TldDbKD8bFCQ/4f5+mNRrXwZ8hg2w7ZR8wa16e8z9XpePWl3eGEcUD0OXpEH/VJH/2G3gjUtR3ZOiBe2S/w==", - "dev": true, - "license": "MIT", - "peer": true, - "dependencies": { - "define-properties": "^1.1.3", - "es-abstract": "^1.17.5" - } - }, - "node_modules/string.prototype.trim": { - "version": "1.2.10", - "resolved": "https://registry.npmjs.org/string.prototype.trim/-/string.prototype.trim-1.2.10.tgz", - "integrity": "sha512-Rs66F0P/1kedk5lyYyH9uBzuiI/kNRmwJAR9quK6VOtIpZ2G+hMZd+HQbbv25MgCA6gEffoMZYxlTod4WcdrKA==", - "dev": true, - "license": "MIT", - "peer": true, - "dependencies": { - "call-bind": "^1.0.8", - "call-bound": "^1.0.2", - "define-data-property": "^1.1.4", - "define-properties": "^1.2.1", - "es-abstract": "^1.23.5", - "es-object-atoms": "^1.0.0", - "has-property-descriptors": "^1.0.2" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/string.prototype.trimend": { - "version": "1.0.9", - "resolved": "https://registry.npmjs.org/string.prototype.trimend/-/string.prototype.trimend-1.0.9.tgz", - "integrity": "sha512-G7Ok5C6E/j4SGfyLCloXTrngQIQU3PWtXGst3yM7Bea9FRURf1S42ZHlZZtsNque2FN2PoUhfZXYLNWwEr4dLQ==", - "dev": true, - "license": "MIT", - "peer": true, - "dependencies": { - "call-bind": "^1.0.8", - "call-bound": "^1.0.2", - "define-properties": "^1.2.1", - "es-object-atoms": "^1.0.0" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/string.prototype.trimstart": { - "version": "1.0.8", - "resolved": "https://registry.npmjs.org/string.prototype.trimstart/-/string.prototype.trimstart-1.0.8.tgz", - "integrity": "sha512-UXSH262CSZY1tfu3G3Secr6uGLCFVPMhIqHjlgCUtCCcgihYc/xKs9djMTMUOb2j1mVSeU8EU6NWc/iQKU6Gfg==", - "dev": true, - "license": "MIT", - "peer": true, - "dependencies": { - "call-bind": "^1.0.7", - "define-properties": "^1.2.1", - "es-object-atoms": "^1.0.0" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/strip-bom": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/strip-bom/-/strip-bom-3.0.0.tgz", - "integrity": "sha512-vavAMRXOgBVNF6nyEEmL3DBK19iRpDcoIwW+swQ+CbGiu7lju6t+JklA1MHweoWtadgt4ISVUsXLyDq34ddcwA==", - "dev": true, - "license": "MIT", - "peer": true, - "engines": { - "node": ">=4" - } - }, - "node_modules/strip-json-comments": { - "version": "3.1.1", - "resolved": "https://registry.npmjs.org/strip-json-comments/-/strip-json-comments-3.1.1.tgz", - "integrity": "sha512-6fPc+R4ihwqP6N/aIv2f1gMH8lOVtWQHoqC4yK6oSDVVocumAsfCqjkXnqiYMhmMwS/mEHLp7Vehlt3ql6lEig==", - "dev": true, - "license": "MIT", - "peer": true, - "engines": { - "node": ">=8" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/stylis": { - "version": "4.2.0", - "resolved": "https://registry.npmjs.org/stylis/-/stylis-4.2.0.tgz", - "integrity": "sha512-Orov6g6BB1sDfYgzWfTHDOxamtX1bE/zo104Dh9e6fqJ3PooipYyfJ0pUmrZO2wAvO8YbEyeFrkV91XTsGMSrw==", - "license": "MIT" - }, - "node_modules/supports-color": { - "version": "7.2.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", - "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", - "dev": true, - "license": "MIT", - "peer": true, - "dependencies": { - "has-flag": "^4.0.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/supports-preserve-symlinks-flag": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/supports-preserve-symlinks-flag/-/supports-preserve-symlinks-flag-1.0.0.tgz", - "integrity": "sha512-ot0WnXS9fgdkgIcePe6RHNk1WA8+muPa6cSjeR3V8K27q9BB1rTE3R1p7Hv0z1ZyAc8s6Vvv8DIyWf681MAt0w==", - "license": "MIT", - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/synckit": { - "version": "0.9.2", - "resolved": "https://registry.npmjs.org/synckit/-/synckit-0.9.2.tgz", - "integrity": "sha512-vrozgXDQwYO72vHjUb/HnFbQx1exDjoKzqx23aXEg2a9VIg2TSFZ8FmeZpTjUCFMYw7mpX4BE2SFu8wI7asYsw==", - "dev": true, - "license": "MIT", - "peer": true, - "dependencies": { - "@pkgr/core": "^0.1.0", - "tslib": "^2.6.2" - }, - "engines": { - "node": "^14.18.0 || >=16.0.0" - }, - "funding": { - "url": "https://opencollective.com/unts" - } - }, - "node_modules/tapable": { - "version": "2.2.1", - "resolved": "https://registry.npmjs.org/tapable/-/tapable-2.2.1.tgz", - "integrity": "sha512-GNzQvQTOIP6RyTfE2Qxb8ZVlNmw0n88vp1szwWRimP02mnTsx3Wtn5qRdqY9w2XduFNUgvOwhNnQsjwCp+kqaQ==", - "dev": true, - "license": "MIT", - "peer": true, - "engines": { - "node": ">=6" - } - }, - "node_modules/throttle-debounce": { - "version": "5.0.2", - "resolved": "https://registry.npmjs.org/throttle-debounce/-/throttle-debounce-5.0.2.tgz", - "integrity": "sha512-B71/4oyj61iNH0KeCamLuE2rmKuTO5byTOSVwECM5FA7TiAiAW+UqTKZ9ERueC4qvgSttUhdmq1mXC3kJqGX7A==", - "license": "MIT", - "engines": { - "node": ">=12.22" - } - }, - "node_modules/tinyglobby": { - "version": "0.2.14", - "resolved": "https://registry.npmjs.org/tinyglobby/-/tinyglobby-0.2.14.tgz", - "integrity": "sha512-tX5e7OM1HnYr2+a2C/4V0htOcSQcoSTH9KgJnVvNm5zm/cyEWKJ7j7YutsH9CxMdtOkkLFy2AHrMci9IM8IPZQ==", - "dev": true, - "license": "MIT", - "dependencies": { - "fdir": "^6.4.4", - "picomatch": "^4.0.2" - }, - "engines": { - "node": ">=12.0.0" - }, - "funding": { - "url": "https://github.com/sponsors/SuperchupuDev" - } - }, - "node_modules/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, - "license": "MIT", - "peer": true, - "dependencies": { - "is-number": "^7.0.0" - }, - "engines": { - "node": ">=8.0" - } - }, - "node_modules/toggle-selection": { - "version": "1.0.6", - "resolved": "https://registry.npmjs.org/toggle-selection/-/toggle-selection-1.0.6.tgz", - "integrity": "sha512-BiZS+C1OS8g/q2RRbJmy59xpyghNBqrr6k5L/uKBGRsTfxmu3ffiRnd8mlGPUVayg8pvfi5urfnu8TU7DVOkLQ==", - "license": "MIT" - }, - "node_modules/ts-api-utils": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/ts-api-utils/-/ts-api-utils-2.0.1.tgz", - "integrity": "sha512-dnlgjFSVetynI8nzgJ+qF62efpglpWRk8isUEWZGWlJYySCTD6aKvbUDu+zbPeDakk3bg5H4XpitHukgfL1m9w==", - "dev": true, - "license": "MIT", - "peer": true, - "engines": { - "node": ">=18.12" - }, - "peerDependencies": { - "typescript": ">=4.8.4" - } - }, - "node_modules/tsconfig-paths": { - "version": "3.15.0", - "resolved": "https://registry.npmjs.org/tsconfig-paths/-/tsconfig-paths-3.15.0.tgz", - "integrity": "sha512-2Ac2RgzDe/cn48GvOe3M+o82pEFewD3UPbyoUHHdKasHwJKjds4fLXWf/Ux5kATBKN20oaFGu+jbElp1pos0mg==", - "dev": true, - "license": "MIT", - "peer": true, - "dependencies": { - "@types/json5": "^0.0.29", - "json5": "^1.0.2", - "minimist": "^1.2.6", - "strip-bom": "^3.0.0" - } - }, - "node_modules/tsconfig-paths/node_modules/json5": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/json5/-/json5-1.0.2.tgz", - "integrity": "sha512-g1MWMLBiz8FKi1e4w0UyVL3w+iJceWAFBAaBnnGKOpNa5f8TLktkbre1+s6oICydWAm+HRUGTmI+//xv2hvXYA==", - "dev": true, - "license": "MIT", - "peer": true, - "dependencies": { - "minimist": "^1.2.0" - }, - "bin": { - "json5": "lib/cli.js" - } - }, - "node_modules/tslib": { - "version": "2.8.1", - "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.8.1.tgz", - "integrity": "sha512-oJFu94HQb+KVduSUQL7wnpmqnfmLsOA/nAh6b6EH0wCEoK0/mPeXU6c3wKDV83MkOuHPRHtSXKKU99IBazS/2w==", - "dev": true, - "license": "0BSD", - "peer": true - }, - "node_modules/turbo-stream": { - "version": "2.4.0", - "resolved": "https://registry.npmjs.org/turbo-stream/-/turbo-stream-2.4.0.tgz", - "integrity": "sha512-FHncC10WpBd2eOmGwpmQsWLDoK4cqsA/UT/GqNoaKOQnT8uzhtCbg3EoUDMvqpOSAI0S26mr0rkjzbOO6S3v1g==", - "license": "ISC" - }, - "node_modules/type-check": { - "version": "0.4.0", - "resolved": "https://registry.npmjs.org/type-check/-/type-check-0.4.0.tgz", - "integrity": "sha512-XleUoc9uwGXqjWwXaUTZAmzMcFZ5858QA2vvx1Ur5xIcixXIP+8LnFDgRplU30us6teqdlskFfu+ae4K79Ooew==", - "dev": true, - "license": "MIT", - "peer": true, - "dependencies": { - "prelude-ls": "^1.2.1" - }, - "engines": { - "node": ">= 0.8.0" - } - }, - "node_modules/typed-array-buffer": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/typed-array-buffer/-/typed-array-buffer-1.0.3.tgz", - "integrity": "sha512-nAYYwfY3qnzX30IkA6AQZjVbtK6duGontcQm1WSG1MD94YLqK0515GNApXkoxKOWMusVssAHWLh9SeaoefYFGw==", - "dev": true, - "license": "MIT", - "peer": true, - "dependencies": { - "call-bound": "^1.0.3", - "es-errors": "^1.3.0", - "is-typed-array": "^1.1.14" - }, - "engines": { - "node": ">= 0.4" - } - }, - "node_modules/typed-array-byte-length": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/typed-array-byte-length/-/typed-array-byte-length-1.0.3.tgz", - "integrity": "sha512-BaXgOuIxz8n8pIq3e7Atg/7s+DpiYrxn4vdot3w9KbnBhcRQq6o3xemQdIfynqSeXeDrF32x+WvfzmOjPiY9lg==", - "dev": true, - "license": "MIT", - "peer": true, - "dependencies": { - "call-bind": "^1.0.8", - "for-each": "^0.3.3", - "gopd": "^1.2.0", - "has-proto": "^1.2.0", - "is-typed-array": "^1.1.14" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/typed-array-byte-offset": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/typed-array-byte-offset/-/typed-array-byte-offset-1.0.4.tgz", - "integrity": "sha512-bTlAFB/FBYMcuX81gbL4OcpH5PmlFHqlCCpAl8AlEzMz5k53oNDvN8p1PNOWLEmI2x4orp3raOFB51tv9X+MFQ==", - "dev": true, - "license": "MIT", - "peer": true, - "dependencies": { - "available-typed-arrays": "^1.0.7", - "call-bind": "^1.0.8", - "for-each": "^0.3.3", - "gopd": "^1.2.0", - "has-proto": "^1.2.0", - "is-typed-array": "^1.1.15", - "reflect.getprototypeof": "^1.0.9" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/typed-array-length": { - "version": "1.0.7", - "resolved": "https://registry.npmjs.org/typed-array-length/-/typed-array-length-1.0.7.tgz", - "integrity": "sha512-3KS2b+kL7fsuk/eJZ7EQdnEmQoaho/r6KUef7hxvltNA5DR8NAUM+8wJMbJyZ4G9/7i3v5zPBIMN5aybAh2/Jg==", - "dev": true, - "license": "MIT", - "peer": true, - "dependencies": { - "call-bind": "^1.0.7", - "for-each": "^0.3.3", - "gopd": "^1.0.1", - "is-typed-array": "^1.1.13", - "possible-typed-array-names": "^1.0.0", - "reflect.getprototypeof": "^1.0.6" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/typescript": { - "version": "5.6.3", - "resolved": "https://registry.npmjs.org/typescript/-/typescript-5.6.3.tgz", - "integrity": "sha512-hjcS1mhfuyi4WW8IWtjP7brDrG2cuDZukyrYrSauoXGNgx0S7zceP07adYkJycEr56BOUTNPzbInooiN3fn1qw==", - "dev": true, - "license": "Apache-2.0", - "bin": { - "tsc": "bin/tsc", - "tsserver": "bin/tsserver" - }, - "engines": { - "node": ">=14.17" - } - }, - "node_modules/typescript-eslint": { - "version": "8.19.0", - "resolved": "https://registry.npmjs.org/typescript-eslint/-/typescript-eslint-8.19.0.tgz", - "integrity": "sha512-Ni8sUkVWYK4KAcTtPjQ/UTiRk6jcsuDhPpxULapUDi8A/l8TSBk+t1GtJA1RsCzIJg0q6+J7bf35AwQigENWRQ==", - "dev": true, - "license": "MIT", - "peer": true, - "dependencies": { - "@typescript-eslint/eslint-plugin": "8.19.0", - "@typescript-eslint/parser": "8.19.0", - "@typescript-eslint/utils": "8.19.0" - }, - "engines": { - "node": "^18.18.0 || ^20.9.0 || >=21.1.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/typescript-eslint" - }, - "peerDependencies": { - "eslint": "^8.57.0 || ^9.0.0", - "typescript": ">=4.8.4 <5.8.0" - } - }, - "node_modules/typescript-eslint/node_modules/@typescript-eslint/scope-manager": { - "version": "8.19.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/scope-manager/-/scope-manager-8.19.0.tgz", - "integrity": "sha512-hkoJiKQS3GQ13TSMEiuNmSCvhz7ujyqD1x3ShbaETATHrck+9RaDdUbt+osXaUuns9OFwrDTTrjtwsU8gJyyRA==", - "dev": true, - "license": "MIT", - "peer": true, - "dependencies": { - "@typescript-eslint/types": "8.19.0", - "@typescript-eslint/visitor-keys": "8.19.0" - }, - "engines": { - "node": "^18.18.0 || ^20.9.0 || >=21.1.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/typescript-eslint" - } - }, - "node_modules/typescript-eslint/node_modules/@typescript-eslint/types": { - "version": "8.19.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/types/-/types-8.19.0.tgz", - "integrity": "sha512-8XQ4Ss7G9WX8oaYvD4OOLCjIQYgRQxO+qCiR2V2s2GxI9AUpo7riNwo6jDhKtTcaJjT8PY54j2Yb33kWtSJsmA==", - "dev": true, - "license": "MIT", - "peer": true, - "engines": { - "node": "^18.18.0 || ^20.9.0 || >=21.1.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/typescript-eslint" - } - }, - "node_modules/typescript-eslint/node_modules/@typescript-eslint/typescript-estree": { - "version": "8.19.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/typescript-estree/-/typescript-estree-8.19.0.tgz", - "integrity": "sha512-WW9PpDaLIFW9LCbucMSdYUuGeFUz1OkWYS/5fwZwTA+l2RwlWFdJvReQqMUMBw4yJWJOfqd7An9uwut2Oj8sLw==", - "dev": true, - "license": "MIT", - "peer": true, - "dependencies": { - "@typescript-eslint/types": "8.19.0", - "@typescript-eslint/visitor-keys": "8.19.0", - "debug": "^4.3.4", - "fast-glob": "^3.3.2", - "is-glob": "^4.0.3", - "minimatch": "^9.0.4", - "semver": "^7.6.0", - "ts-api-utils": "^1.3.0" - }, - "engines": { - "node": "^18.18.0 || ^20.9.0 || >=21.1.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/typescript-eslint" - }, - "peerDependencies": { - "typescript": ">=4.8.4 <5.8.0" - } - }, - "node_modules/typescript-eslint/node_modules/@typescript-eslint/utils": { - "version": "8.19.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/utils/-/utils-8.19.0.tgz", - "integrity": "sha512-PTBG+0oEMPH9jCZlfg07LCB2nYI0I317yyvXGfxnvGvw4SHIOuRnQ3kadyyXY6tGdChusIHIbM5zfIbp4M6tCg==", - "dev": true, - "license": "MIT", - "peer": true, - "dependencies": { - "@eslint-community/eslint-utils": "^4.4.0", - "@typescript-eslint/scope-manager": "8.19.0", - "@typescript-eslint/types": "8.19.0", - "@typescript-eslint/typescript-estree": "8.19.0" - }, - "engines": { - "node": "^18.18.0 || ^20.9.0 || >=21.1.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/typescript-eslint" - }, - "peerDependencies": { - "eslint": "^8.57.0 || ^9.0.0", - "typescript": ">=4.8.4 <5.8.0" - } - }, - "node_modules/typescript-eslint/node_modules/@typescript-eslint/visitor-keys": { - "version": "8.19.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/visitor-keys/-/visitor-keys-8.19.0.tgz", - "integrity": "sha512-mCFtBbFBJDCNCWUl5y6sZSCHXw1DEFEk3c/M3nRK2a4XUB8StGFtmcEMizdjKuBzB6e/smJAAWYug3VrdLMr1w==", - "dev": true, - "license": "MIT", - "peer": true, - "dependencies": { - "@typescript-eslint/types": "8.19.0", - "eslint-visitor-keys": "^4.2.0" - }, - "engines": { - "node": "^18.18.0 || ^20.9.0 || >=21.1.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/typescript-eslint" - } - }, - "node_modules/typescript-eslint/node_modules/ts-api-utils": { - "version": "1.4.3", - "resolved": "https://registry.npmjs.org/ts-api-utils/-/ts-api-utils-1.4.3.tgz", - "integrity": "sha512-i3eMG77UTMD0hZhgRS562pv83RC6ukSAC2GMNWc+9dieh/+jDM5u5YG+NHX6VNDRHQcHwmsTHctP9LhbC3WxVw==", - "dev": true, - "license": "MIT", - "peer": true, - "engines": { - "node": ">=16" - }, - "peerDependencies": { - "typescript": ">=4.2.0" - } - }, - "node_modules/unbox-primitive": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/unbox-primitive/-/unbox-primitive-1.1.0.tgz", - "integrity": "sha512-nWJ91DjeOkej/TA8pXQ3myruKpKEYgqvpw9lz4OPHj/NWFNluYrjbz9j01CJ8yKQd2g4jFoOkINCTW2I5LEEyw==", - "dev": true, - "license": "MIT", - "peer": true, - "dependencies": { - "call-bound": "^1.0.3", - "has-bigints": "^1.0.2", - "has-symbols": "^1.1.0", - "which-boxed-primitive": "^1.1.1" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/undici-types": { - "version": "6.21.0", - "resolved": "https://registry.npmjs.org/undici-types/-/undici-types-6.21.0.tgz", - "integrity": "sha512-iwDZqg0QAGrg9Rav5H4n0M64c3mkR59cJ6wQp+7C4nI0gsmExaedaYLNO44eT4AtBBwjbTiGPMlt2Md0T9H9JQ==", - "dev": true, - "license": "MIT" - }, - "node_modules/update-browserslist-db": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/update-browserslist-db/-/update-browserslist-db-1.1.2.tgz", - "integrity": "sha512-PPypAm5qvlD7XMZC3BujecnaOxwhrtoFR+Dqkk5Aa/6DssiH0ibKoketaj9w8LP7Bont1rYeoV5plxD7RTEPRg==", - "dev": true, - "funding": [ - { - "type": "opencollective", - "url": "https://opencollective.com/browserslist" - }, - { - "type": "tidelift", - "url": "https://tidelift.com/funding/github/npm/browserslist" - }, - { - "type": "github", - "url": "https://github.com/sponsors/ai" - } - ], - "license": "MIT", - "dependencies": { - "escalade": "^3.2.0", - "picocolors": "^1.1.1" - }, - "bin": { - "update-browserslist-db": "cli.js" - }, - "peerDependencies": { - "browserslist": ">= 4.21.0" - } - }, - "node_modules/uri-js": { - "version": "4.4.1", - "resolved": "https://registry.npmjs.org/uri-js/-/uri-js-4.4.1.tgz", - "integrity": "sha512-7rKUyy33Q1yc98pQ1DAmLtwX109F7TIfWlW1Ydo8Wl1ii1SeHieeh0HHfPeL2fMXK6z0s8ecKs9frCuLJvndBg==", - "dev": true, - "license": "BSD-2-Clause", - "peer": true, - "dependencies": { - "punycode": "^2.1.0" - } - }, - "node_modules/vite": { - "version": "6.3.5", - "resolved": "https://registry.npmjs.org/vite/-/vite-6.3.5.tgz", - "integrity": "sha512-cZn6NDFE7wdTpINgs++ZJ4N49W2vRp8LCKrn3Ob1kYNtOo21vfDoaV5GzBfLU4MovSAB8uNRm4jgzVQZ+mBzPQ==", - "dev": true, - "license": "MIT", - "dependencies": { - "esbuild": "^0.25.0", - "fdir": "^6.4.4", - "picomatch": "^4.0.2", - "postcss": "^8.5.3", - "rollup": "^4.34.9", - "tinyglobby": "^0.2.13" - }, - "bin": { - "vite": "bin/vite.js" - }, - "engines": { - "node": "^18.0.0 || ^20.0.0 || >=22.0.0" - }, - "funding": { - "url": "https://github.com/vitejs/vite?sponsor=1" - }, - "optionalDependencies": { - "fsevents": "~2.3.3" - }, - "peerDependencies": { - "@types/node": "^18.0.0 || ^20.0.0 || >=22.0.0", - "jiti": ">=1.21.0", - "less": "*", - "lightningcss": "^1.21.0", - "sass": "*", - "sass-embedded": "*", - "stylus": "*", - "sugarss": "*", - "terser": "^5.16.0", - "tsx": "^4.8.1", - "yaml": "^2.4.2" - }, - "peerDependenciesMeta": { - "@types/node": { - "optional": true - }, - "jiti": { - "optional": true - }, - "less": { - "optional": true - }, - "lightningcss": { - "optional": true - }, - "sass": { - "optional": true - }, - "sass-embedded": { - "optional": true - }, - "stylus": { - "optional": true - }, - "sugarss": { - "optional": true - }, - "terser": { - "optional": true - }, - "tsx": { - "optional": true - }, - "yaml": { - "optional": true - } - } - }, - "node_modules/which": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/which/-/which-2.0.2.tgz", - "integrity": "sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA==", - "dev": true, - "license": "ISC", - "peer": true, - "dependencies": { - "isexe": "^2.0.0" - }, - "bin": { - "node-which": "bin/node-which" - }, - "engines": { - "node": ">= 8" - } - }, - "node_modules/which-boxed-primitive": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/which-boxed-primitive/-/which-boxed-primitive-1.1.1.tgz", - "integrity": "sha512-TbX3mj8n0odCBFVlY8AxkqcHASw3L60jIuF8jFP78az3C2YhmGvqbHBpAjTRH2/xqYunrJ9g1jSyjCjpoWzIAA==", - "dev": true, - "license": "MIT", - "peer": true, - "dependencies": { - "is-bigint": "^1.1.0", - "is-boolean-object": "^1.2.1", - "is-number-object": "^1.1.1", - "is-string": "^1.1.1", - "is-symbol": "^1.1.1" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/which-builtin-type": { - "version": "1.2.1", - "resolved": "https://registry.npmjs.org/which-builtin-type/-/which-builtin-type-1.2.1.tgz", - "integrity": "sha512-6iBczoX+kDQ7a3+YJBnh3T+KZRxM/iYNPXicqk66/Qfm1b93iu+yOImkg0zHbj5LNOcNv1TEADiZ0xa34B4q6Q==", - "dev": true, - "license": "MIT", - "peer": true, - "dependencies": { - "call-bound": "^1.0.2", - "function.prototype.name": "^1.1.6", - "has-tostringtag": "^1.0.2", - "is-async-function": "^2.0.0", - "is-date-object": "^1.1.0", - "is-finalizationregistry": "^1.1.0", - "is-generator-function": "^1.0.10", - "is-regex": "^1.2.1", - "is-weakref": "^1.0.2", - "isarray": "^2.0.5", - "which-boxed-primitive": "^1.1.0", - "which-collection": "^1.0.2", - "which-typed-array": "^1.1.16" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/which-collection": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/which-collection/-/which-collection-1.0.2.tgz", - "integrity": "sha512-K4jVyjnBdgvc86Y6BkaLZEN933SwYOuBFkdmBu9ZfkcAbdVbpITnDmjvZ/aQjRXQrv5EPkTnD1s39GiiqbngCw==", - "dev": true, - "license": "MIT", - "peer": true, - "dependencies": { - "is-map": "^2.0.3", - "is-set": "^2.0.3", - "is-weakmap": "^2.0.2", - "is-weakset": "^2.0.3" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/which-typed-array": { - "version": "1.1.18", - "resolved": "https://registry.npmjs.org/which-typed-array/-/which-typed-array-1.1.18.tgz", - "integrity": "sha512-qEcY+KJYlWyLH9vNbsr6/5j59AXk5ni5aakf8ldzBvGde6Iz4sxZGkJyWSAueTG7QhOvNRYb1lDdFmL5Td0QKA==", - "dev": true, - "license": "MIT", - "peer": true, - "dependencies": { - "available-typed-arrays": "^1.0.7", - "call-bind": "^1.0.8", - "call-bound": "^1.0.3", - "for-each": "^0.3.3", - "gopd": "^1.2.0", - "has-tostringtag": "^1.0.2" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/word-wrap": { - "version": "1.2.5", - "resolved": "https://registry.npmjs.org/word-wrap/-/word-wrap-1.2.5.tgz", - "integrity": "sha512-BN22B5eaMMI9UMtjrGd5g5eCYPpCPDUy0FJXbYsaT5zYxjFOckS53SQDE3pWkVoWpHXVb3BrYcEN4Twa55B5cA==", - "dev": true, - "license": "MIT", - "peer": true, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/ws": { - "version": "8.17.1", - "resolved": "https://registry.npmjs.org/ws/-/ws-8.17.1.tgz", - "integrity": "sha512-6XQFvXTkbfUOZOKKILFG1PDK2NDQs4azKQl26T0YS5CxqWLgXajbPZ+h4gZekJyRqFU8pvnbAbbs/3TgRPy+GQ==", - "license": "MIT", - "engines": { - "node": ">=10.0.0" - }, - "peerDependencies": { - "bufferutil": "^4.0.1", - "utf-8-validate": ">=5.0.2" - }, - "peerDependenciesMeta": { - "bufferutil": { - "optional": true - }, - "utf-8-validate": { - "optional": true - } - } - }, - "node_modules/xmlhttprequest-ssl": { - "version": "2.1.2", - "resolved": "https://registry.npmjs.org/xmlhttprequest-ssl/-/xmlhttprequest-ssl-2.1.2.tgz", - "integrity": "sha512-TEU+nJVUUnA4CYJFLvK5X9AOeH4KvDvhIfm0vV1GaQRtchnG0hgK5p8hw/xjv8cunWYCsiPCSDzObPyhEwq3KQ==", - "engines": { - "node": ">=0.4.0" - } - }, - "node_modules/xtend": { - "version": "4.0.2", - "resolved": "https://registry.npmjs.org/xtend/-/xtend-4.0.2.tgz", - "integrity": "sha512-LKYU1iAXJXUgAXn9URjiu+MWhyUXHsvfp7mcuYm9dSUKK0/CjtrUwFAxD82/mCWbtLsGjFIad0wIsod4zrTAEQ==", - "license": "MIT", - "engines": { - "node": ">=0.4" - } - }, - "node_modules/yallist": { - "version": "3.1.1", - "resolved": "https://registry.npmjs.org/yallist/-/yallist-3.1.1.tgz", - "integrity": "sha512-a4UGQaWPH59mOXUYnAG2ewncQS4i4F43Tv3JoAM+s2VDAmS9NsK8GpDMLrCHPksFT7h3K6TOoUNn2pb7RoXx4g==", - "dev": true, - "license": "ISC" - }, - "node_modules/yaml": { - "version": "2.7.0", - "resolved": "https://registry.npmjs.org/yaml/-/yaml-2.7.0.tgz", - "integrity": "sha512-+hSoy/QHluxmC9kCIJyL/uyFmLmc+e5CFR5Wa+bpIhIj85LVb9ZH2nVnqrHoSvKogwODv0ClqZkmiSSaIH5LTA==", - "dev": true, - "license": "ISC", - "optional": true, - "peer": true, - "bin": { - "yaml": "bin.mjs" - }, - "engines": { - "node": ">= 14" - } - }, - "node_modules/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, - "license": "MIT", - "peer": true, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/zustand": { - "version": "5.0.3", - "resolved": "https://registry.npmjs.org/zustand/-/zustand-5.0.3.tgz", - "integrity": "sha512-14fwWQtU3pH4dE0dOpdMiWjddcH+QzKIgk1cl8epwSE7yag43k/AD/m4L6+K7DytAOr9gGBe3/EXj9g7cdostg==", - "license": "MIT", - "engines": { - "node": ">=12.20.0" - }, - "peerDependencies": { - "@types/react": ">=18.0.0", - "immer": ">=9.0.6", - "react": ">=18.0.0", - "use-sync-external-store": ">=1.2.0" - }, - "peerDependenciesMeta": { - "@types/react": { - "optional": true - }, - "immer": { - "optional": true - }, - "react": { - "optional": true - }, - "use-sync-external-store": { - "optional": true - } - } - } - } -} diff --git a/components/webui/client/package.json b/components/webui/client/package.json index 54d61c2d00..308ba20f66 100644 --- a/components/webui/client/package.json +++ b/components/webui/client/package.json @@ -24,6 +24,7 @@ "@tanstack/react-query-devtools": "^5.81.5", "@webui/common": "*", "antd": "^5.24.5", + "antlr4": "^4.13.2", "axios": "^1.7.9", "chart.js": "^4.4.9", "chartjs-adapter-dayjs-4": "^1.0.4", diff --git a/components/webui/client/src/sql-parser/SqlBase.g4 b/components/webui/client/src/sql-parser/SqlBase.g4 new file mode 100644 index 0000000000..f0c4da0bd8 --- /dev/null +++ b/components/webui/client/src/sql-parser/SqlBase.g4 @@ -0,0 +1,981 @@ +/* + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +grammar SqlBase; + +tokens { + DELIMITER +} + +singleStatement + : statement EOF + ; + +standaloneExpression + : expression EOF + ; + +standaloneRoutineBody + : routineBody EOF + ; + +statement + : query #statementDefault + | USE schema=identifier #use + | USE catalog=identifier '.' schema=identifier #use + | CREATE SCHEMA (IF NOT EXISTS)? qualifiedName + (WITH properties)? #createSchema + | DROP SCHEMA (IF EXISTS)? qualifiedName (CASCADE | RESTRICT)? #dropSchema + | ALTER SCHEMA qualifiedName RENAME TO identifier #renameSchema + | CREATE TABLE (IF NOT EXISTS)? qualifiedName columnAliases? + (COMMENT string)? + (WITH properties)? AS (query | '('query')') + (WITH (NO)? DATA)? #createTableAsSelect + | CREATE TABLE (IF NOT EXISTS)? qualifiedName + '(' tableElement (',' tableElement)* ')' + (COMMENT string)? + (WITH properties)? #createTable + | DROP TABLE (IF EXISTS)? qualifiedName #dropTable + | INSERT INTO qualifiedName columnAliases? query #insertInto + | DELETE FROM qualifiedName (WHERE booleanExpression)? #delete + | TRUNCATE TABLE qualifiedName #truncateTable + | ALTER TABLE (IF EXISTS)? from=qualifiedName + RENAME TO to=qualifiedName #renameTable + | ALTER TABLE (IF EXISTS)? tableName=qualifiedName + RENAME COLUMN (IF EXISTS)? from=identifier TO to=identifier #renameColumn + | ALTER TABLE (IF EXISTS)? tableName=qualifiedName + DROP COLUMN (IF EXISTS)? column=qualifiedName #dropColumn + | ALTER TABLE (IF EXISTS)? tableName=qualifiedName + ADD COLUMN (IF NOT EXISTS)? column=columnDefinition #addColumn + | ALTER TABLE (IF EXISTS)? tableName=qualifiedName + ADD constraintSpecification #addConstraint + | ALTER TABLE (IF EXISTS)? tableName=qualifiedName + DROP CONSTRAINT (IF EXISTS)? name=identifier #dropConstraint + | ALTER TABLE (IF EXISTS)? tableName=qualifiedName + ALTER (COLUMN)? column=identifier SET NOT NULL #alterColumnSetNotNull + | ALTER TABLE (IF EXISTS)? tableName=qualifiedName + ALTER (COLUMN)? column=identifier DROP NOT NULL #alterColumnDropNotNull + | ALTER TABLE (IF EXISTS)? tableName=qualifiedName + SET PROPERTIES properties #setTableProperties + | ANALYZE qualifiedName (WITH properties)? #analyze + | CREATE TYPE qualifiedName AS ( + '(' sqlParameterDeclaration (',' sqlParameterDeclaration)* ')' + | type) #createType + | CREATE (OR REPLACE)? VIEW qualifiedName + (SECURITY (DEFINER | INVOKER))? AS query #createView + | ALTER VIEW (IF EXISTS)? from=qualifiedName + RENAME TO to=qualifiedName #renameView + | DROP VIEW (IF EXISTS)? qualifiedName #dropView + | CREATE MATERIALIZED VIEW (IF NOT EXISTS)? qualifiedName + (COMMENT string)? + (WITH properties)? AS (query | '('query')') #createMaterializedView + | DROP MATERIALIZED VIEW (IF EXISTS)? qualifiedName #dropMaterializedView + | REFRESH MATERIALIZED VIEW qualifiedName WHERE booleanExpression #refreshMaterializedView + | CREATE (OR REPLACE)? TEMPORARY? FUNCTION functionName=qualifiedName + '(' (sqlParameterDeclaration (',' sqlParameterDeclaration)*)? ')' + RETURNS returnType=type + (COMMENT string)? + routineCharacteristics routineBody #createFunction + | ALTER FUNCTION qualifiedName types? + alterRoutineCharacteristics #alterFunction + | DROP TEMPORARY? FUNCTION (IF EXISTS)? qualifiedName types? #dropFunction + | CALL qualifiedName '(' (callArgument (',' callArgument)*)? ')' #call + | CREATE ROLE name=identifier + (WITH ADMIN grantor)? #createRole + | DROP ROLE name=identifier #dropRole + | GRANT + roles + TO principal (',' principal)* + (WITH ADMIN OPTION)? + (GRANTED BY grantor)? #grantRoles + | REVOKE + (ADMIN OPTION FOR)? + roles + FROM principal (',' principal)* + (GRANTED BY grantor)? #revokeRoles + | SET ROLE (ALL | NONE | role=identifier) #setRole + | GRANT + (privilege (',' privilege)* | ALL PRIVILEGES) + ON TABLE? qualifiedName TO grantee=principal + (WITH GRANT OPTION)? #grant + | REVOKE + (GRANT OPTION FOR)? + (privilege (',' privilege)* | ALL PRIVILEGES) + ON TABLE? qualifiedName FROM grantee=principal #revoke + | SHOW GRANTS + (ON TABLE? qualifiedName)? #showGrants + | EXPLAIN ANALYZE? VERBOSE? + ('(' explainOption (',' explainOption)* ')')? statement #explain + | SHOW CREATE TABLE qualifiedName #showCreateTable + | SHOW CREATE SCHEMA qualifiedName #showCreateSchema + | SHOW CREATE VIEW qualifiedName #showCreateView + | SHOW CREATE MATERIALIZED VIEW qualifiedName #showCreateMaterializedView + | SHOW CREATE FUNCTION qualifiedName types? #showCreateFunction + | SHOW TABLES ((FROM | IN) qualifiedName)? + (LIKE pattern=string (ESCAPE escape=string)?)? #showTables + | SHOW SCHEMAS ((FROM | IN) identifier)? + (LIKE pattern=string (ESCAPE escape=string)?)? #showSchemas + | SHOW CATALOGS + (LIKE pattern=string (ESCAPE escape=string)?)? #showCatalogs + | SHOW COLUMNS (FROM | IN) qualifiedName #showColumns + | SHOW STATS FOR qualifiedName #showStats + | SHOW STATS FOR '(' querySpecification ')' #showStatsForQuery + | SHOW CURRENT? ROLES ((FROM | IN) identifier)? #showRoles + | SHOW ROLE GRANTS ((FROM | IN) identifier)? #showRoleGrants + | DESCRIBE qualifiedName #showColumns + | DESC qualifiedName #showColumns + | SHOW FUNCTIONS + (LIKE pattern=string (ESCAPE escape=string)?)? #showFunctions + | SHOW SESSION + (LIKE pattern=string (ESCAPE escape=string)?)? #showSession + | SET SESSION qualifiedName EQ expression #setSession + | RESET SESSION qualifiedName #resetSession + | START TRANSACTION (transactionMode (',' transactionMode)*)? #startTransaction + | COMMIT WORK? #commit + | ROLLBACK WORK? #rollback + | PREPARE identifier FROM statement #prepare + | DEALLOCATE PREPARE identifier #deallocate + | EXECUTE identifier (USING expression (',' expression)*)? #execute + | DESCRIBE INPUT identifier #describeInput + | DESCRIBE OUTPUT identifier #describeOutput + | UPDATE qualifiedName + SET updateAssignment (',' updateAssignment)* + (WHERE where=booleanExpression)? #update + ; + +query + : with? queryNoWith + ; + +with + : WITH RECURSIVE? namedQuery (',' namedQuery)* + ; + +tableElement + : constraintSpecification + | columnDefinition + | likeClause + ; + +columnDefinition + : identifier type (NOT NULL)? (COMMENT string)? (WITH properties)? + ; + +likeClause + : LIKE qualifiedName (optionType=(INCLUDING | EXCLUDING) PROPERTIES)? + ; + +properties + : '(' property (',' property)* ')' + ; + +property + : identifier EQ expression + ; + +sqlParameterDeclaration + : identifier type + ; + +routineCharacteristics + : routineCharacteristic* + ; + +routineCharacteristic + : LANGUAGE language + | determinism + | nullCallClause + ; + +alterRoutineCharacteristics + : alterRoutineCharacteristic* + ; + +alterRoutineCharacteristic + : nullCallClause + ; + +routineBody + : returnStatement + | externalBodyReference + ; + +returnStatement + : RETURN expression + ; + +externalBodyReference + : EXTERNAL (NAME externalRoutineName)? + ; + +language + : SQL + | identifier + ; + +determinism + : DETERMINISTIC + | NOT DETERMINISTIC; + +nullCallClause + : RETURNS NULL ON NULL INPUT + | CALLED ON NULL INPUT + ; + +externalRoutineName + : identifier + ; + +queryNoWith: + queryTerm + (ORDER BY sortItem (',' sortItem)*)? + (OFFSET offset=INTEGER_VALUE (ROW | ROWS)?)? + ((LIMIT limit=(INTEGER_VALUE | ALL) | (FETCH FIRST fetchFirstNRows=INTEGER_VALUE ROWS ONLY)))? + ; + +queryTerm + : queryPrimary #queryTermDefault + | left=queryTerm operator=INTERSECT setQuantifier? right=queryTerm #setOperation + | left=queryTerm operator=(UNION | EXCEPT) setQuantifier? right=queryTerm #setOperation + ; + +queryPrimary + : querySpecification #queryPrimaryDefault + | TABLE qualifiedName #table + | VALUES expression (',' expression)* #inlineTable + | '(' queryNoWith ')' #subquery + ; + +sortItem + : expression ordering=(ASC | DESC)? (NULLS nullOrdering=(FIRST | LAST))? + ; + +querySpecification + : SELECT setQuantifier? selectItem (',' selectItem)* + (FROM relation (',' relation)*)? + (WHERE where=booleanExpression)? + (GROUP BY groupBy)? + (HAVING having=booleanExpression)? + ; + +groupBy + : setQuantifier? groupingElement (',' groupingElement)* + ; + +groupingElement + : groupingSet #singleGroupingSet + | ROLLUP '(' (expression (',' expression)*)? ')' #rollup + | CUBE '(' (expression (',' expression)*)? ')' #cube + | GROUPING SETS '(' groupingSet (',' groupingSet)* ')' #multipleGroupingSets + ; + +groupingSet + : '(' (expression (',' expression)*)? ')' + | expression + ; + +namedQuery + : name=identifier (columnAliases)? AS '(' query ')' + ; + +setQuantifier + : DISTINCT + | ALL + ; + +selectItem + : expression (AS? identifier)? #selectSingle + | qualifiedName '.' ASTERISK #selectAll + | ASTERISK #selectAll + ; + +relation + : left=relation + ( CROSS JOIN right=sampledRelation + | joinType JOIN rightRelation=relation joinCriteria + | NATURAL joinType JOIN right=sampledRelation + ) #joinRelation + | sampledRelation #relationDefault + ; + +joinType + : INNER? + | LEFT OUTER? + | RIGHT OUTER? + | FULL OUTER? + ; + +joinCriteria + : ON booleanExpression + | USING '(' identifier (',' identifier)* ')' + ; + +sampledRelation + : aliasedRelation ( + TABLESAMPLE sampleType '(' percentage=expression ')' + )? + ; + +sampleType + : BERNOULLI + | SYSTEM + ; + +aliasedRelation + : relationPrimary (AS? identifier columnAliases?)? + ; + +columnAliases + : '(' identifier (',' identifier)* ')' + ; + +relationPrimary + : qualifiedName tableVersionExpression? #tableName + | '(' query ')' #subqueryRelation + | UNNEST '(' expression (',' expression)* ')' (WITH ORDINALITY)? #unnest + | LATERAL '(' query ')' #lateral + | '(' relation ')' #parenthesizedRelation + ; + +expression + : booleanExpression + ; + +booleanExpression + : valueExpression predicate[$valueExpression.ctx]? #predicated + | NOT booleanExpression #logicalNot + | left=booleanExpression operator=AND right=booleanExpression #logicalBinary + | left=booleanExpression operator=OR right=booleanExpression #logicalBinary + ; + +// workaround for https://github.com/antlr/antlr4/issues/780 +predicate[ParserRuleContext value] + : comparisonOperator right=valueExpression #comparison + | comparisonOperator comparisonQuantifier '(' query ')' #quantifiedComparison + | NOT? BETWEEN lower=valueExpression AND upper=valueExpression #between + | NOT? IN '(' expression (',' expression)* ')' #inList + | NOT? IN '(' query ')' #inSubquery + | NOT? LIKE pattern=valueExpression (ESCAPE escape=valueExpression)? #like + | IS NOT? NULL #nullPredicate + | IS NOT? DISTINCT FROM right=valueExpression #distinctFrom + ; + +valueExpression + : primaryExpression #valueExpressionDefault + | valueExpression AT timeZoneSpecifier #atTimeZone + | operator=(MINUS | PLUS) valueExpression #arithmeticUnary + | left=valueExpression operator=(ASTERISK | SLASH | PERCENT) right=valueExpression #arithmeticBinary + | left=valueExpression operator=(PLUS | MINUS) right=valueExpression #arithmeticBinary + | left=valueExpression CONCAT right=valueExpression #concatenation + ; + +primaryExpression + : NULL #nullLiteral + | interval #intervalLiteral + | identifier string #typeConstructor + | DOUBLE_PRECISION string #typeConstructor + | number #numericLiteral + | booleanValue #booleanLiteral + | string #stringLiteral + | BINARY_LITERAL #binaryLiteral + | '?' #parameter + | POSITION '(' valueExpression IN valueExpression ')' #position + | '(' expression (',' expression)+ ')' #rowConstructor + | ROW '(' expression (',' expression)* ')' #rowConstructor + | qualifiedName '(' ASTERISK ')' filter? over? #functionCall + | qualifiedName '(' (setQuantifier? expression (',' expression)*)? + (ORDER BY sortItem (',' sortItem)*)? ')' filter? (nullTreatment? over)? #functionCall + | identifier '->' expression #lambda + | '(' (identifier (',' identifier)*)? ')' '->' expression #lambda + | '(' query ')' #subqueryExpression + // This is an extension to ANSI SQL, which considers EXISTS to be a + | EXISTS '(' query ')' #exists + | CASE valueExpression whenClause+ (ELSE elseExpression=expression)? END #simpleCase + | CASE whenClause+ (ELSE elseExpression=expression)? END #searchedCase + | CAST '(' expression AS type ')' #cast + | TRY_CAST '(' expression AS type ')' #cast + | ARRAY '[' (expression (',' expression)*)? ']' #arrayConstructor + | value=primaryExpression '[' index=valueExpression ']' #subscript + | identifier #columnReference + | base=primaryExpression '.' fieldName=identifier #dereference + | name=CURRENT_DATE #specialDateTimeFunction + | name=CURRENT_TIME ('(' precision=INTEGER_VALUE ')')? #specialDateTimeFunction + | name=CURRENT_TIMESTAMP ('(' precision=INTEGER_VALUE ')')? #specialDateTimeFunction + | name=LOCALTIME ('(' precision=INTEGER_VALUE ')')? #specialDateTimeFunction + | name=LOCALTIMESTAMP ('(' precision=INTEGER_VALUE ')')? #specialDateTimeFunction + | name=CURRENT_USER #currentUser + | SUBSTRING '(' valueExpression FROM valueExpression (FOR valueExpression)? ')' #substring + | NORMALIZE '(' valueExpression (',' normalForm)? ')' #normalize + | EXTRACT '(' identifier FROM valueExpression ')' #extract + | '(' expression ')' #parenthesizedExpression + | GROUPING '(' (qualifiedName (',' qualifiedName)*)? ')' #groupingOperation + ; + +string + : STRING #basicStringLiteral + | UNICODE_STRING (UESCAPE STRING)? #unicodeStringLiteral + ; + +nullTreatment + : IGNORE NULLS + | RESPECT NULLS + ; + +timeZoneSpecifier + : TIME ZONE interval #timeZoneInterval + | TIME ZONE string #timeZoneString + ; + +comparisonOperator + : EQ | NEQ | LT | LTE | GT | GTE + ; + +comparisonQuantifier + : ALL | SOME | ANY + ; + +booleanValue + : TRUE | FALSE + ; + +interval + : INTERVAL sign=(PLUS | MINUS)? string from=intervalField (TO to=intervalField)? + ; + +intervalField + : YEAR | MONTH | DAY | HOUR | MINUTE | SECOND + ; + +normalForm + : NFD | NFC | NFKD | NFKC + ; + +types + : '(' (type (',' type)*)? ')' + ; + +type + : type ARRAY + | ARRAY '<' type '>' + | MAP '<' type ',' type '>' + | ROW '(' identifier type (',' identifier type)* ')' + | baseType ('(' typeParameter (',' typeParameter)* ')')? + | INTERVAL from=intervalField TO to=intervalField + ; + +typeParameter + : INTEGER_VALUE | type + ; + +baseType + : TIME_WITH_TIME_ZONE + | TIMESTAMP_WITH_TIME_ZONE + | DOUBLE_PRECISION + | qualifiedName + ; + +whenClause + : WHEN condition=expression THEN result=expression + ; + +filter + : FILTER '(' WHERE booleanExpression ')' + ; + +over + : OVER '(' + (PARTITION BY partition+=expression (',' partition+=expression)*)? + (ORDER BY sortItem (',' sortItem)*)? + windowFrame? + ')' + ; + +windowFrame + : frameType=RANGE start=frameBound + | frameType=ROWS start=frameBound + | frameType=GROUPS start=frameBound + | frameType=RANGE BETWEEN start=frameBound AND end=frameBound + | frameType=ROWS BETWEEN start=frameBound AND end=frameBound + | frameType=GROUPS BETWEEN start=frameBound AND end=frameBound + ; + +frameBound + : UNBOUNDED boundType=PRECEDING #unboundedFrame + | UNBOUNDED boundType=FOLLOWING #unboundedFrame + | CURRENT ROW #currentRowBound + | expression boundType=(PRECEDING | FOLLOWING) #boundedFrame // expression should be unsignedLiteral + ; + +updateAssignment + : identifier '=' expression + ; + +explainOption + : FORMAT value=(TEXT | GRAPHVIZ | JSON) #explainFormat + | TYPE value=(LOGICAL | DISTRIBUTED | VALIDATE | IO) #explainType + ; + +transactionMode + : ISOLATION LEVEL levelOfIsolation #isolationLevel + | READ accessMode=(ONLY | WRITE) #transactionAccessMode + ; + +levelOfIsolation + : READ UNCOMMITTED #readUncommitted + | READ COMMITTED #readCommitted + | REPEATABLE READ #repeatableRead + | SERIALIZABLE #serializable + ; + +callArgument + : expression #positionalArgument + | identifier '=>' expression #namedArgument + ; + +privilege + : SELECT | DELETE | INSERT | identifier + ; + +qualifiedName + : identifier ('.' identifier)* + ; + +tableVersionExpression + : FOR tableVersionType=(SYSTEM_TIME | SYSTEM_VERSION | TIMESTAMP | VERSION) tableVersionState valueExpression #tableVersion + ; + +tableVersionState + : AS OF #tableversionasof + | BEFORE #tableversionbefore + ; + +grantor + : CURRENT_USER #currentUserGrantor + | CURRENT_ROLE #currentRoleGrantor + | principal #specifiedPrincipal + ; + +principal + : USER identifier #userPrincipal + | ROLE identifier #rolePrincipal + | identifier #unspecifiedPrincipal + ; + +roles + : identifier (',' identifier)* + ; + +identifier + : IDENTIFIER #unquotedIdentifier + | QUOTED_IDENTIFIER #quotedIdentifier + | nonReserved #unquotedIdentifier + | BACKQUOTED_IDENTIFIER #backQuotedIdentifier + | DIGIT_IDENTIFIER #digitIdentifier + ; + +number + : DECIMAL_VALUE #decimalLiteral + | DOUBLE_VALUE #doubleLiteral + | INTEGER_VALUE #integerLiteral + ; + +constraintSpecification + : namedConstraintSpecification | unnamedConstraintSpecification + ; + +namedConstraintSpecification + : CONSTRAINT name=identifier unnamedConstraintSpecification + ; + +unnamedConstraintSpecification + : constraintType columnAliases constraintQualifiers? + ; + +constraintType + : UNIQUE + | PRIMARY KEY + ; + +constraintQualifiers + : constraintQualifier* + ; + +constraintQualifier + : constraintEnabled + | constraintRely + | constraintEnforced + ; + +constraintRely + : RELY | NOT RELY + ; + +constraintEnabled + : ENABLED | DISABLED + ; + +constraintEnforced + : ENFORCED | NOT ENFORCED + ; + +nonReserved + // IMPORTANT: this rule must only contain tokens. Nested rules are not supported. See SqlParser.exitNonReserved + : ADD | ADMIN | ALL | ANALYZE | ANY | ARRAY | ASC | AT + | BEFORE | BERNOULLI + | CALL | CALLED | CASCADE | CATALOGS | COLUMN | COLUMNS | COMMENT | COMMIT | COMMITTED | CURRENT | CURRENT_ROLE + | DATA | DATE | DAY | DEFINER | DESC | DETERMINISTIC | DISABLED | DISTRIBUTED + | ENABLED | ENFORCED | EXCLUDING | EXPLAIN | EXTERNAL + | FETCH | FILTER | FIRST | FOLLOWING | FORMAT | FUNCTION | FUNCTIONS + | GRANT | GRANTED | GRANTS | GRAPHVIZ | GROUPS + | HOUR + | IF | IGNORE | INCLUDING | INPUT | INTERVAL | INVOKER | IO | ISOLATION + | JSON + | KEY + | LANGUAGE | LAST | LATERAL | LEVEL | LIMIT | LOGICAL + | MAP | MATERIALIZED | MINUTE | MONTH + | NAME | NFC | NFD | NFKC | NFKD | NO | NONE | NULLIF | NULLS + | OF | OFFSET | ONLY | OPTION | ORDINALITY | OUTPUT | OVER + | PARTITION | PARTITIONS | POSITION | PRECEDING | PRIMARY | PRIVILEGES | PROPERTIES + | RANGE | READ | REFRESH | RELY | RENAME | REPEATABLE | REPLACE | RESET | RESPECT | RESTRICT | RETURN | RETURNS | REVOKE | ROLE | ROLES | ROLLBACK | ROW | ROWS + | SCHEMA | SCHEMAS | SECOND | SECURITY | SERIALIZABLE | SESSION | SET | SETS | SQL + | SHOW | SOME | START | STATS | SUBSTRING | SYSTEM | SYSTEM_TIME | SYSTEM_VERSION + | TABLES | TABLESAMPLE | TEMPORARY | TEXT | TIME | TIMESTAMP | TO | TRANSACTION | TRUNCATE | TRY_CAST | TYPE + | UNBOUNDED | UNCOMMITTED | UNIQUE | UPDATE | USE | USER + | VALIDATE | VERBOSE | VERSION | VIEW + | WORK | WRITE + | YEAR + | ZONE + ; + +ADD: 'ADD'; +ADMIN: 'ADMIN'; +ALL: 'ALL'; +ALTER: 'ALTER'; +ANALYZE: 'ANALYZE'; +AND: 'AND'; +ANY: 'ANY'; +ARRAY: 'ARRAY'; +AS: 'AS'; +ASC: 'ASC'; +AT: 'AT'; +BEFORE: 'BEFORE'; +BERNOULLI: 'BERNOULLI'; +BETWEEN: 'BETWEEN'; +BY: 'BY'; +CALL: 'CALL'; +CALLED: 'CALLED'; +CASCADE: 'CASCADE'; +CASE: 'CASE'; +CAST: 'CAST'; +CATALOGS: 'CATALOGS'; +COLUMN: 'COLUMN'; +COLUMNS: 'COLUMNS'; +COMMENT: 'COMMENT'; +COMMIT: 'COMMIT'; +COMMITTED: 'COMMITTED'; +CONSTRAINT: 'CONSTRAINT'; +CREATE: 'CREATE'; +CROSS: 'CROSS'; +CUBE: 'CUBE'; +CURRENT: 'CURRENT'; +CURRENT_DATE: 'CURRENT_DATE'; +CURRENT_ROLE: 'CURRENT_ROLE'; +CURRENT_TIME: 'CURRENT_TIME'; +CURRENT_TIMESTAMP: 'CURRENT_TIMESTAMP'; +CURRENT_USER: 'CURRENT_USER'; +DATA: 'DATA'; +DATE: 'DATE'; +DAY: 'DAY'; +DEALLOCATE: 'DEALLOCATE'; +DEFINER: 'DEFINER'; +DELETE: 'DELETE'; +DESC: 'DESC'; +DESCRIBE: 'DESCRIBE'; +DETERMINISTIC: 'DETERMINISTIC'; +DISABLED: 'DISABLED'; +DISTINCT: 'DISTINCT'; +DISTRIBUTED: 'DISTRIBUTED'; +DROP: 'DROP'; +ELSE: 'ELSE'; +ENABLED: 'ENABLED'; +END: 'END'; +ENFORCED: 'ENFORCED'; +ESCAPE: 'ESCAPE'; +EXCEPT: 'EXCEPT'; +EXCLUDING: 'EXCLUDING'; +EXECUTE: 'EXECUTE'; +EXISTS: 'EXISTS'; +EXPLAIN: 'EXPLAIN'; +EXTRACT: 'EXTRACT'; +EXTERNAL: 'EXTERNAL'; +FALSE: 'FALSE'; +FETCH: 'FETCH'; +FILTER: 'FILTER'; +FIRST: 'FIRST'; +FOLLOWING: 'FOLLOWING'; +FOR: 'FOR'; +FORMAT: 'FORMAT'; +FROM: 'FROM'; +FULL: 'FULL'; +FUNCTION: 'FUNCTION'; +FUNCTIONS: 'FUNCTIONS'; +GRANT: 'GRANT'; +GRANTED: 'GRANTED'; +GRANTS: 'GRANTS'; +GRAPHVIZ: 'GRAPHVIZ'; +GROUP: 'GROUP'; +GROUPING: 'GROUPING'; +GROUPS: 'GROUPS'; +HAVING: 'HAVING'; +HOUR: 'HOUR'; +IF: 'IF'; +IGNORE: 'IGNORE'; +IN: 'IN'; +INCLUDING: 'INCLUDING'; +INNER: 'INNER'; +INPUT: 'INPUT'; +INSERT: 'INSERT'; +INTERSECT: 'INTERSECT'; +INTERVAL: 'INTERVAL'; +INTO: 'INTO'; +INVOKER: 'INVOKER'; +IO: 'IO'; +IS: 'IS'; +ISOLATION: 'ISOLATION'; +JSON: 'JSON'; +JOIN: 'JOIN'; +KEY: 'KEY'; +LANGUAGE: 'LANGUAGE'; +LAST: 'LAST'; +LATERAL: 'LATERAL'; +LEFT: 'LEFT'; +LEVEL: 'LEVEL'; +LIKE: 'LIKE'; +LIMIT: 'LIMIT'; +LOCALTIME: 'LOCALTIME'; +LOCALTIMESTAMP: 'LOCALTIMESTAMP'; +LOGICAL: 'LOGICAL'; +MAP: 'MAP'; +MATERIALIZED: 'MATERIALIZED'; +MINUTE: 'MINUTE'; +MONTH: 'MONTH'; +NAME: 'NAME'; +NATURAL: 'NATURAL'; +NFC : 'NFC'; +NFD : 'NFD'; +NFKC : 'NFKC'; +NFKD : 'NFKD'; +NO: 'NO'; +NONE: 'NONE'; +NORMALIZE: 'NORMALIZE'; +NOT: 'NOT'; +NULL: 'NULL'; +NULLIF: 'NULLIF'; +NULLS: 'NULLS'; +OF: 'OF'; +OFFSET: 'OFFSET'; +ON: 'ON'; +ONLY: 'ONLY'; +OPTION: 'OPTION'; +OR: 'OR'; +ORDER: 'ORDER'; +ORDINALITY: 'ORDINALITY'; +OUTER: 'OUTER'; +OUTPUT: 'OUTPUT'; +OVER: 'OVER'; +PARTITION: 'PARTITION'; +PARTITIONS: 'PARTITIONS'; +POSITION: 'POSITION'; +PRECEDING: 'PRECEDING'; +PREPARE: 'PREPARE'; +PRIMARY: 'PRIMARY'; +PRIVILEGES: 'PRIVILEGES'; +PROPERTIES: 'PROPERTIES'; +RANGE: 'RANGE'; +READ: 'READ'; +RECURSIVE: 'RECURSIVE'; +REFRESH: 'REFRESH'; +RELY: 'RELY'; +RENAME: 'RENAME'; +REPEATABLE: 'REPEATABLE'; +REPLACE: 'REPLACE'; +RESET: 'RESET'; +RESPECT: 'RESPECT'; +RESTRICT: 'RESTRICT'; +RETURN: 'RETURN'; +RETURNS: 'RETURNS'; +REVOKE: 'REVOKE'; +RIGHT: 'RIGHT'; +ROLE: 'ROLE'; +ROLES: 'ROLES'; +ROLLBACK: 'ROLLBACK'; +ROLLUP: 'ROLLUP'; +ROW: 'ROW'; +ROWS: 'ROWS'; +SCHEMA: 'SCHEMA'; +SCHEMAS: 'SCHEMAS'; +SECOND: 'SECOND'; +SECURITY: 'SECURITY'; +SELECT: 'SELECT'; +SERIALIZABLE: 'SERIALIZABLE'; +SESSION: 'SESSION'; +SET: 'SET'; +SETS: 'SETS'; +SHOW: 'SHOW'; +SOME: 'SOME'; +SQL: 'SQL'; +START: 'START'; +STATS: 'STATS'; +SUBSTRING: 'SUBSTRING'; +SYSTEM: 'SYSTEM'; +SYSTEM_TIME: 'SYSTEM_TIME'; +SYSTEM_VERSION: 'SYSTEM_VERSION'; +TABLE: 'TABLE'; +TABLES: 'TABLES'; +TABLESAMPLE: 'TABLESAMPLE'; +TEMPORARY: 'TEMPORARY'; +TEXT: 'TEXT'; +THEN: 'THEN'; +TIME: 'TIME'; +TIMESTAMP: 'TIMESTAMP'; +TO: 'TO'; +TRANSACTION: 'TRANSACTION'; +TRUE: 'TRUE'; +TRUNCATE: 'TRUNCATE'; +TRY_CAST: 'TRY_CAST'; +TYPE: 'TYPE'; +UESCAPE: 'UESCAPE'; +UNBOUNDED: 'UNBOUNDED'; +UNCOMMITTED: 'UNCOMMITTED'; +UNION: 'UNION'; +UNIQUE: 'UNIQUE'; +UNNEST: 'UNNEST'; +UPDATE: 'UPDATE'; +USE: 'USE'; +USER: 'USER'; +USING: 'USING'; +VALIDATE: 'VALIDATE'; +VALUES: 'VALUES'; +VERBOSE: 'VERBOSE'; +VERSION: 'VERSION'; +VIEW: 'VIEW'; +WHEN: 'WHEN'; +WHERE: 'WHERE'; +WITH: 'WITH'; +WORK: 'WORK'; +WRITE: 'WRITE'; +YEAR: 'YEAR'; +ZONE: 'ZONE'; + +EQ : '='; +NEQ : '<>' | '!='; +LT : '<'; +LTE : '<='; +GT : '>'; +GTE : '>='; + +PLUS: '+'; +MINUS: '-'; +ASTERISK: '*'; +SLASH: '/'; +PERCENT: '%'; +CONCAT: '||'; + +STRING + : '\'' ( ~'\'' | '\'\'' )* '\'' + ; + +UNICODE_STRING + : 'U&\'' ( ~'\'' | '\'\'' )* '\'' + ; + +// Note: we allow any character inside the binary literal and validate +// its a correct literal when the AST is being constructed. This +// allows us to provide more meaningful error messages to the user +BINARY_LITERAL + : 'X\'' (~'\'')* '\'' + ; + +INTEGER_VALUE + : DIGIT+ + ; + +DECIMAL_VALUE + : DIGIT+ '.' DIGIT* + | '.' DIGIT+ + ; + +DOUBLE_VALUE + : DIGIT+ ('.' DIGIT*)? EXPONENT + | '.' DIGIT+ EXPONENT + ; + +IDENTIFIER + : (LETTER | '_') (LETTER | DIGIT | '_' | '@' | ':')* + ; + +DIGIT_IDENTIFIER + : DIGIT (LETTER | DIGIT | '_' | '@' | ':')+ + ; + +QUOTED_IDENTIFIER + : '"' ( ~'"' | '""' )* '"' + ; + +BACKQUOTED_IDENTIFIER + : '`' ( ~'`' | '``' )* '`' + ; + +TIME_WITH_TIME_ZONE + : 'TIME' WS 'WITH' WS 'TIME' WS 'ZONE' + ; + +TIMESTAMP_WITH_TIME_ZONE + : 'TIMESTAMP' WS 'WITH' WS 'TIME' WS 'ZONE' + ; + +DOUBLE_PRECISION + : 'DOUBLE' WS 'PRECISION' + ; + +fragment EXPONENT + : 'E' [+-]? DIGIT+ + ; + +fragment DIGIT + : [0-9] + ; + +fragment LETTER + : [A-Z] + ; + +SIMPLE_COMMENT + : '--' ~[\r\n]* '\r'? '\n'? -> channel(HIDDEN) + ; + +BRACKETED_COMMENT + : '/*' .*? '*/' -> channel(HIDDEN) + ; + +WS + : [ \r\n\t]+ -> channel(HIDDEN) + ; + +// Catch-all for anything we can't recognize. +// We use this to be able to ignore and recover all the text +// when splitting statements with DelimiterLexer +UNRECOGNIZED + : . + ; diff --git a/components/webui/client/src/sql-parser/generated/SqlBaseLexer.ts b/components/webui/client/src/sql-parser/generated/SqlBaseLexer.ts new file mode 100644 index 0000000000..1d57632283 --- /dev/null +++ b/components/webui/client/src/sql-parser/generated/SqlBaseLexer.ts @@ -0,0 +1,1482 @@ +// @ts-nocheck +// Generated from SqlBase.g4 by ANTLR 4.13.2 +// noinspection ES6UnusedImports,JSUnusedGlobalSymbols,JSUnusedLocalSymbols +import { + ATN, + ATNDeserializer, + CharStream, + DecisionState, DFA, + Lexer, + LexerATNSimulator, + RuleContext, + PredictionContextCache, + Token +} from "antlr4"; +export default class SqlBaseLexer extends Lexer { + public static readonly T__0 = 1; + public static readonly T__1 = 2; + public static readonly T__2 = 3; + public static readonly T__3 = 4; + public static readonly T__4 = 5; + public static readonly T__5 = 6; + public static readonly T__6 = 7; + public static readonly T__7 = 8; + public static readonly T__8 = 9; + public static readonly ADD = 10; + public static readonly ADMIN = 11; + public static readonly ALL = 12; + public static readonly ALTER = 13; + public static readonly ANALYZE = 14; + public static readonly AND = 15; + public static readonly ANY = 16; + public static readonly ARRAY = 17; + public static readonly AS = 18; + public static readonly ASC = 19; + public static readonly AT = 20; + public static readonly BEFORE = 21; + public static readonly BERNOULLI = 22; + public static readonly BETWEEN = 23; + public static readonly BY = 24; + public static readonly CALL = 25; + public static readonly CALLED = 26; + public static readonly CASCADE = 27; + public static readonly CASE = 28; + public static readonly CAST = 29; + public static readonly CATALOGS = 30; + public static readonly COLUMN = 31; + public static readonly COLUMNS = 32; + public static readonly COMMENT = 33; + public static readonly COMMIT = 34; + public static readonly COMMITTED = 35; + public static readonly CONSTRAINT = 36; + public static readonly CREATE = 37; + public static readonly CROSS = 38; + public static readonly CUBE = 39; + public static readonly CURRENT = 40; + public static readonly CURRENT_DATE = 41; + public static readonly CURRENT_ROLE = 42; + public static readonly CURRENT_TIME = 43; + public static readonly CURRENT_TIMESTAMP = 44; + public static readonly CURRENT_USER = 45; + public static readonly DATA = 46; + public static readonly DATE = 47; + public static readonly DAY = 48; + public static readonly DEALLOCATE = 49; + public static readonly DEFINER = 50; + public static readonly DELETE = 51; + public static readonly DESC = 52; + public static readonly DESCRIBE = 53; + public static readonly DETERMINISTIC = 54; + public static readonly DISABLED = 55; + public static readonly DISTINCT = 56; + public static readonly DISTRIBUTED = 57; + public static readonly DROP = 58; + public static readonly ELSE = 59; + public static readonly ENABLED = 60; + public static readonly END = 61; + public static readonly ENFORCED = 62; + public static readonly ESCAPE = 63; + public static readonly EXCEPT = 64; + public static readonly EXCLUDING = 65; + public static readonly EXECUTE = 66; + public static readonly EXISTS = 67; + public static readonly EXPLAIN = 68; + public static readonly EXTRACT = 69; + public static readonly EXTERNAL = 70; + public static readonly FALSE = 71; + public static readonly FETCH = 72; + public static readonly FILTER = 73; + public static readonly FIRST = 74; + public static readonly FOLLOWING = 75; + public static readonly FOR = 76; + public static readonly FORMAT = 77; + public static readonly FROM = 78; + public static readonly FULL = 79; + public static readonly FUNCTION = 80; + public static readonly FUNCTIONS = 81; + public static readonly GRANT = 82; + public static readonly GRANTED = 83; + public static readonly GRANTS = 84; + public static readonly GRAPHVIZ = 85; + public static readonly GROUP = 86; + public static readonly GROUPING = 87; + public static readonly GROUPS = 88; + public static readonly HAVING = 89; + public static readonly HOUR = 90; + public static readonly IF = 91; + public static readonly IGNORE = 92; + public static readonly IN = 93; + public static readonly INCLUDING = 94; + public static readonly INNER = 95; + public static readonly INPUT = 96; + public static readonly INSERT = 97; + public static readonly INTERSECT = 98; + public static readonly INTERVAL = 99; + public static readonly INTO = 100; + public static readonly INVOKER = 101; + public static readonly IO = 102; + public static readonly IS = 103; + public static readonly ISOLATION = 104; + public static readonly JSON = 105; + public static readonly JOIN = 106; + public static readonly KEY = 107; + public static readonly LANGUAGE = 108; + public static readonly LAST = 109; + public static readonly LATERAL = 110; + public static readonly LEFT = 111; + public static readonly LEVEL = 112; + public static readonly LIKE = 113; + public static readonly LIMIT = 114; + public static readonly LOCALTIME = 115; + public static readonly LOCALTIMESTAMP = 116; + public static readonly LOGICAL = 117; + public static readonly MAP = 118; + public static readonly MATERIALIZED = 119; + public static readonly MINUTE = 120; + public static readonly MONTH = 121; + public static readonly NAME = 122; + public static readonly NATURAL = 123; + public static readonly NFC = 124; + public static readonly NFD = 125; + public static readonly NFKC = 126; + public static readonly NFKD = 127; + public static readonly NO = 128; + public static readonly NONE = 129; + public static readonly NORMALIZE = 130; + public static readonly NOT = 131; + public static readonly NULL = 132; + public static readonly NULLIF = 133; + public static readonly NULLS = 134; + public static readonly OF = 135; + public static readonly OFFSET = 136; + public static readonly ON = 137; + public static readonly ONLY = 138; + public static readonly OPTION = 139; + public static readonly OR = 140; + public static readonly ORDER = 141; + public static readonly ORDINALITY = 142; + public static readonly OUTER = 143; + public static readonly OUTPUT = 144; + public static readonly OVER = 145; + public static readonly PARTITION = 146; + public static readonly PARTITIONS = 147; + public static readonly POSITION = 148; + public static readonly PRECEDING = 149; + public static readonly PREPARE = 150; + public static readonly PRIMARY = 151; + public static readonly PRIVILEGES = 152; + public static readonly PROPERTIES = 153; + public static readonly RANGE = 154; + public static readonly READ = 155; + public static readonly RECURSIVE = 156; + public static readonly REFRESH = 157; + public static readonly RELY = 158; + public static readonly RENAME = 159; + public static readonly REPEATABLE = 160; + public static readonly REPLACE = 161; + public static readonly RESET = 162; + public static readonly RESPECT = 163; + public static readonly RESTRICT = 164; + public static readonly RETURN = 165; + public static readonly RETURNS = 166; + public static readonly REVOKE = 167; + public static readonly RIGHT = 168; + public static readonly ROLE = 169; + public static readonly ROLES = 170; + public static readonly ROLLBACK = 171; + public static readonly ROLLUP = 172; + public static readonly ROW = 173; + public static readonly ROWS = 174; + public static readonly SCHEMA = 175; + public static readonly SCHEMAS = 176; + public static readonly SECOND = 177; + public static readonly SECURITY = 178; + public static readonly SELECT = 179; + public static readonly SERIALIZABLE = 180; + public static readonly SESSION = 181; + public static readonly SET = 182; + public static readonly SETS = 183; + public static readonly SHOW = 184; + public static readonly SOME = 185; + public static readonly SQL = 186; + public static readonly START = 187; + public static readonly STATS = 188; + public static readonly SUBSTRING = 189; + public static readonly SYSTEM = 190; + public static readonly SYSTEM_TIME = 191; + public static readonly SYSTEM_VERSION = 192; + public static readonly TABLE = 193; + public static readonly TABLES = 194; + public static readonly TABLESAMPLE = 195; + public static readonly TEMPORARY = 196; + public static readonly TEXT = 197; + public static readonly THEN = 198; + public static readonly TIME = 199; + public static readonly TIMESTAMP = 200; + public static readonly TO = 201; + public static readonly TRANSACTION = 202; + public static readonly TRUE = 203; + public static readonly TRUNCATE = 204; + public static readonly TRY_CAST = 205; + public static readonly TYPE = 206; + public static readonly UESCAPE = 207; + public static readonly UNBOUNDED = 208; + public static readonly UNCOMMITTED = 209; + public static readonly UNION = 210; + public static readonly UNIQUE = 211; + public static readonly UNNEST = 212; + public static readonly UPDATE = 213; + public static readonly USE = 214; + public static readonly USER = 215; + public static readonly USING = 216; + public static readonly VALIDATE = 217; + public static readonly VALUES = 218; + public static readonly VERBOSE = 219; + public static readonly VERSION = 220; + public static readonly VIEW = 221; + public static readonly WHEN = 222; + public static readonly WHERE = 223; + public static readonly WITH = 224; + public static readonly WORK = 225; + public static readonly WRITE = 226; + public static readonly YEAR = 227; + public static readonly ZONE = 228; + public static readonly EQ = 229; + public static readonly NEQ = 230; + public static readonly LT = 231; + public static readonly LTE = 232; + public static readonly GT = 233; + public static readonly GTE = 234; + public static readonly PLUS = 235; + public static readonly MINUS = 236; + public static readonly ASTERISK = 237; + public static readonly SLASH = 238; + public static readonly PERCENT = 239; + public static readonly CONCAT = 240; + public static readonly STRING = 241; + public static readonly UNICODE_STRING = 242; + public static readonly BINARY_LITERAL = 243; + public static readonly INTEGER_VALUE = 244; + public static readonly DECIMAL_VALUE = 245; + public static readonly DOUBLE_VALUE = 246; + public static readonly IDENTIFIER = 247; + public static readonly DIGIT_IDENTIFIER = 248; + public static readonly QUOTED_IDENTIFIER = 249; + public static readonly BACKQUOTED_IDENTIFIER = 250; + public static readonly TIME_WITH_TIME_ZONE = 251; + public static readonly TIMESTAMP_WITH_TIME_ZONE = 252; + public static readonly DOUBLE_PRECISION = 253; + public static readonly SIMPLE_COMMENT = 254; + public static readonly BRACKETED_COMMENT = 255; + public static readonly WS = 256; + public static readonly UNRECOGNIZED = 257; + public static readonly EOF = Token.EOF; + + public static readonly channelNames: string[] = [ "DEFAULT_TOKEN_CHANNEL", "HIDDEN" ]; + public static readonly literalNames: (string | null)[] = [ null, "'.'", + "'('", "')'", + "','", "'?'", + "'->'", "'['", + "']'", "'=>'", + "'ADD'", "'ADMIN'", + "'ALL'", "'ALTER'", + "'ANALYZE'", + "'AND'", "'ANY'", + "'ARRAY'", "'AS'", + "'ASC'", "'AT'", + "'BEFORE'", + "'BERNOULLI'", + "'BETWEEN'", + "'BY'", "'CALL'", + "'CALLED'", + "'CASCADE'", + "'CASE'", "'CAST'", + "'CATALOGS'", + "'COLUMN'", + "'COLUMNS'", + "'COMMENT'", + "'COMMIT'", + "'COMMITTED'", + "'CONSTRAINT'", + "'CREATE'", + "'CROSS'", "'CUBE'", + "'CURRENT'", + "'CURRENT_DATE'", + "'CURRENT_ROLE'", + "'CURRENT_TIME'", + "'CURRENT_TIMESTAMP'", + "'CURRENT_USER'", + "'DATA'", "'DATE'", + "'DAY'", "'DEALLOCATE'", + "'DEFINER'", + "'DELETE'", + "'DESC'", "'DESCRIBE'", + "'DETERMINISTIC'", + "'DISABLED'", + "'DISTINCT'", + "'DISTRIBUTED'", + "'DROP'", "'ELSE'", + "'ENABLED'", + "'END'", "'ENFORCED'", + "'ESCAPE'", + "'EXCEPT'", + "'EXCLUDING'", + "'EXECUTE'", + "'EXISTS'", + "'EXPLAIN'", + "'EXTRACT'", + "'EXTERNAL'", + "'FALSE'", "'FETCH'", + "'FILTER'", + "'FIRST'", "'FOLLOWING'", + "'FOR'", "'FORMAT'", + "'FROM'", "'FULL'", + "'FUNCTION'", + "'FUNCTIONS'", + "'GRANT'", "'GRANTED'", + "'GRANTS'", + "'GRAPHVIZ'", + "'GROUP'", "'GROUPING'", + "'GROUPS'", + "'HAVING'", + "'HOUR'", "'IF'", + "'IGNORE'", + "'IN'", "'INCLUDING'", + "'INNER'", "'INPUT'", + "'INSERT'", + "'INTERSECT'", + "'INTERVAL'", + "'INTO'", "'INVOKER'", + "'IO'", "'IS'", + "'ISOLATION'", + "'JSON'", "'JOIN'", + "'KEY'", "'LANGUAGE'", + "'LAST'", "'LATERAL'", + "'LEFT'", "'LEVEL'", + "'LIKE'", "'LIMIT'", + "'LOCALTIME'", + "'LOCALTIMESTAMP'", + "'LOGICAL'", + "'MAP'", "'MATERIALIZED'", + "'MINUTE'", + "'MONTH'", "'NAME'", + "'NATURAL'", + "'NFC'", "'NFD'", + "'NFKC'", "'NFKD'", + "'NO'", "'NONE'", + "'NORMALIZE'", + "'NOT'", "'NULL'", + "'NULLIF'", + "'NULLS'", "'OF'", + "'OFFSET'", + "'ON'", "'ONLY'", + "'OPTION'", + "'OR'", "'ORDER'", + "'ORDINALITY'", + "'OUTER'", "'OUTPUT'", + "'OVER'", "'PARTITION'", + "'PARTITIONS'", + "'POSITION'", + "'PRECEDING'", + "'PREPARE'", + "'PRIMARY'", + "'PRIVILEGES'", + "'PROPERTIES'", + "'RANGE'", "'READ'", + "'RECURSIVE'", + "'REFRESH'", + "'RELY'", "'RENAME'", + "'REPEATABLE'", + "'REPLACE'", + "'RESET'", "'RESPECT'", + "'RESTRICT'", + "'RETURN'", + "'RETURNS'", + "'REVOKE'", + "'RIGHT'", "'ROLE'", + "'ROLES'", "'ROLLBACK'", + "'ROLLUP'", + "'ROW'", "'ROWS'", + "'SCHEMA'", + "'SCHEMAS'", + "'SECOND'", + "'SECURITY'", + "'SELECT'", + "'SERIALIZABLE'", + "'SESSION'", + "'SET'", "'SETS'", + "'SHOW'", "'SOME'", + "'SQL'", "'START'", + "'STATS'", "'SUBSTRING'", + "'SYSTEM'", + "'SYSTEM_TIME'", + "'SYSTEM_VERSION'", + "'TABLE'", "'TABLES'", + "'TABLESAMPLE'", + "'TEMPORARY'", + "'TEXT'", "'THEN'", + "'TIME'", "'TIMESTAMP'", + "'TO'", "'TRANSACTION'", + "'TRUE'", "'TRUNCATE'", + "'TRY_CAST'", + "'TYPE'", "'UESCAPE'", + "'UNBOUNDED'", + "'UNCOMMITTED'", + "'UNION'", "'UNIQUE'", + "'UNNEST'", + "'UPDATE'", + "'USE'", "'USER'", + "'USING'", "'VALIDATE'", + "'VALUES'", + "'VERBOSE'", + "'VERSION'", + "'VIEW'", "'WHEN'", + "'WHERE'", "'WITH'", + "'WORK'", "'WRITE'", + "'YEAR'", "'ZONE'", + "'='", null, + "'<'", "'<='", + "'>'", "'>='", + "'+'", "'-'", + "'*'", "'/'", + "'%'", "'||'" ]; + public static readonly symbolicNames: (string | null)[] = [ null, null, + null, null, + null, null, + null, null, + null, null, + "ADD", "ADMIN", + "ALL", "ALTER", + "ANALYZE", + "AND", "ANY", + "ARRAY", "AS", + "ASC", "AT", + "BEFORE", "BERNOULLI", + "BETWEEN", + "BY", "CALL", + "CALLED", "CASCADE", + "CASE", "CAST", + "CATALOGS", + "COLUMN", "COLUMNS", + "COMMENT", + "COMMIT", "COMMITTED", + "CONSTRAINT", + "CREATE", "CROSS", + "CUBE", "CURRENT", + "CURRENT_DATE", + "CURRENT_ROLE", + "CURRENT_TIME", + "CURRENT_TIMESTAMP", + "CURRENT_USER", + "DATA", "DATE", + "DAY", "DEALLOCATE", + "DEFINER", + "DELETE", "DESC", + "DESCRIBE", + "DETERMINISTIC", + "DISABLED", + "DISTINCT", + "DISTRIBUTED", + "DROP", "ELSE", + "ENABLED", + "END", "ENFORCED", + "ESCAPE", "EXCEPT", + "EXCLUDING", + "EXECUTE", + "EXISTS", "EXPLAIN", + "EXTRACT", + "EXTERNAL", + "FALSE", "FETCH", + "FILTER", "FIRST", + "FOLLOWING", + "FOR", "FORMAT", + "FROM", "FULL", + "FUNCTION", + "FUNCTIONS", + "GRANT", "GRANTED", + "GRANTS", "GRAPHVIZ", + "GROUP", "GROUPING", + "GROUPS", "HAVING", + "HOUR", "IF", + "IGNORE", "IN", + "INCLUDING", + "INNER", "INPUT", + "INSERT", "INTERSECT", + "INTERVAL", + "INTO", "INVOKER", + "IO", "IS", + "ISOLATION", + "JSON", "JOIN", + "KEY", "LANGUAGE", + "LAST", "LATERAL", + "LEFT", "LEVEL", + "LIKE", "LIMIT", + "LOCALTIME", + "LOCALTIMESTAMP", + "LOGICAL", + "MAP", "MATERIALIZED", + "MINUTE", "MONTH", + "NAME", "NATURAL", + "NFC", "NFD", + "NFKC", "NFKD", + "NO", "NONE", + "NORMALIZE", + "NOT", "NULL", + "NULLIF", "NULLS", + "OF", "OFFSET", + "ON", "ONLY", + "OPTION", "OR", + "ORDER", "ORDINALITY", + "OUTER", "OUTPUT", + "OVER", "PARTITION", + "PARTITIONS", + "POSITION", + "PRECEDING", + "PREPARE", + "PRIMARY", + "PRIVILEGES", + "PROPERTIES", + "RANGE", "READ", + "RECURSIVE", + "REFRESH", + "RELY", "RENAME", + "REPEATABLE", + "REPLACE", + "RESET", "RESPECT", + "RESTRICT", + "RETURN", "RETURNS", + "REVOKE", "RIGHT", + "ROLE", "ROLES", + "ROLLBACK", + "ROLLUP", "ROW", + "ROWS", "SCHEMA", + "SCHEMAS", + "SECOND", "SECURITY", + "SELECT", "SERIALIZABLE", + "SESSION", + "SET", "SETS", + "SHOW", "SOME", + "SQL", "START", + "STATS", "SUBSTRING", + "SYSTEM", "SYSTEM_TIME", + "SYSTEM_VERSION", + "TABLE", "TABLES", + "TABLESAMPLE", + "TEMPORARY", + "TEXT", "THEN", + "TIME", "TIMESTAMP", + "TO", "TRANSACTION", + "TRUE", "TRUNCATE", + "TRY_CAST", + "TYPE", "UESCAPE", + "UNBOUNDED", + "UNCOMMITTED", + "UNION", "UNIQUE", + "UNNEST", "UPDATE", + "USE", "USER", + "USING", "VALIDATE", + "VALUES", "VERBOSE", + "VERSION", + "VIEW", "WHEN", + "WHERE", "WITH", + "WORK", "WRITE", + "YEAR", "ZONE", + "EQ", "NEQ", + "LT", "LTE", + "GT", "GTE", + "PLUS", "MINUS", + "ASTERISK", + "SLASH", "PERCENT", + "CONCAT", "STRING", + "UNICODE_STRING", + "BINARY_LITERAL", + "INTEGER_VALUE", + "DECIMAL_VALUE", + "DOUBLE_VALUE", + "IDENTIFIER", + "DIGIT_IDENTIFIER", + "QUOTED_IDENTIFIER", + "BACKQUOTED_IDENTIFIER", + "TIME_WITH_TIME_ZONE", + "TIMESTAMP_WITH_TIME_ZONE", + "DOUBLE_PRECISION", + "SIMPLE_COMMENT", + "BRACKETED_COMMENT", + "WS", "UNRECOGNIZED" ]; + public static readonly modeNames: string[] = [ "DEFAULT_MODE", ]; + + public static readonly ruleNames: string[] = [ + "T__0", "T__1", "T__2", "T__3", "T__4", "T__5", "T__6", "T__7", "T__8", + "ADD", "ADMIN", "ALL", "ALTER", "ANALYZE", "AND", "ANY", "ARRAY", "AS", + "ASC", "AT", "BEFORE", "BERNOULLI", "BETWEEN", "BY", "CALL", "CALLED", + "CASCADE", "CASE", "CAST", "CATALOGS", "COLUMN", "COLUMNS", "COMMENT", + "COMMIT", "COMMITTED", "CONSTRAINT", "CREATE", "CROSS", "CUBE", "CURRENT", + "CURRENT_DATE", "CURRENT_ROLE", "CURRENT_TIME", "CURRENT_TIMESTAMP", "CURRENT_USER", + "DATA", "DATE", "DAY", "DEALLOCATE", "DEFINER", "DELETE", "DESC", "DESCRIBE", + "DETERMINISTIC", "DISABLED", "DISTINCT", "DISTRIBUTED", "DROP", "ELSE", + "ENABLED", "END", "ENFORCED", "ESCAPE", "EXCEPT", "EXCLUDING", "EXECUTE", + "EXISTS", "EXPLAIN", "EXTRACT", "EXTERNAL", "FALSE", "FETCH", "FILTER", + "FIRST", "FOLLOWING", "FOR", "FORMAT", "FROM", "FULL", "FUNCTION", "FUNCTIONS", + "GRANT", "GRANTED", "GRANTS", "GRAPHVIZ", "GROUP", "GROUPING", "GROUPS", + "HAVING", "HOUR", "IF", "IGNORE", "IN", "INCLUDING", "INNER", "INPUT", + "INSERT", "INTERSECT", "INTERVAL", "INTO", "INVOKER", "IO", "IS", "ISOLATION", + "JSON", "JOIN", "KEY", "LANGUAGE", "LAST", "LATERAL", "LEFT", "LEVEL", + "LIKE", "LIMIT", "LOCALTIME", "LOCALTIMESTAMP", "LOGICAL", "MAP", "MATERIALIZED", + "MINUTE", "MONTH", "NAME", "NATURAL", "NFC", "NFD", "NFKC", "NFKD", "NO", + "NONE", "NORMALIZE", "NOT", "NULL", "NULLIF", "NULLS", "OF", "OFFSET", + "ON", "ONLY", "OPTION", "OR", "ORDER", "ORDINALITY", "OUTER", "OUTPUT", + "OVER", "PARTITION", "PARTITIONS", "POSITION", "PRECEDING", "PREPARE", + "PRIMARY", "PRIVILEGES", "PROPERTIES", "RANGE", "READ", "RECURSIVE", "REFRESH", + "RELY", "RENAME", "REPEATABLE", "REPLACE", "RESET", "RESPECT", "RESTRICT", + "RETURN", "RETURNS", "REVOKE", "RIGHT", "ROLE", "ROLES", "ROLLBACK", "ROLLUP", + "ROW", "ROWS", "SCHEMA", "SCHEMAS", "SECOND", "SECURITY", "SELECT", "SERIALIZABLE", + "SESSION", "SET", "SETS", "SHOW", "SOME", "SQL", "START", "STATS", "SUBSTRING", + "SYSTEM", "SYSTEM_TIME", "SYSTEM_VERSION", "TABLE", "TABLES", "TABLESAMPLE", + "TEMPORARY", "TEXT", "THEN", "TIME", "TIMESTAMP", "TO", "TRANSACTION", + "TRUE", "TRUNCATE", "TRY_CAST", "TYPE", "UESCAPE", "UNBOUNDED", "UNCOMMITTED", + "UNION", "UNIQUE", "UNNEST", "UPDATE", "USE", "USER", "USING", "VALIDATE", + "VALUES", "VERBOSE", "VERSION", "VIEW", "WHEN", "WHERE", "WITH", "WORK", + "WRITE", "YEAR", "ZONE", "EQ", "NEQ", "LT", "LTE", "GT", "GTE", "PLUS", + "MINUS", "ASTERISK", "SLASH", "PERCENT", "CONCAT", "STRING", "UNICODE_STRING", + "BINARY_LITERAL", "INTEGER_VALUE", "DECIMAL_VALUE", "DOUBLE_VALUE", "IDENTIFIER", + "DIGIT_IDENTIFIER", "QUOTED_IDENTIFIER", "BACKQUOTED_IDENTIFIER", "TIME_WITH_TIME_ZONE", + "TIMESTAMP_WITH_TIME_ZONE", "DOUBLE_PRECISION", "EXPONENT", "DIGIT", "LETTER", + "SIMPLE_COMMENT", "BRACKETED_COMMENT", "WS", "UNRECOGNIZED", + ]; + + + constructor(input: CharStream) { + super(input); + this._interp = new LexerATNSimulator(this, SqlBaseLexer._ATN, SqlBaseLexer.DecisionsToDFA, new PredictionContextCache()); + } + + public get grammarFileName(): string { return "SqlBase.g4"; } + + public get literalNames(): (string | null)[] { return SqlBaseLexer.literalNames; } + public get symbolicNames(): (string | null)[] { return SqlBaseLexer.symbolicNames; } + public get ruleNames(): string[] { return SqlBaseLexer.ruleNames; } + + public get serializedATN(): number[] { return SqlBaseLexer._serializedATN; } + + public get channelNames(): string[] { return SqlBaseLexer.channelNames; } + + public get modeNames(): string[] { return SqlBaseLexer.modeNames; } + + public static readonly _serializedATN: number[] = [4,0,257,2378,6,-1,2, + 0,7,0,2,1,7,1,2,2,7,2,2,3,7,3,2,4,7,4,2,5,7,5,2,6,7,6,2,7,7,7,2,8,7,8,2, + 9,7,9,2,10,7,10,2,11,7,11,2,12,7,12,2,13,7,13,2,14,7,14,2,15,7,15,2,16, + 7,16,2,17,7,17,2,18,7,18,2,19,7,19,2,20,7,20,2,21,7,21,2,22,7,22,2,23,7, + 23,2,24,7,24,2,25,7,25,2,26,7,26,2,27,7,27,2,28,7,28,2,29,7,29,2,30,7,30, + 2,31,7,31,2,32,7,32,2,33,7,33,2,34,7,34,2,35,7,35,2,36,7,36,2,37,7,37,2, + 38,7,38,2,39,7,39,2,40,7,40,2,41,7,41,2,42,7,42,2,43,7,43,2,44,7,44,2,45, + 7,45,2,46,7,46,2,47,7,47,2,48,7,48,2,49,7,49,2,50,7,50,2,51,7,51,2,52,7, + 52,2,53,7,53,2,54,7,54,2,55,7,55,2,56,7,56,2,57,7,57,2,58,7,58,2,59,7,59, + 2,60,7,60,2,61,7,61,2,62,7,62,2,63,7,63,2,64,7,64,2,65,7,65,2,66,7,66,2, + 67,7,67,2,68,7,68,2,69,7,69,2,70,7,70,2,71,7,71,2,72,7,72,2,73,7,73,2,74, + 7,74,2,75,7,75,2,76,7,76,2,77,7,77,2,78,7,78,2,79,7,79,2,80,7,80,2,81,7, + 81,2,82,7,82,2,83,7,83,2,84,7,84,2,85,7,85,2,86,7,86,2,87,7,87,2,88,7,88, + 2,89,7,89,2,90,7,90,2,91,7,91,2,92,7,92,2,93,7,93,2,94,7,94,2,95,7,95,2, + 96,7,96,2,97,7,97,2,98,7,98,2,99,7,99,2,100,7,100,2,101,7,101,2,102,7,102, + 2,103,7,103,2,104,7,104,2,105,7,105,2,106,7,106,2,107,7,107,2,108,7,108, + 2,109,7,109,2,110,7,110,2,111,7,111,2,112,7,112,2,113,7,113,2,114,7,114, + 2,115,7,115,2,116,7,116,2,117,7,117,2,118,7,118,2,119,7,119,2,120,7,120, + 2,121,7,121,2,122,7,122,2,123,7,123,2,124,7,124,2,125,7,125,2,126,7,126, + 2,127,7,127,2,128,7,128,2,129,7,129,2,130,7,130,2,131,7,131,2,132,7,132, + 2,133,7,133,2,134,7,134,2,135,7,135,2,136,7,136,2,137,7,137,2,138,7,138, + 2,139,7,139,2,140,7,140,2,141,7,141,2,142,7,142,2,143,7,143,2,144,7,144, + 2,145,7,145,2,146,7,146,2,147,7,147,2,148,7,148,2,149,7,149,2,150,7,150, + 2,151,7,151,2,152,7,152,2,153,7,153,2,154,7,154,2,155,7,155,2,156,7,156, + 2,157,7,157,2,158,7,158,2,159,7,159,2,160,7,160,2,161,7,161,2,162,7,162, + 2,163,7,163,2,164,7,164,2,165,7,165,2,166,7,166,2,167,7,167,2,168,7,168, + 2,169,7,169,2,170,7,170,2,171,7,171,2,172,7,172,2,173,7,173,2,174,7,174, + 2,175,7,175,2,176,7,176,2,177,7,177,2,178,7,178,2,179,7,179,2,180,7,180, + 2,181,7,181,2,182,7,182,2,183,7,183,2,184,7,184,2,185,7,185,2,186,7,186, + 2,187,7,187,2,188,7,188,2,189,7,189,2,190,7,190,2,191,7,191,2,192,7,192, + 2,193,7,193,2,194,7,194,2,195,7,195,2,196,7,196,2,197,7,197,2,198,7,198, + 2,199,7,199,2,200,7,200,2,201,7,201,2,202,7,202,2,203,7,203,2,204,7,204, + 2,205,7,205,2,206,7,206,2,207,7,207,2,208,7,208,2,209,7,209,2,210,7,210, + 2,211,7,211,2,212,7,212,2,213,7,213,2,214,7,214,2,215,7,215,2,216,7,216, + 2,217,7,217,2,218,7,218,2,219,7,219,2,220,7,220,2,221,7,221,2,222,7,222, + 2,223,7,223,2,224,7,224,2,225,7,225,2,226,7,226,2,227,7,227,2,228,7,228, + 2,229,7,229,2,230,7,230,2,231,7,231,2,232,7,232,2,233,7,233,2,234,7,234, + 2,235,7,235,2,236,7,236,2,237,7,237,2,238,7,238,2,239,7,239,2,240,7,240, + 2,241,7,241,2,242,7,242,2,243,7,243,2,244,7,244,2,245,7,245,2,246,7,246, + 2,247,7,247,2,248,7,248,2,249,7,249,2,250,7,250,2,251,7,251,2,252,7,252, + 2,253,7,253,2,254,7,254,2,255,7,255,2,256,7,256,2,257,7,257,2,258,7,258, + 2,259,7,259,1,0,1,0,1,1,1,1,1,2,1,2,1,3,1,3,1,4,1,4,1,5,1,5,1,5,1,6,1,6, + 1,7,1,7,1,8,1,8,1,8,1,9,1,9,1,9,1,9,1,10,1,10,1,10,1,10,1,10,1,10,1,11, + 1,11,1,11,1,11,1,12,1,12,1,12,1,12,1,12,1,12,1,13,1,13,1,13,1,13,1,13,1, + 13,1,13,1,13,1,14,1,14,1,14,1,14,1,15,1,15,1,15,1,15,1,16,1,16,1,16,1,16, + 1,16,1,16,1,17,1,17,1,17,1,18,1,18,1,18,1,18,1,19,1,19,1,19,1,20,1,20,1, + 20,1,20,1,20,1,20,1,20,1,21,1,21,1,21,1,21,1,21,1,21,1,21,1,21,1,21,1,21, + 1,22,1,22,1,22,1,22,1,22,1,22,1,22,1,22,1,23,1,23,1,23,1,24,1,24,1,24,1, + 24,1,24,1,25,1,25,1,25,1,25,1,25,1,25,1,25,1,26,1,26,1,26,1,26,1,26,1,26, + 1,26,1,26,1,27,1,27,1,27,1,27,1,27,1,28,1,28,1,28,1,28,1,28,1,29,1,29,1, + 29,1,29,1,29,1,29,1,29,1,29,1,29,1,30,1,30,1,30,1,30,1,30,1,30,1,30,1,31, + 1,31,1,31,1,31,1,31,1,31,1,31,1,31,1,32,1,32,1,32,1,32,1,32,1,32,1,32,1, + 32,1,33,1,33,1,33,1,33,1,33,1,33,1,33,1,34,1,34,1,34,1,34,1,34,1,34,1,34, + 1,34,1,34,1,34,1,35,1,35,1,35,1,35,1,35,1,35,1,35,1,35,1,35,1,35,1,35,1, + 36,1,36,1,36,1,36,1,36,1,36,1,36,1,37,1,37,1,37,1,37,1,37,1,37,1,38,1,38, + 1,38,1,38,1,38,1,39,1,39,1,39,1,39,1,39,1,39,1,39,1,39,1,40,1,40,1,40,1, + 40,1,40,1,40,1,40,1,40,1,40,1,40,1,40,1,40,1,40,1,41,1,41,1,41,1,41,1,41, + 1,41,1,41,1,41,1,41,1,41,1,41,1,41,1,41,1,42,1,42,1,42,1,42,1,42,1,42,1, + 42,1,42,1,42,1,42,1,42,1,42,1,42,1,43,1,43,1,43,1,43,1,43,1,43,1,43,1,43, + 1,43,1,43,1,43,1,43,1,43,1,43,1,43,1,43,1,43,1,43,1,44,1,44,1,44,1,44,1, + 44,1,44,1,44,1,44,1,44,1,44,1,44,1,44,1,44,1,45,1,45,1,45,1,45,1,45,1,46, + 1,46,1,46,1,46,1,46,1,47,1,47,1,47,1,47,1,48,1,48,1,48,1,48,1,48,1,48,1, + 48,1,48,1,48,1,48,1,48,1,49,1,49,1,49,1,49,1,49,1,49,1,49,1,49,1,50,1,50, + 1,50,1,50,1,50,1,50,1,50,1,51,1,51,1,51,1,51,1,51,1,52,1,52,1,52,1,52,1, + 52,1,52,1,52,1,52,1,52,1,53,1,53,1,53,1,53,1,53,1,53,1,53,1,53,1,53,1,53, + 1,53,1,53,1,53,1,53,1,54,1,54,1,54,1,54,1,54,1,54,1,54,1,54,1,54,1,55,1, + 55,1,55,1,55,1,55,1,55,1,55,1,55,1,55,1,56,1,56,1,56,1,56,1,56,1,56,1,56, + 1,56,1,56,1,56,1,56,1,56,1,57,1,57,1,57,1,57,1,57,1,58,1,58,1,58,1,58,1, + 58,1,59,1,59,1,59,1,59,1,59,1,59,1,59,1,59,1,60,1,60,1,60,1,60,1,61,1,61, + 1,61,1,61,1,61,1,61,1,61,1,61,1,61,1,62,1,62,1,62,1,62,1,62,1,62,1,62,1, + 63,1,63,1,63,1,63,1,63,1,63,1,63,1,64,1,64,1,64,1,64,1,64,1,64,1,64,1,64, + 1,64,1,64,1,65,1,65,1,65,1,65,1,65,1,65,1,65,1,65,1,66,1,66,1,66,1,66,1, + 66,1,66,1,66,1,67,1,67,1,67,1,67,1,67,1,67,1,67,1,67,1,68,1,68,1,68,1,68, + 1,68,1,68,1,68,1,68,1,69,1,69,1,69,1,69,1,69,1,69,1,69,1,69,1,69,1,70,1, + 70,1,70,1,70,1,70,1,70,1,71,1,71,1,71,1,71,1,71,1,71,1,72,1,72,1,72,1,72, + 1,72,1,72,1,72,1,73,1,73,1,73,1,73,1,73,1,73,1,74,1,74,1,74,1,74,1,74,1, + 74,1,74,1,74,1,74,1,74,1,75,1,75,1,75,1,75,1,76,1,76,1,76,1,76,1,76,1,76, + 1,76,1,77,1,77,1,77,1,77,1,77,1,78,1,78,1,78,1,78,1,78,1,79,1,79,1,79,1, + 79,1,79,1,79,1,79,1,79,1,79,1,80,1,80,1,80,1,80,1,80,1,80,1,80,1,80,1,80, + 1,80,1,81,1,81,1,81,1,81,1,81,1,81,1,82,1,82,1,82,1,82,1,82,1,82,1,82,1, + 82,1,83,1,83,1,83,1,83,1,83,1,83,1,83,1,84,1,84,1,84,1,84,1,84,1,84,1,84, + 1,84,1,84,1,85,1,85,1,85,1,85,1,85,1,85,1,86,1,86,1,86,1,86,1,86,1,86,1, + 86,1,86,1,86,1,87,1,87,1,87,1,87,1,87,1,87,1,87,1,88,1,88,1,88,1,88,1,88, + 1,88,1,88,1,89,1,89,1,89,1,89,1,89,1,90,1,90,1,90,1,91,1,91,1,91,1,91,1, + 91,1,91,1,91,1,92,1,92,1,92,1,93,1,93,1,93,1,93,1,93,1,93,1,93,1,93,1,93, + 1,93,1,94,1,94,1,94,1,94,1,94,1,94,1,95,1,95,1,95,1,95,1,95,1,95,1,96,1, + 96,1,96,1,96,1,96,1,96,1,96,1,97,1,97,1,97,1,97,1,97,1,97,1,97,1,97,1,97, + 1,97,1,98,1,98,1,98,1,98,1,98,1,98,1,98,1,98,1,98,1,99,1,99,1,99,1,99,1, + 99,1,100,1,100,1,100,1,100,1,100,1,100,1,100,1,100,1,101,1,101,1,101,1, + 102,1,102,1,102,1,103,1,103,1,103,1,103,1,103,1,103,1,103,1,103,1,103,1, + 103,1,104,1,104,1,104,1,104,1,104,1,105,1,105,1,105,1,105,1,105,1,106,1, + 106,1,106,1,106,1,107,1,107,1,107,1,107,1,107,1,107,1,107,1,107,1,107,1, + 108,1,108,1,108,1,108,1,108,1,109,1,109,1,109,1,109,1,109,1,109,1,109,1, + 109,1,110,1,110,1,110,1,110,1,110,1,111,1,111,1,111,1,111,1,111,1,111,1, + 112,1,112,1,112,1,112,1,112,1,113,1,113,1,113,1,113,1,113,1,113,1,114,1, + 114,1,114,1,114,1,114,1,114,1,114,1,114,1,114,1,114,1,115,1,115,1,115,1, + 115,1,115,1,115,1,115,1,115,1,115,1,115,1,115,1,115,1,115,1,115,1,115,1, + 116,1,116,1,116,1,116,1,116,1,116,1,116,1,116,1,117,1,117,1,117,1,117,1, + 118,1,118,1,118,1,118,1,118,1,118,1,118,1,118,1,118,1,118,1,118,1,118,1, + 118,1,119,1,119,1,119,1,119,1,119,1,119,1,119,1,120,1,120,1,120,1,120,1, + 120,1,120,1,121,1,121,1,121,1,121,1,121,1,122,1,122,1,122,1,122,1,122,1, + 122,1,122,1,122,1,123,1,123,1,123,1,123,1,124,1,124,1,124,1,124,1,125,1, + 125,1,125,1,125,1,125,1,126,1,126,1,126,1,126,1,126,1,127,1,127,1,127,1, + 128,1,128,1,128,1,128,1,128,1,129,1,129,1,129,1,129,1,129,1,129,1,129,1, + 129,1,129,1,129,1,130,1,130,1,130,1,130,1,131,1,131,1,131,1,131,1,131,1, + 132,1,132,1,132,1,132,1,132,1,132,1,132,1,133,1,133,1,133,1,133,1,133,1, + 133,1,134,1,134,1,134,1,135,1,135,1,135,1,135,1,135,1,135,1,135,1,136,1, + 136,1,136,1,137,1,137,1,137,1,137,1,137,1,138,1,138,1,138,1,138,1,138,1, + 138,1,138,1,139,1,139,1,139,1,140,1,140,1,140,1,140,1,140,1,140,1,141,1, + 141,1,141,1,141,1,141,1,141,1,141,1,141,1,141,1,141,1,141,1,142,1,142,1, + 142,1,142,1,142,1,142,1,143,1,143,1,143,1,143,1,143,1,143,1,143,1,144,1, + 144,1,144,1,144,1,144,1,145,1,145,1,145,1,145,1,145,1,145,1,145,1,145,1, + 145,1,145,1,146,1,146,1,146,1,146,1,146,1,146,1,146,1,146,1,146,1,146,1, + 146,1,147,1,147,1,147,1,147,1,147,1,147,1,147,1,147,1,147,1,148,1,148,1, + 148,1,148,1,148,1,148,1,148,1,148,1,148,1,148,1,149,1,149,1,149,1,149,1, + 149,1,149,1,149,1,149,1,150,1,150,1,150,1,150,1,150,1,150,1,150,1,150,1, + 151,1,151,1,151,1,151,1,151,1,151,1,151,1,151,1,151,1,151,1,151,1,152,1, + 152,1,152,1,152,1,152,1,152,1,152,1,152,1,152,1,152,1,152,1,153,1,153,1, + 153,1,153,1,153,1,153,1,154,1,154,1,154,1,154,1,154,1,155,1,155,1,155,1, + 155,1,155,1,155,1,155,1,155,1,155,1,155,1,156,1,156,1,156,1,156,1,156,1, + 156,1,156,1,156,1,157,1,157,1,157,1,157,1,157,1,158,1,158,1,158,1,158,1, + 158,1,158,1,158,1,159,1,159,1,159,1,159,1,159,1,159,1,159,1,159,1,159,1, + 159,1,159,1,160,1,160,1,160,1,160,1,160,1,160,1,160,1,160,1,161,1,161,1, + 161,1,161,1,161,1,161,1,162,1,162,1,162,1,162,1,162,1,162,1,162,1,162,1, + 163,1,163,1,163,1,163,1,163,1,163,1,163,1,163,1,163,1,164,1,164,1,164,1, + 164,1,164,1,164,1,164,1,165,1,165,1,165,1,165,1,165,1,165,1,165,1,165,1, + 166,1,166,1,166,1,166,1,166,1,166,1,166,1,167,1,167,1,167,1,167,1,167,1, + 167,1,168,1,168,1,168,1,168,1,168,1,169,1,169,1,169,1,169,1,169,1,169,1, + 170,1,170,1,170,1,170,1,170,1,170,1,170,1,170,1,170,1,171,1,171,1,171,1, + 171,1,171,1,171,1,171,1,172,1,172,1,172,1,172,1,173,1,173,1,173,1,173,1, + 173,1,174,1,174,1,174,1,174,1,174,1,174,1,174,1,175,1,175,1,175,1,175,1, + 175,1,175,1,175,1,175,1,176,1,176,1,176,1,176,1,176,1,176,1,176,1,177,1, + 177,1,177,1,177,1,177,1,177,1,177,1,177,1,177,1,178,1,178,1,178,1,178,1, + 178,1,178,1,178,1,179,1,179,1,179,1,179,1,179,1,179,1,179,1,179,1,179,1, + 179,1,179,1,179,1,179,1,180,1,180,1,180,1,180,1,180,1,180,1,180,1,180,1, + 181,1,181,1,181,1,181,1,182,1,182,1,182,1,182,1,182,1,183,1,183,1,183,1, + 183,1,183,1,184,1,184,1,184,1,184,1,184,1,185,1,185,1,185,1,185,1,186,1, + 186,1,186,1,186,1,186,1,186,1,187,1,187,1,187,1,187,1,187,1,187,1,188,1, + 188,1,188,1,188,1,188,1,188,1,188,1,188,1,188,1,188,1,189,1,189,1,189,1, + 189,1,189,1,189,1,189,1,190,1,190,1,190,1,190,1,190,1,190,1,190,1,190,1, + 190,1,190,1,190,1,190,1,191,1,191,1,191,1,191,1,191,1,191,1,191,1,191,1, + 191,1,191,1,191,1,191,1,191,1,191,1,191,1,192,1,192,1,192,1,192,1,192,1, + 192,1,193,1,193,1,193,1,193,1,193,1,193,1,193,1,194,1,194,1,194,1,194,1, + 194,1,194,1,194,1,194,1,194,1,194,1,194,1,194,1,195,1,195,1,195,1,195,1, + 195,1,195,1,195,1,195,1,195,1,195,1,196,1,196,1,196,1,196,1,196,1,197,1, + 197,1,197,1,197,1,197,1,198,1,198,1,198,1,198,1,198,1,199,1,199,1,199,1, + 199,1,199,1,199,1,199,1,199,1,199,1,199,1,200,1,200,1,200,1,201,1,201,1, + 201,1,201,1,201,1,201,1,201,1,201,1,201,1,201,1,201,1,201,1,202,1,202,1, + 202,1,202,1,202,1,203,1,203,1,203,1,203,1,203,1,203,1,203,1,203,1,203,1, + 204,1,204,1,204,1,204,1,204,1,204,1,204,1,204,1,204,1,205,1,205,1,205,1, + 205,1,205,1,206,1,206,1,206,1,206,1,206,1,206,1,206,1,206,1,207,1,207,1, + 207,1,207,1,207,1,207,1,207,1,207,1,207,1,207,1,208,1,208,1,208,1,208,1, + 208,1,208,1,208,1,208,1,208,1,208,1,208,1,208,1,209,1,209,1,209,1,209,1, + 209,1,209,1,210,1,210,1,210,1,210,1,210,1,210,1,210,1,211,1,211,1,211,1, + 211,1,211,1,211,1,211,1,212,1,212,1,212,1,212,1,212,1,212,1,212,1,213,1, + 213,1,213,1,213,1,214,1,214,1,214,1,214,1,214,1,215,1,215,1,215,1,215,1, + 215,1,215,1,216,1,216,1,216,1,216,1,216,1,216,1,216,1,216,1,216,1,217,1, + 217,1,217,1,217,1,217,1,217,1,217,1,218,1,218,1,218,1,218,1,218,1,218,1, + 218,1,218,1,219,1,219,1,219,1,219,1,219,1,219,1,219,1,219,1,220,1,220,1, + 220,1,220,1,220,1,221,1,221,1,221,1,221,1,221,1,222,1,222,1,222,1,222,1, + 222,1,222,1,223,1,223,1,223,1,223,1,223,1,224,1,224,1,224,1,224,1,224,1, + 225,1,225,1,225,1,225,1,225,1,225,1,226,1,226,1,226,1,226,1,226,1,227,1, + 227,1,227,1,227,1,227,1,228,1,228,1,229,1,229,1,229,1,229,3,229,2103,8, + 229,1,230,1,230,1,231,1,231,1,231,1,232,1,232,1,233,1,233,1,233,1,234,1, + 234,1,235,1,235,1,236,1,236,1,237,1,237,1,238,1,238,1,239,1,239,1,239,1, + 240,1,240,1,240,1,240,5,240,2132,8,240,10,240,12,240,2135,9,240,1,240,1, + 240,1,241,1,241,1,241,1,241,1,241,1,241,1,241,5,241,2146,8,241,10,241,12, + 241,2149,9,241,1,241,1,241,1,242,1,242,1,242,1,242,5,242,2157,8,242,10, + 242,12,242,2160,9,242,1,242,1,242,1,243,4,243,2165,8,243,11,243,12,243, + 2166,1,244,4,244,2170,8,244,11,244,12,244,2171,1,244,1,244,5,244,2176,8, + 244,10,244,12,244,2179,9,244,1,244,1,244,4,244,2183,8,244,11,244,12,244, + 2184,3,244,2187,8,244,1,245,4,245,2190,8,245,11,245,12,245,2191,1,245,1, + 245,5,245,2196,8,245,10,245,12,245,2199,9,245,3,245,2201,8,245,1,245,1, + 245,1,245,1,245,4,245,2207,8,245,11,245,12,245,2208,1,245,1,245,3,245,2213, + 8,245,1,246,1,246,3,246,2217,8,246,1,246,1,246,1,246,5,246,2222,8,246,10, + 246,12,246,2225,9,246,1,247,1,247,1,247,1,247,4,247,2231,8,247,11,247,12, + 247,2232,1,248,1,248,1,248,1,248,5,248,2239,8,248,10,248,12,248,2242,9, + 248,1,248,1,248,1,249,1,249,1,249,1,249,5,249,2250,8,249,10,249,12,249, + 2253,9,249,1,249,1,249,1,250,1,250,1,250,1,250,1,250,1,250,1,250,1,250, + 1,250,1,250,1,250,1,250,1,250,1,250,1,250,1,250,1,250,1,250,1,250,1,250, + 1,250,1,250,1,250,1,251,1,251,1,251,1,251,1,251,1,251,1,251,1,251,1,251, + 1,251,1,251,1,251,1,251,1,251,1,251,1,251,1,251,1,251,1,251,1,251,1,251, + 1,251,1,251,1,251,1,251,1,251,1,251,1,251,1,252,1,252,1,252,1,252,1,252, + 1,252,1,252,1,252,1,252,1,252,1,252,1,252,1,252,1,252,1,252,1,252,1,252, + 1,252,1,253,1,253,3,253,2328,8,253,1,253,4,253,2331,8,253,11,253,12,253, + 2332,1,254,1,254,1,255,1,255,1,256,1,256,1,256,1,256,5,256,2343,8,256,10, + 256,12,256,2346,9,256,1,256,3,256,2349,8,256,1,256,3,256,2352,8,256,1,256, + 1,256,1,257,1,257,1,257,1,257,5,257,2360,8,257,10,257,12,257,2363,9,257, + 1,257,1,257,1,257,1,257,1,257,1,258,4,258,2371,8,258,11,258,12,258,2372, + 1,258,1,258,1,259,1,259,1,2361,0,260,1,1,3,2,5,3,7,4,9,5,11,6,13,7,15,8, + 17,9,19,10,21,11,23,12,25,13,27,14,29,15,31,16,33,17,35,18,37,19,39,20, + 41,21,43,22,45,23,47,24,49,25,51,26,53,27,55,28,57,29,59,30,61,31,63,32, + 65,33,67,34,69,35,71,36,73,37,75,38,77,39,79,40,81,41,83,42,85,43,87,44, + 89,45,91,46,93,47,95,48,97,49,99,50,101,51,103,52,105,53,107,54,109,55, + 111,56,113,57,115,58,117,59,119,60,121,61,123,62,125,63,127,64,129,65,131, + 66,133,67,135,68,137,69,139,70,141,71,143,72,145,73,147,74,149,75,151,76, + 153,77,155,78,157,79,159,80,161,81,163,82,165,83,167,84,169,85,171,86,173, + 87,175,88,177,89,179,90,181,91,183,92,185,93,187,94,189,95,191,96,193,97, + 195,98,197,99,199,100,201,101,203,102,205,103,207,104,209,105,211,106,213, + 107,215,108,217,109,219,110,221,111,223,112,225,113,227,114,229,115,231, + 116,233,117,235,118,237,119,239,120,241,121,243,122,245,123,247,124,249, + 125,251,126,253,127,255,128,257,129,259,130,261,131,263,132,265,133,267, + 134,269,135,271,136,273,137,275,138,277,139,279,140,281,141,283,142,285, + 143,287,144,289,145,291,146,293,147,295,148,297,149,299,150,301,151,303, + 152,305,153,307,154,309,155,311,156,313,157,315,158,317,159,319,160,321, + 161,323,162,325,163,327,164,329,165,331,166,333,167,335,168,337,169,339, + 170,341,171,343,172,345,173,347,174,349,175,351,176,353,177,355,178,357, + 179,359,180,361,181,363,182,365,183,367,184,369,185,371,186,373,187,375, + 188,377,189,379,190,381,191,383,192,385,193,387,194,389,195,391,196,393, + 197,395,198,397,199,399,200,401,201,403,202,405,203,407,204,409,205,411, + 206,413,207,415,208,417,209,419,210,421,211,423,212,425,213,427,214,429, + 215,431,216,433,217,435,218,437,219,439,220,441,221,443,222,445,223,447, + 224,449,225,451,226,453,227,455,228,457,229,459,230,461,231,463,232,465, + 233,467,234,469,235,471,236,473,237,475,238,477,239,479,240,481,241,483, + 242,485,243,487,244,489,245,491,246,493,247,495,248,497,249,499,250,501, + 251,503,252,505,253,507,0,509,0,511,0,513,254,515,255,517,256,519,257,1, + 0,9,1,0,39,39,3,0,58,58,64,64,95,95,1,0,34,34,1,0,96,96,2,0,43,43,45,45, + 1,0,48,57,1,0,65,90,2,0,10,10,13,13,3,0,9,10,13,13,32,32,2408,0,1,1,0,0, + 0,0,3,1,0,0,0,0,5,1,0,0,0,0,7,1,0,0,0,0,9,1,0,0,0,0,11,1,0,0,0,0,13,1,0, + 0,0,0,15,1,0,0,0,0,17,1,0,0,0,0,19,1,0,0,0,0,21,1,0,0,0,0,23,1,0,0,0,0, + 25,1,0,0,0,0,27,1,0,0,0,0,29,1,0,0,0,0,31,1,0,0,0,0,33,1,0,0,0,0,35,1,0, + 0,0,0,37,1,0,0,0,0,39,1,0,0,0,0,41,1,0,0,0,0,43,1,0,0,0,0,45,1,0,0,0,0, + 47,1,0,0,0,0,49,1,0,0,0,0,51,1,0,0,0,0,53,1,0,0,0,0,55,1,0,0,0,0,57,1,0, + 0,0,0,59,1,0,0,0,0,61,1,0,0,0,0,63,1,0,0,0,0,65,1,0,0,0,0,67,1,0,0,0,0, + 69,1,0,0,0,0,71,1,0,0,0,0,73,1,0,0,0,0,75,1,0,0,0,0,77,1,0,0,0,0,79,1,0, + 0,0,0,81,1,0,0,0,0,83,1,0,0,0,0,85,1,0,0,0,0,87,1,0,0,0,0,89,1,0,0,0,0, + 91,1,0,0,0,0,93,1,0,0,0,0,95,1,0,0,0,0,97,1,0,0,0,0,99,1,0,0,0,0,101,1, + 0,0,0,0,103,1,0,0,0,0,105,1,0,0,0,0,107,1,0,0,0,0,109,1,0,0,0,0,111,1,0, + 0,0,0,113,1,0,0,0,0,115,1,0,0,0,0,117,1,0,0,0,0,119,1,0,0,0,0,121,1,0,0, + 0,0,123,1,0,0,0,0,125,1,0,0,0,0,127,1,0,0,0,0,129,1,0,0,0,0,131,1,0,0,0, + 0,133,1,0,0,0,0,135,1,0,0,0,0,137,1,0,0,0,0,139,1,0,0,0,0,141,1,0,0,0,0, + 143,1,0,0,0,0,145,1,0,0,0,0,147,1,0,0,0,0,149,1,0,0,0,0,151,1,0,0,0,0,153, + 1,0,0,0,0,155,1,0,0,0,0,157,1,0,0,0,0,159,1,0,0,0,0,161,1,0,0,0,0,163,1, + 0,0,0,0,165,1,0,0,0,0,167,1,0,0,0,0,169,1,0,0,0,0,171,1,0,0,0,0,173,1,0, + 0,0,0,175,1,0,0,0,0,177,1,0,0,0,0,179,1,0,0,0,0,181,1,0,0,0,0,183,1,0,0, + 0,0,185,1,0,0,0,0,187,1,0,0,0,0,189,1,0,0,0,0,191,1,0,0,0,0,193,1,0,0,0, + 0,195,1,0,0,0,0,197,1,0,0,0,0,199,1,0,0,0,0,201,1,0,0,0,0,203,1,0,0,0,0, + 205,1,0,0,0,0,207,1,0,0,0,0,209,1,0,0,0,0,211,1,0,0,0,0,213,1,0,0,0,0,215, + 1,0,0,0,0,217,1,0,0,0,0,219,1,0,0,0,0,221,1,0,0,0,0,223,1,0,0,0,0,225,1, + 0,0,0,0,227,1,0,0,0,0,229,1,0,0,0,0,231,1,0,0,0,0,233,1,0,0,0,0,235,1,0, + 0,0,0,237,1,0,0,0,0,239,1,0,0,0,0,241,1,0,0,0,0,243,1,0,0,0,0,245,1,0,0, + 0,0,247,1,0,0,0,0,249,1,0,0,0,0,251,1,0,0,0,0,253,1,0,0,0,0,255,1,0,0,0, + 0,257,1,0,0,0,0,259,1,0,0,0,0,261,1,0,0,0,0,263,1,0,0,0,0,265,1,0,0,0,0, + 267,1,0,0,0,0,269,1,0,0,0,0,271,1,0,0,0,0,273,1,0,0,0,0,275,1,0,0,0,0,277, + 1,0,0,0,0,279,1,0,0,0,0,281,1,0,0,0,0,283,1,0,0,0,0,285,1,0,0,0,0,287,1, + 0,0,0,0,289,1,0,0,0,0,291,1,0,0,0,0,293,1,0,0,0,0,295,1,0,0,0,0,297,1,0, + 0,0,0,299,1,0,0,0,0,301,1,0,0,0,0,303,1,0,0,0,0,305,1,0,0,0,0,307,1,0,0, + 0,0,309,1,0,0,0,0,311,1,0,0,0,0,313,1,0,0,0,0,315,1,0,0,0,0,317,1,0,0,0, + 0,319,1,0,0,0,0,321,1,0,0,0,0,323,1,0,0,0,0,325,1,0,0,0,0,327,1,0,0,0,0, + 329,1,0,0,0,0,331,1,0,0,0,0,333,1,0,0,0,0,335,1,0,0,0,0,337,1,0,0,0,0,339, + 1,0,0,0,0,341,1,0,0,0,0,343,1,0,0,0,0,345,1,0,0,0,0,347,1,0,0,0,0,349,1, + 0,0,0,0,351,1,0,0,0,0,353,1,0,0,0,0,355,1,0,0,0,0,357,1,0,0,0,0,359,1,0, + 0,0,0,361,1,0,0,0,0,363,1,0,0,0,0,365,1,0,0,0,0,367,1,0,0,0,0,369,1,0,0, + 0,0,371,1,0,0,0,0,373,1,0,0,0,0,375,1,0,0,0,0,377,1,0,0,0,0,379,1,0,0,0, + 0,381,1,0,0,0,0,383,1,0,0,0,0,385,1,0,0,0,0,387,1,0,0,0,0,389,1,0,0,0,0, + 391,1,0,0,0,0,393,1,0,0,0,0,395,1,0,0,0,0,397,1,0,0,0,0,399,1,0,0,0,0,401, + 1,0,0,0,0,403,1,0,0,0,0,405,1,0,0,0,0,407,1,0,0,0,0,409,1,0,0,0,0,411,1, + 0,0,0,0,413,1,0,0,0,0,415,1,0,0,0,0,417,1,0,0,0,0,419,1,0,0,0,0,421,1,0, + 0,0,0,423,1,0,0,0,0,425,1,0,0,0,0,427,1,0,0,0,0,429,1,0,0,0,0,431,1,0,0, + 0,0,433,1,0,0,0,0,435,1,0,0,0,0,437,1,0,0,0,0,439,1,0,0,0,0,441,1,0,0,0, + 0,443,1,0,0,0,0,445,1,0,0,0,0,447,1,0,0,0,0,449,1,0,0,0,0,451,1,0,0,0,0, + 453,1,0,0,0,0,455,1,0,0,0,0,457,1,0,0,0,0,459,1,0,0,0,0,461,1,0,0,0,0,463, + 1,0,0,0,0,465,1,0,0,0,0,467,1,0,0,0,0,469,1,0,0,0,0,471,1,0,0,0,0,473,1, + 0,0,0,0,475,1,0,0,0,0,477,1,0,0,0,0,479,1,0,0,0,0,481,1,0,0,0,0,483,1,0, + 0,0,0,485,1,0,0,0,0,487,1,0,0,0,0,489,1,0,0,0,0,491,1,0,0,0,0,493,1,0,0, + 0,0,495,1,0,0,0,0,497,1,0,0,0,0,499,1,0,0,0,0,501,1,0,0,0,0,503,1,0,0,0, + 0,505,1,0,0,0,0,513,1,0,0,0,0,515,1,0,0,0,0,517,1,0,0,0,0,519,1,0,0,0,1, + 521,1,0,0,0,3,523,1,0,0,0,5,525,1,0,0,0,7,527,1,0,0,0,9,529,1,0,0,0,11, + 531,1,0,0,0,13,534,1,0,0,0,15,536,1,0,0,0,17,538,1,0,0,0,19,541,1,0,0,0, + 21,545,1,0,0,0,23,551,1,0,0,0,25,555,1,0,0,0,27,561,1,0,0,0,29,569,1,0, + 0,0,31,573,1,0,0,0,33,577,1,0,0,0,35,583,1,0,0,0,37,586,1,0,0,0,39,590, + 1,0,0,0,41,593,1,0,0,0,43,600,1,0,0,0,45,610,1,0,0,0,47,618,1,0,0,0,49, + 621,1,0,0,0,51,626,1,0,0,0,53,633,1,0,0,0,55,641,1,0,0,0,57,646,1,0,0,0, + 59,651,1,0,0,0,61,660,1,0,0,0,63,667,1,0,0,0,65,675,1,0,0,0,67,683,1,0, + 0,0,69,690,1,0,0,0,71,700,1,0,0,0,73,711,1,0,0,0,75,718,1,0,0,0,77,724, + 1,0,0,0,79,729,1,0,0,0,81,737,1,0,0,0,83,750,1,0,0,0,85,763,1,0,0,0,87, + 776,1,0,0,0,89,794,1,0,0,0,91,807,1,0,0,0,93,812,1,0,0,0,95,817,1,0,0,0, + 97,821,1,0,0,0,99,832,1,0,0,0,101,840,1,0,0,0,103,847,1,0,0,0,105,852,1, + 0,0,0,107,861,1,0,0,0,109,875,1,0,0,0,111,884,1,0,0,0,113,893,1,0,0,0,115, + 905,1,0,0,0,117,910,1,0,0,0,119,915,1,0,0,0,121,923,1,0,0,0,123,927,1,0, + 0,0,125,936,1,0,0,0,127,943,1,0,0,0,129,950,1,0,0,0,131,960,1,0,0,0,133, + 968,1,0,0,0,135,975,1,0,0,0,137,983,1,0,0,0,139,991,1,0,0,0,141,1000,1, + 0,0,0,143,1006,1,0,0,0,145,1012,1,0,0,0,147,1019,1,0,0,0,149,1025,1,0,0, + 0,151,1035,1,0,0,0,153,1039,1,0,0,0,155,1046,1,0,0,0,157,1051,1,0,0,0,159, + 1056,1,0,0,0,161,1065,1,0,0,0,163,1075,1,0,0,0,165,1081,1,0,0,0,167,1089, + 1,0,0,0,169,1096,1,0,0,0,171,1105,1,0,0,0,173,1111,1,0,0,0,175,1120,1,0, + 0,0,177,1127,1,0,0,0,179,1134,1,0,0,0,181,1139,1,0,0,0,183,1142,1,0,0,0, + 185,1149,1,0,0,0,187,1152,1,0,0,0,189,1162,1,0,0,0,191,1168,1,0,0,0,193, + 1174,1,0,0,0,195,1181,1,0,0,0,197,1191,1,0,0,0,199,1200,1,0,0,0,201,1205, + 1,0,0,0,203,1213,1,0,0,0,205,1216,1,0,0,0,207,1219,1,0,0,0,209,1229,1,0, + 0,0,211,1234,1,0,0,0,213,1239,1,0,0,0,215,1243,1,0,0,0,217,1252,1,0,0,0, + 219,1257,1,0,0,0,221,1265,1,0,0,0,223,1270,1,0,0,0,225,1276,1,0,0,0,227, + 1281,1,0,0,0,229,1287,1,0,0,0,231,1297,1,0,0,0,233,1312,1,0,0,0,235,1320, + 1,0,0,0,237,1324,1,0,0,0,239,1337,1,0,0,0,241,1344,1,0,0,0,243,1350,1,0, + 0,0,245,1355,1,0,0,0,247,1363,1,0,0,0,249,1367,1,0,0,0,251,1371,1,0,0,0, + 253,1376,1,0,0,0,255,1381,1,0,0,0,257,1384,1,0,0,0,259,1389,1,0,0,0,261, + 1399,1,0,0,0,263,1403,1,0,0,0,265,1408,1,0,0,0,267,1415,1,0,0,0,269,1421, + 1,0,0,0,271,1424,1,0,0,0,273,1431,1,0,0,0,275,1434,1,0,0,0,277,1439,1,0, + 0,0,279,1446,1,0,0,0,281,1449,1,0,0,0,283,1455,1,0,0,0,285,1466,1,0,0,0, + 287,1472,1,0,0,0,289,1479,1,0,0,0,291,1484,1,0,0,0,293,1494,1,0,0,0,295, + 1505,1,0,0,0,297,1514,1,0,0,0,299,1524,1,0,0,0,301,1532,1,0,0,0,303,1540, + 1,0,0,0,305,1551,1,0,0,0,307,1562,1,0,0,0,309,1568,1,0,0,0,311,1573,1,0, + 0,0,313,1583,1,0,0,0,315,1591,1,0,0,0,317,1596,1,0,0,0,319,1603,1,0,0,0, + 321,1614,1,0,0,0,323,1622,1,0,0,0,325,1628,1,0,0,0,327,1636,1,0,0,0,329, + 1645,1,0,0,0,331,1652,1,0,0,0,333,1660,1,0,0,0,335,1667,1,0,0,0,337,1673, + 1,0,0,0,339,1678,1,0,0,0,341,1684,1,0,0,0,343,1693,1,0,0,0,345,1700,1,0, + 0,0,347,1704,1,0,0,0,349,1709,1,0,0,0,351,1716,1,0,0,0,353,1724,1,0,0,0, + 355,1731,1,0,0,0,357,1740,1,0,0,0,359,1747,1,0,0,0,361,1760,1,0,0,0,363, + 1768,1,0,0,0,365,1772,1,0,0,0,367,1777,1,0,0,0,369,1782,1,0,0,0,371,1787, + 1,0,0,0,373,1791,1,0,0,0,375,1797,1,0,0,0,377,1803,1,0,0,0,379,1813,1,0, + 0,0,381,1820,1,0,0,0,383,1832,1,0,0,0,385,1847,1,0,0,0,387,1853,1,0,0,0, + 389,1860,1,0,0,0,391,1872,1,0,0,0,393,1882,1,0,0,0,395,1887,1,0,0,0,397, + 1892,1,0,0,0,399,1897,1,0,0,0,401,1907,1,0,0,0,403,1910,1,0,0,0,405,1922, + 1,0,0,0,407,1927,1,0,0,0,409,1936,1,0,0,0,411,1945,1,0,0,0,413,1950,1,0, + 0,0,415,1958,1,0,0,0,417,1968,1,0,0,0,419,1980,1,0,0,0,421,1986,1,0,0,0, + 423,1993,1,0,0,0,425,2000,1,0,0,0,427,2007,1,0,0,0,429,2011,1,0,0,0,431, + 2016,1,0,0,0,433,2022,1,0,0,0,435,2031,1,0,0,0,437,2038,1,0,0,0,439,2046, + 1,0,0,0,441,2054,1,0,0,0,443,2059,1,0,0,0,445,2064,1,0,0,0,447,2070,1,0, + 0,0,449,2075,1,0,0,0,451,2080,1,0,0,0,453,2086,1,0,0,0,455,2091,1,0,0,0, + 457,2096,1,0,0,0,459,2102,1,0,0,0,461,2104,1,0,0,0,463,2106,1,0,0,0,465, + 2109,1,0,0,0,467,2111,1,0,0,0,469,2114,1,0,0,0,471,2116,1,0,0,0,473,2118, + 1,0,0,0,475,2120,1,0,0,0,477,2122,1,0,0,0,479,2124,1,0,0,0,481,2127,1,0, + 0,0,483,2138,1,0,0,0,485,2152,1,0,0,0,487,2164,1,0,0,0,489,2186,1,0,0,0, + 491,2212,1,0,0,0,493,2216,1,0,0,0,495,2226,1,0,0,0,497,2234,1,0,0,0,499, + 2245,1,0,0,0,501,2256,1,0,0,0,503,2279,1,0,0,0,505,2307,1,0,0,0,507,2325, + 1,0,0,0,509,2334,1,0,0,0,511,2336,1,0,0,0,513,2338,1,0,0,0,515,2355,1,0, + 0,0,517,2370,1,0,0,0,519,2376,1,0,0,0,521,522,5,46,0,0,522,2,1,0,0,0,523, + 524,5,40,0,0,524,4,1,0,0,0,525,526,5,41,0,0,526,6,1,0,0,0,527,528,5,44, + 0,0,528,8,1,0,0,0,529,530,5,63,0,0,530,10,1,0,0,0,531,532,5,45,0,0,532, + 533,5,62,0,0,533,12,1,0,0,0,534,535,5,91,0,0,535,14,1,0,0,0,536,537,5,93, + 0,0,537,16,1,0,0,0,538,539,5,61,0,0,539,540,5,62,0,0,540,18,1,0,0,0,541, + 542,5,65,0,0,542,543,5,68,0,0,543,544,5,68,0,0,544,20,1,0,0,0,545,546,5, + 65,0,0,546,547,5,68,0,0,547,548,5,77,0,0,548,549,5,73,0,0,549,550,5,78, + 0,0,550,22,1,0,0,0,551,552,5,65,0,0,552,553,5,76,0,0,553,554,5,76,0,0,554, + 24,1,0,0,0,555,556,5,65,0,0,556,557,5,76,0,0,557,558,5,84,0,0,558,559,5, + 69,0,0,559,560,5,82,0,0,560,26,1,0,0,0,561,562,5,65,0,0,562,563,5,78,0, + 0,563,564,5,65,0,0,564,565,5,76,0,0,565,566,5,89,0,0,566,567,5,90,0,0,567, + 568,5,69,0,0,568,28,1,0,0,0,569,570,5,65,0,0,570,571,5,78,0,0,571,572,5, + 68,0,0,572,30,1,0,0,0,573,574,5,65,0,0,574,575,5,78,0,0,575,576,5,89,0, + 0,576,32,1,0,0,0,577,578,5,65,0,0,578,579,5,82,0,0,579,580,5,82,0,0,580, + 581,5,65,0,0,581,582,5,89,0,0,582,34,1,0,0,0,583,584,5,65,0,0,584,585,5, + 83,0,0,585,36,1,0,0,0,586,587,5,65,0,0,587,588,5,83,0,0,588,589,5,67,0, + 0,589,38,1,0,0,0,590,591,5,65,0,0,591,592,5,84,0,0,592,40,1,0,0,0,593,594, + 5,66,0,0,594,595,5,69,0,0,595,596,5,70,0,0,596,597,5,79,0,0,597,598,5,82, + 0,0,598,599,5,69,0,0,599,42,1,0,0,0,600,601,5,66,0,0,601,602,5,69,0,0,602, + 603,5,82,0,0,603,604,5,78,0,0,604,605,5,79,0,0,605,606,5,85,0,0,606,607, + 5,76,0,0,607,608,5,76,0,0,608,609,5,73,0,0,609,44,1,0,0,0,610,611,5,66, + 0,0,611,612,5,69,0,0,612,613,5,84,0,0,613,614,5,87,0,0,614,615,5,69,0,0, + 615,616,5,69,0,0,616,617,5,78,0,0,617,46,1,0,0,0,618,619,5,66,0,0,619,620, + 5,89,0,0,620,48,1,0,0,0,621,622,5,67,0,0,622,623,5,65,0,0,623,624,5,76, + 0,0,624,625,5,76,0,0,625,50,1,0,0,0,626,627,5,67,0,0,627,628,5,65,0,0,628, + 629,5,76,0,0,629,630,5,76,0,0,630,631,5,69,0,0,631,632,5,68,0,0,632,52, + 1,0,0,0,633,634,5,67,0,0,634,635,5,65,0,0,635,636,5,83,0,0,636,637,5,67, + 0,0,637,638,5,65,0,0,638,639,5,68,0,0,639,640,5,69,0,0,640,54,1,0,0,0,641, + 642,5,67,0,0,642,643,5,65,0,0,643,644,5,83,0,0,644,645,5,69,0,0,645,56, + 1,0,0,0,646,647,5,67,0,0,647,648,5,65,0,0,648,649,5,83,0,0,649,650,5,84, + 0,0,650,58,1,0,0,0,651,652,5,67,0,0,652,653,5,65,0,0,653,654,5,84,0,0,654, + 655,5,65,0,0,655,656,5,76,0,0,656,657,5,79,0,0,657,658,5,71,0,0,658,659, + 5,83,0,0,659,60,1,0,0,0,660,661,5,67,0,0,661,662,5,79,0,0,662,663,5,76, + 0,0,663,664,5,85,0,0,664,665,5,77,0,0,665,666,5,78,0,0,666,62,1,0,0,0,667, + 668,5,67,0,0,668,669,5,79,0,0,669,670,5,76,0,0,670,671,5,85,0,0,671,672, + 5,77,0,0,672,673,5,78,0,0,673,674,5,83,0,0,674,64,1,0,0,0,675,676,5,67, + 0,0,676,677,5,79,0,0,677,678,5,77,0,0,678,679,5,77,0,0,679,680,5,69,0,0, + 680,681,5,78,0,0,681,682,5,84,0,0,682,66,1,0,0,0,683,684,5,67,0,0,684,685, + 5,79,0,0,685,686,5,77,0,0,686,687,5,77,0,0,687,688,5,73,0,0,688,689,5,84, + 0,0,689,68,1,0,0,0,690,691,5,67,0,0,691,692,5,79,0,0,692,693,5,77,0,0,693, + 694,5,77,0,0,694,695,5,73,0,0,695,696,5,84,0,0,696,697,5,84,0,0,697,698, + 5,69,0,0,698,699,5,68,0,0,699,70,1,0,0,0,700,701,5,67,0,0,701,702,5,79, + 0,0,702,703,5,78,0,0,703,704,5,83,0,0,704,705,5,84,0,0,705,706,5,82,0,0, + 706,707,5,65,0,0,707,708,5,73,0,0,708,709,5,78,0,0,709,710,5,84,0,0,710, + 72,1,0,0,0,711,712,5,67,0,0,712,713,5,82,0,0,713,714,5,69,0,0,714,715,5, + 65,0,0,715,716,5,84,0,0,716,717,5,69,0,0,717,74,1,0,0,0,718,719,5,67,0, + 0,719,720,5,82,0,0,720,721,5,79,0,0,721,722,5,83,0,0,722,723,5,83,0,0,723, + 76,1,0,0,0,724,725,5,67,0,0,725,726,5,85,0,0,726,727,5,66,0,0,727,728,5, + 69,0,0,728,78,1,0,0,0,729,730,5,67,0,0,730,731,5,85,0,0,731,732,5,82,0, + 0,732,733,5,82,0,0,733,734,5,69,0,0,734,735,5,78,0,0,735,736,5,84,0,0,736, + 80,1,0,0,0,737,738,5,67,0,0,738,739,5,85,0,0,739,740,5,82,0,0,740,741,5, + 82,0,0,741,742,5,69,0,0,742,743,5,78,0,0,743,744,5,84,0,0,744,745,5,95, + 0,0,745,746,5,68,0,0,746,747,5,65,0,0,747,748,5,84,0,0,748,749,5,69,0,0, + 749,82,1,0,0,0,750,751,5,67,0,0,751,752,5,85,0,0,752,753,5,82,0,0,753,754, + 5,82,0,0,754,755,5,69,0,0,755,756,5,78,0,0,756,757,5,84,0,0,757,758,5,95, + 0,0,758,759,5,82,0,0,759,760,5,79,0,0,760,761,5,76,0,0,761,762,5,69,0,0, + 762,84,1,0,0,0,763,764,5,67,0,0,764,765,5,85,0,0,765,766,5,82,0,0,766,767, + 5,82,0,0,767,768,5,69,0,0,768,769,5,78,0,0,769,770,5,84,0,0,770,771,5,95, + 0,0,771,772,5,84,0,0,772,773,5,73,0,0,773,774,5,77,0,0,774,775,5,69,0,0, + 775,86,1,0,0,0,776,777,5,67,0,0,777,778,5,85,0,0,778,779,5,82,0,0,779,780, + 5,82,0,0,780,781,5,69,0,0,781,782,5,78,0,0,782,783,5,84,0,0,783,784,5,95, + 0,0,784,785,5,84,0,0,785,786,5,73,0,0,786,787,5,77,0,0,787,788,5,69,0,0, + 788,789,5,83,0,0,789,790,5,84,0,0,790,791,5,65,0,0,791,792,5,77,0,0,792, + 793,5,80,0,0,793,88,1,0,0,0,794,795,5,67,0,0,795,796,5,85,0,0,796,797,5, + 82,0,0,797,798,5,82,0,0,798,799,5,69,0,0,799,800,5,78,0,0,800,801,5,84, + 0,0,801,802,5,95,0,0,802,803,5,85,0,0,803,804,5,83,0,0,804,805,5,69,0,0, + 805,806,5,82,0,0,806,90,1,0,0,0,807,808,5,68,0,0,808,809,5,65,0,0,809,810, + 5,84,0,0,810,811,5,65,0,0,811,92,1,0,0,0,812,813,5,68,0,0,813,814,5,65, + 0,0,814,815,5,84,0,0,815,816,5,69,0,0,816,94,1,0,0,0,817,818,5,68,0,0,818, + 819,5,65,0,0,819,820,5,89,0,0,820,96,1,0,0,0,821,822,5,68,0,0,822,823,5, + 69,0,0,823,824,5,65,0,0,824,825,5,76,0,0,825,826,5,76,0,0,826,827,5,79, + 0,0,827,828,5,67,0,0,828,829,5,65,0,0,829,830,5,84,0,0,830,831,5,69,0,0, + 831,98,1,0,0,0,832,833,5,68,0,0,833,834,5,69,0,0,834,835,5,70,0,0,835,836, + 5,73,0,0,836,837,5,78,0,0,837,838,5,69,0,0,838,839,5,82,0,0,839,100,1,0, + 0,0,840,841,5,68,0,0,841,842,5,69,0,0,842,843,5,76,0,0,843,844,5,69,0,0, + 844,845,5,84,0,0,845,846,5,69,0,0,846,102,1,0,0,0,847,848,5,68,0,0,848, + 849,5,69,0,0,849,850,5,83,0,0,850,851,5,67,0,0,851,104,1,0,0,0,852,853, + 5,68,0,0,853,854,5,69,0,0,854,855,5,83,0,0,855,856,5,67,0,0,856,857,5,82, + 0,0,857,858,5,73,0,0,858,859,5,66,0,0,859,860,5,69,0,0,860,106,1,0,0,0, + 861,862,5,68,0,0,862,863,5,69,0,0,863,864,5,84,0,0,864,865,5,69,0,0,865, + 866,5,82,0,0,866,867,5,77,0,0,867,868,5,73,0,0,868,869,5,78,0,0,869,870, + 5,73,0,0,870,871,5,83,0,0,871,872,5,84,0,0,872,873,5,73,0,0,873,874,5,67, + 0,0,874,108,1,0,0,0,875,876,5,68,0,0,876,877,5,73,0,0,877,878,5,83,0,0, + 878,879,5,65,0,0,879,880,5,66,0,0,880,881,5,76,0,0,881,882,5,69,0,0,882, + 883,5,68,0,0,883,110,1,0,0,0,884,885,5,68,0,0,885,886,5,73,0,0,886,887, + 5,83,0,0,887,888,5,84,0,0,888,889,5,73,0,0,889,890,5,78,0,0,890,891,5,67, + 0,0,891,892,5,84,0,0,892,112,1,0,0,0,893,894,5,68,0,0,894,895,5,73,0,0, + 895,896,5,83,0,0,896,897,5,84,0,0,897,898,5,82,0,0,898,899,5,73,0,0,899, + 900,5,66,0,0,900,901,5,85,0,0,901,902,5,84,0,0,902,903,5,69,0,0,903,904, + 5,68,0,0,904,114,1,0,0,0,905,906,5,68,0,0,906,907,5,82,0,0,907,908,5,79, + 0,0,908,909,5,80,0,0,909,116,1,0,0,0,910,911,5,69,0,0,911,912,5,76,0,0, + 912,913,5,83,0,0,913,914,5,69,0,0,914,118,1,0,0,0,915,916,5,69,0,0,916, + 917,5,78,0,0,917,918,5,65,0,0,918,919,5,66,0,0,919,920,5,76,0,0,920,921, + 5,69,0,0,921,922,5,68,0,0,922,120,1,0,0,0,923,924,5,69,0,0,924,925,5,78, + 0,0,925,926,5,68,0,0,926,122,1,0,0,0,927,928,5,69,0,0,928,929,5,78,0,0, + 929,930,5,70,0,0,930,931,5,79,0,0,931,932,5,82,0,0,932,933,5,67,0,0,933, + 934,5,69,0,0,934,935,5,68,0,0,935,124,1,0,0,0,936,937,5,69,0,0,937,938, + 5,83,0,0,938,939,5,67,0,0,939,940,5,65,0,0,940,941,5,80,0,0,941,942,5,69, + 0,0,942,126,1,0,0,0,943,944,5,69,0,0,944,945,5,88,0,0,945,946,5,67,0,0, + 946,947,5,69,0,0,947,948,5,80,0,0,948,949,5,84,0,0,949,128,1,0,0,0,950, + 951,5,69,0,0,951,952,5,88,0,0,952,953,5,67,0,0,953,954,5,76,0,0,954,955, + 5,85,0,0,955,956,5,68,0,0,956,957,5,73,0,0,957,958,5,78,0,0,958,959,5,71, + 0,0,959,130,1,0,0,0,960,961,5,69,0,0,961,962,5,88,0,0,962,963,5,69,0,0, + 963,964,5,67,0,0,964,965,5,85,0,0,965,966,5,84,0,0,966,967,5,69,0,0,967, + 132,1,0,0,0,968,969,5,69,0,0,969,970,5,88,0,0,970,971,5,73,0,0,971,972, + 5,83,0,0,972,973,5,84,0,0,973,974,5,83,0,0,974,134,1,0,0,0,975,976,5,69, + 0,0,976,977,5,88,0,0,977,978,5,80,0,0,978,979,5,76,0,0,979,980,5,65,0,0, + 980,981,5,73,0,0,981,982,5,78,0,0,982,136,1,0,0,0,983,984,5,69,0,0,984, + 985,5,88,0,0,985,986,5,84,0,0,986,987,5,82,0,0,987,988,5,65,0,0,988,989, + 5,67,0,0,989,990,5,84,0,0,990,138,1,0,0,0,991,992,5,69,0,0,992,993,5,88, + 0,0,993,994,5,84,0,0,994,995,5,69,0,0,995,996,5,82,0,0,996,997,5,78,0,0, + 997,998,5,65,0,0,998,999,5,76,0,0,999,140,1,0,0,0,1000,1001,5,70,0,0,1001, + 1002,5,65,0,0,1002,1003,5,76,0,0,1003,1004,5,83,0,0,1004,1005,5,69,0,0, + 1005,142,1,0,0,0,1006,1007,5,70,0,0,1007,1008,5,69,0,0,1008,1009,5,84,0, + 0,1009,1010,5,67,0,0,1010,1011,5,72,0,0,1011,144,1,0,0,0,1012,1013,5,70, + 0,0,1013,1014,5,73,0,0,1014,1015,5,76,0,0,1015,1016,5,84,0,0,1016,1017, + 5,69,0,0,1017,1018,5,82,0,0,1018,146,1,0,0,0,1019,1020,5,70,0,0,1020,1021, + 5,73,0,0,1021,1022,5,82,0,0,1022,1023,5,83,0,0,1023,1024,5,84,0,0,1024, + 148,1,0,0,0,1025,1026,5,70,0,0,1026,1027,5,79,0,0,1027,1028,5,76,0,0,1028, + 1029,5,76,0,0,1029,1030,5,79,0,0,1030,1031,5,87,0,0,1031,1032,5,73,0,0, + 1032,1033,5,78,0,0,1033,1034,5,71,0,0,1034,150,1,0,0,0,1035,1036,5,70,0, + 0,1036,1037,5,79,0,0,1037,1038,5,82,0,0,1038,152,1,0,0,0,1039,1040,5,70, + 0,0,1040,1041,5,79,0,0,1041,1042,5,82,0,0,1042,1043,5,77,0,0,1043,1044, + 5,65,0,0,1044,1045,5,84,0,0,1045,154,1,0,0,0,1046,1047,5,70,0,0,1047,1048, + 5,82,0,0,1048,1049,5,79,0,0,1049,1050,5,77,0,0,1050,156,1,0,0,0,1051,1052, + 5,70,0,0,1052,1053,5,85,0,0,1053,1054,5,76,0,0,1054,1055,5,76,0,0,1055, + 158,1,0,0,0,1056,1057,5,70,0,0,1057,1058,5,85,0,0,1058,1059,5,78,0,0,1059, + 1060,5,67,0,0,1060,1061,5,84,0,0,1061,1062,5,73,0,0,1062,1063,5,79,0,0, + 1063,1064,5,78,0,0,1064,160,1,0,0,0,1065,1066,5,70,0,0,1066,1067,5,85,0, + 0,1067,1068,5,78,0,0,1068,1069,5,67,0,0,1069,1070,5,84,0,0,1070,1071,5, + 73,0,0,1071,1072,5,79,0,0,1072,1073,5,78,0,0,1073,1074,5,83,0,0,1074,162, + 1,0,0,0,1075,1076,5,71,0,0,1076,1077,5,82,0,0,1077,1078,5,65,0,0,1078,1079, + 5,78,0,0,1079,1080,5,84,0,0,1080,164,1,0,0,0,1081,1082,5,71,0,0,1082,1083, + 5,82,0,0,1083,1084,5,65,0,0,1084,1085,5,78,0,0,1085,1086,5,84,0,0,1086, + 1087,5,69,0,0,1087,1088,5,68,0,0,1088,166,1,0,0,0,1089,1090,5,71,0,0,1090, + 1091,5,82,0,0,1091,1092,5,65,0,0,1092,1093,5,78,0,0,1093,1094,5,84,0,0, + 1094,1095,5,83,0,0,1095,168,1,0,0,0,1096,1097,5,71,0,0,1097,1098,5,82,0, + 0,1098,1099,5,65,0,0,1099,1100,5,80,0,0,1100,1101,5,72,0,0,1101,1102,5, + 86,0,0,1102,1103,5,73,0,0,1103,1104,5,90,0,0,1104,170,1,0,0,0,1105,1106, + 5,71,0,0,1106,1107,5,82,0,0,1107,1108,5,79,0,0,1108,1109,5,85,0,0,1109, + 1110,5,80,0,0,1110,172,1,0,0,0,1111,1112,5,71,0,0,1112,1113,5,82,0,0,1113, + 1114,5,79,0,0,1114,1115,5,85,0,0,1115,1116,5,80,0,0,1116,1117,5,73,0,0, + 1117,1118,5,78,0,0,1118,1119,5,71,0,0,1119,174,1,0,0,0,1120,1121,5,71,0, + 0,1121,1122,5,82,0,0,1122,1123,5,79,0,0,1123,1124,5,85,0,0,1124,1125,5, + 80,0,0,1125,1126,5,83,0,0,1126,176,1,0,0,0,1127,1128,5,72,0,0,1128,1129, + 5,65,0,0,1129,1130,5,86,0,0,1130,1131,5,73,0,0,1131,1132,5,78,0,0,1132, + 1133,5,71,0,0,1133,178,1,0,0,0,1134,1135,5,72,0,0,1135,1136,5,79,0,0,1136, + 1137,5,85,0,0,1137,1138,5,82,0,0,1138,180,1,0,0,0,1139,1140,5,73,0,0,1140, + 1141,5,70,0,0,1141,182,1,0,0,0,1142,1143,5,73,0,0,1143,1144,5,71,0,0,1144, + 1145,5,78,0,0,1145,1146,5,79,0,0,1146,1147,5,82,0,0,1147,1148,5,69,0,0, + 1148,184,1,0,0,0,1149,1150,5,73,0,0,1150,1151,5,78,0,0,1151,186,1,0,0,0, + 1152,1153,5,73,0,0,1153,1154,5,78,0,0,1154,1155,5,67,0,0,1155,1156,5,76, + 0,0,1156,1157,5,85,0,0,1157,1158,5,68,0,0,1158,1159,5,73,0,0,1159,1160, + 5,78,0,0,1160,1161,5,71,0,0,1161,188,1,0,0,0,1162,1163,5,73,0,0,1163,1164, + 5,78,0,0,1164,1165,5,78,0,0,1165,1166,5,69,0,0,1166,1167,5,82,0,0,1167, + 190,1,0,0,0,1168,1169,5,73,0,0,1169,1170,5,78,0,0,1170,1171,5,80,0,0,1171, + 1172,5,85,0,0,1172,1173,5,84,0,0,1173,192,1,0,0,0,1174,1175,5,73,0,0,1175, + 1176,5,78,0,0,1176,1177,5,83,0,0,1177,1178,5,69,0,0,1178,1179,5,82,0,0, + 1179,1180,5,84,0,0,1180,194,1,0,0,0,1181,1182,5,73,0,0,1182,1183,5,78,0, + 0,1183,1184,5,84,0,0,1184,1185,5,69,0,0,1185,1186,5,82,0,0,1186,1187,5, + 83,0,0,1187,1188,5,69,0,0,1188,1189,5,67,0,0,1189,1190,5,84,0,0,1190,196, + 1,0,0,0,1191,1192,5,73,0,0,1192,1193,5,78,0,0,1193,1194,5,84,0,0,1194,1195, + 5,69,0,0,1195,1196,5,82,0,0,1196,1197,5,86,0,0,1197,1198,5,65,0,0,1198, + 1199,5,76,0,0,1199,198,1,0,0,0,1200,1201,5,73,0,0,1201,1202,5,78,0,0,1202, + 1203,5,84,0,0,1203,1204,5,79,0,0,1204,200,1,0,0,0,1205,1206,5,73,0,0,1206, + 1207,5,78,0,0,1207,1208,5,86,0,0,1208,1209,5,79,0,0,1209,1210,5,75,0,0, + 1210,1211,5,69,0,0,1211,1212,5,82,0,0,1212,202,1,0,0,0,1213,1214,5,73,0, + 0,1214,1215,5,79,0,0,1215,204,1,0,0,0,1216,1217,5,73,0,0,1217,1218,5,83, + 0,0,1218,206,1,0,0,0,1219,1220,5,73,0,0,1220,1221,5,83,0,0,1221,1222,5, + 79,0,0,1222,1223,5,76,0,0,1223,1224,5,65,0,0,1224,1225,5,84,0,0,1225,1226, + 5,73,0,0,1226,1227,5,79,0,0,1227,1228,5,78,0,0,1228,208,1,0,0,0,1229,1230, + 5,74,0,0,1230,1231,5,83,0,0,1231,1232,5,79,0,0,1232,1233,5,78,0,0,1233, + 210,1,0,0,0,1234,1235,5,74,0,0,1235,1236,5,79,0,0,1236,1237,5,73,0,0,1237, + 1238,5,78,0,0,1238,212,1,0,0,0,1239,1240,5,75,0,0,1240,1241,5,69,0,0,1241, + 1242,5,89,0,0,1242,214,1,0,0,0,1243,1244,5,76,0,0,1244,1245,5,65,0,0,1245, + 1246,5,78,0,0,1246,1247,5,71,0,0,1247,1248,5,85,0,0,1248,1249,5,65,0,0, + 1249,1250,5,71,0,0,1250,1251,5,69,0,0,1251,216,1,0,0,0,1252,1253,5,76,0, + 0,1253,1254,5,65,0,0,1254,1255,5,83,0,0,1255,1256,5,84,0,0,1256,218,1,0, + 0,0,1257,1258,5,76,0,0,1258,1259,5,65,0,0,1259,1260,5,84,0,0,1260,1261, + 5,69,0,0,1261,1262,5,82,0,0,1262,1263,5,65,0,0,1263,1264,5,76,0,0,1264, + 220,1,0,0,0,1265,1266,5,76,0,0,1266,1267,5,69,0,0,1267,1268,5,70,0,0,1268, + 1269,5,84,0,0,1269,222,1,0,0,0,1270,1271,5,76,0,0,1271,1272,5,69,0,0,1272, + 1273,5,86,0,0,1273,1274,5,69,0,0,1274,1275,5,76,0,0,1275,224,1,0,0,0,1276, + 1277,5,76,0,0,1277,1278,5,73,0,0,1278,1279,5,75,0,0,1279,1280,5,69,0,0, + 1280,226,1,0,0,0,1281,1282,5,76,0,0,1282,1283,5,73,0,0,1283,1284,5,77,0, + 0,1284,1285,5,73,0,0,1285,1286,5,84,0,0,1286,228,1,0,0,0,1287,1288,5,76, + 0,0,1288,1289,5,79,0,0,1289,1290,5,67,0,0,1290,1291,5,65,0,0,1291,1292, + 5,76,0,0,1292,1293,5,84,0,0,1293,1294,5,73,0,0,1294,1295,5,77,0,0,1295, + 1296,5,69,0,0,1296,230,1,0,0,0,1297,1298,5,76,0,0,1298,1299,5,79,0,0,1299, + 1300,5,67,0,0,1300,1301,5,65,0,0,1301,1302,5,76,0,0,1302,1303,5,84,0,0, + 1303,1304,5,73,0,0,1304,1305,5,77,0,0,1305,1306,5,69,0,0,1306,1307,5,83, + 0,0,1307,1308,5,84,0,0,1308,1309,5,65,0,0,1309,1310,5,77,0,0,1310,1311, + 5,80,0,0,1311,232,1,0,0,0,1312,1313,5,76,0,0,1313,1314,5,79,0,0,1314,1315, + 5,71,0,0,1315,1316,5,73,0,0,1316,1317,5,67,0,0,1317,1318,5,65,0,0,1318, + 1319,5,76,0,0,1319,234,1,0,0,0,1320,1321,5,77,0,0,1321,1322,5,65,0,0,1322, + 1323,5,80,0,0,1323,236,1,0,0,0,1324,1325,5,77,0,0,1325,1326,5,65,0,0,1326, + 1327,5,84,0,0,1327,1328,5,69,0,0,1328,1329,5,82,0,0,1329,1330,5,73,0,0, + 1330,1331,5,65,0,0,1331,1332,5,76,0,0,1332,1333,5,73,0,0,1333,1334,5,90, + 0,0,1334,1335,5,69,0,0,1335,1336,5,68,0,0,1336,238,1,0,0,0,1337,1338,5, + 77,0,0,1338,1339,5,73,0,0,1339,1340,5,78,0,0,1340,1341,5,85,0,0,1341,1342, + 5,84,0,0,1342,1343,5,69,0,0,1343,240,1,0,0,0,1344,1345,5,77,0,0,1345,1346, + 5,79,0,0,1346,1347,5,78,0,0,1347,1348,5,84,0,0,1348,1349,5,72,0,0,1349, + 242,1,0,0,0,1350,1351,5,78,0,0,1351,1352,5,65,0,0,1352,1353,5,77,0,0,1353, + 1354,5,69,0,0,1354,244,1,0,0,0,1355,1356,5,78,0,0,1356,1357,5,65,0,0,1357, + 1358,5,84,0,0,1358,1359,5,85,0,0,1359,1360,5,82,0,0,1360,1361,5,65,0,0, + 1361,1362,5,76,0,0,1362,246,1,0,0,0,1363,1364,5,78,0,0,1364,1365,5,70,0, + 0,1365,1366,5,67,0,0,1366,248,1,0,0,0,1367,1368,5,78,0,0,1368,1369,5,70, + 0,0,1369,1370,5,68,0,0,1370,250,1,0,0,0,1371,1372,5,78,0,0,1372,1373,5, + 70,0,0,1373,1374,5,75,0,0,1374,1375,5,67,0,0,1375,252,1,0,0,0,1376,1377, + 5,78,0,0,1377,1378,5,70,0,0,1378,1379,5,75,0,0,1379,1380,5,68,0,0,1380, + 254,1,0,0,0,1381,1382,5,78,0,0,1382,1383,5,79,0,0,1383,256,1,0,0,0,1384, + 1385,5,78,0,0,1385,1386,5,79,0,0,1386,1387,5,78,0,0,1387,1388,5,69,0,0, + 1388,258,1,0,0,0,1389,1390,5,78,0,0,1390,1391,5,79,0,0,1391,1392,5,82,0, + 0,1392,1393,5,77,0,0,1393,1394,5,65,0,0,1394,1395,5,76,0,0,1395,1396,5, + 73,0,0,1396,1397,5,90,0,0,1397,1398,5,69,0,0,1398,260,1,0,0,0,1399,1400, + 5,78,0,0,1400,1401,5,79,0,0,1401,1402,5,84,0,0,1402,262,1,0,0,0,1403,1404, + 5,78,0,0,1404,1405,5,85,0,0,1405,1406,5,76,0,0,1406,1407,5,76,0,0,1407, + 264,1,0,0,0,1408,1409,5,78,0,0,1409,1410,5,85,0,0,1410,1411,5,76,0,0,1411, + 1412,5,76,0,0,1412,1413,5,73,0,0,1413,1414,5,70,0,0,1414,266,1,0,0,0,1415, + 1416,5,78,0,0,1416,1417,5,85,0,0,1417,1418,5,76,0,0,1418,1419,5,76,0,0, + 1419,1420,5,83,0,0,1420,268,1,0,0,0,1421,1422,5,79,0,0,1422,1423,5,70,0, + 0,1423,270,1,0,0,0,1424,1425,5,79,0,0,1425,1426,5,70,0,0,1426,1427,5,70, + 0,0,1427,1428,5,83,0,0,1428,1429,5,69,0,0,1429,1430,5,84,0,0,1430,272,1, + 0,0,0,1431,1432,5,79,0,0,1432,1433,5,78,0,0,1433,274,1,0,0,0,1434,1435, + 5,79,0,0,1435,1436,5,78,0,0,1436,1437,5,76,0,0,1437,1438,5,89,0,0,1438, + 276,1,0,0,0,1439,1440,5,79,0,0,1440,1441,5,80,0,0,1441,1442,5,84,0,0,1442, + 1443,5,73,0,0,1443,1444,5,79,0,0,1444,1445,5,78,0,0,1445,278,1,0,0,0,1446, + 1447,5,79,0,0,1447,1448,5,82,0,0,1448,280,1,0,0,0,1449,1450,5,79,0,0,1450, + 1451,5,82,0,0,1451,1452,5,68,0,0,1452,1453,5,69,0,0,1453,1454,5,82,0,0, + 1454,282,1,0,0,0,1455,1456,5,79,0,0,1456,1457,5,82,0,0,1457,1458,5,68,0, + 0,1458,1459,5,73,0,0,1459,1460,5,78,0,0,1460,1461,5,65,0,0,1461,1462,5, + 76,0,0,1462,1463,5,73,0,0,1463,1464,5,84,0,0,1464,1465,5,89,0,0,1465,284, + 1,0,0,0,1466,1467,5,79,0,0,1467,1468,5,85,0,0,1468,1469,5,84,0,0,1469,1470, + 5,69,0,0,1470,1471,5,82,0,0,1471,286,1,0,0,0,1472,1473,5,79,0,0,1473,1474, + 5,85,0,0,1474,1475,5,84,0,0,1475,1476,5,80,0,0,1476,1477,5,85,0,0,1477, + 1478,5,84,0,0,1478,288,1,0,0,0,1479,1480,5,79,0,0,1480,1481,5,86,0,0,1481, + 1482,5,69,0,0,1482,1483,5,82,0,0,1483,290,1,0,0,0,1484,1485,5,80,0,0,1485, + 1486,5,65,0,0,1486,1487,5,82,0,0,1487,1488,5,84,0,0,1488,1489,5,73,0,0, + 1489,1490,5,84,0,0,1490,1491,5,73,0,0,1491,1492,5,79,0,0,1492,1493,5,78, + 0,0,1493,292,1,0,0,0,1494,1495,5,80,0,0,1495,1496,5,65,0,0,1496,1497,5, + 82,0,0,1497,1498,5,84,0,0,1498,1499,5,73,0,0,1499,1500,5,84,0,0,1500,1501, + 5,73,0,0,1501,1502,5,79,0,0,1502,1503,5,78,0,0,1503,1504,5,83,0,0,1504, + 294,1,0,0,0,1505,1506,5,80,0,0,1506,1507,5,79,0,0,1507,1508,5,83,0,0,1508, + 1509,5,73,0,0,1509,1510,5,84,0,0,1510,1511,5,73,0,0,1511,1512,5,79,0,0, + 1512,1513,5,78,0,0,1513,296,1,0,0,0,1514,1515,5,80,0,0,1515,1516,5,82,0, + 0,1516,1517,5,69,0,0,1517,1518,5,67,0,0,1518,1519,5,69,0,0,1519,1520,5, + 68,0,0,1520,1521,5,73,0,0,1521,1522,5,78,0,0,1522,1523,5,71,0,0,1523,298, + 1,0,0,0,1524,1525,5,80,0,0,1525,1526,5,82,0,0,1526,1527,5,69,0,0,1527,1528, + 5,80,0,0,1528,1529,5,65,0,0,1529,1530,5,82,0,0,1530,1531,5,69,0,0,1531, + 300,1,0,0,0,1532,1533,5,80,0,0,1533,1534,5,82,0,0,1534,1535,5,73,0,0,1535, + 1536,5,77,0,0,1536,1537,5,65,0,0,1537,1538,5,82,0,0,1538,1539,5,89,0,0, + 1539,302,1,0,0,0,1540,1541,5,80,0,0,1541,1542,5,82,0,0,1542,1543,5,73,0, + 0,1543,1544,5,86,0,0,1544,1545,5,73,0,0,1545,1546,5,76,0,0,1546,1547,5, + 69,0,0,1547,1548,5,71,0,0,1548,1549,5,69,0,0,1549,1550,5,83,0,0,1550,304, + 1,0,0,0,1551,1552,5,80,0,0,1552,1553,5,82,0,0,1553,1554,5,79,0,0,1554,1555, + 5,80,0,0,1555,1556,5,69,0,0,1556,1557,5,82,0,0,1557,1558,5,84,0,0,1558, + 1559,5,73,0,0,1559,1560,5,69,0,0,1560,1561,5,83,0,0,1561,306,1,0,0,0,1562, + 1563,5,82,0,0,1563,1564,5,65,0,0,1564,1565,5,78,0,0,1565,1566,5,71,0,0, + 1566,1567,5,69,0,0,1567,308,1,0,0,0,1568,1569,5,82,0,0,1569,1570,5,69,0, + 0,1570,1571,5,65,0,0,1571,1572,5,68,0,0,1572,310,1,0,0,0,1573,1574,5,82, + 0,0,1574,1575,5,69,0,0,1575,1576,5,67,0,0,1576,1577,5,85,0,0,1577,1578, + 5,82,0,0,1578,1579,5,83,0,0,1579,1580,5,73,0,0,1580,1581,5,86,0,0,1581, + 1582,5,69,0,0,1582,312,1,0,0,0,1583,1584,5,82,0,0,1584,1585,5,69,0,0,1585, + 1586,5,70,0,0,1586,1587,5,82,0,0,1587,1588,5,69,0,0,1588,1589,5,83,0,0, + 1589,1590,5,72,0,0,1590,314,1,0,0,0,1591,1592,5,82,0,0,1592,1593,5,69,0, + 0,1593,1594,5,76,0,0,1594,1595,5,89,0,0,1595,316,1,0,0,0,1596,1597,5,82, + 0,0,1597,1598,5,69,0,0,1598,1599,5,78,0,0,1599,1600,5,65,0,0,1600,1601, + 5,77,0,0,1601,1602,5,69,0,0,1602,318,1,0,0,0,1603,1604,5,82,0,0,1604,1605, + 5,69,0,0,1605,1606,5,80,0,0,1606,1607,5,69,0,0,1607,1608,5,65,0,0,1608, + 1609,5,84,0,0,1609,1610,5,65,0,0,1610,1611,5,66,0,0,1611,1612,5,76,0,0, + 1612,1613,5,69,0,0,1613,320,1,0,0,0,1614,1615,5,82,0,0,1615,1616,5,69,0, + 0,1616,1617,5,80,0,0,1617,1618,5,76,0,0,1618,1619,5,65,0,0,1619,1620,5, + 67,0,0,1620,1621,5,69,0,0,1621,322,1,0,0,0,1622,1623,5,82,0,0,1623,1624, + 5,69,0,0,1624,1625,5,83,0,0,1625,1626,5,69,0,0,1626,1627,5,84,0,0,1627, + 324,1,0,0,0,1628,1629,5,82,0,0,1629,1630,5,69,0,0,1630,1631,5,83,0,0,1631, + 1632,5,80,0,0,1632,1633,5,69,0,0,1633,1634,5,67,0,0,1634,1635,5,84,0,0, + 1635,326,1,0,0,0,1636,1637,5,82,0,0,1637,1638,5,69,0,0,1638,1639,5,83,0, + 0,1639,1640,5,84,0,0,1640,1641,5,82,0,0,1641,1642,5,73,0,0,1642,1643,5, + 67,0,0,1643,1644,5,84,0,0,1644,328,1,0,0,0,1645,1646,5,82,0,0,1646,1647, + 5,69,0,0,1647,1648,5,84,0,0,1648,1649,5,85,0,0,1649,1650,5,82,0,0,1650, + 1651,5,78,0,0,1651,330,1,0,0,0,1652,1653,5,82,0,0,1653,1654,5,69,0,0,1654, + 1655,5,84,0,0,1655,1656,5,85,0,0,1656,1657,5,82,0,0,1657,1658,5,78,0,0, + 1658,1659,5,83,0,0,1659,332,1,0,0,0,1660,1661,5,82,0,0,1661,1662,5,69,0, + 0,1662,1663,5,86,0,0,1663,1664,5,79,0,0,1664,1665,5,75,0,0,1665,1666,5, + 69,0,0,1666,334,1,0,0,0,1667,1668,5,82,0,0,1668,1669,5,73,0,0,1669,1670, + 5,71,0,0,1670,1671,5,72,0,0,1671,1672,5,84,0,0,1672,336,1,0,0,0,1673,1674, + 5,82,0,0,1674,1675,5,79,0,0,1675,1676,5,76,0,0,1676,1677,5,69,0,0,1677, + 338,1,0,0,0,1678,1679,5,82,0,0,1679,1680,5,79,0,0,1680,1681,5,76,0,0,1681, + 1682,5,69,0,0,1682,1683,5,83,0,0,1683,340,1,0,0,0,1684,1685,5,82,0,0,1685, + 1686,5,79,0,0,1686,1687,5,76,0,0,1687,1688,5,76,0,0,1688,1689,5,66,0,0, + 1689,1690,5,65,0,0,1690,1691,5,67,0,0,1691,1692,5,75,0,0,1692,342,1,0,0, + 0,1693,1694,5,82,0,0,1694,1695,5,79,0,0,1695,1696,5,76,0,0,1696,1697,5, + 76,0,0,1697,1698,5,85,0,0,1698,1699,5,80,0,0,1699,344,1,0,0,0,1700,1701, + 5,82,0,0,1701,1702,5,79,0,0,1702,1703,5,87,0,0,1703,346,1,0,0,0,1704,1705, + 5,82,0,0,1705,1706,5,79,0,0,1706,1707,5,87,0,0,1707,1708,5,83,0,0,1708, + 348,1,0,0,0,1709,1710,5,83,0,0,1710,1711,5,67,0,0,1711,1712,5,72,0,0,1712, + 1713,5,69,0,0,1713,1714,5,77,0,0,1714,1715,5,65,0,0,1715,350,1,0,0,0,1716, + 1717,5,83,0,0,1717,1718,5,67,0,0,1718,1719,5,72,0,0,1719,1720,5,69,0,0, + 1720,1721,5,77,0,0,1721,1722,5,65,0,0,1722,1723,5,83,0,0,1723,352,1,0,0, + 0,1724,1725,5,83,0,0,1725,1726,5,69,0,0,1726,1727,5,67,0,0,1727,1728,5, + 79,0,0,1728,1729,5,78,0,0,1729,1730,5,68,0,0,1730,354,1,0,0,0,1731,1732, + 5,83,0,0,1732,1733,5,69,0,0,1733,1734,5,67,0,0,1734,1735,5,85,0,0,1735, + 1736,5,82,0,0,1736,1737,5,73,0,0,1737,1738,5,84,0,0,1738,1739,5,89,0,0, + 1739,356,1,0,0,0,1740,1741,5,83,0,0,1741,1742,5,69,0,0,1742,1743,5,76,0, + 0,1743,1744,5,69,0,0,1744,1745,5,67,0,0,1745,1746,5,84,0,0,1746,358,1,0, + 0,0,1747,1748,5,83,0,0,1748,1749,5,69,0,0,1749,1750,5,82,0,0,1750,1751, + 5,73,0,0,1751,1752,5,65,0,0,1752,1753,5,76,0,0,1753,1754,5,73,0,0,1754, + 1755,5,90,0,0,1755,1756,5,65,0,0,1756,1757,5,66,0,0,1757,1758,5,76,0,0, + 1758,1759,5,69,0,0,1759,360,1,0,0,0,1760,1761,5,83,0,0,1761,1762,5,69,0, + 0,1762,1763,5,83,0,0,1763,1764,5,83,0,0,1764,1765,5,73,0,0,1765,1766,5, + 79,0,0,1766,1767,5,78,0,0,1767,362,1,0,0,0,1768,1769,5,83,0,0,1769,1770, + 5,69,0,0,1770,1771,5,84,0,0,1771,364,1,0,0,0,1772,1773,5,83,0,0,1773,1774, + 5,69,0,0,1774,1775,5,84,0,0,1775,1776,5,83,0,0,1776,366,1,0,0,0,1777,1778, + 5,83,0,0,1778,1779,5,72,0,0,1779,1780,5,79,0,0,1780,1781,5,87,0,0,1781, + 368,1,0,0,0,1782,1783,5,83,0,0,1783,1784,5,79,0,0,1784,1785,5,77,0,0,1785, + 1786,5,69,0,0,1786,370,1,0,0,0,1787,1788,5,83,0,0,1788,1789,5,81,0,0,1789, + 1790,5,76,0,0,1790,372,1,0,0,0,1791,1792,5,83,0,0,1792,1793,5,84,0,0,1793, + 1794,5,65,0,0,1794,1795,5,82,0,0,1795,1796,5,84,0,0,1796,374,1,0,0,0,1797, + 1798,5,83,0,0,1798,1799,5,84,0,0,1799,1800,5,65,0,0,1800,1801,5,84,0,0, + 1801,1802,5,83,0,0,1802,376,1,0,0,0,1803,1804,5,83,0,0,1804,1805,5,85,0, + 0,1805,1806,5,66,0,0,1806,1807,5,83,0,0,1807,1808,5,84,0,0,1808,1809,5, + 82,0,0,1809,1810,5,73,0,0,1810,1811,5,78,0,0,1811,1812,5,71,0,0,1812,378, + 1,0,0,0,1813,1814,5,83,0,0,1814,1815,5,89,0,0,1815,1816,5,83,0,0,1816,1817, + 5,84,0,0,1817,1818,5,69,0,0,1818,1819,5,77,0,0,1819,380,1,0,0,0,1820,1821, + 5,83,0,0,1821,1822,5,89,0,0,1822,1823,5,83,0,0,1823,1824,5,84,0,0,1824, + 1825,5,69,0,0,1825,1826,5,77,0,0,1826,1827,5,95,0,0,1827,1828,5,84,0,0, + 1828,1829,5,73,0,0,1829,1830,5,77,0,0,1830,1831,5,69,0,0,1831,382,1,0,0, + 0,1832,1833,5,83,0,0,1833,1834,5,89,0,0,1834,1835,5,83,0,0,1835,1836,5, + 84,0,0,1836,1837,5,69,0,0,1837,1838,5,77,0,0,1838,1839,5,95,0,0,1839,1840, + 5,86,0,0,1840,1841,5,69,0,0,1841,1842,5,82,0,0,1842,1843,5,83,0,0,1843, + 1844,5,73,0,0,1844,1845,5,79,0,0,1845,1846,5,78,0,0,1846,384,1,0,0,0,1847, + 1848,5,84,0,0,1848,1849,5,65,0,0,1849,1850,5,66,0,0,1850,1851,5,76,0,0, + 1851,1852,5,69,0,0,1852,386,1,0,0,0,1853,1854,5,84,0,0,1854,1855,5,65,0, + 0,1855,1856,5,66,0,0,1856,1857,5,76,0,0,1857,1858,5,69,0,0,1858,1859,5, + 83,0,0,1859,388,1,0,0,0,1860,1861,5,84,0,0,1861,1862,5,65,0,0,1862,1863, + 5,66,0,0,1863,1864,5,76,0,0,1864,1865,5,69,0,0,1865,1866,5,83,0,0,1866, + 1867,5,65,0,0,1867,1868,5,77,0,0,1868,1869,5,80,0,0,1869,1870,5,76,0,0, + 1870,1871,5,69,0,0,1871,390,1,0,0,0,1872,1873,5,84,0,0,1873,1874,5,69,0, + 0,1874,1875,5,77,0,0,1875,1876,5,80,0,0,1876,1877,5,79,0,0,1877,1878,5, + 82,0,0,1878,1879,5,65,0,0,1879,1880,5,82,0,0,1880,1881,5,89,0,0,1881,392, + 1,0,0,0,1882,1883,5,84,0,0,1883,1884,5,69,0,0,1884,1885,5,88,0,0,1885,1886, + 5,84,0,0,1886,394,1,0,0,0,1887,1888,5,84,0,0,1888,1889,5,72,0,0,1889,1890, + 5,69,0,0,1890,1891,5,78,0,0,1891,396,1,0,0,0,1892,1893,5,84,0,0,1893,1894, + 5,73,0,0,1894,1895,5,77,0,0,1895,1896,5,69,0,0,1896,398,1,0,0,0,1897,1898, + 5,84,0,0,1898,1899,5,73,0,0,1899,1900,5,77,0,0,1900,1901,5,69,0,0,1901, + 1902,5,83,0,0,1902,1903,5,84,0,0,1903,1904,5,65,0,0,1904,1905,5,77,0,0, + 1905,1906,5,80,0,0,1906,400,1,0,0,0,1907,1908,5,84,0,0,1908,1909,5,79,0, + 0,1909,402,1,0,0,0,1910,1911,5,84,0,0,1911,1912,5,82,0,0,1912,1913,5,65, + 0,0,1913,1914,5,78,0,0,1914,1915,5,83,0,0,1915,1916,5,65,0,0,1916,1917, + 5,67,0,0,1917,1918,5,84,0,0,1918,1919,5,73,0,0,1919,1920,5,79,0,0,1920, + 1921,5,78,0,0,1921,404,1,0,0,0,1922,1923,5,84,0,0,1923,1924,5,82,0,0,1924, + 1925,5,85,0,0,1925,1926,5,69,0,0,1926,406,1,0,0,0,1927,1928,5,84,0,0,1928, + 1929,5,82,0,0,1929,1930,5,85,0,0,1930,1931,5,78,0,0,1931,1932,5,67,0,0, + 1932,1933,5,65,0,0,1933,1934,5,84,0,0,1934,1935,5,69,0,0,1935,408,1,0,0, + 0,1936,1937,5,84,0,0,1937,1938,5,82,0,0,1938,1939,5,89,0,0,1939,1940,5, + 95,0,0,1940,1941,5,67,0,0,1941,1942,5,65,0,0,1942,1943,5,83,0,0,1943,1944, + 5,84,0,0,1944,410,1,0,0,0,1945,1946,5,84,0,0,1946,1947,5,89,0,0,1947,1948, + 5,80,0,0,1948,1949,5,69,0,0,1949,412,1,0,0,0,1950,1951,5,85,0,0,1951,1952, + 5,69,0,0,1952,1953,5,83,0,0,1953,1954,5,67,0,0,1954,1955,5,65,0,0,1955, + 1956,5,80,0,0,1956,1957,5,69,0,0,1957,414,1,0,0,0,1958,1959,5,85,0,0,1959, + 1960,5,78,0,0,1960,1961,5,66,0,0,1961,1962,5,79,0,0,1962,1963,5,85,0,0, + 1963,1964,5,78,0,0,1964,1965,5,68,0,0,1965,1966,5,69,0,0,1966,1967,5,68, + 0,0,1967,416,1,0,0,0,1968,1969,5,85,0,0,1969,1970,5,78,0,0,1970,1971,5, + 67,0,0,1971,1972,5,79,0,0,1972,1973,5,77,0,0,1973,1974,5,77,0,0,1974,1975, + 5,73,0,0,1975,1976,5,84,0,0,1976,1977,5,84,0,0,1977,1978,5,69,0,0,1978, + 1979,5,68,0,0,1979,418,1,0,0,0,1980,1981,5,85,0,0,1981,1982,5,78,0,0,1982, + 1983,5,73,0,0,1983,1984,5,79,0,0,1984,1985,5,78,0,0,1985,420,1,0,0,0,1986, + 1987,5,85,0,0,1987,1988,5,78,0,0,1988,1989,5,73,0,0,1989,1990,5,81,0,0, + 1990,1991,5,85,0,0,1991,1992,5,69,0,0,1992,422,1,0,0,0,1993,1994,5,85,0, + 0,1994,1995,5,78,0,0,1995,1996,5,78,0,0,1996,1997,5,69,0,0,1997,1998,5, + 83,0,0,1998,1999,5,84,0,0,1999,424,1,0,0,0,2000,2001,5,85,0,0,2001,2002, + 5,80,0,0,2002,2003,5,68,0,0,2003,2004,5,65,0,0,2004,2005,5,84,0,0,2005, + 2006,5,69,0,0,2006,426,1,0,0,0,2007,2008,5,85,0,0,2008,2009,5,83,0,0,2009, + 2010,5,69,0,0,2010,428,1,0,0,0,2011,2012,5,85,0,0,2012,2013,5,83,0,0,2013, + 2014,5,69,0,0,2014,2015,5,82,0,0,2015,430,1,0,0,0,2016,2017,5,85,0,0,2017, + 2018,5,83,0,0,2018,2019,5,73,0,0,2019,2020,5,78,0,0,2020,2021,5,71,0,0, + 2021,432,1,0,0,0,2022,2023,5,86,0,0,2023,2024,5,65,0,0,2024,2025,5,76,0, + 0,2025,2026,5,73,0,0,2026,2027,5,68,0,0,2027,2028,5,65,0,0,2028,2029,5, + 84,0,0,2029,2030,5,69,0,0,2030,434,1,0,0,0,2031,2032,5,86,0,0,2032,2033, + 5,65,0,0,2033,2034,5,76,0,0,2034,2035,5,85,0,0,2035,2036,5,69,0,0,2036, + 2037,5,83,0,0,2037,436,1,0,0,0,2038,2039,5,86,0,0,2039,2040,5,69,0,0,2040, + 2041,5,82,0,0,2041,2042,5,66,0,0,2042,2043,5,79,0,0,2043,2044,5,83,0,0, + 2044,2045,5,69,0,0,2045,438,1,0,0,0,2046,2047,5,86,0,0,2047,2048,5,69,0, + 0,2048,2049,5,82,0,0,2049,2050,5,83,0,0,2050,2051,5,73,0,0,2051,2052,5, + 79,0,0,2052,2053,5,78,0,0,2053,440,1,0,0,0,2054,2055,5,86,0,0,2055,2056, + 5,73,0,0,2056,2057,5,69,0,0,2057,2058,5,87,0,0,2058,442,1,0,0,0,2059,2060, + 5,87,0,0,2060,2061,5,72,0,0,2061,2062,5,69,0,0,2062,2063,5,78,0,0,2063, + 444,1,0,0,0,2064,2065,5,87,0,0,2065,2066,5,72,0,0,2066,2067,5,69,0,0,2067, + 2068,5,82,0,0,2068,2069,5,69,0,0,2069,446,1,0,0,0,2070,2071,5,87,0,0,2071, + 2072,5,73,0,0,2072,2073,5,84,0,0,2073,2074,5,72,0,0,2074,448,1,0,0,0,2075, + 2076,5,87,0,0,2076,2077,5,79,0,0,2077,2078,5,82,0,0,2078,2079,5,75,0,0, + 2079,450,1,0,0,0,2080,2081,5,87,0,0,2081,2082,5,82,0,0,2082,2083,5,73,0, + 0,2083,2084,5,84,0,0,2084,2085,5,69,0,0,2085,452,1,0,0,0,2086,2087,5,89, + 0,0,2087,2088,5,69,0,0,2088,2089,5,65,0,0,2089,2090,5,82,0,0,2090,454,1, + 0,0,0,2091,2092,5,90,0,0,2092,2093,5,79,0,0,2093,2094,5,78,0,0,2094,2095, + 5,69,0,0,2095,456,1,0,0,0,2096,2097,5,61,0,0,2097,458,1,0,0,0,2098,2099, + 5,60,0,0,2099,2103,5,62,0,0,2100,2101,5,33,0,0,2101,2103,5,61,0,0,2102, + 2098,1,0,0,0,2102,2100,1,0,0,0,2103,460,1,0,0,0,2104,2105,5,60,0,0,2105, + 462,1,0,0,0,2106,2107,5,60,0,0,2107,2108,5,61,0,0,2108,464,1,0,0,0,2109, + 2110,5,62,0,0,2110,466,1,0,0,0,2111,2112,5,62,0,0,2112,2113,5,61,0,0,2113, + 468,1,0,0,0,2114,2115,5,43,0,0,2115,470,1,0,0,0,2116,2117,5,45,0,0,2117, + 472,1,0,0,0,2118,2119,5,42,0,0,2119,474,1,0,0,0,2120,2121,5,47,0,0,2121, + 476,1,0,0,0,2122,2123,5,37,0,0,2123,478,1,0,0,0,2124,2125,5,124,0,0,2125, + 2126,5,124,0,0,2126,480,1,0,0,0,2127,2133,5,39,0,0,2128,2132,8,0,0,0,2129, + 2130,5,39,0,0,2130,2132,5,39,0,0,2131,2128,1,0,0,0,2131,2129,1,0,0,0,2132, + 2135,1,0,0,0,2133,2131,1,0,0,0,2133,2134,1,0,0,0,2134,2136,1,0,0,0,2135, + 2133,1,0,0,0,2136,2137,5,39,0,0,2137,482,1,0,0,0,2138,2139,5,85,0,0,2139, + 2140,5,38,0,0,2140,2141,5,39,0,0,2141,2147,1,0,0,0,2142,2146,8,0,0,0,2143, + 2144,5,39,0,0,2144,2146,5,39,0,0,2145,2142,1,0,0,0,2145,2143,1,0,0,0,2146, + 2149,1,0,0,0,2147,2145,1,0,0,0,2147,2148,1,0,0,0,2148,2150,1,0,0,0,2149, + 2147,1,0,0,0,2150,2151,5,39,0,0,2151,484,1,0,0,0,2152,2153,5,88,0,0,2153, + 2154,5,39,0,0,2154,2158,1,0,0,0,2155,2157,8,0,0,0,2156,2155,1,0,0,0,2157, + 2160,1,0,0,0,2158,2156,1,0,0,0,2158,2159,1,0,0,0,2159,2161,1,0,0,0,2160, + 2158,1,0,0,0,2161,2162,5,39,0,0,2162,486,1,0,0,0,2163,2165,3,509,254,0, + 2164,2163,1,0,0,0,2165,2166,1,0,0,0,2166,2164,1,0,0,0,2166,2167,1,0,0,0, + 2167,488,1,0,0,0,2168,2170,3,509,254,0,2169,2168,1,0,0,0,2170,2171,1,0, + 0,0,2171,2169,1,0,0,0,2171,2172,1,0,0,0,2172,2173,1,0,0,0,2173,2177,5,46, + 0,0,2174,2176,3,509,254,0,2175,2174,1,0,0,0,2176,2179,1,0,0,0,2177,2175, + 1,0,0,0,2177,2178,1,0,0,0,2178,2187,1,0,0,0,2179,2177,1,0,0,0,2180,2182, + 5,46,0,0,2181,2183,3,509,254,0,2182,2181,1,0,0,0,2183,2184,1,0,0,0,2184, + 2182,1,0,0,0,2184,2185,1,0,0,0,2185,2187,1,0,0,0,2186,2169,1,0,0,0,2186, + 2180,1,0,0,0,2187,490,1,0,0,0,2188,2190,3,509,254,0,2189,2188,1,0,0,0,2190, + 2191,1,0,0,0,2191,2189,1,0,0,0,2191,2192,1,0,0,0,2192,2200,1,0,0,0,2193, + 2197,5,46,0,0,2194,2196,3,509,254,0,2195,2194,1,0,0,0,2196,2199,1,0,0,0, + 2197,2195,1,0,0,0,2197,2198,1,0,0,0,2198,2201,1,0,0,0,2199,2197,1,0,0,0, + 2200,2193,1,0,0,0,2200,2201,1,0,0,0,2201,2202,1,0,0,0,2202,2203,3,507,253, + 0,2203,2213,1,0,0,0,2204,2206,5,46,0,0,2205,2207,3,509,254,0,2206,2205, + 1,0,0,0,2207,2208,1,0,0,0,2208,2206,1,0,0,0,2208,2209,1,0,0,0,2209,2210, + 1,0,0,0,2210,2211,3,507,253,0,2211,2213,1,0,0,0,2212,2189,1,0,0,0,2212, + 2204,1,0,0,0,2213,492,1,0,0,0,2214,2217,3,511,255,0,2215,2217,5,95,0,0, + 2216,2214,1,0,0,0,2216,2215,1,0,0,0,2217,2223,1,0,0,0,2218,2222,3,511,255, + 0,2219,2222,3,509,254,0,2220,2222,7,1,0,0,2221,2218,1,0,0,0,2221,2219,1, + 0,0,0,2221,2220,1,0,0,0,2222,2225,1,0,0,0,2223,2221,1,0,0,0,2223,2224,1, + 0,0,0,2224,494,1,0,0,0,2225,2223,1,0,0,0,2226,2230,3,509,254,0,2227,2231, + 3,511,255,0,2228,2231,3,509,254,0,2229,2231,7,1,0,0,2230,2227,1,0,0,0,2230, + 2228,1,0,0,0,2230,2229,1,0,0,0,2231,2232,1,0,0,0,2232,2230,1,0,0,0,2232, + 2233,1,0,0,0,2233,496,1,0,0,0,2234,2240,5,34,0,0,2235,2239,8,2,0,0,2236, + 2237,5,34,0,0,2237,2239,5,34,0,0,2238,2235,1,0,0,0,2238,2236,1,0,0,0,2239, + 2242,1,0,0,0,2240,2238,1,0,0,0,2240,2241,1,0,0,0,2241,2243,1,0,0,0,2242, + 2240,1,0,0,0,2243,2244,5,34,0,0,2244,498,1,0,0,0,2245,2251,5,96,0,0,2246, + 2250,8,3,0,0,2247,2248,5,96,0,0,2248,2250,5,96,0,0,2249,2246,1,0,0,0,2249, + 2247,1,0,0,0,2250,2253,1,0,0,0,2251,2249,1,0,0,0,2251,2252,1,0,0,0,2252, + 2254,1,0,0,0,2253,2251,1,0,0,0,2254,2255,5,96,0,0,2255,500,1,0,0,0,2256, + 2257,5,84,0,0,2257,2258,5,73,0,0,2258,2259,5,77,0,0,2259,2260,5,69,0,0, + 2260,2261,1,0,0,0,2261,2262,3,517,258,0,2262,2263,5,87,0,0,2263,2264,5, + 73,0,0,2264,2265,5,84,0,0,2265,2266,5,72,0,0,2266,2267,1,0,0,0,2267,2268, + 3,517,258,0,2268,2269,5,84,0,0,2269,2270,5,73,0,0,2270,2271,5,77,0,0,2271, + 2272,5,69,0,0,2272,2273,1,0,0,0,2273,2274,3,517,258,0,2274,2275,5,90,0, + 0,2275,2276,5,79,0,0,2276,2277,5,78,0,0,2277,2278,5,69,0,0,2278,502,1,0, + 0,0,2279,2280,5,84,0,0,2280,2281,5,73,0,0,2281,2282,5,77,0,0,2282,2283, + 5,69,0,0,2283,2284,5,83,0,0,2284,2285,5,84,0,0,2285,2286,5,65,0,0,2286, + 2287,5,77,0,0,2287,2288,5,80,0,0,2288,2289,1,0,0,0,2289,2290,3,517,258, + 0,2290,2291,5,87,0,0,2291,2292,5,73,0,0,2292,2293,5,84,0,0,2293,2294,5, + 72,0,0,2294,2295,1,0,0,0,2295,2296,3,517,258,0,2296,2297,5,84,0,0,2297, + 2298,5,73,0,0,2298,2299,5,77,0,0,2299,2300,5,69,0,0,2300,2301,1,0,0,0,2301, + 2302,3,517,258,0,2302,2303,5,90,0,0,2303,2304,5,79,0,0,2304,2305,5,78,0, + 0,2305,2306,5,69,0,0,2306,504,1,0,0,0,2307,2308,5,68,0,0,2308,2309,5,79, + 0,0,2309,2310,5,85,0,0,2310,2311,5,66,0,0,2311,2312,5,76,0,0,2312,2313, + 5,69,0,0,2313,2314,1,0,0,0,2314,2315,3,517,258,0,2315,2316,5,80,0,0,2316, + 2317,5,82,0,0,2317,2318,5,69,0,0,2318,2319,5,67,0,0,2319,2320,5,73,0,0, + 2320,2321,5,83,0,0,2321,2322,5,73,0,0,2322,2323,5,79,0,0,2323,2324,5,78, + 0,0,2324,506,1,0,0,0,2325,2327,5,69,0,0,2326,2328,7,4,0,0,2327,2326,1,0, + 0,0,2327,2328,1,0,0,0,2328,2330,1,0,0,0,2329,2331,3,509,254,0,2330,2329, + 1,0,0,0,2331,2332,1,0,0,0,2332,2330,1,0,0,0,2332,2333,1,0,0,0,2333,508, + 1,0,0,0,2334,2335,7,5,0,0,2335,510,1,0,0,0,2336,2337,7,6,0,0,2337,512,1, + 0,0,0,2338,2339,5,45,0,0,2339,2340,5,45,0,0,2340,2344,1,0,0,0,2341,2343, + 8,7,0,0,2342,2341,1,0,0,0,2343,2346,1,0,0,0,2344,2342,1,0,0,0,2344,2345, + 1,0,0,0,2345,2348,1,0,0,0,2346,2344,1,0,0,0,2347,2349,5,13,0,0,2348,2347, + 1,0,0,0,2348,2349,1,0,0,0,2349,2351,1,0,0,0,2350,2352,5,10,0,0,2351,2350, + 1,0,0,0,2351,2352,1,0,0,0,2352,2353,1,0,0,0,2353,2354,6,256,0,0,2354,514, + 1,0,0,0,2355,2356,5,47,0,0,2356,2357,5,42,0,0,2357,2361,1,0,0,0,2358,2360, + 9,0,0,0,2359,2358,1,0,0,0,2360,2363,1,0,0,0,2361,2362,1,0,0,0,2361,2359, + 1,0,0,0,2362,2364,1,0,0,0,2363,2361,1,0,0,0,2364,2365,5,42,0,0,2365,2366, + 5,47,0,0,2366,2367,1,0,0,0,2367,2368,6,257,0,0,2368,516,1,0,0,0,2369,2371, + 7,8,0,0,2370,2369,1,0,0,0,2371,2372,1,0,0,0,2372,2370,1,0,0,0,2372,2373, + 1,0,0,0,2373,2374,1,0,0,0,2374,2375,6,258,0,0,2375,518,1,0,0,0,2376,2377, + 9,0,0,0,2377,520,1,0,0,0,33,0,2102,2131,2133,2145,2147,2158,2166,2171,2177, + 2184,2186,2191,2197,2200,2208,2212,2216,2221,2223,2230,2232,2238,2240,2249, + 2251,2327,2332,2344,2348,2351,2361,2372,1,0,1,0]; + + private static __ATN: ATN; + public static get _ATN(): ATN { + if (!SqlBaseLexer.__ATN) { + SqlBaseLexer.__ATN = new ATNDeserializer().deserialize(SqlBaseLexer._serializedATN); + } + + return SqlBaseLexer.__ATN; + } + + + static DecisionsToDFA = SqlBaseLexer._ATN.decisionToState.map( (ds: DecisionState, index: number) => new DFA(ds, index) ); +} \ No newline at end of file diff --git a/components/webui/client/src/sql-parser/generated/SqlBaseParser.ts b/components/webui/client/src/sql-parser/generated/SqlBaseParser.ts new file mode 100644 index 0000000000..aa5a140143 --- /dev/null +++ b/components/webui/client/src/sql-parser/generated/SqlBaseParser.ts @@ -0,0 +1,16362 @@ +// @ts-nocheck +// Generated from SqlBase.g4 by ANTLR 4.13.2 +// noinspection ES6UnusedImports,JSUnusedGlobalSymbols,JSUnusedLocalSymbols + +import { + ATN, + ATNDeserializer, DecisionState, DFA, FailedPredicateException, + RecognitionException, NoViableAltException, BailErrorStrategy, + Parser, ParserATNSimulator, + RuleContext, ParserRuleContext, PredictionMode, PredictionContextCache, + TerminalNode, RuleNode, + Token, TokenStream, + Interval, IntervalSet +} from 'antlr4'; +// for running tests with parameters, TODO: discuss strategy for typed parameters in CI +// eslint-disable-next-line no-unused-vars +type int = number; + +export default class SqlBaseParser extends Parser { + public static readonly T__0 = 1; + public static readonly T__1 = 2; + public static readonly T__2 = 3; + public static readonly T__3 = 4; + public static readonly T__4 = 5; + public static readonly T__5 = 6; + public static readonly T__6 = 7; + public static readonly T__7 = 8; + public static readonly T__8 = 9; + public static readonly ADD = 10; + public static readonly ADMIN = 11; + public static readonly ALL = 12; + public static readonly ALTER = 13; + public static readonly ANALYZE = 14; + public static readonly AND = 15; + public static readonly ANY = 16; + public static readonly ARRAY = 17; + public static readonly AS = 18; + public static readonly ASC = 19; + public static readonly AT = 20; + public static readonly BEFORE = 21; + public static readonly BERNOULLI = 22; + public static readonly BETWEEN = 23; + public static readonly BY = 24; + public static readonly CALL = 25; + public static readonly CALLED = 26; + public static readonly CASCADE = 27; + public static readonly CASE = 28; + public static readonly CAST = 29; + public static readonly CATALOGS = 30; + public static readonly COLUMN = 31; + public static readonly COLUMNS = 32; + public static readonly COMMENT = 33; + public static readonly COMMIT = 34; + public static readonly COMMITTED = 35; + public static readonly CONSTRAINT = 36; + public static readonly CREATE = 37; + public static readonly CROSS = 38; + public static readonly CUBE = 39; + public static readonly CURRENT = 40; + public static readonly CURRENT_DATE = 41; + public static readonly CURRENT_ROLE = 42; + public static readonly CURRENT_TIME = 43; + public static readonly CURRENT_TIMESTAMP = 44; + public static readonly CURRENT_USER = 45; + public static readonly DATA = 46; + public static readonly DATE = 47; + public static readonly DAY = 48; + public static readonly DEALLOCATE = 49; + public static readonly DEFINER = 50; + public static readonly DELETE = 51; + public static readonly DESC = 52; + public static readonly DESCRIBE = 53; + public static readonly DETERMINISTIC = 54; + public static readonly DISABLED = 55; + public static readonly DISTINCT = 56; + public static readonly DISTRIBUTED = 57; + public static readonly DROP = 58; + public static readonly ELSE = 59; + public static readonly ENABLED = 60; + public static readonly END = 61; + public static readonly ENFORCED = 62; + public static readonly ESCAPE = 63; + public static readonly EXCEPT = 64; + public static readonly EXCLUDING = 65; + public static readonly EXECUTE = 66; + public static readonly EXISTS = 67; + public static readonly EXPLAIN = 68; + public static readonly EXTRACT = 69; + public static readonly EXTERNAL = 70; + public static readonly FALSE = 71; + public static readonly FETCH = 72; + public static readonly FILTER = 73; + public static readonly FIRST = 74; + public static readonly FOLLOWING = 75; + public static readonly FOR = 76; + public static readonly FORMAT = 77; + public static readonly FROM = 78; + public static readonly FULL = 79; + public static readonly FUNCTION = 80; + public static readonly FUNCTIONS = 81; + public static readonly GRANT = 82; + public static readonly GRANTED = 83; + public static readonly GRANTS = 84; + public static readonly GRAPHVIZ = 85; + public static readonly GROUP = 86; + public static readonly GROUPING = 87; + public static readonly GROUPS = 88; + public static readonly HAVING = 89; + public static readonly HOUR = 90; + public static readonly IF = 91; + public static readonly IGNORE = 92; + public static readonly IN = 93; + public static readonly INCLUDING = 94; + public static readonly INNER = 95; + public static readonly INPUT = 96; + public static readonly INSERT = 97; + public static readonly INTERSECT = 98; + public static readonly INTERVAL = 99; + public static readonly INTO = 100; + public static readonly INVOKER = 101; + public static readonly IO = 102; + public static readonly IS = 103; + public static readonly ISOLATION = 104; + public static readonly JSON = 105; + public static readonly JOIN = 106; + public static readonly KEY = 107; + public static readonly LANGUAGE = 108; + public static readonly LAST = 109; + public static readonly LATERAL = 110; + public static readonly LEFT = 111; + public static readonly LEVEL = 112; + public static readonly LIKE = 113; + public static readonly LIMIT = 114; + public static readonly LOCALTIME = 115; + public static readonly LOCALTIMESTAMP = 116; + public static readonly LOGICAL = 117; + public static readonly MAP = 118; + public static readonly MATERIALIZED = 119; + public static readonly MINUTE = 120; + public static readonly MONTH = 121; + public static readonly NAME = 122; + public static readonly NATURAL = 123; + public static readonly NFC = 124; + public static readonly NFD = 125; + public static readonly NFKC = 126; + public static readonly NFKD = 127; + public static readonly NO = 128; + public static readonly NONE = 129; + public static readonly NORMALIZE = 130; + public static readonly NOT = 131; + public static readonly NULL = 132; + public static readonly NULLIF = 133; + public static readonly NULLS = 134; + public static readonly OF = 135; + public static readonly OFFSET = 136; + public static readonly ON = 137; + public static readonly ONLY = 138; + public static readonly OPTION = 139; + public static readonly OR = 140; + public static readonly ORDER = 141; + public static readonly ORDINALITY = 142; + public static readonly OUTER = 143; + public static readonly OUTPUT = 144; + public static readonly OVER = 145; + public static readonly PARTITION = 146; + public static readonly PARTITIONS = 147; + public static readonly POSITION = 148; + public static readonly PRECEDING = 149; + public static readonly PREPARE = 150; + public static readonly PRIMARY = 151; + public static readonly PRIVILEGES = 152; + public static readonly PROPERTIES = 153; + public static readonly RANGE = 154; + public static readonly READ = 155; + public static readonly RECURSIVE = 156; + public static readonly REFRESH = 157; + public static readonly RELY = 158; + public static readonly RENAME = 159; + public static readonly REPEATABLE = 160; + public static readonly REPLACE = 161; + public static readonly RESET = 162; + public static readonly RESPECT = 163; + public static readonly RESTRICT = 164; + public static readonly RETURN = 165; + public static readonly RETURNS = 166; + public static readonly REVOKE = 167; + public static readonly RIGHT = 168; + public static readonly ROLE = 169; + public static readonly ROLES = 170; + public static readonly ROLLBACK = 171; + public static readonly ROLLUP = 172; + public static readonly ROW = 173; + public static readonly ROWS = 174; + public static readonly SCHEMA = 175; + public static readonly SCHEMAS = 176; + public static readonly SECOND = 177; + public static readonly SECURITY = 178; + public static readonly SELECT = 179; + public static readonly SERIALIZABLE = 180; + public static readonly SESSION = 181; + public static readonly SET = 182; + public static readonly SETS = 183; + public static readonly SHOW = 184; + public static readonly SOME = 185; + public static readonly SQL = 186; + public static readonly START = 187; + public static readonly STATS = 188; + public static readonly SUBSTRING = 189; + public static readonly SYSTEM = 190; + public static readonly SYSTEM_TIME = 191; + public static readonly SYSTEM_VERSION = 192; + public static readonly TABLE = 193; + public static readonly TABLES = 194; + public static readonly TABLESAMPLE = 195; + public static readonly TEMPORARY = 196; + public static readonly TEXT = 197; + public static readonly THEN = 198; + public static readonly TIME = 199; + public static readonly TIMESTAMP = 200; + public static readonly TO = 201; + public static readonly TRANSACTION = 202; + public static readonly TRUE = 203; + public static readonly TRUNCATE = 204; + public static readonly TRY_CAST = 205; + public static readonly TYPE = 206; + public static readonly UESCAPE = 207; + public static readonly UNBOUNDED = 208; + public static readonly UNCOMMITTED = 209; + public static readonly UNION = 210; + public static readonly UNIQUE = 211; + public static readonly UNNEST = 212; + public static readonly UPDATE = 213; + public static readonly USE = 214; + public static readonly USER = 215; + public static readonly USING = 216; + public static readonly VALIDATE = 217; + public static readonly VALUES = 218; + public static readonly VERBOSE = 219; + public static readonly VERSION = 220; + public static readonly VIEW = 221; + public static readonly WHEN = 222; + public static readonly WHERE = 223; + public static readonly WITH = 224; + public static readonly WORK = 225; + public static readonly WRITE = 226; + public static readonly YEAR = 227; + public static readonly ZONE = 228; + public static readonly EQ = 229; + public static readonly NEQ = 230; + public static readonly LT = 231; + public static readonly LTE = 232; + public static readonly GT = 233; + public static readonly GTE = 234; + public static readonly PLUS = 235; + public static readonly MINUS = 236; + public static readonly ASTERISK = 237; + public static readonly SLASH = 238; + public static readonly PERCENT = 239; + public static readonly CONCAT = 240; + public static readonly STRING = 241; + public static readonly UNICODE_STRING = 242; + public static readonly BINARY_LITERAL = 243; + public static readonly INTEGER_VALUE = 244; + public static readonly DECIMAL_VALUE = 245; + public static readonly DOUBLE_VALUE = 246; + public static readonly IDENTIFIER = 247; + public static readonly DIGIT_IDENTIFIER = 248; + public static readonly QUOTED_IDENTIFIER = 249; + public static readonly BACKQUOTED_IDENTIFIER = 250; + public static readonly TIME_WITH_TIME_ZONE = 251; + public static readonly TIMESTAMP_WITH_TIME_ZONE = 252; + public static readonly DOUBLE_PRECISION = 253; + public static readonly SIMPLE_COMMENT = 254; + public static readonly BRACKETED_COMMENT = 255; + public static readonly WS = 256; + public static readonly UNRECOGNIZED = 257; + public static readonly DELIMITER = 258; + public static override readonly EOF = Token.EOF; + public static readonly RULE_singleStatement = 0; + public static readonly RULE_standaloneExpression = 1; + public static readonly RULE_standaloneRoutineBody = 2; + public static readonly RULE_statement = 3; + public static readonly RULE_query = 4; + public static readonly RULE_with = 5; + public static readonly RULE_tableElement = 6; + public static readonly RULE_columnDefinition = 7; + public static readonly RULE_likeClause = 8; + public static readonly RULE_properties = 9; + public static readonly RULE_property = 10; + public static readonly RULE_sqlParameterDeclaration = 11; + public static readonly RULE_routineCharacteristics = 12; + public static readonly RULE_routineCharacteristic = 13; + public static readonly RULE_alterRoutineCharacteristics = 14; + public static readonly RULE_alterRoutineCharacteristic = 15; + public static readonly RULE_routineBody = 16; + public static readonly RULE_returnStatement = 17; + public static readonly RULE_externalBodyReference = 18; + public static readonly RULE_language = 19; + public static readonly RULE_determinism = 20; + public static readonly RULE_nullCallClause = 21; + public static readonly RULE_externalRoutineName = 22; + public static readonly RULE_queryNoWith = 23; + public static readonly RULE_queryTerm = 24; + public static readonly RULE_queryPrimary = 25; + public static readonly RULE_sortItem = 26; + public static readonly RULE_querySpecification = 27; + public static readonly RULE_groupBy = 28; + public static readonly RULE_groupingElement = 29; + public static readonly RULE_groupingSet = 30; + public static readonly RULE_namedQuery = 31; + public static readonly RULE_setQuantifier = 32; + public static readonly RULE_selectItem = 33; + public static readonly RULE_relation = 34; + public static readonly RULE_joinType = 35; + public static readonly RULE_joinCriteria = 36; + public static readonly RULE_sampledRelation = 37; + public static readonly RULE_sampleType = 38; + public static readonly RULE_aliasedRelation = 39; + public static readonly RULE_columnAliases = 40; + public static readonly RULE_relationPrimary = 41; + public static readonly RULE_expression = 42; + public static readonly RULE_booleanExpression = 43; + public static readonly RULE_predicate = 44; + public static readonly RULE_valueExpression = 45; + public static readonly RULE_primaryExpression = 46; + public static readonly RULE_string = 47; + public static readonly RULE_nullTreatment = 48; + public static readonly RULE_timeZoneSpecifier = 49; + public static readonly RULE_comparisonOperator = 50; + public static readonly RULE_comparisonQuantifier = 51; + public static readonly RULE_booleanValue = 52; + public static readonly RULE_interval = 53; + public static readonly RULE_intervalField = 54; + public static readonly RULE_normalForm = 55; + public static readonly RULE_types = 56; + public static readonly RULE_type = 57; + public static readonly RULE_typeParameter = 58; + public static readonly RULE_baseType = 59; + public static readonly RULE_whenClause = 60; + public static readonly RULE_filter = 61; + public static readonly RULE_over = 62; + public static readonly RULE_windowFrame = 63; + public static readonly RULE_frameBound = 64; + public static readonly RULE_updateAssignment = 65; + public static readonly RULE_explainOption = 66; + public static readonly RULE_transactionMode = 67; + public static readonly RULE_levelOfIsolation = 68; + public static readonly RULE_callArgument = 69; + public static readonly RULE_privilege = 70; + public static readonly RULE_qualifiedName = 71; + public static readonly RULE_tableVersionExpression = 72; + public static readonly RULE_tableVersionState = 73; + public static readonly RULE_grantor = 74; + public static readonly RULE_principal = 75; + public static readonly RULE_roles = 76; + public static readonly RULE_identifier = 77; + public static readonly RULE_number = 78; + public static readonly RULE_constraintSpecification = 79; + public static readonly RULE_namedConstraintSpecification = 80; + public static readonly RULE_unnamedConstraintSpecification = 81; + public static readonly RULE_constraintType = 82; + public static readonly RULE_constraintQualifiers = 83; + public static readonly RULE_constraintQualifier = 84; + public static readonly RULE_constraintRely = 85; + public static readonly RULE_constraintEnabled = 86; + public static readonly RULE_constraintEnforced = 87; + public static readonly RULE_nonReserved = 88; + public static readonly literalNames: (string | null)[] = [ null, "'.'", + "'('", "')'", + "','", "'?'", + "'->'", "'['", + "']'", "'=>'", + "'ADD'", "'ADMIN'", + "'ALL'", "'ALTER'", + "'ANALYZE'", + "'AND'", "'ANY'", + "'ARRAY'", "'AS'", + "'ASC'", "'AT'", + "'BEFORE'", + "'BERNOULLI'", + "'BETWEEN'", + "'BY'", "'CALL'", + "'CALLED'", + "'CASCADE'", + "'CASE'", "'CAST'", + "'CATALOGS'", + "'COLUMN'", + "'COLUMNS'", + "'COMMENT'", + "'COMMIT'", + "'COMMITTED'", + "'CONSTRAINT'", + "'CREATE'", + "'CROSS'", "'CUBE'", + "'CURRENT'", + "'CURRENT_DATE'", + "'CURRENT_ROLE'", + "'CURRENT_TIME'", + "'CURRENT_TIMESTAMP'", + "'CURRENT_USER'", + "'DATA'", "'DATE'", + "'DAY'", "'DEALLOCATE'", + "'DEFINER'", + "'DELETE'", + "'DESC'", "'DESCRIBE'", + "'DETERMINISTIC'", + "'DISABLED'", + "'DISTINCT'", + "'DISTRIBUTED'", + "'DROP'", "'ELSE'", + "'ENABLED'", + "'END'", "'ENFORCED'", + "'ESCAPE'", + "'EXCEPT'", + "'EXCLUDING'", + "'EXECUTE'", + "'EXISTS'", + "'EXPLAIN'", + "'EXTRACT'", + "'EXTERNAL'", + "'FALSE'", "'FETCH'", + "'FILTER'", + "'FIRST'", "'FOLLOWING'", + "'FOR'", "'FORMAT'", + "'FROM'", "'FULL'", + "'FUNCTION'", + "'FUNCTIONS'", + "'GRANT'", "'GRANTED'", + "'GRANTS'", + "'GRAPHVIZ'", + "'GROUP'", "'GROUPING'", + "'GROUPS'", + "'HAVING'", + "'HOUR'", "'IF'", + "'IGNORE'", + "'IN'", "'INCLUDING'", + "'INNER'", "'INPUT'", + "'INSERT'", + "'INTERSECT'", + "'INTERVAL'", + "'INTO'", "'INVOKER'", + "'IO'", "'IS'", + "'ISOLATION'", + "'JSON'", "'JOIN'", + "'KEY'", "'LANGUAGE'", + "'LAST'", "'LATERAL'", + "'LEFT'", "'LEVEL'", + "'LIKE'", "'LIMIT'", + "'LOCALTIME'", + "'LOCALTIMESTAMP'", + "'LOGICAL'", + "'MAP'", "'MATERIALIZED'", + "'MINUTE'", + "'MONTH'", "'NAME'", + "'NATURAL'", + "'NFC'", "'NFD'", + "'NFKC'", "'NFKD'", + "'NO'", "'NONE'", + "'NORMALIZE'", + "'NOT'", "'NULL'", + "'NULLIF'", + "'NULLS'", "'OF'", + "'OFFSET'", + "'ON'", "'ONLY'", + "'OPTION'", + "'OR'", "'ORDER'", + "'ORDINALITY'", + "'OUTER'", "'OUTPUT'", + "'OVER'", "'PARTITION'", + "'PARTITIONS'", + "'POSITION'", + "'PRECEDING'", + "'PREPARE'", + "'PRIMARY'", + "'PRIVILEGES'", + "'PROPERTIES'", + "'RANGE'", "'READ'", + "'RECURSIVE'", + "'REFRESH'", + "'RELY'", "'RENAME'", + "'REPEATABLE'", + "'REPLACE'", + "'RESET'", "'RESPECT'", + "'RESTRICT'", + "'RETURN'", + "'RETURNS'", + "'REVOKE'", + "'RIGHT'", "'ROLE'", + "'ROLES'", "'ROLLBACK'", + "'ROLLUP'", + "'ROW'", "'ROWS'", + "'SCHEMA'", + "'SCHEMAS'", + "'SECOND'", + "'SECURITY'", + "'SELECT'", + "'SERIALIZABLE'", + "'SESSION'", + "'SET'", "'SETS'", + "'SHOW'", "'SOME'", + "'SQL'", "'START'", + "'STATS'", "'SUBSTRING'", + "'SYSTEM'", + "'SYSTEM_TIME'", + "'SYSTEM_VERSION'", + "'TABLE'", "'TABLES'", + "'TABLESAMPLE'", + "'TEMPORARY'", + "'TEXT'", "'THEN'", + "'TIME'", "'TIMESTAMP'", + "'TO'", "'TRANSACTION'", + "'TRUE'", "'TRUNCATE'", + "'TRY_CAST'", + "'TYPE'", "'UESCAPE'", + "'UNBOUNDED'", + "'UNCOMMITTED'", + "'UNION'", "'UNIQUE'", + "'UNNEST'", + "'UPDATE'", + "'USE'", "'USER'", + "'USING'", "'VALIDATE'", + "'VALUES'", + "'VERBOSE'", + "'VERSION'", + "'VIEW'", "'WHEN'", + "'WHERE'", "'WITH'", + "'WORK'", "'WRITE'", + "'YEAR'", "'ZONE'", + "'='", null, + "'<'", "'<='", + "'>'", "'>='", + "'+'", "'-'", + "'*'", "'/'", + "'%'", "'||'" ]; + public static readonly symbolicNames: (string | null)[] = [ null, null, + null, null, + null, null, + null, null, + null, null, + "ADD", "ADMIN", + "ALL", "ALTER", + "ANALYZE", + "AND", "ANY", + "ARRAY", "AS", + "ASC", "AT", + "BEFORE", "BERNOULLI", + "BETWEEN", + "BY", "CALL", + "CALLED", "CASCADE", + "CASE", "CAST", + "CATALOGS", + "COLUMN", "COLUMNS", + "COMMENT", + "COMMIT", "COMMITTED", + "CONSTRAINT", + "CREATE", "CROSS", + "CUBE", "CURRENT", + "CURRENT_DATE", + "CURRENT_ROLE", + "CURRENT_TIME", + "CURRENT_TIMESTAMP", + "CURRENT_USER", + "DATA", "DATE", + "DAY", "DEALLOCATE", + "DEFINER", + "DELETE", "DESC", + "DESCRIBE", + "DETERMINISTIC", + "DISABLED", + "DISTINCT", + "DISTRIBUTED", + "DROP", "ELSE", + "ENABLED", + "END", "ENFORCED", + "ESCAPE", "EXCEPT", + "EXCLUDING", + "EXECUTE", + "EXISTS", "EXPLAIN", + "EXTRACT", + "EXTERNAL", + "FALSE", "FETCH", + "FILTER", "FIRST", + "FOLLOWING", + "FOR", "FORMAT", + "FROM", "FULL", + "FUNCTION", + "FUNCTIONS", + "GRANT", "GRANTED", + "GRANTS", "GRAPHVIZ", + "GROUP", "GROUPING", + "GROUPS", "HAVING", + "HOUR", "IF", + "IGNORE", "IN", + "INCLUDING", + "INNER", "INPUT", + "INSERT", "INTERSECT", + "INTERVAL", + "INTO", "INVOKER", + "IO", "IS", + "ISOLATION", + "JSON", "JOIN", + "KEY", "LANGUAGE", + "LAST", "LATERAL", + "LEFT", "LEVEL", + "LIKE", "LIMIT", + "LOCALTIME", + "LOCALTIMESTAMP", + "LOGICAL", + "MAP", "MATERIALIZED", + "MINUTE", "MONTH", + "NAME", "NATURAL", + "NFC", "NFD", + "NFKC", "NFKD", + "NO", "NONE", + "NORMALIZE", + "NOT", "NULL", + "NULLIF", "NULLS", + "OF", "OFFSET", + "ON", "ONLY", + "OPTION", "OR", + "ORDER", "ORDINALITY", + "OUTER", "OUTPUT", + "OVER", "PARTITION", + "PARTITIONS", + "POSITION", + "PRECEDING", + "PREPARE", + "PRIMARY", + "PRIVILEGES", + "PROPERTIES", + "RANGE", "READ", + "RECURSIVE", + "REFRESH", + "RELY", "RENAME", + "REPEATABLE", + "REPLACE", + "RESET", "RESPECT", + "RESTRICT", + "RETURN", "RETURNS", + "REVOKE", "RIGHT", + "ROLE", "ROLES", + "ROLLBACK", + "ROLLUP", "ROW", + "ROWS", "SCHEMA", + "SCHEMAS", + "SECOND", "SECURITY", + "SELECT", "SERIALIZABLE", + "SESSION", + "SET", "SETS", + "SHOW", "SOME", + "SQL", "START", + "STATS", "SUBSTRING", + "SYSTEM", "SYSTEM_TIME", + "SYSTEM_VERSION", + "TABLE", "TABLES", + "TABLESAMPLE", + "TEMPORARY", + "TEXT", "THEN", + "TIME", "TIMESTAMP", + "TO", "TRANSACTION", + "TRUE", "TRUNCATE", + "TRY_CAST", + "TYPE", "UESCAPE", + "UNBOUNDED", + "UNCOMMITTED", + "UNION", "UNIQUE", + "UNNEST", "UPDATE", + "USE", "USER", + "USING", "VALIDATE", + "VALUES", "VERBOSE", + "VERSION", + "VIEW", "WHEN", + "WHERE", "WITH", + "WORK", "WRITE", + "YEAR", "ZONE", + "EQ", "NEQ", + "LT", "LTE", + "GT", "GTE", + "PLUS", "MINUS", + "ASTERISK", + "SLASH", "PERCENT", + "CONCAT", "STRING", + "UNICODE_STRING", + "BINARY_LITERAL", + "INTEGER_VALUE", + "DECIMAL_VALUE", + "DOUBLE_VALUE", + "IDENTIFIER", + "DIGIT_IDENTIFIER", + "QUOTED_IDENTIFIER", + "BACKQUOTED_IDENTIFIER", + "TIME_WITH_TIME_ZONE", + "TIMESTAMP_WITH_TIME_ZONE", + "DOUBLE_PRECISION", + "SIMPLE_COMMENT", + "BRACKETED_COMMENT", + "WS", "UNRECOGNIZED", + "DELIMITER" ]; + // tslint:disable:no-trailing-whitespace + public static readonly ruleNames: string[] = [ + "singleStatement", "standaloneExpression", "standaloneRoutineBody", "statement", + "query", "with", "tableElement", "columnDefinition", "likeClause", "properties", + "property", "sqlParameterDeclaration", "routineCharacteristics", "routineCharacteristic", + "alterRoutineCharacteristics", "alterRoutineCharacteristic", "routineBody", + "returnStatement", "externalBodyReference", "language", "determinism", + "nullCallClause", "externalRoutineName", "queryNoWith", "queryTerm", "queryPrimary", + "sortItem", "querySpecification", "groupBy", "groupingElement", "groupingSet", + "namedQuery", "setQuantifier", "selectItem", "relation", "joinType", "joinCriteria", + "sampledRelation", "sampleType", "aliasedRelation", "columnAliases", "relationPrimary", + "expression", "booleanExpression", "predicate", "valueExpression", "primaryExpression", + "string", "nullTreatment", "timeZoneSpecifier", "comparisonOperator", + "comparisonQuantifier", "booleanValue", "interval", "intervalField", "normalForm", + "types", "type", "typeParameter", "baseType", "whenClause", "filter", + "over", "windowFrame", "frameBound", "updateAssignment", "explainOption", + "transactionMode", "levelOfIsolation", "callArgument", "privilege", "qualifiedName", + "tableVersionExpression", "tableVersionState", "grantor", "principal", + "roles", "identifier", "number", "constraintSpecification", "namedConstraintSpecification", + "unnamedConstraintSpecification", "constraintType", "constraintQualifiers", + "constraintQualifier", "constraintRely", "constraintEnabled", "constraintEnforced", + "nonReserved", + ]; + public get grammarFileName(): string { return "SqlBase.g4"; } + public get literalNames(): (string | null)[] { return SqlBaseParser.literalNames; } + public get symbolicNames(): (string | null)[] { return SqlBaseParser.symbolicNames; } + public get ruleNames(): string[] { return SqlBaseParser.ruleNames; } + public get serializedATN(): number[] { return SqlBaseParser._serializedATN; } + + protected createFailedPredicateException(predicate?: string, message?: string): FailedPredicateException { + return new FailedPredicateException(this, predicate, message); + } + + constructor(input: TokenStream) { + super(input); + this._interp = new ParserATNSimulator(this, SqlBaseParser._ATN, SqlBaseParser.DecisionsToDFA, new PredictionContextCache()); + } + // @RuleVersion(0) + public singleStatement(): SingleStatementContext { + let localctx: SingleStatementContext = new SingleStatementContext(this, this._ctx, this.state); + this.enterRule(localctx, 0, SqlBaseParser.RULE_singleStatement); + try { + this.enterOuterAlt(localctx, 1); + { + this.state = 178; + this.statement(); + this.state = 179; + this.match(SqlBaseParser.EOF); + } + } + catch (re) { + if (re instanceof RecognitionException) { + localctx.exception = re; + this._errHandler.reportError(this, re); + this._errHandler.recover(this, re); + } else { + throw re; + } + } + finally { + this.exitRule(); + } + return localctx; + } + // @RuleVersion(0) + public standaloneExpression(): StandaloneExpressionContext { + let localctx: StandaloneExpressionContext = new StandaloneExpressionContext(this, this._ctx, this.state); + this.enterRule(localctx, 2, SqlBaseParser.RULE_standaloneExpression); + try { + this.enterOuterAlt(localctx, 1); + { + this.state = 181; + this.expression(); + this.state = 182; + this.match(SqlBaseParser.EOF); + } + } + catch (re) { + if (re instanceof RecognitionException) { + localctx.exception = re; + this._errHandler.reportError(this, re); + this._errHandler.recover(this, re); + } else { + throw re; + } + } + finally { + this.exitRule(); + } + return localctx; + } + // @RuleVersion(0) + public standaloneRoutineBody(): StandaloneRoutineBodyContext { + let localctx: StandaloneRoutineBodyContext = new StandaloneRoutineBodyContext(this, this._ctx, this.state); + this.enterRule(localctx, 4, SqlBaseParser.RULE_standaloneRoutineBody); + try { + this.enterOuterAlt(localctx, 1); + { + this.state = 184; + this.routineBody(); + this.state = 185; + this.match(SqlBaseParser.EOF); + } + } + catch (re) { + if (re instanceof RecognitionException) { + localctx.exception = re; + this._errHandler.reportError(this, re); + this._errHandler.recover(this, re); + } else { + throw re; + } + } + finally { + this.exitRule(); + } + return localctx; + } + // @RuleVersion(0) + public statement(): StatementContext { + let localctx: StatementContext = new StatementContext(this, this._ctx, this.state); + this.enterRule(localctx, 6, SqlBaseParser.RULE_statement); + let _la: number; + try { + this.state = 928; + this._errHandler.sync(this); + switch ( this._interp.adaptivePredict(this._input, 102, this._ctx) ) { + case 1: + localctx = new StatementDefaultContext(this, localctx); + this.enterOuterAlt(localctx, 1); + { + this.state = 187; + this.query(); + } + break; + case 2: + localctx = new UseContext(this, localctx); + this.enterOuterAlt(localctx, 2); + { + this.state = 188; + this.match(SqlBaseParser.USE); + this.state = 189; + (localctx as UseContext)._schema = this.identifier(); + } + break; + case 3: + localctx = new UseContext(this, localctx); + this.enterOuterAlt(localctx, 3); + { + this.state = 190; + this.match(SqlBaseParser.USE); + this.state = 191; + (localctx as UseContext)._catalog = this.identifier(); + this.state = 192; + this.match(SqlBaseParser.T__0); + this.state = 193; + (localctx as UseContext)._schema = this.identifier(); + } + break; + case 4: + localctx = new CreateSchemaContext(this, localctx); + this.enterOuterAlt(localctx, 4); + { + this.state = 195; + this.match(SqlBaseParser.CREATE); + this.state = 196; + this.match(SqlBaseParser.SCHEMA); + this.state = 200; + this._errHandler.sync(this); + switch ( this._interp.adaptivePredict(this._input, 0, this._ctx) ) { + case 1: + { + this.state = 197; + this.match(SqlBaseParser.IF); + this.state = 198; + this.match(SqlBaseParser.NOT); + this.state = 199; + this.match(SqlBaseParser.EXISTS); + } + break; + } + this.state = 202; + this.qualifiedName(); + this.state = 205; + this._errHandler.sync(this); + _la = this._input.LA(1); + if (_la===224) { + { + this.state = 203; + this.match(SqlBaseParser.WITH); + this.state = 204; + this.properties(); + } + } + + } + break; + case 5: + localctx = new DropSchemaContext(this, localctx); + this.enterOuterAlt(localctx, 5); + { + this.state = 207; + this.match(SqlBaseParser.DROP); + this.state = 208; + this.match(SqlBaseParser.SCHEMA); + this.state = 211; + this._errHandler.sync(this); + switch ( this._interp.adaptivePredict(this._input, 2, this._ctx) ) { + case 1: + { + this.state = 209; + this.match(SqlBaseParser.IF); + this.state = 210; + this.match(SqlBaseParser.EXISTS); + } + break; + } + this.state = 213; + this.qualifiedName(); + this.state = 215; + this._errHandler.sync(this); + _la = this._input.LA(1); + if (_la===27 || _la===164) { + { + this.state = 214; + _la = this._input.LA(1); + if(!(_la===27 || _la===164)) { + this._errHandler.recoverInline(this); + } + else { + this._errHandler.reportMatch(this); + this.consume(); + } + } + } + + } + break; + case 6: + localctx = new RenameSchemaContext(this, localctx); + this.enterOuterAlt(localctx, 6); + { + this.state = 217; + this.match(SqlBaseParser.ALTER); + this.state = 218; + this.match(SqlBaseParser.SCHEMA); + this.state = 219; + this.qualifiedName(); + this.state = 220; + this.match(SqlBaseParser.RENAME); + this.state = 221; + this.match(SqlBaseParser.TO); + this.state = 222; + this.identifier(); + } + break; + case 7: + localctx = new CreateTableAsSelectContext(this, localctx); + this.enterOuterAlt(localctx, 7); + { + this.state = 224; + this.match(SqlBaseParser.CREATE); + this.state = 225; + this.match(SqlBaseParser.TABLE); + this.state = 229; + this._errHandler.sync(this); + switch ( this._interp.adaptivePredict(this._input, 4, this._ctx) ) { + case 1: + { + this.state = 226; + this.match(SqlBaseParser.IF); + this.state = 227; + this.match(SqlBaseParser.NOT); + this.state = 228; + this.match(SqlBaseParser.EXISTS); + } + break; + } + this.state = 231; + this.qualifiedName(); + this.state = 233; + this._errHandler.sync(this); + _la = this._input.LA(1); + if (_la===2) { + { + this.state = 232; + this.columnAliases(); + } + } + + this.state = 237; + this._errHandler.sync(this); + _la = this._input.LA(1); + if (_la===33) { + { + this.state = 235; + this.match(SqlBaseParser.COMMENT); + this.state = 236; + this.string_(); + } + } + + this.state = 241; + this._errHandler.sync(this); + _la = this._input.LA(1); + if (_la===224) { + { + this.state = 239; + this.match(SqlBaseParser.WITH); + this.state = 240; + this.properties(); + } + } + + this.state = 243; + this.match(SqlBaseParser.AS); + this.state = 249; + this._errHandler.sync(this); + switch ( this._interp.adaptivePredict(this._input, 8, this._ctx) ) { + case 1: + { + this.state = 244; + this.query(); + } + break; + case 2: + { + this.state = 245; + this.match(SqlBaseParser.T__1); + this.state = 246; + this.query(); + this.state = 247; + this.match(SqlBaseParser.T__2); + } + break; + } + this.state = 256; + this._errHandler.sync(this); + _la = this._input.LA(1); + if (_la===224) { + { + this.state = 251; + this.match(SqlBaseParser.WITH); + this.state = 253; + this._errHandler.sync(this); + _la = this._input.LA(1); + if (_la===128) { + { + this.state = 252; + this.match(SqlBaseParser.NO); + } + } + + this.state = 255; + this.match(SqlBaseParser.DATA); + } + } + + } + break; + case 8: + localctx = new CreateTableContext(this, localctx); + this.enterOuterAlt(localctx, 8); + { + this.state = 258; + this.match(SqlBaseParser.CREATE); + this.state = 259; + this.match(SqlBaseParser.TABLE); + this.state = 263; + this._errHandler.sync(this); + switch ( this._interp.adaptivePredict(this._input, 11, this._ctx) ) { + case 1: + { + this.state = 260; + this.match(SqlBaseParser.IF); + this.state = 261; + this.match(SqlBaseParser.NOT); + this.state = 262; + this.match(SqlBaseParser.EXISTS); + } + break; + } + this.state = 265; + this.qualifiedName(); + this.state = 266; + this.match(SqlBaseParser.T__1); + this.state = 267; + this.tableElement(); + this.state = 272; + this._errHandler.sync(this); + _la = this._input.LA(1); + while (_la===4) { + { + { + this.state = 268; + this.match(SqlBaseParser.T__3); + this.state = 269; + this.tableElement(); + } + } + this.state = 274; + this._errHandler.sync(this); + _la = this._input.LA(1); + } + this.state = 275; + this.match(SqlBaseParser.T__2); + this.state = 278; + this._errHandler.sync(this); + _la = this._input.LA(1); + if (_la===33) { + { + this.state = 276; + this.match(SqlBaseParser.COMMENT); + this.state = 277; + this.string_(); + } + } + + this.state = 282; + this._errHandler.sync(this); + _la = this._input.LA(1); + if (_la===224) { + { + this.state = 280; + this.match(SqlBaseParser.WITH); + this.state = 281; + this.properties(); + } + } + + } + break; + case 9: + localctx = new DropTableContext(this, localctx); + this.enterOuterAlt(localctx, 9); + { + this.state = 284; + this.match(SqlBaseParser.DROP); + this.state = 285; + this.match(SqlBaseParser.TABLE); + this.state = 288; + this._errHandler.sync(this); + switch ( this._interp.adaptivePredict(this._input, 15, this._ctx) ) { + case 1: + { + this.state = 286; + this.match(SqlBaseParser.IF); + this.state = 287; + this.match(SqlBaseParser.EXISTS); + } + break; + } + this.state = 290; + this.qualifiedName(); + } + break; + case 10: + localctx = new InsertIntoContext(this, localctx); + this.enterOuterAlt(localctx, 10); + { + this.state = 291; + this.match(SqlBaseParser.INSERT); + this.state = 292; + this.match(SqlBaseParser.INTO); + this.state = 293; + this.qualifiedName(); + this.state = 295; + this._errHandler.sync(this); + switch ( this._interp.adaptivePredict(this._input, 16, this._ctx) ) { + case 1: + { + this.state = 294; + this.columnAliases(); + } + break; + } + this.state = 297; + this.query(); + } + break; + case 11: + localctx = new DeleteContext(this, localctx); + this.enterOuterAlt(localctx, 11); + { + this.state = 299; + this.match(SqlBaseParser.DELETE); + this.state = 300; + this.match(SqlBaseParser.FROM); + this.state = 301; + this.qualifiedName(); + this.state = 304; + this._errHandler.sync(this); + _la = this._input.LA(1); + if (_la===223) { + { + this.state = 302; + this.match(SqlBaseParser.WHERE); + this.state = 303; + this.booleanExpression(0); + } + } + + } + break; + case 12: + localctx = new TruncateTableContext(this, localctx); + this.enterOuterAlt(localctx, 12); + { + this.state = 306; + this.match(SqlBaseParser.TRUNCATE); + this.state = 307; + this.match(SqlBaseParser.TABLE); + this.state = 308; + this.qualifiedName(); + } + break; + case 13: + localctx = new RenameTableContext(this, localctx); + this.enterOuterAlt(localctx, 13); + { + this.state = 309; + this.match(SqlBaseParser.ALTER); + this.state = 310; + this.match(SqlBaseParser.TABLE); + this.state = 313; + this._errHandler.sync(this); + switch ( this._interp.adaptivePredict(this._input, 18, this._ctx) ) { + case 1: + { + this.state = 311; + this.match(SqlBaseParser.IF); + this.state = 312; + this.match(SqlBaseParser.EXISTS); + } + break; + } + this.state = 315; + (localctx as RenameTableContext)._from_ = this.qualifiedName(); + this.state = 316; + this.match(SqlBaseParser.RENAME); + this.state = 317; + this.match(SqlBaseParser.TO); + this.state = 318; + (localctx as RenameTableContext)._to = this.qualifiedName(); + } + break; + case 14: + localctx = new RenameColumnContext(this, localctx); + this.enterOuterAlt(localctx, 14); + { + this.state = 320; + this.match(SqlBaseParser.ALTER); + this.state = 321; + this.match(SqlBaseParser.TABLE); + this.state = 324; + this._errHandler.sync(this); + switch ( this._interp.adaptivePredict(this._input, 19, this._ctx) ) { + case 1: + { + this.state = 322; + this.match(SqlBaseParser.IF); + this.state = 323; + this.match(SqlBaseParser.EXISTS); + } + break; + } + this.state = 326; + (localctx as RenameColumnContext)._tableName = this.qualifiedName(); + this.state = 327; + this.match(SqlBaseParser.RENAME); + this.state = 328; + this.match(SqlBaseParser.COLUMN); + this.state = 331; + this._errHandler.sync(this); + switch ( this._interp.adaptivePredict(this._input, 20, this._ctx) ) { + case 1: + { + this.state = 329; + this.match(SqlBaseParser.IF); + this.state = 330; + this.match(SqlBaseParser.EXISTS); + } + break; + } + this.state = 333; + (localctx as RenameColumnContext)._from_ = this.identifier(); + this.state = 334; + this.match(SqlBaseParser.TO); + this.state = 335; + (localctx as RenameColumnContext)._to = this.identifier(); + } + break; + case 15: + localctx = new DropColumnContext(this, localctx); + this.enterOuterAlt(localctx, 15); + { + this.state = 337; + this.match(SqlBaseParser.ALTER); + this.state = 338; + this.match(SqlBaseParser.TABLE); + this.state = 341; + this._errHandler.sync(this); + switch ( this._interp.adaptivePredict(this._input, 21, this._ctx) ) { + case 1: + { + this.state = 339; + this.match(SqlBaseParser.IF); + this.state = 340; + this.match(SqlBaseParser.EXISTS); + } + break; + } + this.state = 343; + (localctx as DropColumnContext)._tableName = this.qualifiedName(); + this.state = 344; + this.match(SqlBaseParser.DROP); + this.state = 345; + this.match(SqlBaseParser.COLUMN); + this.state = 348; + this._errHandler.sync(this); + switch ( this._interp.adaptivePredict(this._input, 22, this._ctx) ) { + case 1: + { + this.state = 346; + this.match(SqlBaseParser.IF); + this.state = 347; + this.match(SqlBaseParser.EXISTS); + } + break; + } + this.state = 350; + (localctx as DropColumnContext)._column = this.qualifiedName(); + } + break; + case 16: + localctx = new AddColumnContext(this, localctx); + this.enterOuterAlt(localctx, 16); + { + this.state = 352; + this.match(SqlBaseParser.ALTER); + this.state = 353; + this.match(SqlBaseParser.TABLE); + this.state = 356; + this._errHandler.sync(this); + switch ( this._interp.adaptivePredict(this._input, 23, this._ctx) ) { + case 1: + { + this.state = 354; + this.match(SqlBaseParser.IF); + this.state = 355; + this.match(SqlBaseParser.EXISTS); + } + break; + } + this.state = 358; + (localctx as AddColumnContext)._tableName = this.qualifiedName(); + this.state = 359; + this.match(SqlBaseParser.ADD); + this.state = 360; + this.match(SqlBaseParser.COLUMN); + this.state = 364; + this._errHandler.sync(this); + switch ( this._interp.adaptivePredict(this._input, 24, this._ctx) ) { + case 1: + { + this.state = 361; + this.match(SqlBaseParser.IF); + this.state = 362; + this.match(SqlBaseParser.NOT); + this.state = 363; + this.match(SqlBaseParser.EXISTS); + } + break; + } + this.state = 366; + (localctx as AddColumnContext)._column = this.columnDefinition(); + } + break; + case 17: + localctx = new AddConstraintContext(this, localctx); + this.enterOuterAlt(localctx, 17); + { + this.state = 368; + this.match(SqlBaseParser.ALTER); + this.state = 369; + this.match(SqlBaseParser.TABLE); + this.state = 372; + this._errHandler.sync(this); + switch ( this._interp.adaptivePredict(this._input, 25, this._ctx) ) { + case 1: + { + this.state = 370; + this.match(SqlBaseParser.IF); + this.state = 371; + this.match(SqlBaseParser.EXISTS); + } + break; + } + this.state = 374; + (localctx as AddConstraintContext)._tableName = this.qualifiedName(); + this.state = 375; + this.match(SqlBaseParser.ADD); + this.state = 376; + this.constraintSpecification(); + } + break; + case 18: + localctx = new DropConstraintContext(this, localctx); + this.enterOuterAlt(localctx, 18); + { + this.state = 378; + this.match(SqlBaseParser.ALTER); + this.state = 379; + this.match(SqlBaseParser.TABLE); + this.state = 382; + this._errHandler.sync(this); + switch ( this._interp.adaptivePredict(this._input, 26, this._ctx) ) { + case 1: + { + this.state = 380; + this.match(SqlBaseParser.IF); + this.state = 381; + this.match(SqlBaseParser.EXISTS); + } + break; + } + this.state = 384; + (localctx as DropConstraintContext)._tableName = this.qualifiedName(); + this.state = 385; + this.match(SqlBaseParser.DROP); + this.state = 386; + this.match(SqlBaseParser.CONSTRAINT); + this.state = 389; + this._errHandler.sync(this); + switch ( this._interp.adaptivePredict(this._input, 27, this._ctx) ) { + case 1: + { + this.state = 387; + this.match(SqlBaseParser.IF); + this.state = 388; + this.match(SqlBaseParser.EXISTS); + } + break; + } + this.state = 391; + (localctx as DropConstraintContext)._name = this.identifier(); + } + break; + case 19: + localctx = new AlterColumnSetNotNullContext(this, localctx); + this.enterOuterAlt(localctx, 19); + { + this.state = 393; + this.match(SqlBaseParser.ALTER); + this.state = 394; + this.match(SqlBaseParser.TABLE); + this.state = 397; + this._errHandler.sync(this); + switch ( this._interp.adaptivePredict(this._input, 28, this._ctx) ) { + case 1: + { + this.state = 395; + this.match(SqlBaseParser.IF); + this.state = 396; + this.match(SqlBaseParser.EXISTS); + } + break; + } + this.state = 399; + (localctx as AlterColumnSetNotNullContext)._tableName = this.qualifiedName(); + this.state = 400; + this.match(SqlBaseParser.ALTER); + this.state = 402; + this._errHandler.sync(this); + switch ( this._interp.adaptivePredict(this._input, 29, this._ctx) ) { + case 1: + { + this.state = 401; + this.match(SqlBaseParser.COLUMN); + } + break; + } + this.state = 404; + (localctx as AlterColumnSetNotNullContext)._column = this.identifier(); + this.state = 405; + this.match(SqlBaseParser.SET); + this.state = 406; + this.match(SqlBaseParser.NOT); + this.state = 407; + this.match(SqlBaseParser.NULL); + } + break; + case 20: + localctx = new AlterColumnDropNotNullContext(this, localctx); + this.enterOuterAlt(localctx, 20); + { + this.state = 409; + this.match(SqlBaseParser.ALTER); + this.state = 410; + this.match(SqlBaseParser.TABLE); + this.state = 413; + this._errHandler.sync(this); + switch ( this._interp.adaptivePredict(this._input, 30, this._ctx) ) { + case 1: + { + this.state = 411; + this.match(SqlBaseParser.IF); + this.state = 412; + this.match(SqlBaseParser.EXISTS); + } + break; + } + this.state = 415; + (localctx as AlterColumnDropNotNullContext)._tableName = this.qualifiedName(); + this.state = 416; + this.match(SqlBaseParser.ALTER); + this.state = 418; + this._errHandler.sync(this); + switch ( this._interp.adaptivePredict(this._input, 31, this._ctx) ) { + case 1: + { + this.state = 417; + this.match(SqlBaseParser.COLUMN); + } + break; + } + this.state = 420; + (localctx as AlterColumnDropNotNullContext)._column = this.identifier(); + this.state = 421; + this.match(SqlBaseParser.DROP); + this.state = 422; + this.match(SqlBaseParser.NOT); + this.state = 423; + this.match(SqlBaseParser.NULL); + } + break; + case 21: + localctx = new SetTablePropertiesContext(this, localctx); + this.enterOuterAlt(localctx, 21); + { + this.state = 425; + this.match(SqlBaseParser.ALTER); + this.state = 426; + this.match(SqlBaseParser.TABLE); + this.state = 429; + this._errHandler.sync(this); + switch ( this._interp.adaptivePredict(this._input, 32, this._ctx) ) { + case 1: + { + this.state = 427; + this.match(SqlBaseParser.IF); + this.state = 428; + this.match(SqlBaseParser.EXISTS); + } + break; + } + this.state = 431; + (localctx as SetTablePropertiesContext)._tableName = this.qualifiedName(); + this.state = 432; + this.match(SqlBaseParser.SET); + this.state = 433; + this.match(SqlBaseParser.PROPERTIES); + this.state = 434; + this.properties(); + } + break; + case 22: + localctx = new AnalyzeContext(this, localctx); + this.enterOuterAlt(localctx, 22); + { + this.state = 436; + this.match(SqlBaseParser.ANALYZE); + this.state = 437; + this.qualifiedName(); + this.state = 440; + this._errHandler.sync(this); + _la = this._input.LA(1); + if (_la===224) { + { + this.state = 438; + this.match(SqlBaseParser.WITH); + this.state = 439; + this.properties(); + } + } + + } + break; + case 23: + localctx = new CreateTypeContext(this, localctx); + this.enterOuterAlt(localctx, 23); + { + this.state = 442; + this.match(SqlBaseParser.CREATE); + this.state = 443; + this.match(SqlBaseParser.TYPE); + this.state = 444; + this.qualifiedName(); + this.state = 445; + this.match(SqlBaseParser.AS); + this.state = 458; + this._errHandler.sync(this); + switch (this._input.LA(1)) { + case 2: + { + this.state = 446; + this.match(SqlBaseParser.T__1); + this.state = 447; + this.sqlParameterDeclaration(); + this.state = 452; + this._errHandler.sync(this); + _la = this._input.LA(1); + while (_la===4) { + { + { + this.state = 448; + this.match(SqlBaseParser.T__3); + this.state = 449; + this.sqlParameterDeclaration(); + } + } + this.state = 454; + this._errHandler.sync(this); + _la = this._input.LA(1); + } + this.state = 455; + this.match(SqlBaseParser.T__2); + } + break; + case 10: + case 11: + case 12: + case 14: + case 16: + case 17: + case 19: + case 20: + case 21: + case 22: + case 25: + case 26: + case 27: + case 30: + case 31: + case 32: + case 33: + case 34: + case 35: + case 40: + case 42: + case 46: + case 47: + case 48: + case 50: + case 52: + case 54: + case 55: + case 57: + case 60: + case 62: + case 65: + case 68: + case 70: + case 72: + case 73: + case 74: + case 75: + case 77: + case 80: + case 81: + case 82: + case 83: + case 84: + case 85: + case 88: + case 90: + case 91: + case 92: + case 94: + case 96: + case 99: + case 101: + case 102: + case 104: + case 105: + case 107: + case 108: + case 109: + case 110: + case 112: + case 114: + case 117: + case 118: + case 119: + case 120: + case 121: + case 122: + case 124: + case 125: + case 126: + case 127: + case 128: + case 129: + case 133: + case 134: + case 135: + case 136: + case 138: + case 139: + case 142: + case 144: + case 145: + case 146: + case 147: + case 148: + case 149: + case 151: + case 152: + case 153: + case 154: + case 155: + case 157: + case 158: + case 159: + case 160: + case 161: + case 162: + case 163: + case 164: + case 165: + case 166: + case 167: + case 169: + case 170: + case 171: + case 173: + case 174: + case 175: + case 176: + case 177: + case 178: + case 180: + case 181: + case 182: + case 183: + case 184: + case 185: + case 186: + case 187: + case 188: + case 189: + case 190: + case 191: + case 192: + case 194: + case 195: + case 196: + case 197: + case 199: + case 200: + case 201: + case 202: + case 204: + case 205: + case 206: + case 208: + case 209: + case 211: + case 213: + case 214: + case 215: + case 217: + case 219: + case 220: + case 221: + case 225: + case 226: + case 227: + case 228: + case 247: + case 248: + case 249: + case 250: + case 251: + case 252: + case 253: + { + this.state = 457; + this.type_(0); + } + break; + default: + throw new NoViableAltException(this); + } + } + break; + case 24: + localctx = new CreateViewContext(this, localctx); + this.enterOuterAlt(localctx, 24); + { + this.state = 460; + this.match(SqlBaseParser.CREATE); + this.state = 463; + this._errHandler.sync(this); + _la = this._input.LA(1); + if (_la===140) { + { + this.state = 461; + this.match(SqlBaseParser.OR); + this.state = 462; + this.match(SqlBaseParser.REPLACE); + } + } + + this.state = 465; + this.match(SqlBaseParser.VIEW); + this.state = 466; + this.qualifiedName(); + this.state = 469; + this._errHandler.sync(this); + _la = this._input.LA(1); + if (_la===178) { + { + this.state = 467; + this.match(SqlBaseParser.SECURITY); + this.state = 468; + _la = this._input.LA(1); + if(!(_la===50 || _la===101)) { + this._errHandler.recoverInline(this); + } + else { + this._errHandler.reportMatch(this); + this.consume(); + } + } + } + + this.state = 471; + this.match(SqlBaseParser.AS); + this.state = 472; + this.query(); + } + break; + case 25: + localctx = new RenameViewContext(this, localctx); + this.enterOuterAlt(localctx, 25); + { + this.state = 474; + this.match(SqlBaseParser.ALTER); + this.state = 475; + this.match(SqlBaseParser.VIEW); + this.state = 478; + this._errHandler.sync(this); + switch ( this._interp.adaptivePredict(this._input, 38, this._ctx) ) { + case 1: + { + this.state = 476; + this.match(SqlBaseParser.IF); + this.state = 477; + this.match(SqlBaseParser.EXISTS); + } + break; + } + this.state = 480; + (localctx as RenameViewContext)._from_ = this.qualifiedName(); + this.state = 481; + this.match(SqlBaseParser.RENAME); + this.state = 482; + this.match(SqlBaseParser.TO); + this.state = 483; + (localctx as RenameViewContext)._to = this.qualifiedName(); + } + break; + case 26: + localctx = new DropViewContext(this, localctx); + this.enterOuterAlt(localctx, 26); + { + this.state = 485; + this.match(SqlBaseParser.DROP); + this.state = 486; + this.match(SqlBaseParser.VIEW); + this.state = 489; + this._errHandler.sync(this); + switch ( this._interp.adaptivePredict(this._input, 39, this._ctx) ) { + case 1: + { + this.state = 487; + this.match(SqlBaseParser.IF); + this.state = 488; + this.match(SqlBaseParser.EXISTS); + } + break; + } + this.state = 491; + this.qualifiedName(); + } + break; + case 27: + localctx = new CreateMaterializedViewContext(this, localctx); + this.enterOuterAlt(localctx, 27); + { + this.state = 492; + this.match(SqlBaseParser.CREATE); + this.state = 493; + this.match(SqlBaseParser.MATERIALIZED); + this.state = 494; + this.match(SqlBaseParser.VIEW); + this.state = 498; + this._errHandler.sync(this); + switch ( this._interp.adaptivePredict(this._input, 40, this._ctx) ) { + case 1: + { + this.state = 495; + this.match(SqlBaseParser.IF); + this.state = 496; + this.match(SqlBaseParser.NOT); + this.state = 497; + this.match(SqlBaseParser.EXISTS); + } + break; + } + this.state = 500; + this.qualifiedName(); + this.state = 503; + this._errHandler.sync(this); + _la = this._input.LA(1); + if (_la===33) { + { + this.state = 501; + this.match(SqlBaseParser.COMMENT); + this.state = 502; + this.string_(); + } + } + + this.state = 507; + this._errHandler.sync(this); + _la = this._input.LA(1); + if (_la===224) { + { + this.state = 505; + this.match(SqlBaseParser.WITH); + this.state = 506; + this.properties(); + } + } + + this.state = 509; + this.match(SqlBaseParser.AS); + this.state = 515; + this._errHandler.sync(this); + switch ( this._interp.adaptivePredict(this._input, 43, this._ctx) ) { + case 1: + { + this.state = 510; + this.query(); + } + break; + case 2: + { + this.state = 511; + this.match(SqlBaseParser.T__1); + this.state = 512; + this.query(); + this.state = 513; + this.match(SqlBaseParser.T__2); + } + break; + } + } + break; + case 28: + localctx = new DropMaterializedViewContext(this, localctx); + this.enterOuterAlt(localctx, 28); + { + this.state = 517; + this.match(SqlBaseParser.DROP); + this.state = 518; + this.match(SqlBaseParser.MATERIALIZED); + this.state = 519; + this.match(SqlBaseParser.VIEW); + this.state = 522; + this._errHandler.sync(this); + switch ( this._interp.adaptivePredict(this._input, 44, this._ctx) ) { + case 1: + { + this.state = 520; + this.match(SqlBaseParser.IF); + this.state = 521; + this.match(SqlBaseParser.EXISTS); + } + break; + } + this.state = 524; + this.qualifiedName(); + } + break; + case 29: + localctx = new RefreshMaterializedViewContext(this, localctx); + this.enterOuterAlt(localctx, 29); + { + this.state = 525; + this.match(SqlBaseParser.REFRESH); + this.state = 526; + this.match(SqlBaseParser.MATERIALIZED); + this.state = 527; + this.match(SqlBaseParser.VIEW); + this.state = 528; + this.qualifiedName(); + this.state = 529; + this.match(SqlBaseParser.WHERE); + this.state = 530; + this.booleanExpression(0); + } + break; + case 30: + localctx = new CreateFunctionContext(this, localctx); + this.enterOuterAlt(localctx, 30); + { + this.state = 532; + this.match(SqlBaseParser.CREATE); + this.state = 535; + this._errHandler.sync(this); + _la = this._input.LA(1); + if (_la===140) { + { + this.state = 533; + this.match(SqlBaseParser.OR); + this.state = 534; + this.match(SqlBaseParser.REPLACE); + } + } + + this.state = 538; + this._errHandler.sync(this); + _la = this._input.LA(1); + if (_la===196) { + { + this.state = 537; + this.match(SqlBaseParser.TEMPORARY); + } + } + + this.state = 540; + this.match(SqlBaseParser.FUNCTION); + this.state = 541; + (localctx as CreateFunctionContext)._functionName = this.qualifiedName(); + this.state = 542; + this.match(SqlBaseParser.T__1); + this.state = 551; + this._errHandler.sync(this); + _la = this._input.LA(1); + if ((((_la) & ~0x1F) === 0 && ((1 << _la) & 3464190976) !== 0) || ((((_la - 32)) & ~0x1F) === 0 && ((1 << (_la - 32)) & 1389741327) !== 0) || ((((_la - 65)) & ~0x1F) === 0 && ((1 << (_la - 65)) & 2929694633) !== 0) || ((((_la - 99)) & ~0x1F) === 0 && ((1 << (_la - 99)) & 2130489197) !== 0) || ((((_la - 133)) & ~0x1F) === 0 && ((1 << (_la - 133)) & 4286446191) !== 0) || ((((_la - 165)) & ~0x1F) === 0 && ((1 << (_la - 165)) & 4026515319) !== 0) || ((((_la - 197)) & ~0x1F) === 0 && ((1 << (_la - 197)) & 4057422781) !== 0) || ((((_la - 247)) & ~0x1F) === 0 && ((1 << (_la - 247)) & 15) !== 0)) { + { + this.state = 543; + this.sqlParameterDeclaration(); + this.state = 548; + this._errHandler.sync(this); + _la = this._input.LA(1); + while (_la===4) { + { + { + this.state = 544; + this.match(SqlBaseParser.T__3); + this.state = 545; + this.sqlParameterDeclaration(); + } + } + this.state = 550; + this._errHandler.sync(this); + _la = this._input.LA(1); + } + } + } + + this.state = 553; + this.match(SqlBaseParser.T__2); + this.state = 554; + this.match(SqlBaseParser.RETURNS); + this.state = 555; + (localctx as CreateFunctionContext)._returnType = this.type_(0); + this.state = 558; + this._errHandler.sync(this); + _la = this._input.LA(1); + if (_la===33) { + { + this.state = 556; + this.match(SqlBaseParser.COMMENT); + this.state = 557; + this.string_(); + } + } + + this.state = 560; + this.routineCharacteristics(); + this.state = 561; + this.routineBody(); + } + break; + case 31: + localctx = new AlterFunctionContext(this, localctx); + this.enterOuterAlt(localctx, 31); + { + this.state = 563; + this.match(SqlBaseParser.ALTER); + this.state = 564; + this.match(SqlBaseParser.FUNCTION); + this.state = 565; + this.qualifiedName(); + this.state = 567; + this._errHandler.sync(this); + _la = this._input.LA(1); + if (_la===2) { + { + this.state = 566; + this.types(); + } + } + + this.state = 569; + this.alterRoutineCharacteristics(); + } + break; + case 32: + localctx = new DropFunctionContext(this, localctx); + this.enterOuterAlt(localctx, 32); + { + this.state = 571; + this.match(SqlBaseParser.DROP); + this.state = 573; + this._errHandler.sync(this); + _la = this._input.LA(1); + if (_la===196) { + { + this.state = 572; + this.match(SqlBaseParser.TEMPORARY); + } + } + + this.state = 575; + this.match(SqlBaseParser.FUNCTION); + this.state = 578; + this._errHandler.sync(this); + switch ( this._interp.adaptivePredict(this._input, 52, this._ctx) ) { + case 1: + { + this.state = 576; + this.match(SqlBaseParser.IF); + this.state = 577; + this.match(SqlBaseParser.EXISTS); + } + break; + } + this.state = 580; + this.qualifiedName(); + this.state = 582; + this._errHandler.sync(this); + _la = this._input.LA(1); + if (_la===2) { + { + this.state = 581; + this.types(); + } + } + + } + break; + case 33: + localctx = new CallContext(this, localctx); + this.enterOuterAlt(localctx, 33); + { + this.state = 584; + this.match(SqlBaseParser.CALL); + this.state = 585; + this.qualifiedName(); + this.state = 586; + this.match(SqlBaseParser.T__1); + this.state = 595; + this._errHandler.sync(this); + _la = this._input.LA(1); + if ((((_la) & ~0x1F) === 0 && ((1 << _la) & 4269497380) !== 0) || ((((_la - 32)) & ~0x1F) === 0 && ((1 << (_la - 32)) & 1389756175) !== 0) || ((((_la - 65)) & ~0x1F) === 0 && ((1 << (_la - 65)) & 2933889021) !== 0) || ((((_la - 99)) & ~0x1F) === 0 && ((1 << (_la - 99)) & 4278169453) !== 0) || ((((_la - 131)) & ~0x1F) === 0 && ((1 << (_la - 131)) & 4260882879) !== 0) || ((((_la - 163)) & ~0x1F) === 0 && ((1 << (_la - 163)) & 3221159391) !== 0) || ((((_la - 195)) & ~0x1F) === 0 && ((1 << (_la - 195)) & 3344789495) !== 0) || ((((_la - 227)) & ~0x1F) === 0 && ((1 << (_la - 227)) & 83870467) !== 0)) { + { + this.state = 587; + this.callArgument(); + this.state = 592; + this._errHandler.sync(this); + _la = this._input.LA(1); + while (_la===4) { + { + { + this.state = 588; + this.match(SqlBaseParser.T__3); + this.state = 589; + this.callArgument(); + } + } + this.state = 594; + this._errHandler.sync(this); + _la = this._input.LA(1); + } + } + } + + this.state = 597; + this.match(SqlBaseParser.T__2); + } + break; + case 34: + localctx = new CreateRoleContext(this, localctx); + this.enterOuterAlt(localctx, 34); + { + this.state = 599; + this.match(SqlBaseParser.CREATE); + this.state = 600; + this.match(SqlBaseParser.ROLE); + this.state = 601; + (localctx as CreateRoleContext)._name = this.identifier(); + this.state = 605; + this._errHandler.sync(this); + _la = this._input.LA(1); + if (_la===224) { + { + this.state = 602; + this.match(SqlBaseParser.WITH); + this.state = 603; + this.match(SqlBaseParser.ADMIN); + this.state = 604; + this.grantor(); + } + } + + } + break; + case 35: + localctx = new DropRoleContext(this, localctx); + this.enterOuterAlt(localctx, 35); + { + this.state = 607; + this.match(SqlBaseParser.DROP); + this.state = 608; + this.match(SqlBaseParser.ROLE); + this.state = 609; + (localctx as DropRoleContext)._name = this.identifier(); + } + break; + case 36: + localctx = new GrantRolesContext(this, localctx); + this.enterOuterAlt(localctx, 36); + { + this.state = 610; + this.match(SqlBaseParser.GRANT); + this.state = 611; + this.roles(); + this.state = 612; + this.match(SqlBaseParser.TO); + this.state = 613; + this.principal(); + this.state = 618; + this._errHandler.sync(this); + _la = this._input.LA(1); + while (_la===4) { + { + { + this.state = 614; + this.match(SqlBaseParser.T__3); + this.state = 615; + this.principal(); + } + } + this.state = 620; + this._errHandler.sync(this); + _la = this._input.LA(1); + } + this.state = 624; + this._errHandler.sync(this); + _la = this._input.LA(1); + if (_la===224) { + { + this.state = 621; + this.match(SqlBaseParser.WITH); + this.state = 622; + this.match(SqlBaseParser.ADMIN); + this.state = 623; + this.match(SqlBaseParser.OPTION); + } + } + + this.state = 629; + this._errHandler.sync(this); + _la = this._input.LA(1); + if (_la===83) { + { + this.state = 626; + this.match(SqlBaseParser.GRANTED); + this.state = 627; + this.match(SqlBaseParser.BY); + this.state = 628; + this.grantor(); + } + } + + } + break; + case 37: + localctx = new RevokeRolesContext(this, localctx); + this.enterOuterAlt(localctx, 37); + { + this.state = 631; + this.match(SqlBaseParser.REVOKE); + this.state = 635; + this._errHandler.sync(this); + switch ( this._interp.adaptivePredict(this._input, 60, this._ctx) ) { + case 1: + { + this.state = 632; + this.match(SqlBaseParser.ADMIN); + this.state = 633; + this.match(SqlBaseParser.OPTION); + this.state = 634; + this.match(SqlBaseParser.FOR); + } + break; + } + this.state = 637; + this.roles(); + this.state = 638; + this.match(SqlBaseParser.FROM); + this.state = 639; + this.principal(); + this.state = 644; + this._errHandler.sync(this); + _la = this._input.LA(1); + while (_la===4) { + { + { + this.state = 640; + this.match(SqlBaseParser.T__3); + this.state = 641; + this.principal(); + } + } + this.state = 646; + this._errHandler.sync(this); + _la = this._input.LA(1); + } + this.state = 650; + this._errHandler.sync(this); + _la = this._input.LA(1); + if (_la===83) { + { + this.state = 647; + this.match(SqlBaseParser.GRANTED); + this.state = 648; + this.match(SqlBaseParser.BY); + this.state = 649; + this.grantor(); + } + } + + } + break; + case 38: + localctx = new SetRoleContext(this, localctx); + this.enterOuterAlt(localctx, 38); + { + this.state = 652; + this.match(SqlBaseParser.SET); + this.state = 653; + this.match(SqlBaseParser.ROLE); + this.state = 657; + this._errHandler.sync(this); + switch ( this._interp.adaptivePredict(this._input, 63, this._ctx) ) { + case 1: + { + this.state = 654; + this.match(SqlBaseParser.ALL); + } + break; + case 2: + { + this.state = 655; + this.match(SqlBaseParser.NONE); + } + break; + case 3: + { + this.state = 656; + (localctx as SetRoleContext)._role = this.identifier(); + } + break; + } + } + break; + case 39: + localctx = new GrantContext(this, localctx); + this.enterOuterAlt(localctx, 39); + { + this.state = 659; + this.match(SqlBaseParser.GRANT); + this.state = 670; + this._errHandler.sync(this); + switch ( this._interp.adaptivePredict(this._input, 65, this._ctx) ) { + case 1: + { + this.state = 660; + this.privilege(); + this.state = 665; + this._errHandler.sync(this); + _la = this._input.LA(1); + while (_la===4) { + { + { + this.state = 661; + this.match(SqlBaseParser.T__3); + this.state = 662; + this.privilege(); + } + } + this.state = 667; + this._errHandler.sync(this); + _la = this._input.LA(1); + } + } + break; + case 2: + { + this.state = 668; + this.match(SqlBaseParser.ALL); + this.state = 669; + this.match(SqlBaseParser.PRIVILEGES); + } + break; + } + this.state = 672; + this.match(SqlBaseParser.ON); + this.state = 674; + this._errHandler.sync(this); + _la = this._input.LA(1); + if (_la===193) { + { + this.state = 673; + this.match(SqlBaseParser.TABLE); + } + } + + this.state = 676; + this.qualifiedName(); + this.state = 677; + this.match(SqlBaseParser.TO); + this.state = 678; + (localctx as GrantContext)._grantee = this.principal(); + this.state = 682; + this._errHandler.sync(this); + _la = this._input.LA(1); + if (_la===224) { + { + this.state = 679; + this.match(SqlBaseParser.WITH); + this.state = 680; + this.match(SqlBaseParser.GRANT); + this.state = 681; + this.match(SqlBaseParser.OPTION); + } + } + + } + break; + case 40: + localctx = new RevokeContext(this, localctx); + this.enterOuterAlt(localctx, 40); + { + this.state = 684; + this.match(SqlBaseParser.REVOKE); + this.state = 688; + this._errHandler.sync(this); + switch ( this._interp.adaptivePredict(this._input, 68, this._ctx) ) { + case 1: + { + this.state = 685; + this.match(SqlBaseParser.GRANT); + this.state = 686; + this.match(SqlBaseParser.OPTION); + this.state = 687; + this.match(SqlBaseParser.FOR); + } + break; + } + this.state = 700; + this._errHandler.sync(this); + switch ( this._interp.adaptivePredict(this._input, 70, this._ctx) ) { + case 1: + { + this.state = 690; + this.privilege(); + this.state = 695; + this._errHandler.sync(this); + _la = this._input.LA(1); + while (_la===4) { + { + { + this.state = 691; + this.match(SqlBaseParser.T__3); + this.state = 692; + this.privilege(); + } + } + this.state = 697; + this._errHandler.sync(this); + _la = this._input.LA(1); + } + } + break; + case 2: + { + this.state = 698; + this.match(SqlBaseParser.ALL); + this.state = 699; + this.match(SqlBaseParser.PRIVILEGES); + } + break; + } + this.state = 702; + this.match(SqlBaseParser.ON); + this.state = 704; + this._errHandler.sync(this); + _la = this._input.LA(1); + if (_la===193) { + { + this.state = 703; + this.match(SqlBaseParser.TABLE); + } + } + + this.state = 706; + this.qualifiedName(); + this.state = 707; + this.match(SqlBaseParser.FROM); + this.state = 708; + (localctx as RevokeContext)._grantee = this.principal(); + } + break; + case 41: + localctx = new ShowGrantsContext(this, localctx); + this.enterOuterAlt(localctx, 41); + { + this.state = 710; + this.match(SqlBaseParser.SHOW); + this.state = 711; + this.match(SqlBaseParser.GRANTS); + this.state = 717; + this._errHandler.sync(this); + _la = this._input.LA(1); + if (_la===137) { + { + this.state = 712; + this.match(SqlBaseParser.ON); + this.state = 714; + this._errHandler.sync(this); + _la = this._input.LA(1); + if (_la===193) { + { + this.state = 713; + this.match(SqlBaseParser.TABLE); + } + } + + this.state = 716; + this.qualifiedName(); + } + } + + } + break; + case 42: + localctx = new ExplainContext(this, localctx); + this.enterOuterAlt(localctx, 42); + { + this.state = 719; + this.match(SqlBaseParser.EXPLAIN); + this.state = 721; + this._errHandler.sync(this); + switch ( this._interp.adaptivePredict(this._input, 74, this._ctx) ) { + case 1: + { + this.state = 720; + this.match(SqlBaseParser.ANALYZE); + } + break; + } + this.state = 724; + this._errHandler.sync(this); + _la = this._input.LA(1); + if (_la===219) { + { + this.state = 723; + this.match(SqlBaseParser.VERBOSE); + } + } + + this.state = 737; + this._errHandler.sync(this); + switch ( this._interp.adaptivePredict(this._input, 77, this._ctx) ) { + case 1: + { + this.state = 726; + this.match(SqlBaseParser.T__1); + this.state = 727; + this.explainOption(); + this.state = 732; + this._errHandler.sync(this); + _la = this._input.LA(1); + while (_la===4) { + { + { + this.state = 728; + this.match(SqlBaseParser.T__3); + this.state = 729; + this.explainOption(); + } + } + this.state = 734; + this._errHandler.sync(this); + _la = this._input.LA(1); + } + this.state = 735; + this.match(SqlBaseParser.T__2); + } + break; + } + this.state = 739; + this.statement(); + } + break; + case 43: + localctx = new ShowCreateTableContext(this, localctx); + this.enterOuterAlt(localctx, 43); + { + this.state = 740; + this.match(SqlBaseParser.SHOW); + this.state = 741; + this.match(SqlBaseParser.CREATE); + this.state = 742; + this.match(SqlBaseParser.TABLE); + this.state = 743; + this.qualifiedName(); + } + break; + case 44: + localctx = new ShowCreateSchemaContext(this, localctx); + this.enterOuterAlt(localctx, 44); + { + this.state = 744; + this.match(SqlBaseParser.SHOW); + this.state = 745; + this.match(SqlBaseParser.CREATE); + this.state = 746; + this.match(SqlBaseParser.SCHEMA); + this.state = 747; + this.qualifiedName(); + } + break; + case 45: + localctx = new ShowCreateViewContext(this, localctx); + this.enterOuterAlt(localctx, 45); + { + this.state = 748; + this.match(SqlBaseParser.SHOW); + this.state = 749; + this.match(SqlBaseParser.CREATE); + this.state = 750; + this.match(SqlBaseParser.VIEW); + this.state = 751; + this.qualifiedName(); + } + break; + case 46: + localctx = new ShowCreateMaterializedViewContext(this, localctx); + this.enterOuterAlt(localctx, 46); + { + this.state = 752; + this.match(SqlBaseParser.SHOW); + this.state = 753; + this.match(SqlBaseParser.CREATE); + this.state = 754; + this.match(SqlBaseParser.MATERIALIZED); + this.state = 755; + this.match(SqlBaseParser.VIEW); + this.state = 756; + this.qualifiedName(); + } + break; + case 47: + localctx = new ShowCreateFunctionContext(this, localctx); + this.enterOuterAlt(localctx, 47); + { + this.state = 757; + this.match(SqlBaseParser.SHOW); + this.state = 758; + this.match(SqlBaseParser.CREATE); + this.state = 759; + this.match(SqlBaseParser.FUNCTION); + this.state = 760; + this.qualifiedName(); + this.state = 762; + this._errHandler.sync(this); + _la = this._input.LA(1); + if (_la===2) { + { + this.state = 761; + this.types(); + } + } + + } + break; + case 48: + localctx = new ShowTablesContext(this, localctx); + this.enterOuterAlt(localctx, 48); + { + this.state = 764; + this.match(SqlBaseParser.SHOW); + this.state = 765; + this.match(SqlBaseParser.TABLES); + this.state = 768; + this._errHandler.sync(this); + _la = this._input.LA(1); + if (_la===78 || _la===93) { + { + this.state = 766; + _la = this._input.LA(1); + if(!(_la===78 || _la===93)) { + this._errHandler.recoverInline(this); + } + else { + this._errHandler.reportMatch(this); + this.consume(); + } + this.state = 767; + this.qualifiedName(); + } + } + + this.state = 776; + this._errHandler.sync(this); + _la = this._input.LA(1); + if (_la===113) { + { + this.state = 770; + this.match(SqlBaseParser.LIKE); + this.state = 771; + (localctx as ShowTablesContext)._pattern = this.string_(); + this.state = 774; + this._errHandler.sync(this); + _la = this._input.LA(1); + if (_la===63) { + { + this.state = 772; + this.match(SqlBaseParser.ESCAPE); + this.state = 773; + (localctx as ShowTablesContext)._escape = this.string_(); + } + } + + } + } + + } + break; + case 49: + localctx = new ShowSchemasContext(this, localctx); + this.enterOuterAlt(localctx, 49); + { + this.state = 778; + this.match(SqlBaseParser.SHOW); + this.state = 779; + this.match(SqlBaseParser.SCHEMAS); + this.state = 782; + this._errHandler.sync(this); + _la = this._input.LA(1); + if (_la===78 || _la===93) { + { + this.state = 780; + _la = this._input.LA(1); + if(!(_la===78 || _la===93)) { + this._errHandler.recoverInline(this); + } + else { + this._errHandler.reportMatch(this); + this.consume(); + } + this.state = 781; + this.identifier(); + } + } + + this.state = 790; + this._errHandler.sync(this); + _la = this._input.LA(1); + if (_la===113) { + { + this.state = 784; + this.match(SqlBaseParser.LIKE); + this.state = 785; + (localctx as ShowSchemasContext)._pattern = this.string_(); + this.state = 788; + this._errHandler.sync(this); + _la = this._input.LA(1); + if (_la===63) { + { + this.state = 786; + this.match(SqlBaseParser.ESCAPE); + this.state = 787; + (localctx as ShowSchemasContext)._escape = this.string_(); + } + } + + } + } + + } + break; + case 50: + localctx = new ShowCatalogsContext(this, localctx); + this.enterOuterAlt(localctx, 50); + { + this.state = 792; + this.match(SqlBaseParser.SHOW); + this.state = 793; + this.match(SqlBaseParser.CATALOGS); + this.state = 800; + this._errHandler.sync(this); + _la = this._input.LA(1); + if (_la===113) { + { + this.state = 794; + this.match(SqlBaseParser.LIKE); + this.state = 795; + (localctx as ShowCatalogsContext)._pattern = this.string_(); + this.state = 798; + this._errHandler.sync(this); + _la = this._input.LA(1); + if (_la===63) { + { + this.state = 796; + this.match(SqlBaseParser.ESCAPE); + this.state = 797; + (localctx as ShowCatalogsContext)._escape = this.string_(); + } + } + + } + } + + } + break; + case 51: + localctx = new ShowColumnsContext(this, localctx); + this.enterOuterAlt(localctx, 51); + { + this.state = 802; + this.match(SqlBaseParser.SHOW); + this.state = 803; + this.match(SqlBaseParser.COLUMNS); + this.state = 804; + _la = this._input.LA(1); + if(!(_la===78 || _la===93)) { + this._errHandler.recoverInline(this); + } + else { + this._errHandler.reportMatch(this); + this.consume(); + } + this.state = 805; + this.qualifiedName(); + } + break; + case 52: + localctx = new ShowStatsContext(this, localctx); + this.enterOuterAlt(localctx, 52); + { + this.state = 806; + this.match(SqlBaseParser.SHOW); + this.state = 807; + this.match(SqlBaseParser.STATS); + this.state = 808; + this.match(SqlBaseParser.FOR); + this.state = 809; + this.qualifiedName(); + } + break; + case 53: + localctx = new ShowStatsForQueryContext(this, localctx); + this.enterOuterAlt(localctx, 53); + { + this.state = 810; + this.match(SqlBaseParser.SHOW); + this.state = 811; + this.match(SqlBaseParser.STATS); + this.state = 812; + this.match(SqlBaseParser.FOR); + this.state = 813; + this.match(SqlBaseParser.T__1); + this.state = 814; + this.querySpecification(); + this.state = 815; + this.match(SqlBaseParser.T__2); + } + break; + case 54: + localctx = new ShowRolesContext(this, localctx); + this.enterOuterAlt(localctx, 54); + { + this.state = 817; + this.match(SqlBaseParser.SHOW); + this.state = 819; + this._errHandler.sync(this); + _la = this._input.LA(1); + if (_la===40) { + { + this.state = 818; + this.match(SqlBaseParser.CURRENT); + } + } + + this.state = 821; + this.match(SqlBaseParser.ROLES); + this.state = 824; + this._errHandler.sync(this); + _la = this._input.LA(1); + if (_la===78 || _la===93) { + { + this.state = 822; + _la = this._input.LA(1); + if(!(_la===78 || _la===93)) { + this._errHandler.recoverInline(this); + } + else { + this._errHandler.reportMatch(this); + this.consume(); + } + this.state = 823; + this.identifier(); + } + } + + } + break; + case 55: + localctx = new ShowRoleGrantsContext(this, localctx); + this.enterOuterAlt(localctx, 55); + { + this.state = 826; + this.match(SqlBaseParser.SHOW); + this.state = 827; + this.match(SqlBaseParser.ROLE); + this.state = 828; + this.match(SqlBaseParser.GRANTS); + this.state = 831; + this._errHandler.sync(this); + _la = this._input.LA(1); + if (_la===78 || _la===93) { + { + this.state = 829; + _la = this._input.LA(1); + if(!(_la===78 || _la===93)) { + this._errHandler.recoverInline(this); + } + else { + this._errHandler.reportMatch(this); + this.consume(); + } + this.state = 830; + this.identifier(); + } + } + + } + break; + case 56: + localctx = new ShowColumnsContext(this, localctx); + this.enterOuterAlt(localctx, 56); + { + this.state = 833; + this.match(SqlBaseParser.DESCRIBE); + this.state = 834; + this.qualifiedName(); + } + break; + case 57: + localctx = new ShowColumnsContext(this, localctx); + this.enterOuterAlt(localctx, 57); + { + this.state = 835; + this.match(SqlBaseParser.DESC); + this.state = 836; + this.qualifiedName(); + } + break; + case 58: + localctx = new ShowFunctionsContext(this, localctx); + this.enterOuterAlt(localctx, 58); + { + this.state = 837; + this.match(SqlBaseParser.SHOW); + this.state = 838; + this.match(SqlBaseParser.FUNCTIONS); + this.state = 845; + this._errHandler.sync(this); + _la = this._input.LA(1); + if (_la===113) { + { + this.state = 839; + this.match(SqlBaseParser.LIKE); + this.state = 840; + (localctx as ShowFunctionsContext)._pattern = this.string_(); + this.state = 843; + this._errHandler.sync(this); + _la = this._input.LA(1); + if (_la===63) { + { + this.state = 841; + this.match(SqlBaseParser.ESCAPE); + this.state = 842; + (localctx as ShowFunctionsContext)._escape = this.string_(); + } + } + + } + } + + } + break; + case 59: + localctx = new ShowSessionContext(this, localctx); + this.enterOuterAlt(localctx, 59); + { + this.state = 847; + this.match(SqlBaseParser.SHOW); + this.state = 848; + this.match(SqlBaseParser.SESSION); + this.state = 855; + this._errHandler.sync(this); + _la = this._input.LA(1); + if (_la===113) { + { + this.state = 849; + this.match(SqlBaseParser.LIKE); + this.state = 850; + (localctx as ShowSessionContext)._pattern = this.string_(); + this.state = 853; + this._errHandler.sync(this); + _la = this._input.LA(1); + if (_la===63) { + { + this.state = 851; + this.match(SqlBaseParser.ESCAPE); + this.state = 852; + (localctx as ShowSessionContext)._escape = this.string_(); + } + } + + } + } + + } + break; + case 60: + localctx = new SetSessionContext(this, localctx); + this.enterOuterAlt(localctx, 60); + { + this.state = 857; + this.match(SqlBaseParser.SET); + this.state = 858; + this.match(SqlBaseParser.SESSION); + this.state = 859; + this.qualifiedName(); + this.state = 860; + this.match(SqlBaseParser.EQ); + this.state = 861; + this.expression(); + } + break; + case 61: + localctx = new ResetSessionContext(this, localctx); + this.enterOuterAlt(localctx, 61); + { + this.state = 863; + this.match(SqlBaseParser.RESET); + this.state = 864; + this.match(SqlBaseParser.SESSION); + this.state = 865; + this.qualifiedName(); + } + break; + case 62: + localctx = new StartTransactionContext(this, localctx); + this.enterOuterAlt(localctx, 62); + { + this.state = 866; + this.match(SqlBaseParser.START); + this.state = 867; + this.match(SqlBaseParser.TRANSACTION); + this.state = 876; + this._errHandler.sync(this); + _la = this._input.LA(1); + if (_la===104 || _la===155) { + { + this.state = 868; + this.transactionMode(); + this.state = 873; + this._errHandler.sync(this); + _la = this._input.LA(1); + while (_la===4) { + { + { + this.state = 869; + this.match(SqlBaseParser.T__3); + this.state = 870; + this.transactionMode(); + } + } + this.state = 875; + this._errHandler.sync(this); + _la = this._input.LA(1); + } + } + } + + } + break; + case 63: + localctx = new CommitContext(this, localctx); + this.enterOuterAlt(localctx, 63); + { + this.state = 878; + this.match(SqlBaseParser.COMMIT); + this.state = 880; + this._errHandler.sync(this); + _la = this._input.LA(1); + if (_la===225) { + { + this.state = 879; + this.match(SqlBaseParser.WORK); + } + } + + } + break; + case 64: + localctx = new RollbackContext(this, localctx); + this.enterOuterAlt(localctx, 64); + { + this.state = 882; + this.match(SqlBaseParser.ROLLBACK); + this.state = 884; + this._errHandler.sync(this); + _la = this._input.LA(1); + if (_la===225) { + { + this.state = 883; + this.match(SqlBaseParser.WORK); + } + } + + } + break; + case 65: + localctx = new PrepareContext(this, localctx); + this.enterOuterAlt(localctx, 65); + { + this.state = 886; + this.match(SqlBaseParser.PREPARE); + this.state = 887; + this.identifier(); + this.state = 888; + this.match(SqlBaseParser.FROM); + this.state = 889; + this.statement(); + } + break; + case 66: + localctx = new DeallocateContext(this, localctx); + this.enterOuterAlt(localctx, 66); + { + this.state = 891; + this.match(SqlBaseParser.DEALLOCATE); + this.state = 892; + this.match(SqlBaseParser.PREPARE); + this.state = 893; + this.identifier(); + } + break; + case 67: + localctx = new ExecuteContext(this, localctx); + this.enterOuterAlt(localctx, 67); + { + this.state = 894; + this.match(SqlBaseParser.EXECUTE); + this.state = 895; + this.identifier(); + this.state = 905; + this._errHandler.sync(this); + _la = this._input.LA(1); + if (_la===216) { + { + this.state = 896; + this.match(SqlBaseParser.USING); + this.state = 897; + this.expression(); + this.state = 902; + this._errHandler.sync(this); + _la = this._input.LA(1); + while (_la===4) { + { + { + this.state = 898; + this.match(SqlBaseParser.T__3); + this.state = 899; + this.expression(); + } + } + this.state = 904; + this._errHandler.sync(this); + _la = this._input.LA(1); + } + } + } + + } + break; + case 68: + localctx = new DescribeInputContext(this, localctx); + this.enterOuterAlt(localctx, 68); + { + this.state = 907; + this.match(SqlBaseParser.DESCRIBE); + this.state = 908; + this.match(SqlBaseParser.INPUT); + this.state = 909; + this.identifier(); + } + break; + case 69: + localctx = new DescribeOutputContext(this, localctx); + this.enterOuterAlt(localctx, 69); + { + this.state = 910; + this.match(SqlBaseParser.DESCRIBE); + this.state = 911; + this.match(SqlBaseParser.OUTPUT); + this.state = 912; + this.identifier(); + } + break; + case 70: + localctx = new UpdateContext(this, localctx); + this.enterOuterAlt(localctx, 70); + { + this.state = 913; + this.match(SqlBaseParser.UPDATE); + this.state = 914; + this.qualifiedName(); + this.state = 915; + this.match(SqlBaseParser.SET); + this.state = 916; + this.updateAssignment(); + this.state = 921; + this._errHandler.sync(this); + _la = this._input.LA(1); + while (_la===4) { + { + { + this.state = 917; + this.match(SqlBaseParser.T__3); + this.state = 918; + this.updateAssignment(); + } + } + this.state = 923; + this._errHandler.sync(this); + _la = this._input.LA(1); + } + this.state = 926; + this._errHandler.sync(this); + _la = this._input.LA(1); + if (_la===223) { + { + this.state = 924; + this.match(SqlBaseParser.WHERE); + this.state = 925; + (localctx as UpdateContext)._where = this.booleanExpression(0); + } + } + + } + break; + } + } + catch (re) { + if (re instanceof RecognitionException) { + localctx.exception = re; + this._errHandler.reportError(this, re); + this._errHandler.recover(this, re); + } else { + throw re; + } + } + finally { + this.exitRule(); + } + return localctx; + } + // @RuleVersion(0) + public query(): QueryContext { + let localctx: QueryContext = new QueryContext(this, this._ctx, this.state); + this.enterRule(localctx, 8, SqlBaseParser.RULE_query); + let _la: number; + try { + this.enterOuterAlt(localctx, 1); + { + this.state = 931; + this._errHandler.sync(this); + _la = this._input.LA(1); + if (_la===224) { + { + this.state = 930; + this.with_(); + } + } + + this.state = 933; + this.queryNoWith(); + } + } + catch (re) { + if (re instanceof RecognitionException) { + localctx.exception = re; + this._errHandler.reportError(this, re); + this._errHandler.recover(this, re); + } else { + throw re; + } + } + finally { + this.exitRule(); + } + return localctx; + } + // @RuleVersion(0) + public with_(): WithContext { + let localctx: WithContext = new WithContext(this, this._ctx, this.state); + this.enterRule(localctx, 10, SqlBaseParser.RULE_with); + let _la: number; + try { + this.enterOuterAlt(localctx, 1); + { + this.state = 935; + this.match(SqlBaseParser.WITH); + this.state = 937; + this._errHandler.sync(this); + _la = this._input.LA(1); + if (_la===156) { + { + this.state = 936; + this.match(SqlBaseParser.RECURSIVE); + } + } + + this.state = 939; + this.namedQuery(); + this.state = 944; + this._errHandler.sync(this); + _la = this._input.LA(1); + while (_la===4) { + { + { + this.state = 940; + this.match(SqlBaseParser.T__3); + this.state = 941; + this.namedQuery(); + } + } + this.state = 946; + this._errHandler.sync(this); + _la = this._input.LA(1); + } + } + } + catch (re) { + if (re instanceof RecognitionException) { + localctx.exception = re; + this._errHandler.reportError(this, re); + this._errHandler.recover(this, re); + } else { + throw re; + } + } + finally { + this.exitRule(); + } + return localctx; + } + // @RuleVersion(0) + public tableElement(): TableElementContext { + let localctx: TableElementContext = new TableElementContext(this, this._ctx, this.state); + this.enterRule(localctx, 12, SqlBaseParser.RULE_tableElement); + try { + this.state = 950; + this._errHandler.sync(this); + switch ( this._interp.adaptivePredict(this._input, 106, this._ctx) ) { + case 1: + this.enterOuterAlt(localctx, 1); + { + this.state = 947; + this.constraintSpecification(); + } + break; + case 2: + this.enterOuterAlt(localctx, 2); + { + this.state = 948; + this.columnDefinition(); + } + break; + case 3: + this.enterOuterAlt(localctx, 3); + { + this.state = 949; + this.likeClause(); + } + break; + } + } + catch (re) { + if (re instanceof RecognitionException) { + localctx.exception = re; + this._errHandler.reportError(this, re); + this._errHandler.recover(this, re); + } else { + throw re; + } + } + finally { + this.exitRule(); + } + return localctx; + } + // @RuleVersion(0) + public columnDefinition(): ColumnDefinitionContext { + let localctx: ColumnDefinitionContext = new ColumnDefinitionContext(this, this._ctx, this.state); + this.enterRule(localctx, 14, SqlBaseParser.RULE_columnDefinition); + let _la: number; + try { + this.enterOuterAlt(localctx, 1); + { + this.state = 952; + this.identifier(); + this.state = 953; + this.type_(0); + this.state = 956; + this._errHandler.sync(this); + _la = this._input.LA(1); + if (_la===131) { + { + this.state = 954; + this.match(SqlBaseParser.NOT); + this.state = 955; + this.match(SqlBaseParser.NULL); + } + } + + this.state = 960; + this._errHandler.sync(this); + _la = this._input.LA(1); + if (_la===33) { + { + this.state = 958; + this.match(SqlBaseParser.COMMENT); + this.state = 959; + this.string_(); + } + } + + this.state = 964; + this._errHandler.sync(this); + _la = this._input.LA(1); + if (_la===224) { + { + this.state = 962; + this.match(SqlBaseParser.WITH); + this.state = 963; + this.properties(); + } + } + + } + } + catch (re) { + if (re instanceof RecognitionException) { + localctx.exception = re; + this._errHandler.reportError(this, re); + this._errHandler.recover(this, re); + } else { + throw re; + } + } + finally { + this.exitRule(); + } + return localctx; + } + // @RuleVersion(0) + public likeClause(): LikeClauseContext { + let localctx: LikeClauseContext = new LikeClauseContext(this, this._ctx, this.state); + this.enterRule(localctx, 16, SqlBaseParser.RULE_likeClause); + let _la: number; + try { + this.enterOuterAlt(localctx, 1); + { + this.state = 966; + this.match(SqlBaseParser.LIKE); + this.state = 967; + this.qualifiedName(); + this.state = 970; + this._errHandler.sync(this); + _la = this._input.LA(1); + if (_la===65 || _la===94) { + { + this.state = 968; + localctx._optionType = this._input.LT(1); + _la = this._input.LA(1); + if(!(_la===65 || _la===94)) { + localctx._optionType = this._errHandler.recoverInline(this); + } + else { + this._errHandler.reportMatch(this); + this.consume(); + } + this.state = 969; + this.match(SqlBaseParser.PROPERTIES); + } + } + + } + } + catch (re) { + if (re instanceof RecognitionException) { + localctx.exception = re; + this._errHandler.reportError(this, re); + this._errHandler.recover(this, re); + } else { + throw re; + } + } + finally { + this.exitRule(); + } + return localctx; + } + // @RuleVersion(0) + public properties(): PropertiesContext { + let localctx: PropertiesContext = new PropertiesContext(this, this._ctx, this.state); + this.enterRule(localctx, 18, SqlBaseParser.RULE_properties); + let _la: number; + try { + this.enterOuterAlt(localctx, 1); + { + this.state = 972; + this.match(SqlBaseParser.T__1); + this.state = 973; + this.property(); + this.state = 978; + this._errHandler.sync(this); + _la = this._input.LA(1); + while (_la===4) { + { + { + this.state = 974; + this.match(SqlBaseParser.T__3); + this.state = 975; + this.property(); + } + } + this.state = 980; + this._errHandler.sync(this); + _la = this._input.LA(1); + } + this.state = 981; + this.match(SqlBaseParser.T__2); + } + } + catch (re) { + if (re instanceof RecognitionException) { + localctx.exception = re; + this._errHandler.reportError(this, re); + this._errHandler.recover(this, re); + } else { + throw re; + } + } + finally { + this.exitRule(); + } + return localctx; + } + // @RuleVersion(0) + public property(): PropertyContext { + let localctx: PropertyContext = new PropertyContext(this, this._ctx, this.state); + this.enterRule(localctx, 20, SqlBaseParser.RULE_property); + try { + this.enterOuterAlt(localctx, 1); + { + this.state = 983; + this.identifier(); + this.state = 984; + this.match(SqlBaseParser.EQ); + this.state = 985; + this.expression(); + } + } + catch (re) { + if (re instanceof RecognitionException) { + localctx.exception = re; + this._errHandler.reportError(this, re); + this._errHandler.recover(this, re); + } else { + throw re; + } + } + finally { + this.exitRule(); + } + return localctx; + } + // @RuleVersion(0) + public sqlParameterDeclaration(): SqlParameterDeclarationContext { + let localctx: SqlParameterDeclarationContext = new SqlParameterDeclarationContext(this, this._ctx, this.state); + this.enterRule(localctx, 22, SqlBaseParser.RULE_sqlParameterDeclaration); + try { + this.enterOuterAlt(localctx, 1); + { + this.state = 987; + this.identifier(); + this.state = 988; + this.type_(0); + } + } + catch (re) { + if (re instanceof RecognitionException) { + localctx.exception = re; + this._errHandler.reportError(this, re); + this._errHandler.recover(this, re); + } else { + throw re; + } + } + finally { + this.exitRule(); + } + return localctx; + } + // @RuleVersion(0) + public routineCharacteristics(): RoutineCharacteristicsContext { + let localctx: RoutineCharacteristicsContext = new RoutineCharacteristicsContext(this, this._ctx, this.state); + this.enterRule(localctx, 24, SqlBaseParser.RULE_routineCharacteristics); + let _la: number; + try { + this.enterOuterAlt(localctx, 1); + { + this.state = 993; + this._errHandler.sync(this); + _la = this._input.LA(1); + while (_la===26 || _la===54 || _la===108 || _la===131 || _la===166) { + { + { + this.state = 990; + this.routineCharacteristic(); + } + } + this.state = 995; + this._errHandler.sync(this); + _la = this._input.LA(1); + } + } + } + catch (re) { + if (re instanceof RecognitionException) { + localctx.exception = re; + this._errHandler.reportError(this, re); + this._errHandler.recover(this, re); + } else { + throw re; + } + } + finally { + this.exitRule(); + } + return localctx; + } + // @RuleVersion(0) + public routineCharacteristic(): RoutineCharacteristicContext { + let localctx: RoutineCharacteristicContext = new RoutineCharacteristicContext(this, this._ctx, this.state); + this.enterRule(localctx, 26, SqlBaseParser.RULE_routineCharacteristic); + try { + this.state = 1000; + this._errHandler.sync(this); + switch (this._input.LA(1)) { + case 108: + this.enterOuterAlt(localctx, 1); + { + this.state = 996; + this.match(SqlBaseParser.LANGUAGE); + this.state = 997; + this.language(); + } + break; + case 54: + case 131: + this.enterOuterAlt(localctx, 2); + { + this.state = 998; + this.determinism(); + } + break; + case 26: + case 166: + this.enterOuterAlt(localctx, 3); + { + this.state = 999; + this.nullCallClause(); + } + break; + default: + throw new NoViableAltException(this); + } + } + catch (re) { + if (re instanceof RecognitionException) { + localctx.exception = re; + this._errHandler.reportError(this, re); + this._errHandler.recover(this, re); + } else { + throw re; + } + } + finally { + this.exitRule(); + } + return localctx; + } + // @RuleVersion(0) + public alterRoutineCharacteristics(): AlterRoutineCharacteristicsContext { + let localctx: AlterRoutineCharacteristicsContext = new AlterRoutineCharacteristicsContext(this, this._ctx, this.state); + this.enterRule(localctx, 28, SqlBaseParser.RULE_alterRoutineCharacteristics); + let _la: number; + try { + this.enterOuterAlt(localctx, 1); + { + this.state = 1005; + this._errHandler.sync(this); + _la = this._input.LA(1); + while (_la===26 || _la===166) { + { + { + this.state = 1002; + this.alterRoutineCharacteristic(); + } + } + this.state = 1007; + this._errHandler.sync(this); + _la = this._input.LA(1); + } + } + } + catch (re) { + if (re instanceof RecognitionException) { + localctx.exception = re; + this._errHandler.reportError(this, re); + this._errHandler.recover(this, re); + } else { + throw re; + } + } + finally { + this.exitRule(); + } + return localctx; + } + // @RuleVersion(0) + public alterRoutineCharacteristic(): AlterRoutineCharacteristicContext { + let localctx: AlterRoutineCharacteristicContext = new AlterRoutineCharacteristicContext(this, this._ctx, this.state); + this.enterRule(localctx, 30, SqlBaseParser.RULE_alterRoutineCharacteristic); + try { + this.enterOuterAlt(localctx, 1); + { + this.state = 1008; + this.nullCallClause(); + } + } + catch (re) { + if (re instanceof RecognitionException) { + localctx.exception = re; + this._errHandler.reportError(this, re); + this._errHandler.recover(this, re); + } else { + throw re; + } + } + finally { + this.exitRule(); + } + return localctx; + } + // @RuleVersion(0) + public routineBody(): RoutineBodyContext { + let localctx: RoutineBodyContext = new RoutineBodyContext(this, this._ctx, this.state); + this.enterRule(localctx, 32, SqlBaseParser.RULE_routineBody); + try { + this.state = 1012; + this._errHandler.sync(this); + switch (this._input.LA(1)) { + case 165: + this.enterOuterAlt(localctx, 1); + { + this.state = 1010; + this.returnStatement(); + } + break; + case 70: + this.enterOuterAlt(localctx, 2); + { + this.state = 1011; + this.externalBodyReference(); + } + break; + default: + throw new NoViableAltException(this); + } + } + catch (re) { + if (re instanceof RecognitionException) { + localctx.exception = re; + this._errHandler.reportError(this, re); + this._errHandler.recover(this, re); + } else { + throw re; + } + } + finally { + this.exitRule(); + } + return localctx; + } + // @RuleVersion(0) + public returnStatement(): ReturnStatementContext { + let localctx: ReturnStatementContext = new ReturnStatementContext(this, this._ctx, this.state); + this.enterRule(localctx, 34, SqlBaseParser.RULE_returnStatement); + try { + this.enterOuterAlt(localctx, 1); + { + this.state = 1014; + this.match(SqlBaseParser.RETURN); + this.state = 1015; + this.expression(); + } + } + catch (re) { + if (re instanceof RecognitionException) { + localctx.exception = re; + this._errHandler.reportError(this, re); + this._errHandler.recover(this, re); + } else { + throw re; + } + } + finally { + this.exitRule(); + } + return localctx; + } + // @RuleVersion(0) + public externalBodyReference(): ExternalBodyReferenceContext { + let localctx: ExternalBodyReferenceContext = new ExternalBodyReferenceContext(this, this._ctx, this.state); + this.enterRule(localctx, 36, SqlBaseParser.RULE_externalBodyReference); + let _la: number; + try { + this.enterOuterAlt(localctx, 1); + { + this.state = 1017; + this.match(SqlBaseParser.EXTERNAL); + this.state = 1020; + this._errHandler.sync(this); + _la = this._input.LA(1); + if (_la===122) { + { + this.state = 1018; + this.match(SqlBaseParser.NAME); + this.state = 1019; + this.externalRoutineName(); + } + } + + } + } + catch (re) { + if (re instanceof RecognitionException) { + localctx.exception = re; + this._errHandler.reportError(this, re); + this._errHandler.recover(this, re); + } else { + throw re; + } + } + finally { + this.exitRule(); + } + return localctx; + } + // @RuleVersion(0) + public language(): LanguageContext { + let localctx: LanguageContext = new LanguageContext(this, this._ctx, this.state); + this.enterRule(localctx, 38, SqlBaseParser.RULE_language); + try { + this.state = 1024; + this._errHandler.sync(this); + switch ( this._interp.adaptivePredict(this._input, 117, this._ctx) ) { + case 1: + this.enterOuterAlt(localctx, 1); + { + this.state = 1022; + this.match(SqlBaseParser.SQL); + } + break; + case 2: + this.enterOuterAlt(localctx, 2); + { + this.state = 1023; + this.identifier(); + } + break; + } + } + catch (re) { + if (re instanceof RecognitionException) { + localctx.exception = re; + this._errHandler.reportError(this, re); + this._errHandler.recover(this, re); + } else { + throw re; + } + } + finally { + this.exitRule(); + } + return localctx; + } + // @RuleVersion(0) + public determinism(): DeterminismContext { + let localctx: DeterminismContext = new DeterminismContext(this, this._ctx, this.state); + this.enterRule(localctx, 40, SqlBaseParser.RULE_determinism); + try { + this.state = 1029; + this._errHandler.sync(this); + switch (this._input.LA(1)) { + case 54: + this.enterOuterAlt(localctx, 1); + { + this.state = 1026; + this.match(SqlBaseParser.DETERMINISTIC); + } + break; + case 131: + this.enterOuterAlt(localctx, 2); + { + this.state = 1027; + this.match(SqlBaseParser.NOT); + this.state = 1028; + this.match(SqlBaseParser.DETERMINISTIC); + } + break; + default: + throw new NoViableAltException(this); + } + } + catch (re) { + if (re instanceof RecognitionException) { + localctx.exception = re; + this._errHandler.reportError(this, re); + this._errHandler.recover(this, re); + } else { + throw re; + } + } + finally { + this.exitRule(); + } + return localctx; + } + // @RuleVersion(0) + public nullCallClause(): NullCallClauseContext { + let localctx: NullCallClauseContext = new NullCallClauseContext(this, this._ctx, this.state); + this.enterRule(localctx, 42, SqlBaseParser.RULE_nullCallClause); + try { + this.state = 1040; + this._errHandler.sync(this); + switch (this._input.LA(1)) { + case 166: + this.enterOuterAlt(localctx, 1); + { + this.state = 1031; + this.match(SqlBaseParser.RETURNS); + this.state = 1032; + this.match(SqlBaseParser.NULL); + this.state = 1033; + this.match(SqlBaseParser.ON); + this.state = 1034; + this.match(SqlBaseParser.NULL); + this.state = 1035; + this.match(SqlBaseParser.INPUT); + } + break; + case 26: + this.enterOuterAlt(localctx, 2); + { + this.state = 1036; + this.match(SqlBaseParser.CALLED); + this.state = 1037; + this.match(SqlBaseParser.ON); + this.state = 1038; + this.match(SqlBaseParser.NULL); + this.state = 1039; + this.match(SqlBaseParser.INPUT); + } + break; + default: + throw new NoViableAltException(this); + } + } + catch (re) { + if (re instanceof RecognitionException) { + localctx.exception = re; + this._errHandler.reportError(this, re); + this._errHandler.recover(this, re); + } else { + throw re; + } + } + finally { + this.exitRule(); + } + return localctx; + } + // @RuleVersion(0) + public externalRoutineName(): ExternalRoutineNameContext { + let localctx: ExternalRoutineNameContext = new ExternalRoutineNameContext(this, this._ctx, this.state); + this.enterRule(localctx, 44, SqlBaseParser.RULE_externalRoutineName); + try { + this.enterOuterAlt(localctx, 1); + { + this.state = 1042; + this.identifier(); + } + } + catch (re) { + if (re instanceof RecognitionException) { + localctx.exception = re; + this._errHandler.reportError(this, re); + this._errHandler.recover(this, re); + } else { + throw re; + } + } + finally { + this.exitRule(); + } + return localctx; + } + // @RuleVersion(0) + public queryNoWith(): QueryNoWithContext { + let localctx: QueryNoWithContext = new QueryNoWithContext(this, this._ctx, this.state); + this.enterRule(localctx, 46, SqlBaseParser.RULE_queryNoWith); + let _la: number; + try { + this.enterOuterAlt(localctx, 1); + { + this.state = 1044; + this.queryTerm(0); + this.state = 1055; + this._errHandler.sync(this); + _la = this._input.LA(1); + if (_la===141) { + { + this.state = 1045; + this.match(SqlBaseParser.ORDER); + this.state = 1046; + this.match(SqlBaseParser.BY); + this.state = 1047; + this.sortItem(); + this.state = 1052; + this._errHandler.sync(this); + _la = this._input.LA(1); + while (_la===4) { + { + { + this.state = 1048; + this.match(SqlBaseParser.T__3); + this.state = 1049; + this.sortItem(); + } + } + this.state = 1054; + this._errHandler.sync(this); + _la = this._input.LA(1); + } + } + } + + this.state = 1062; + this._errHandler.sync(this); + _la = this._input.LA(1); + if (_la===136) { + { + this.state = 1057; + this.match(SqlBaseParser.OFFSET); + this.state = 1058; + localctx._offset = this.match(SqlBaseParser.INTEGER_VALUE); + this.state = 1060; + this._errHandler.sync(this); + _la = this._input.LA(1); + if (_la===173 || _la===174) { + { + this.state = 1059; + _la = this._input.LA(1); + if(!(_la===173 || _la===174)) { + this._errHandler.recoverInline(this); + } + else { + this._errHandler.reportMatch(this); + this.consume(); + } + } + } + + } + } + + this.state = 1073; + this._errHandler.sync(this); + _la = this._input.LA(1); + if (_la===72 || _la===114) { + { + this.state = 1071; + this._errHandler.sync(this); + switch (this._input.LA(1)) { + case 114: + { + this.state = 1064; + this.match(SqlBaseParser.LIMIT); + this.state = 1065; + localctx._limit = this._input.LT(1); + _la = this._input.LA(1); + if(!(_la===12 || _la===244)) { + localctx._limit = this._errHandler.recoverInline(this); + } + else { + this._errHandler.reportMatch(this); + this.consume(); + } + } + break; + case 72: + { + { + this.state = 1066; + this.match(SqlBaseParser.FETCH); + this.state = 1067; + this.match(SqlBaseParser.FIRST); + this.state = 1068; + localctx._fetchFirstNRows = this.match(SqlBaseParser.INTEGER_VALUE); + this.state = 1069; + this.match(SqlBaseParser.ROWS); + this.state = 1070; + this.match(SqlBaseParser.ONLY); + } + } + break; + default: + throw new NoViableAltException(this); + } + } + } + + } + } + catch (re) { + if (re instanceof RecognitionException) { + localctx.exception = re; + this._errHandler.reportError(this, re); + this._errHandler.recover(this, re); + } else { + throw re; + } + } + finally { + this.exitRule(); + } + return localctx; + } + + public queryTerm(): QueryTermContext; + public queryTerm(_p: number): QueryTermContext; + // @RuleVersion(0) + public queryTerm(_p?: number): QueryTermContext { + if (_p === undefined) { + _p = 0; + } + + let _parentctx: ParserRuleContext = this._ctx; + let _parentState: number = this.state; + let localctx: QueryTermContext = new QueryTermContext(this, this._ctx, _parentState); + let _prevctx: QueryTermContext = localctx; + let _startState: number = 48; + this.enterRecursionRule(localctx, 48, SqlBaseParser.RULE_queryTerm, _p); + let _la: number; + try { + let _alt: number; + this.enterOuterAlt(localctx, 1); + { + { + localctx = new QueryTermDefaultContext(this, localctx); + this._ctx = localctx; + _prevctx = localctx; + + this.state = 1076; + this.queryPrimary(); + } + this._ctx.stop = this._input.LT(-1); + this.state = 1092; + this._errHandler.sync(this); + _alt = this._interp.adaptivePredict(this._input, 129, this._ctx); + while (_alt !== 2 && _alt !== ATN.INVALID_ALT_NUMBER) { + if (_alt === 1) { + if (this._parseListeners != null) { + this.triggerExitRuleEvent(); + } + _prevctx = localctx; + { + this.state = 1090; + this._errHandler.sync(this); + switch ( this._interp.adaptivePredict(this._input, 128, this._ctx) ) { + case 1: + { + localctx = new SetOperationContext(this, new QueryTermContext(this, _parentctx, _parentState)); + (localctx as SetOperationContext)._left = _prevctx; + this.pushNewRecursionContext(localctx, _startState, SqlBaseParser.RULE_queryTerm); + this.state = 1078; + if (!(this.precpred(this._ctx, 2))) { + throw this.createFailedPredicateException("this.precpred(this._ctx, 2)"); + } + this.state = 1079; + (localctx as SetOperationContext)._operator = this.match(SqlBaseParser.INTERSECT); + this.state = 1081; + this._errHandler.sync(this); + _la = this._input.LA(1); + if (_la===12 || _la===56) { + { + this.state = 1080; + this.setQuantifier(); + } + } + + this.state = 1083; + (localctx as SetOperationContext)._right = this.queryTerm(3); + } + break; + case 2: + { + localctx = new SetOperationContext(this, new QueryTermContext(this, _parentctx, _parentState)); + (localctx as SetOperationContext)._left = _prevctx; + this.pushNewRecursionContext(localctx, _startState, SqlBaseParser.RULE_queryTerm); + this.state = 1084; + if (!(this.precpred(this._ctx, 1))) { + throw this.createFailedPredicateException("this.precpred(this._ctx, 1)"); + } + this.state = 1085; + (localctx as SetOperationContext)._operator = this._input.LT(1); + _la = this._input.LA(1); + if(!(_la===64 || _la===210)) { + (localctx as SetOperationContext)._operator = this._errHandler.recoverInline(this); + } + else { + this._errHandler.reportMatch(this); + this.consume(); + } + this.state = 1087; + this._errHandler.sync(this); + _la = this._input.LA(1); + if (_la===12 || _la===56) { + { + this.state = 1086; + this.setQuantifier(); + } + } + + this.state = 1089; + (localctx as SetOperationContext)._right = this.queryTerm(2); + } + break; + } + } + } + this.state = 1094; + this._errHandler.sync(this); + _alt = this._interp.adaptivePredict(this._input, 129, this._ctx); + } + } + } + catch (re) { + if (re instanceof RecognitionException) { + localctx.exception = re; + this._errHandler.reportError(this, re); + this._errHandler.recover(this, re); + } else { + throw re; + } + } + finally { + this.unrollRecursionContexts(_parentctx); + } + return localctx; + } + // @RuleVersion(0) + public queryPrimary(): QueryPrimaryContext { + let localctx: QueryPrimaryContext = new QueryPrimaryContext(this, this._ctx, this.state); + this.enterRule(localctx, 50, SqlBaseParser.RULE_queryPrimary); + try { + let _alt: number; + this.state = 1111; + this._errHandler.sync(this); + switch (this._input.LA(1)) { + case 179: + localctx = new QueryPrimaryDefaultContext(this, localctx); + this.enterOuterAlt(localctx, 1); + { + this.state = 1095; + this.querySpecification(); + } + break; + case 193: + localctx = new TableContext(this, localctx); + this.enterOuterAlt(localctx, 2); + { + this.state = 1096; + this.match(SqlBaseParser.TABLE); + this.state = 1097; + this.qualifiedName(); + } + break; + case 218: + localctx = new InlineTableContext(this, localctx); + this.enterOuterAlt(localctx, 3); + { + this.state = 1098; + this.match(SqlBaseParser.VALUES); + this.state = 1099; + this.expression(); + this.state = 1104; + this._errHandler.sync(this); + _alt = this._interp.adaptivePredict(this._input, 130, this._ctx); + while (_alt !== 2 && _alt !== ATN.INVALID_ALT_NUMBER) { + if (_alt === 1) { + { + { + this.state = 1100; + this.match(SqlBaseParser.T__3); + this.state = 1101; + this.expression(); + } + } + } + this.state = 1106; + this._errHandler.sync(this); + _alt = this._interp.adaptivePredict(this._input, 130, this._ctx); + } + } + break; + case 2: + localctx = new SubqueryContext(this, localctx); + this.enterOuterAlt(localctx, 4); + { + this.state = 1107; + this.match(SqlBaseParser.T__1); + this.state = 1108; + this.queryNoWith(); + this.state = 1109; + this.match(SqlBaseParser.T__2); + } + break; + default: + throw new NoViableAltException(this); + } + } + catch (re) { + if (re instanceof RecognitionException) { + localctx.exception = re; + this._errHandler.reportError(this, re); + this._errHandler.recover(this, re); + } else { + throw re; + } + } + finally { + this.exitRule(); + } + return localctx; + } + // @RuleVersion(0) + public sortItem(): SortItemContext { + let localctx: SortItemContext = new SortItemContext(this, this._ctx, this.state); + this.enterRule(localctx, 52, SqlBaseParser.RULE_sortItem); + let _la: number; + try { + this.enterOuterAlt(localctx, 1); + { + this.state = 1113; + this.expression(); + this.state = 1115; + this._errHandler.sync(this); + _la = this._input.LA(1); + if (_la===19 || _la===52) { + { + this.state = 1114; + localctx._ordering = this._input.LT(1); + _la = this._input.LA(1); + if(!(_la===19 || _la===52)) { + localctx._ordering = this._errHandler.recoverInline(this); + } + else { + this._errHandler.reportMatch(this); + this.consume(); + } + } + } + + this.state = 1119; + this._errHandler.sync(this); + _la = this._input.LA(1); + if (_la===134) { + { + this.state = 1117; + this.match(SqlBaseParser.NULLS); + this.state = 1118; + localctx._nullOrdering = this._input.LT(1); + _la = this._input.LA(1); + if(!(_la===74 || _la===109)) { + localctx._nullOrdering = this._errHandler.recoverInline(this); + } + else { + this._errHandler.reportMatch(this); + this.consume(); + } + } + } + + } + } + catch (re) { + if (re instanceof RecognitionException) { + localctx.exception = re; + this._errHandler.reportError(this, re); + this._errHandler.recover(this, re); + } else { + throw re; + } + } + finally { + this.exitRule(); + } + return localctx; + } + // @RuleVersion(0) + public querySpecification(): QuerySpecificationContext { + let localctx: QuerySpecificationContext = new QuerySpecificationContext(this, this._ctx, this.state); + this.enterRule(localctx, 54, SqlBaseParser.RULE_querySpecification); + try { + let _alt: number; + this.enterOuterAlt(localctx, 1); + { + this.state = 1121; + this.match(SqlBaseParser.SELECT); + this.state = 1123; + this._errHandler.sync(this); + switch ( this._interp.adaptivePredict(this._input, 134, this._ctx) ) { + case 1: + { + this.state = 1122; + this.setQuantifier(); + } + break; + } + this.state = 1125; + this.selectItem(); + this.state = 1130; + this._errHandler.sync(this); + _alt = this._interp.adaptivePredict(this._input, 135, this._ctx); + while (_alt !== 2 && _alt !== ATN.INVALID_ALT_NUMBER) { + if (_alt === 1) { + { + { + this.state = 1126; + this.match(SqlBaseParser.T__3); + this.state = 1127; + this.selectItem(); + } + } + } + this.state = 1132; + this._errHandler.sync(this); + _alt = this._interp.adaptivePredict(this._input, 135, this._ctx); + } + this.state = 1142; + this._errHandler.sync(this); + switch ( this._interp.adaptivePredict(this._input, 137, this._ctx) ) { + case 1: + { + this.state = 1133; + this.match(SqlBaseParser.FROM); + this.state = 1134; + this.relation(0); + this.state = 1139; + this._errHandler.sync(this); + _alt = this._interp.adaptivePredict(this._input, 136, this._ctx); + while (_alt !== 2 && _alt !== ATN.INVALID_ALT_NUMBER) { + if (_alt === 1) { + { + { + this.state = 1135; + this.match(SqlBaseParser.T__3); + this.state = 1136; + this.relation(0); + } + } + } + this.state = 1141; + this._errHandler.sync(this); + _alt = this._interp.adaptivePredict(this._input, 136, this._ctx); + } + } + break; + } + this.state = 1146; + this._errHandler.sync(this); + switch ( this._interp.adaptivePredict(this._input, 138, this._ctx) ) { + case 1: + { + this.state = 1144; + this.match(SqlBaseParser.WHERE); + this.state = 1145; + localctx._where = this.booleanExpression(0); + } + break; + } + this.state = 1151; + this._errHandler.sync(this); + switch ( this._interp.adaptivePredict(this._input, 139, this._ctx) ) { + case 1: + { + this.state = 1148; + this.match(SqlBaseParser.GROUP); + this.state = 1149; + this.match(SqlBaseParser.BY); + this.state = 1150; + this.groupBy(); + } + break; + } + this.state = 1155; + this._errHandler.sync(this); + switch ( this._interp.adaptivePredict(this._input, 140, this._ctx) ) { + case 1: + { + this.state = 1153; + this.match(SqlBaseParser.HAVING); + this.state = 1154; + localctx._having = this.booleanExpression(0); + } + break; + } + } + } + catch (re) { + if (re instanceof RecognitionException) { + localctx.exception = re; + this._errHandler.reportError(this, re); + this._errHandler.recover(this, re); + } else { + throw re; + } + } + finally { + this.exitRule(); + } + return localctx; + } + // @RuleVersion(0) + public groupBy(): GroupByContext { + let localctx: GroupByContext = new GroupByContext(this, this._ctx, this.state); + this.enterRule(localctx, 56, SqlBaseParser.RULE_groupBy); + try { + let _alt: number; + this.enterOuterAlt(localctx, 1); + { + this.state = 1158; + this._errHandler.sync(this); + switch ( this._interp.adaptivePredict(this._input, 141, this._ctx) ) { + case 1: + { + this.state = 1157; + this.setQuantifier(); + } + break; + } + this.state = 1160; + this.groupingElement(); + this.state = 1165; + this._errHandler.sync(this); + _alt = this._interp.adaptivePredict(this._input, 142, this._ctx); + while (_alt !== 2 && _alt !== ATN.INVALID_ALT_NUMBER) { + if (_alt === 1) { + { + { + this.state = 1161; + this.match(SqlBaseParser.T__3); + this.state = 1162; + this.groupingElement(); + } + } + } + this.state = 1167; + this._errHandler.sync(this); + _alt = this._interp.adaptivePredict(this._input, 142, this._ctx); + } + } + } + catch (re) { + if (re instanceof RecognitionException) { + localctx.exception = re; + this._errHandler.reportError(this, re); + this._errHandler.recover(this, re); + } else { + throw re; + } + } + finally { + this.exitRule(); + } + return localctx; + } + // @RuleVersion(0) + public groupingElement(): GroupingElementContext { + let localctx: GroupingElementContext = new GroupingElementContext(this, this._ctx, this.state); + this.enterRule(localctx, 58, SqlBaseParser.RULE_groupingElement); + let _la: number; + try { + this.state = 1208; + this._errHandler.sync(this); + switch ( this._interp.adaptivePredict(this._input, 148, this._ctx) ) { + case 1: + localctx = new SingleGroupingSetContext(this, localctx); + this.enterOuterAlt(localctx, 1); + { + this.state = 1168; + this.groupingSet(); + } + break; + case 2: + localctx = new RollupContext(this, localctx); + this.enterOuterAlt(localctx, 2); + { + this.state = 1169; + this.match(SqlBaseParser.ROLLUP); + this.state = 1170; + this.match(SqlBaseParser.T__1); + this.state = 1179; + this._errHandler.sync(this); + _la = this._input.LA(1); + if ((((_la) & ~0x1F) === 0 && ((1 << _la) & 4269497380) !== 0) || ((((_la - 32)) & ~0x1F) === 0 && ((1 << (_la - 32)) & 1389756175) !== 0) || ((((_la - 65)) & ~0x1F) === 0 && ((1 << (_la - 65)) & 2933889021) !== 0) || ((((_la - 99)) & ~0x1F) === 0 && ((1 << (_la - 99)) & 4278169453) !== 0) || ((((_la - 131)) & ~0x1F) === 0 && ((1 << (_la - 131)) & 4260882879) !== 0) || ((((_la - 163)) & ~0x1F) === 0 && ((1 << (_la - 163)) & 3221159391) !== 0) || ((((_la - 195)) & ~0x1F) === 0 && ((1 << (_la - 195)) & 3344789495) !== 0) || ((((_la - 227)) & ~0x1F) === 0 && ((1 << (_la - 227)) & 83870467) !== 0)) { + { + this.state = 1171; + this.expression(); + this.state = 1176; + this._errHandler.sync(this); + _la = this._input.LA(1); + while (_la===4) { + { + { + this.state = 1172; + this.match(SqlBaseParser.T__3); + this.state = 1173; + this.expression(); + } + } + this.state = 1178; + this._errHandler.sync(this); + _la = this._input.LA(1); + } + } + } + + this.state = 1181; + this.match(SqlBaseParser.T__2); + } + break; + case 3: + localctx = new CubeContext(this, localctx); + this.enterOuterAlt(localctx, 3); + { + this.state = 1182; + this.match(SqlBaseParser.CUBE); + this.state = 1183; + this.match(SqlBaseParser.T__1); + this.state = 1192; + this._errHandler.sync(this); + _la = this._input.LA(1); + if ((((_la) & ~0x1F) === 0 && ((1 << _la) & 4269497380) !== 0) || ((((_la - 32)) & ~0x1F) === 0 && ((1 << (_la - 32)) & 1389756175) !== 0) || ((((_la - 65)) & ~0x1F) === 0 && ((1 << (_la - 65)) & 2933889021) !== 0) || ((((_la - 99)) & ~0x1F) === 0 && ((1 << (_la - 99)) & 4278169453) !== 0) || ((((_la - 131)) & ~0x1F) === 0 && ((1 << (_la - 131)) & 4260882879) !== 0) || ((((_la - 163)) & ~0x1F) === 0 && ((1 << (_la - 163)) & 3221159391) !== 0) || ((((_la - 195)) & ~0x1F) === 0 && ((1 << (_la - 195)) & 3344789495) !== 0) || ((((_la - 227)) & ~0x1F) === 0 && ((1 << (_la - 227)) & 83870467) !== 0)) { + { + this.state = 1184; + this.expression(); + this.state = 1189; + this._errHandler.sync(this); + _la = this._input.LA(1); + while (_la===4) { + { + { + this.state = 1185; + this.match(SqlBaseParser.T__3); + this.state = 1186; + this.expression(); + } + } + this.state = 1191; + this._errHandler.sync(this); + _la = this._input.LA(1); + } + } + } + + this.state = 1194; + this.match(SqlBaseParser.T__2); + } + break; + case 4: + localctx = new MultipleGroupingSetsContext(this, localctx); + this.enterOuterAlt(localctx, 4); + { + this.state = 1195; + this.match(SqlBaseParser.GROUPING); + this.state = 1196; + this.match(SqlBaseParser.SETS); + this.state = 1197; + this.match(SqlBaseParser.T__1); + this.state = 1198; + this.groupingSet(); + this.state = 1203; + this._errHandler.sync(this); + _la = this._input.LA(1); + while (_la===4) { + { + { + this.state = 1199; + this.match(SqlBaseParser.T__3); + this.state = 1200; + this.groupingSet(); + } + } + this.state = 1205; + this._errHandler.sync(this); + _la = this._input.LA(1); + } + this.state = 1206; + this.match(SqlBaseParser.T__2); + } + break; + } + } + catch (re) { + if (re instanceof RecognitionException) { + localctx.exception = re; + this._errHandler.reportError(this, re); + this._errHandler.recover(this, re); + } else { + throw re; + } + } + finally { + this.exitRule(); + } + return localctx; + } + // @RuleVersion(0) + public groupingSet(): GroupingSetContext { + let localctx: GroupingSetContext = new GroupingSetContext(this, this._ctx, this.state); + this.enterRule(localctx, 60, SqlBaseParser.RULE_groupingSet); + let _la: number; + try { + this.state = 1223; + this._errHandler.sync(this); + switch ( this._interp.adaptivePredict(this._input, 151, this._ctx) ) { + case 1: + this.enterOuterAlt(localctx, 1); + { + this.state = 1210; + this.match(SqlBaseParser.T__1); + this.state = 1219; + this._errHandler.sync(this); + _la = this._input.LA(1); + if ((((_la) & ~0x1F) === 0 && ((1 << _la) & 4269497380) !== 0) || ((((_la - 32)) & ~0x1F) === 0 && ((1 << (_la - 32)) & 1389756175) !== 0) || ((((_la - 65)) & ~0x1F) === 0 && ((1 << (_la - 65)) & 2933889021) !== 0) || ((((_la - 99)) & ~0x1F) === 0 && ((1 << (_la - 99)) & 4278169453) !== 0) || ((((_la - 131)) & ~0x1F) === 0 && ((1 << (_la - 131)) & 4260882879) !== 0) || ((((_la - 163)) & ~0x1F) === 0 && ((1 << (_la - 163)) & 3221159391) !== 0) || ((((_la - 195)) & ~0x1F) === 0 && ((1 << (_la - 195)) & 3344789495) !== 0) || ((((_la - 227)) & ~0x1F) === 0 && ((1 << (_la - 227)) & 83870467) !== 0)) { + { + this.state = 1211; + this.expression(); + this.state = 1216; + this._errHandler.sync(this); + _la = this._input.LA(1); + while (_la===4) { + { + { + this.state = 1212; + this.match(SqlBaseParser.T__3); + this.state = 1213; + this.expression(); + } + } + this.state = 1218; + this._errHandler.sync(this); + _la = this._input.LA(1); + } + } + } + + this.state = 1221; + this.match(SqlBaseParser.T__2); + } + break; + case 2: + this.enterOuterAlt(localctx, 2); + { + this.state = 1222; + this.expression(); + } + break; + } + } + catch (re) { + if (re instanceof RecognitionException) { + localctx.exception = re; + this._errHandler.reportError(this, re); + this._errHandler.recover(this, re); + } else { + throw re; + } + } + finally { + this.exitRule(); + } + return localctx; + } + // @RuleVersion(0) + public namedQuery(): NamedQueryContext { + let localctx: NamedQueryContext = new NamedQueryContext(this, this._ctx, this.state); + this.enterRule(localctx, 62, SqlBaseParser.RULE_namedQuery); + let _la: number; + try { + this.enterOuterAlt(localctx, 1); + { + this.state = 1225; + localctx._name = this.identifier(); + this.state = 1227; + this._errHandler.sync(this); + _la = this._input.LA(1); + if (_la===2) { + { + this.state = 1226; + this.columnAliases(); + } + } + + this.state = 1229; + this.match(SqlBaseParser.AS); + this.state = 1230; + this.match(SqlBaseParser.T__1); + this.state = 1231; + this.query(); + this.state = 1232; + this.match(SqlBaseParser.T__2); + } + } + catch (re) { + if (re instanceof RecognitionException) { + localctx.exception = re; + this._errHandler.reportError(this, re); + this._errHandler.recover(this, re); + } else { + throw re; + } + } + finally { + this.exitRule(); + } + return localctx; + } + // @RuleVersion(0) + public setQuantifier(): SetQuantifierContext { + let localctx: SetQuantifierContext = new SetQuantifierContext(this, this._ctx, this.state); + this.enterRule(localctx, 64, SqlBaseParser.RULE_setQuantifier); + let _la: number; + try { + this.enterOuterAlt(localctx, 1); + { + this.state = 1234; + _la = this._input.LA(1); + if(!(_la===12 || _la===56)) { + this._errHandler.recoverInline(this); + } + else { + this._errHandler.reportMatch(this); + this.consume(); + } + } + } + catch (re) { + if (re instanceof RecognitionException) { + localctx.exception = re; + this._errHandler.reportError(this, re); + this._errHandler.recover(this, re); + } else { + throw re; + } + } + finally { + this.exitRule(); + } + return localctx; + } + // @RuleVersion(0) + public selectItem(): SelectItemContext { + let localctx: SelectItemContext = new SelectItemContext(this, this._ctx, this.state); + this.enterRule(localctx, 66, SqlBaseParser.RULE_selectItem); + let _la: number; + try { + this.state = 1248; + this._errHandler.sync(this); + switch ( this._interp.adaptivePredict(this._input, 155, this._ctx) ) { + case 1: + localctx = new SelectSingleContext(this, localctx); + this.enterOuterAlt(localctx, 1); + { + this.state = 1236; + this.expression(); + this.state = 1241; + this._errHandler.sync(this); + switch ( this._interp.adaptivePredict(this._input, 154, this._ctx) ) { + case 1: + { + this.state = 1238; + this._errHandler.sync(this); + _la = this._input.LA(1); + if (_la===18) { + { + this.state = 1237; + this.match(SqlBaseParser.AS); + } + } + + this.state = 1240; + this.identifier(); + } + break; + } + } + break; + case 2: + localctx = new SelectAllContext(this, localctx); + this.enterOuterAlt(localctx, 2); + { + this.state = 1243; + this.qualifiedName(); + this.state = 1244; + this.match(SqlBaseParser.T__0); + this.state = 1245; + this.match(SqlBaseParser.ASTERISK); + } + break; + case 3: + localctx = new SelectAllContext(this, localctx); + this.enterOuterAlt(localctx, 3); + { + this.state = 1247; + this.match(SqlBaseParser.ASTERISK); + } + break; + } + } + catch (re) { + if (re instanceof RecognitionException) { + localctx.exception = re; + this._errHandler.reportError(this, re); + this._errHandler.recover(this, re); + } else { + throw re; + } + } + finally { + this.exitRule(); + } + return localctx; + } + + public relation(): RelationContext; + public relation(_p: number): RelationContext; + // @RuleVersion(0) + public relation(_p?: number): RelationContext { + if (_p === undefined) { + _p = 0; + } + + let _parentctx: ParserRuleContext = this._ctx; + let _parentState: number = this.state; + let localctx: RelationContext = new RelationContext(this, this._ctx, _parentState); + let _prevctx: RelationContext = localctx; + let _startState: number = 68; + this.enterRecursionRule(localctx, 68, SqlBaseParser.RULE_relation, _p); + try { + let _alt: number; + this.enterOuterAlt(localctx, 1); + { + { + localctx = new RelationDefaultContext(this, localctx); + this._ctx = localctx; + _prevctx = localctx; + + this.state = 1251; + this.sampledRelation(); + } + this._ctx.stop = this._input.LT(-1); + this.state = 1271; + this._errHandler.sync(this); + _alt = this._interp.adaptivePredict(this._input, 157, this._ctx); + while (_alt !== 2 && _alt !== ATN.INVALID_ALT_NUMBER) { + if (_alt === 1) { + if (this._parseListeners != null) { + this.triggerExitRuleEvent(); + } + _prevctx = localctx; + { + { + localctx = new JoinRelationContext(this, new RelationContext(this, _parentctx, _parentState)); + (localctx as JoinRelationContext)._left = _prevctx; + this.pushNewRecursionContext(localctx, _startState, SqlBaseParser.RULE_relation); + this.state = 1253; + if (!(this.precpred(this._ctx, 2))) { + throw this.createFailedPredicateException("this.precpred(this._ctx, 2)"); + } + this.state = 1267; + this._errHandler.sync(this); + switch (this._input.LA(1)) { + case 38: + { + this.state = 1254; + this.match(SqlBaseParser.CROSS); + this.state = 1255; + this.match(SqlBaseParser.JOIN); + this.state = 1256; + (localctx as JoinRelationContext)._right = this.sampledRelation(); + } + break; + case 79: + case 95: + case 106: + case 111: + case 168: + { + this.state = 1257; + this.joinType(); + this.state = 1258; + this.match(SqlBaseParser.JOIN); + this.state = 1259; + (localctx as JoinRelationContext)._rightRelation = this.relation(0); + this.state = 1260; + this.joinCriteria(); + } + break; + case 123: + { + this.state = 1262; + this.match(SqlBaseParser.NATURAL); + this.state = 1263; + this.joinType(); + this.state = 1264; + this.match(SqlBaseParser.JOIN); + this.state = 1265; + (localctx as JoinRelationContext)._right = this.sampledRelation(); + } + break; + default: + throw new NoViableAltException(this); + } + } + } + } + this.state = 1273; + this._errHandler.sync(this); + _alt = this._interp.adaptivePredict(this._input, 157, this._ctx); + } + } + } + catch (re) { + if (re instanceof RecognitionException) { + localctx.exception = re; + this._errHandler.reportError(this, re); + this._errHandler.recover(this, re); + } else { + throw re; + } + } + finally { + this.unrollRecursionContexts(_parentctx); + } + return localctx; + } + // @RuleVersion(0) + public joinType(): JoinTypeContext { + let localctx: JoinTypeContext = new JoinTypeContext(this, this._ctx, this.state); + this.enterRule(localctx, 70, SqlBaseParser.RULE_joinType); + let _la: number; + try { + this.state = 1289; + this._errHandler.sync(this); + switch (this._input.LA(1)) { + case 95: + case 106: + this.enterOuterAlt(localctx, 1); + { + this.state = 1275; + this._errHandler.sync(this); + _la = this._input.LA(1); + if (_la===95) { + { + this.state = 1274; + this.match(SqlBaseParser.INNER); + } + } + + } + break; + case 111: + this.enterOuterAlt(localctx, 2); + { + this.state = 1277; + this.match(SqlBaseParser.LEFT); + this.state = 1279; + this._errHandler.sync(this); + _la = this._input.LA(1); + if (_la===143) { + { + this.state = 1278; + this.match(SqlBaseParser.OUTER); + } + } + + } + break; + case 168: + this.enterOuterAlt(localctx, 3); + { + this.state = 1281; + this.match(SqlBaseParser.RIGHT); + this.state = 1283; + this._errHandler.sync(this); + _la = this._input.LA(1); + if (_la===143) { + { + this.state = 1282; + this.match(SqlBaseParser.OUTER); + } + } + + } + break; + case 79: + this.enterOuterAlt(localctx, 4); + { + this.state = 1285; + this.match(SqlBaseParser.FULL); + this.state = 1287; + this._errHandler.sync(this); + _la = this._input.LA(1); + if (_la===143) { + { + this.state = 1286; + this.match(SqlBaseParser.OUTER); + } + } + + } + break; + default: + throw new NoViableAltException(this); + } + } + catch (re) { + if (re instanceof RecognitionException) { + localctx.exception = re; + this._errHandler.reportError(this, re); + this._errHandler.recover(this, re); + } else { + throw re; + } + } + finally { + this.exitRule(); + } + return localctx; + } + // @RuleVersion(0) + public joinCriteria(): JoinCriteriaContext { + let localctx: JoinCriteriaContext = new JoinCriteriaContext(this, this._ctx, this.state); + this.enterRule(localctx, 72, SqlBaseParser.RULE_joinCriteria); + let _la: number; + try { + this.state = 1305; + this._errHandler.sync(this); + switch (this._input.LA(1)) { + case 137: + this.enterOuterAlt(localctx, 1); + { + this.state = 1291; + this.match(SqlBaseParser.ON); + this.state = 1292; + this.booleanExpression(0); + } + break; + case 216: + this.enterOuterAlt(localctx, 2); + { + this.state = 1293; + this.match(SqlBaseParser.USING); + this.state = 1294; + this.match(SqlBaseParser.T__1); + this.state = 1295; + this.identifier(); + this.state = 1300; + this._errHandler.sync(this); + _la = this._input.LA(1); + while (_la===4) { + { + { + this.state = 1296; + this.match(SqlBaseParser.T__3); + this.state = 1297; + this.identifier(); + } + } + this.state = 1302; + this._errHandler.sync(this); + _la = this._input.LA(1); + } + this.state = 1303; + this.match(SqlBaseParser.T__2); + } + break; + default: + throw new NoViableAltException(this); + } + } + catch (re) { + if (re instanceof RecognitionException) { + localctx.exception = re; + this._errHandler.reportError(this, re); + this._errHandler.recover(this, re); + } else { + throw re; + } + } + finally { + this.exitRule(); + } + return localctx; + } + // @RuleVersion(0) + public sampledRelation(): SampledRelationContext { + let localctx: SampledRelationContext = new SampledRelationContext(this, this._ctx, this.state); + this.enterRule(localctx, 74, SqlBaseParser.RULE_sampledRelation); + try { + this.enterOuterAlt(localctx, 1); + { + this.state = 1307; + this.aliasedRelation(); + this.state = 1314; + this._errHandler.sync(this); + switch ( this._interp.adaptivePredict(this._input, 165, this._ctx) ) { + case 1: + { + this.state = 1308; + this.match(SqlBaseParser.TABLESAMPLE); + this.state = 1309; + this.sampleType(); + this.state = 1310; + this.match(SqlBaseParser.T__1); + this.state = 1311; + localctx._percentage = this.expression(); + this.state = 1312; + this.match(SqlBaseParser.T__2); + } + break; + } + } + } + catch (re) { + if (re instanceof RecognitionException) { + localctx.exception = re; + this._errHandler.reportError(this, re); + this._errHandler.recover(this, re); + } else { + throw re; + } + } + finally { + this.exitRule(); + } + return localctx; + } + // @RuleVersion(0) + public sampleType(): SampleTypeContext { + let localctx: SampleTypeContext = new SampleTypeContext(this, this._ctx, this.state); + this.enterRule(localctx, 76, SqlBaseParser.RULE_sampleType); + let _la: number; + try { + this.enterOuterAlt(localctx, 1); + { + this.state = 1316; + _la = this._input.LA(1); + if(!(_la===22 || _la===190)) { + this._errHandler.recoverInline(this); + } + else { + this._errHandler.reportMatch(this); + this.consume(); + } + } + } + catch (re) { + if (re instanceof RecognitionException) { + localctx.exception = re; + this._errHandler.reportError(this, re); + this._errHandler.recover(this, re); + } else { + throw re; + } + } + finally { + this.exitRule(); + } + return localctx; + } + // @RuleVersion(0) + public aliasedRelation(): AliasedRelationContext { + let localctx: AliasedRelationContext = new AliasedRelationContext(this, this._ctx, this.state); + this.enterRule(localctx, 78, SqlBaseParser.RULE_aliasedRelation); + let _la: number; + try { + this.enterOuterAlt(localctx, 1); + { + this.state = 1318; + this.relationPrimary(); + this.state = 1326; + this._errHandler.sync(this); + switch ( this._interp.adaptivePredict(this._input, 168, this._ctx) ) { + case 1: + { + this.state = 1320; + this._errHandler.sync(this); + _la = this._input.LA(1); + if (_la===18) { + { + this.state = 1319; + this.match(SqlBaseParser.AS); + } + } + + this.state = 1322; + this.identifier(); + this.state = 1324; + this._errHandler.sync(this); + switch ( this._interp.adaptivePredict(this._input, 167, this._ctx) ) { + case 1: + { + this.state = 1323; + this.columnAliases(); + } + break; + } + } + break; + } + } + } + catch (re) { + if (re instanceof RecognitionException) { + localctx.exception = re; + this._errHandler.reportError(this, re); + this._errHandler.recover(this, re); + } else { + throw re; + } + } + finally { + this.exitRule(); + } + return localctx; + } + // @RuleVersion(0) + public columnAliases(): ColumnAliasesContext { + let localctx: ColumnAliasesContext = new ColumnAliasesContext(this, this._ctx, this.state); + this.enterRule(localctx, 80, SqlBaseParser.RULE_columnAliases); + let _la: number; + try { + this.enterOuterAlt(localctx, 1); + { + this.state = 1328; + this.match(SqlBaseParser.T__1); + this.state = 1329; + this.identifier(); + this.state = 1334; + this._errHandler.sync(this); + _la = this._input.LA(1); + while (_la===4) { + { + { + this.state = 1330; + this.match(SqlBaseParser.T__3); + this.state = 1331; + this.identifier(); + } + } + this.state = 1336; + this._errHandler.sync(this); + _la = this._input.LA(1); + } + this.state = 1337; + this.match(SqlBaseParser.T__2); + } + } + catch (re) { + if (re instanceof RecognitionException) { + localctx.exception = re; + this._errHandler.reportError(this, re); + this._errHandler.recover(this, re); + } else { + throw re; + } + } + finally { + this.exitRule(); + } + return localctx; + } + // @RuleVersion(0) + public relationPrimary(): RelationPrimaryContext { + let localctx: RelationPrimaryContext = new RelationPrimaryContext(this, this._ctx, this.state); + this.enterRule(localctx, 82, SqlBaseParser.RULE_relationPrimary); + let _la: number; + try { + this.state = 1371; + this._errHandler.sync(this); + switch ( this._interp.adaptivePredict(this._input, 173, this._ctx) ) { + case 1: + localctx = new TableNameContext(this, localctx); + this.enterOuterAlt(localctx, 1); + { + this.state = 1339; + this.qualifiedName(); + this.state = 1341; + this._errHandler.sync(this); + switch ( this._interp.adaptivePredict(this._input, 170, this._ctx) ) { + case 1: + { + this.state = 1340; + this.tableVersionExpression(); + } + break; + } + } + break; + case 2: + localctx = new SubqueryRelationContext(this, localctx); + this.enterOuterAlt(localctx, 2); + { + this.state = 1343; + this.match(SqlBaseParser.T__1); + this.state = 1344; + this.query(); + this.state = 1345; + this.match(SqlBaseParser.T__2); + } + break; + case 3: + localctx = new UnnestContext(this, localctx); + this.enterOuterAlt(localctx, 3); + { + this.state = 1347; + this.match(SqlBaseParser.UNNEST); + this.state = 1348; + this.match(SqlBaseParser.T__1); + this.state = 1349; + this.expression(); + this.state = 1354; + this._errHandler.sync(this); + _la = this._input.LA(1); + while (_la===4) { + { + { + this.state = 1350; + this.match(SqlBaseParser.T__3); + this.state = 1351; + this.expression(); + } + } + this.state = 1356; + this._errHandler.sync(this); + _la = this._input.LA(1); + } + this.state = 1357; + this.match(SqlBaseParser.T__2); + this.state = 1360; + this._errHandler.sync(this); + switch ( this._interp.adaptivePredict(this._input, 172, this._ctx) ) { + case 1: + { + this.state = 1358; + this.match(SqlBaseParser.WITH); + this.state = 1359; + this.match(SqlBaseParser.ORDINALITY); + } + break; + } + } + break; + case 4: + localctx = new LateralContext(this, localctx); + this.enterOuterAlt(localctx, 4); + { + this.state = 1362; + this.match(SqlBaseParser.LATERAL); + this.state = 1363; + this.match(SqlBaseParser.T__1); + this.state = 1364; + this.query(); + this.state = 1365; + this.match(SqlBaseParser.T__2); + } + break; + case 5: + localctx = new ParenthesizedRelationContext(this, localctx); + this.enterOuterAlt(localctx, 5); + { + this.state = 1367; + this.match(SqlBaseParser.T__1); + this.state = 1368; + this.relation(0); + this.state = 1369; + this.match(SqlBaseParser.T__2); + } + break; + } + } + catch (re) { + if (re instanceof RecognitionException) { + localctx.exception = re; + this._errHandler.reportError(this, re); + this._errHandler.recover(this, re); + } else { + throw re; + } + } + finally { + this.exitRule(); + } + return localctx; + } + // @RuleVersion(0) + public expression(): ExpressionContext { + let localctx: ExpressionContext = new ExpressionContext(this, this._ctx, this.state); + this.enterRule(localctx, 84, SqlBaseParser.RULE_expression); + try { + this.enterOuterAlt(localctx, 1); + { + this.state = 1373; + this.booleanExpression(0); + } + } + catch (re) { + if (re instanceof RecognitionException) { + localctx.exception = re; + this._errHandler.reportError(this, re); + this._errHandler.recover(this, re); + } else { + throw re; + } + } + finally { + this.exitRule(); + } + return localctx; + } + + public booleanExpression(): BooleanExpressionContext; + public booleanExpression(_p: number): BooleanExpressionContext; + // @RuleVersion(0) + public booleanExpression(_p?: number): BooleanExpressionContext { + if (_p === undefined) { + _p = 0; + } + + let _parentctx: ParserRuleContext = this._ctx; + let _parentState: number = this.state; + let localctx: BooleanExpressionContext = new BooleanExpressionContext(this, this._ctx, _parentState); + let _prevctx: BooleanExpressionContext = localctx; + let _startState: number = 86; + this.enterRecursionRule(localctx, 86, SqlBaseParser.RULE_booleanExpression, _p); + try { + let _alt: number; + this.enterOuterAlt(localctx, 1); + { + this.state = 1382; + this._errHandler.sync(this); + switch (this._input.LA(1)) { + case 2: + case 5: + case 10: + case 11: + case 12: + case 14: + case 16: + case 17: + case 19: + case 20: + case 21: + case 22: + case 25: + case 26: + case 27: + case 28: + case 29: + case 30: + case 31: + case 32: + case 33: + case 34: + case 35: + case 40: + case 41: + case 42: + case 43: + case 44: + case 45: + case 46: + case 47: + case 48: + case 50: + case 52: + case 54: + case 55: + case 57: + case 60: + case 62: + case 65: + case 67: + case 68: + case 69: + case 70: + case 71: + case 72: + case 73: + case 74: + case 75: + case 77: + case 80: + case 81: + case 82: + case 83: + case 84: + case 85: + case 87: + case 88: + case 90: + case 91: + case 92: + case 94: + case 96: + case 99: + case 101: + case 102: + case 104: + case 105: + case 107: + case 108: + case 109: + case 110: + case 112: + case 114: + case 115: + case 116: + case 117: + case 118: + case 119: + case 120: + case 121: + case 122: + case 124: + case 125: + case 126: + case 127: + case 128: + case 129: + case 130: + case 132: + case 133: + case 134: + case 135: + case 136: + case 138: + case 139: + case 142: + case 144: + case 145: + case 146: + case 147: + case 148: + case 149: + case 151: + case 152: + case 153: + case 154: + case 155: + case 157: + case 158: + case 159: + case 160: + case 161: + case 162: + case 163: + case 164: + case 165: + case 166: + case 167: + case 169: + case 170: + case 171: + case 173: + case 174: + case 175: + case 176: + case 177: + case 178: + case 180: + case 181: + case 182: + case 183: + case 184: + case 185: + case 186: + case 187: + case 188: + case 189: + case 190: + case 191: + case 192: + case 194: + case 195: + case 196: + case 197: + case 199: + case 200: + case 201: + case 202: + case 203: + case 204: + case 205: + case 206: + case 208: + case 209: + case 211: + case 213: + case 214: + case 215: + case 217: + case 219: + case 220: + case 221: + case 225: + case 226: + case 227: + case 228: + case 235: + case 236: + case 241: + case 242: + case 243: + case 244: + case 245: + case 246: + case 247: + case 248: + case 249: + case 250: + case 253: + { + localctx = new PredicatedContext(this, localctx); + this._ctx = localctx; + _prevctx = localctx; + + this.state = 1376; + (localctx as PredicatedContext)._valueExpression = this.valueExpression(0); + this.state = 1378; + this._errHandler.sync(this); + switch ( this._interp.adaptivePredict(this._input, 174, this._ctx) ) { + case 1: + { + this.state = 1377; + this.predicate((localctx as PredicatedContext)._valueExpression); + } + break; + } + } + break; + case 131: + { + localctx = new LogicalNotContext(this, localctx); + this._ctx = localctx; + _prevctx = localctx; + this.state = 1380; + this.match(SqlBaseParser.NOT); + this.state = 1381; + this.booleanExpression(3); + } + break; + default: + throw new NoViableAltException(this); + } + this._ctx.stop = this._input.LT(-1); + this.state = 1392; + this._errHandler.sync(this); + _alt = this._interp.adaptivePredict(this._input, 177, this._ctx); + while (_alt !== 2 && _alt !== ATN.INVALID_ALT_NUMBER) { + if (_alt === 1) { + if (this._parseListeners != null) { + this.triggerExitRuleEvent(); + } + _prevctx = localctx; + { + this.state = 1390; + this._errHandler.sync(this); + switch ( this._interp.adaptivePredict(this._input, 176, this._ctx) ) { + case 1: + { + localctx = new LogicalBinaryContext(this, new BooleanExpressionContext(this, _parentctx, _parentState)); + (localctx as LogicalBinaryContext)._left = _prevctx; + this.pushNewRecursionContext(localctx, _startState, SqlBaseParser.RULE_booleanExpression); + this.state = 1384; + if (!(this.precpred(this._ctx, 2))) { + throw this.createFailedPredicateException("this.precpred(this._ctx, 2)"); + } + this.state = 1385; + (localctx as LogicalBinaryContext)._operator = this.match(SqlBaseParser.AND); + this.state = 1386; + (localctx as LogicalBinaryContext)._right = this.booleanExpression(3); + } + break; + case 2: + { + localctx = new LogicalBinaryContext(this, new BooleanExpressionContext(this, _parentctx, _parentState)); + (localctx as LogicalBinaryContext)._left = _prevctx; + this.pushNewRecursionContext(localctx, _startState, SqlBaseParser.RULE_booleanExpression); + this.state = 1387; + if (!(this.precpred(this._ctx, 1))) { + throw this.createFailedPredicateException("this.precpred(this._ctx, 1)"); + } + this.state = 1388; + (localctx as LogicalBinaryContext)._operator = this.match(SqlBaseParser.OR); + this.state = 1389; + (localctx as LogicalBinaryContext)._right = this.booleanExpression(2); + } + break; + } + } + } + this.state = 1394; + this._errHandler.sync(this); + _alt = this._interp.adaptivePredict(this._input, 177, this._ctx); + } + } + } + catch (re) { + if (re instanceof RecognitionException) { + localctx.exception = re; + this._errHandler.reportError(this, re); + this._errHandler.recover(this, re); + } else { + throw re; + } + } + finally { + this.unrollRecursionContexts(_parentctx); + } + return localctx; + } + // @RuleVersion(0) + public predicate(value: ParserRuleContext): PredicateContext { + let localctx: PredicateContext = new PredicateContext(this, this._ctx, this.state, value); + this.enterRule(localctx, 88, SqlBaseParser.RULE_predicate); + let _la: number; + try { + this.state = 1456; + this._errHandler.sync(this); + switch ( this._interp.adaptivePredict(this._input, 186, this._ctx) ) { + case 1: + localctx = new ComparisonContext(this, localctx); + this.enterOuterAlt(localctx, 1); + { + this.state = 1395; + this.comparisonOperator(); + this.state = 1396; + (localctx as ComparisonContext)._right = this.valueExpression(0); + } + break; + case 2: + localctx = new QuantifiedComparisonContext(this, localctx); + this.enterOuterAlt(localctx, 2); + { + this.state = 1398; + this.comparisonOperator(); + this.state = 1399; + this.comparisonQuantifier(); + this.state = 1400; + this.match(SqlBaseParser.T__1); + this.state = 1401; + this.query(); + this.state = 1402; + this.match(SqlBaseParser.T__2); + } + break; + case 3: + localctx = new BetweenContext(this, localctx); + this.enterOuterAlt(localctx, 3); + { + this.state = 1405; + this._errHandler.sync(this); + _la = this._input.LA(1); + if (_la===131) { + { + this.state = 1404; + this.match(SqlBaseParser.NOT); + } + } + + this.state = 1407; + this.match(SqlBaseParser.BETWEEN); + this.state = 1408; + (localctx as BetweenContext)._lower = this.valueExpression(0); + this.state = 1409; + this.match(SqlBaseParser.AND); + this.state = 1410; + (localctx as BetweenContext)._upper = this.valueExpression(0); + } + break; + case 4: + localctx = new InListContext(this, localctx); + this.enterOuterAlt(localctx, 4); + { + this.state = 1413; + this._errHandler.sync(this); + _la = this._input.LA(1); + if (_la===131) { + { + this.state = 1412; + this.match(SqlBaseParser.NOT); + } + } + + this.state = 1415; + this.match(SqlBaseParser.IN); + this.state = 1416; + this.match(SqlBaseParser.T__1); + this.state = 1417; + this.expression(); + this.state = 1422; + this._errHandler.sync(this); + _la = this._input.LA(1); + while (_la===4) { + { + { + this.state = 1418; + this.match(SqlBaseParser.T__3); + this.state = 1419; + this.expression(); + } + } + this.state = 1424; + this._errHandler.sync(this); + _la = this._input.LA(1); + } + this.state = 1425; + this.match(SqlBaseParser.T__2); + } + break; + case 5: + localctx = new InSubqueryContext(this, localctx); + this.enterOuterAlt(localctx, 5); + { + this.state = 1428; + this._errHandler.sync(this); + _la = this._input.LA(1); + if (_la===131) { + { + this.state = 1427; + this.match(SqlBaseParser.NOT); + } + } + + this.state = 1430; + this.match(SqlBaseParser.IN); + this.state = 1431; + this.match(SqlBaseParser.T__1); + this.state = 1432; + this.query(); + this.state = 1433; + this.match(SqlBaseParser.T__2); + } + break; + case 6: + localctx = new LikeContext(this, localctx); + this.enterOuterAlt(localctx, 6); + { + this.state = 1436; + this._errHandler.sync(this); + _la = this._input.LA(1); + if (_la===131) { + { + this.state = 1435; + this.match(SqlBaseParser.NOT); + } + } + + this.state = 1438; + this.match(SqlBaseParser.LIKE); + this.state = 1439; + (localctx as LikeContext)._pattern = this.valueExpression(0); + this.state = 1442; + this._errHandler.sync(this); + switch ( this._interp.adaptivePredict(this._input, 183, this._ctx) ) { + case 1: + { + this.state = 1440; + this.match(SqlBaseParser.ESCAPE); + this.state = 1441; + (localctx as LikeContext)._escape = this.valueExpression(0); + } + break; + } + } + break; + case 7: + localctx = new NullPredicateContext(this, localctx); + this.enterOuterAlt(localctx, 7); + { + this.state = 1444; + this.match(SqlBaseParser.IS); + this.state = 1446; + this._errHandler.sync(this); + _la = this._input.LA(1); + if (_la===131) { + { + this.state = 1445; + this.match(SqlBaseParser.NOT); + } + } + + this.state = 1448; + this.match(SqlBaseParser.NULL); + } + break; + case 8: + localctx = new DistinctFromContext(this, localctx); + this.enterOuterAlt(localctx, 8); + { + this.state = 1449; + this.match(SqlBaseParser.IS); + this.state = 1451; + this._errHandler.sync(this); + _la = this._input.LA(1); + if (_la===131) { + { + this.state = 1450; + this.match(SqlBaseParser.NOT); + } + } + + this.state = 1453; + this.match(SqlBaseParser.DISTINCT); + this.state = 1454; + this.match(SqlBaseParser.FROM); + this.state = 1455; + (localctx as DistinctFromContext)._right = this.valueExpression(0); + } + break; + } + } + catch (re) { + if (re instanceof RecognitionException) { + localctx.exception = re; + this._errHandler.reportError(this, re); + this._errHandler.recover(this, re); + } else { + throw re; + } + } + finally { + this.exitRule(); + } + return localctx; + } + + public valueExpression(): ValueExpressionContext; + public valueExpression(_p: number): ValueExpressionContext; + // @RuleVersion(0) + public valueExpression(_p?: number): ValueExpressionContext { + if (_p === undefined) { + _p = 0; + } + + let _parentctx: ParserRuleContext = this._ctx; + let _parentState: number = this.state; + let localctx: ValueExpressionContext = new ValueExpressionContext(this, this._ctx, _parentState); + let _prevctx: ValueExpressionContext = localctx; + let _startState: number = 90; + this.enterRecursionRule(localctx, 90, SqlBaseParser.RULE_valueExpression, _p); + let _la: number; + try { + let _alt: number; + this.enterOuterAlt(localctx, 1); + { + this.state = 1462; + this._errHandler.sync(this); + switch (this._input.LA(1)) { + case 2: + case 5: + case 10: + case 11: + case 12: + case 14: + case 16: + case 17: + case 19: + case 20: + case 21: + case 22: + case 25: + case 26: + case 27: + case 28: + case 29: + case 30: + case 31: + case 32: + case 33: + case 34: + case 35: + case 40: + case 41: + case 42: + case 43: + case 44: + case 45: + case 46: + case 47: + case 48: + case 50: + case 52: + case 54: + case 55: + case 57: + case 60: + case 62: + case 65: + case 67: + case 68: + case 69: + case 70: + case 71: + case 72: + case 73: + case 74: + case 75: + case 77: + case 80: + case 81: + case 82: + case 83: + case 84: + case 85: + case 87: + case 88: + case 90: + case 91: + case 92: + case 94: + case 96: + case 99: + case 101: + case 102: + case 104: + case 105: + case 107: + case 108: + case 109: + case 110: + case 112: + case 114: + case 115: + case 116: + case 117: + case 118: + case 119: + case 120: + case 121: + case 122: + case 124: + case 125: + case 126: + case 127: + case 128: + case 129: + case 130: + case 132: + case 133: + case 134: + case 135: + case 136: + case 138: + case 139: + case 142: + case 144: + case 145: + case 146: + case 147: + case 148: + case 149: + case 151: + case 152: + case 153: + case 154: + case 155: + case 157: + case 158: + case 159: + case 160: + case 161: + case 162: + case 163: + case 164: + case 165: + case 166: + case 167: + case 169: + case 170: + case 171: + case 173: + case 174: + case 175: + case 176: + case 177: + case 178: + case 180: + case 181: + case 182: + case 183: + case 184: + case 185: + case 186: + case 187: + case 188: + case 189: + case 190: + case 191: + case 192: + case 194: + case 195: + case 196: + case 197: + case 199: + case 200: + case 201: + case 202: + case 203: + case 204: + case 205: + case 206: + case 208: + case 209: + case 211: + case 213: + case 214: + case 215: + case 217: + case 219: + case 220: + case 221: + case 225: + case 226: + case 227: + case 228: + case 241: + case 242: + case 243: + case 244: + case 245: + case 246: + case 247: + case 248: + case 249: + case 250: + case 253: + { + localctx = new ValueExpressionDefaultContext(this, localctx); + this._ctx = localctx; + _prevctx = localctx; + + this.state = 1459; + this.primaryExpression(0); + } + break; + case 235: + case 236: + { + localctx = new ArithmeticUnaryContext(this, localctx); + this._ctx = localctx; + _prevctx = localctx; + this.state = 1460; + (localctx as ArithmeticUnaryContext)._operator = this._input.LT(1); + _la = this._input.LA(1); + if(!(_la===235 || _la===236)) { + (localctx as ArithmeticUnaryContext)._operator = this._errHandler.recoverInline(this); + } + else { + this._errHandler.reportMatch(this); + this.consume(); + } + this.state = 1461; + this.valueExpression(4); + } + break; + default: + throw new NoViableAltException(this); + } + this._ctx.stop = this._input.LT(-1); + this.state = 1478; + this._errHandler.sync(this); + _alt = this._interp.adaptivePredict(this._input, 189, this._ctx); + while (_alt !== 2 && _alt !== ATN.INVALID_ALT_NUMBER) { + if (_alt === 1) { + if (this._parseListeners != null) { + this.triggerExitRuleEvent(); + } + _prevctx = localctx; + { + this.state = 1476; + this._errHandler.sync(this); + switch ( this._interp.adaptivePredict(this._input, 188, this._ctx) ) { + case 1: + { + localctx = new ArithmeticBinaryContext(this, new ValueExpressionContext(this, _parentctx, _parentState)); + (localctx as ArithmeticBinaryContext)._left = _prevctx; + this.pushNewRecursionContext(localctx, _startState, SqlBaseParser.RULE_valueExpression); + this.state = 1464; + if (!(this.precpred(this._ctx, 3))) { + throw this.createFailedPredicateException("this.precpred(this._ctx, 3)"); + } + this.state = 1465; + (localctx as ArithmeticBinaryContext)._operator = this._input.LT(1); + _la = this._input.LA(1); + if(!(((((_la - 237)) & ~0x1F) === 0 && ((1 << (_la - 237)) & 7) !== 0))) { + (localctx as ArithmeticBinaryContext)._operator = this._errHandler.recoverInline(this); + } + else { + this._errHandler.reportMatch(this); + this.consume(); + } + this.state = 1466; + (localctx as ArithmeticBinaryContext)._right = this.valueExpression(4); + } + break; + case 2: + { + localctx = new ArithmeticBinaryContext(this, new ValueExpressionContext(this, _parentctx, _parentState)); + (localctx as ArithmeticBinaryContext)._left = _prevctx; + this.pushNewRecursionContext(localctx, _startState, SqlBaseParser.RULE_valueExpression); + this.state = 1467; + if (!(this.precpred(this._ctx, 2))) { + throw this.createFailedPredicateException("this.precpred(this._ctx, 2)"); + } + this.state = 1468; + (localctx as ArithmeticBinaryContext)._operator = this._input.LT(1); + _la = this._input.LA(1); + if(!(_la===235 || _la===236)) { + (localctx as ArithmeticBinaryContext)._operator = this._errHandler.recoverInline(this); + } + else { + this._errHandler.reportMatch(this); + this.consume(); + } + this.state = 1469; + (localctx as ArithmeticBinaryContext)._right = this.valueExpression(3); + } + break; + case 3: + { + localctx = new ConcatenationContext(this, new ValueExpressionContext(this, _parentctx, _parentState)); + (localctx as ConcatenationContext)._left = _prevctx; + this.pushNewRecursionContext(localctx, _startState, SqlBaseParser.RULE_valueExpression); + this.state = 1470; + if (!(this.precpred(this._ctx, 1))) { + throw this.createFailedPredicateException("this.precpred(this._ctx, 1)"); + } + this.state = 1471; + this.match(SqlBaseParser.CONCAT); + this.state = 1472; + (localctx as ConcatenationContext)._right = this.valueExpression(2); + } + break; + case 4: + { + localctx = new AtTimeZoneContext(this, new ValueExpressionContext(this, _parentctx, _parentState)); + this.pushNewRecursionContext(localctx, _startState, SqlBaseParser.RULE_valueExpression); + this.state = 1473; + if (!(this.precpred(this._ctx, 5))) { + throw this.createFailedPredicateException("this.precpred(this._ctx, 5)"); + } + this.state = 1474; + this.match(SqlBaseParser.AT); + this.state = 1475; + this.timeZoneSpecifier(); + } + break; + } + } + } + this.state = 1480; + this._errHandler.sync(this); + _alt = this._interp.adaptivePredict(this._input, 189, this._ctx); + } + } + } + catch (re) { + if (re instanceof RecognitionException) { + localctx.exception = re; + this._errHandler.reportError(this, re); + this._errHandler.recover(this, re); + } else { + throw re; + } + } + finally { + this.unrollRecursionContexts(_parentctx); + } + return localctx; + } + + public primaryExpression(): PrimaryExpressionContext; + public primaryExpression(_p: number): PrimaryExpressionContext; + // @RuleVersion(0) + public primaryExpression(_p?: number): PrimaryExpressionContext { + if (_p === undefined) { + _p = 0; + } + + let _parentctx: ParserRuleContext = this._ctx; + let _parentState: number = this.state; + let localctx: PrimaryExpressionContext = new PrimaryExpressionContext(this, this._ctx, _parentState); + let _prevctx: PrimaryExpressionContext = localctx; + let _startState: number = 92; + this.enterRecursionRule(localctx, 92, SqlBaseParser.RULE_primaryExpression, _p); + let _la: number; + try { + let _alt: number; + this.enterOuterAlt(localctx, 1); + { + this.state = 1720; + this._errHandler.sync(this); + switch ( this._interp.adaptivePredict(this._input, 218, this._ctx) ) { + case 1: + { + localctx = new NullLiteralContext(this, localctx); + this._ctx = localctx; + _prevctx = localctx; + + this.state = 1482; + this.match(SqlBaseParser.NULL); + } + break; + case 2: + { + localctx = new IntervalLiteralContext(this, localctx); + this._ctx = localctx; + _prevctx = localctx; + this.state = 1483; + this.interval(); + } + break; + case 3: + { + localctx = new TypeConstructorContext(this, localctx); + this._ctx = localctx; + _prevctx = localctx; + this.state = 1484; + this.identifier(); + this.state = 1485; + this.string_(); + } + break; + case 4: + { + localctx = new TypeConstructorContext(this, localctx); + this._ctx = localctx; + _prevctx = localctx; + this.state = 1487; + this.match(SqlBaseParser.DOUBLE_PRECISION); + this.state = 1488; + this.string_(); + } + break; + case 5: + { + localctx = new NumericLiteralContext(this, localctx); + this._ctx = localctx; + _prevctx = localctx; + this.state = 1489; + this.number_(); + } + break; + case 6: + { + localctx = new BooleanLiteralContext(this, localctx); + this._ctx = localctx; + _prevctx = localctx; + this.state = 1490; + this.booleanValue(); + } + break; + case 7: + { + localctx = new StringLiteralContext(this, localctx); + this._ctx = localctx; + _prevctx = localctx; + this.state = 1491; + this.string_(); + } + break; + case 8: + { + localctx = new BinaryLiteralContext(this, localctx); + this._ctx = localctx; + _prevctx = localctx; + this.state = 1492; + this.match(SqlBaseParser.BINARY_LITERAL); + } + break; + case 9: + { + localctx = new ParameterContext(this, localctx); + this._ctx = localctx; + _prevctx = localctx; + this.state = 1493; + this.match(SqlBaseParser.T__4); + } + break; + case 10: + { + localctx = new PositionContext(this, localctx); + this._ctx = localctx; + _prevctx = localctx; + this.state = 1494; + this.match(SqlBaseParser.POSITION); + this.state = 1495; + this.match(SqlBaseParser.T__1); + this.state = 1496; + this.valueExpression(0); + this.state = 1497; + this.match(SqlBaseParser.IN); + this.state = 1498; + this.valueExpression(0); + this.state = 1499; + this.match(SqlBaseParser.T__2); + } + break; + case 11: + { + localctx = new RowConstructorContext(this, localctx); + this._ctx = localctx; + _prevctx = localctx; + this.state = 1501; + this.match(SqlBaseParser.T__1); + this.state = 1502; + this.expression(); + this.state = 1505; + this._errHandler.sync(this); + _la = this._input.LA(1); + do { + { + { + this.state = 1503; + this.match(SqlBaseParser.T__3); + this.state = 1504; + this.expression(); + } + } + this.state = 1507; + this._errHandler.sync(this); + _la = this._input.LA(1); + } while (_la===4); + this.state = 1509; + this.match(SqlBaseParser.T__2); + } + break; + case 12: + { + localctx = new RowConstructorContext(this, localctx); + this._ctx = localctx; + _prevctx = localctx; + this.state = 1511; + this.match(SqlBaseParser.ROW); + this.state = 1512; + this.match(SqlBaseParser.T__1); + this.state = 1513; + this.expression(); + this.state = 1518; + this._errHandler.sync(this); + _la = this._input.LA(1); + while (_la===4) { + { + { + this.state = 1514; + this.match(SqlBaseParser.T__3); + this.state = 1515; + this.expression(); + } + } + this.state = 1520; + this._errHandler.sync(this); + _la = this._input.LA(1); + } + this.state = 1521; + this.match(SqlBaseParser.T__2); + } + break; + case 13: + { + localctx = new FunctionCallContext(this, localctx); + this._ctx = localctx; + _prevctx = localctx; + this.state = 1523; + this.qualifiedName(); + this.state = 1524; + this.match(SqlBaseParser.T__1); + this.state = 1525; + this.match(SqlBaseParser.ASTERISK); + this.state = 1526; + this.match(SqlBaseParser.T__2); + this.state = 1528; + this._errHandler.sync(this); + switch ( this._interp.adaptivePredict(this._input, 192, this._ctx) ) { + case 1: + { + this.state = 1527; + this.filter(); + } + break; + } + this.state = 1531; + this._errHandler.sync(this); + switch ( this._interp.adaptivePredict(this._input, 193, this._ctx) ) { + case 1: + { + this.state = 1530; + this.over(); + } + break; + } + } + break; + case 14: + { + localctx = new FunctionCallContext(this, localctx); + this._ctx = localctx; + _prevctx = localctx; + this.state = 1533; + this.qualifiedName(); + this.state = 1534; + this.match(SqlBaseParser.T__1); + this.state = 1546; + this._errHandler.sync(this); + _la = this._input.LA(1); + if ((((_la) & ~0x1F) === 0 && ((1 << _la) & 4269497380) !== 0) || ((((_la - 32)) & ~0x1F) === 0 && ((1 << (_la - 32)) & 1406533391) !== 0) || ((((_la - 65)) & ~0x1F) === 0 && ((1 << (_la - 65)) & 2933889021) !== 0) || ((((_la - 99)) & ~0x1F) === 0 && ((1 << (_la - 99)) & 4278169453) !== 0) || ((((_la - 131)) & ~0x1F) === 0 && ((1 << (_la - 131)) & 4260882879) !== 0) || ((((_la - 163)) & ~0x1F) === 0 && ((1 << (_la - 163)) & 3221159391) !== 0) || ((((_la - 195)) & ~0x1F) === 0 && ((1 << (_la - 195)) & 3344789495) !== 0) || ((((_la - 227)) & ~0x1F) === 0 && ((1 << (_la - 227)) & 83870467) !== 0)) { + { + this.state = 1536; + this._errHandler.sync(this); + switch ( this._interp.adaptivePredict(this._input, 194, this._ctx) ) { + case 1: + { + this.state = 1535; + this.setQuantifier(); + } + break; + } + this.state = 1538; + this.expression(); + this.state = 1543; + this._errHandler.sync(this); + _la = this._input.LA(1); + while (_la===4) { + { + { + this.state = 1539; + this.match(SqlBaseParser.T__3); + this.state = 1540; + this.expression(); + } + } + this.state = 1545; + this._errHandler.sync(this); + _la = this._input.LA(1); + } + } + } + + this.state = 1558; + this._errHandler.sync(this); + _la = this._input.LA(1); + if (_la===141) { + { + this.state = 1548; + this.match(SqlBaseParser.ORDER); + this.state = 1549; + this.match(SqlBaseParser.BY); + this.state = 1550; + this.sortItem(); + this.state = 1555; + this._errHandler.sync(this); + _la = this._input.LA(1); + while (_la===4) { + { + { + this.state = 1551; + this.match(SqlBaseParser.T__3); + this.state = 1552; + this.sortItem(); + } + } + this.state = 1557; + this._errHandler.sync(this); + _la = this._input.LA(1); + } + } + } + + this.state = 1560; + this.match(SqlBaseParser.T__2); + this.state = 1562; + this._errHandler.sync(this); + switch ( this._interp.adaptivePredict(this._input, 199, this._ctx) ) { + case 1: + { + this.state = 1561; + this.filter(); + } + break; + } + this.state = 1568; + this._errHandler.sync(this); + switch ( this._interp.adaptivePredict(this._input, 201, this._ctx) ) { + case 1: + { + this.state = 1565; + this._errHandler.sync(this); + _la = this._input.LA(1); + if (_la===92 || _la===163) { + { + this.state = 1564; + this.nullTreatment(); + } + } + + this.state = 1567; + this.over(); + } + break; + } + } + break; + case 15: + { + localctx = new LambdaContext(this, localctx); + this._ctx = localctx; + _prevctx = localctx; + this.state = 1570; + this.identifier(); + this.state = 1571; + this.match(SqlBaseParser.T__5); + this.state = 1572; + this.expression(); + } + break; + case 16: + { + localctx = new LambdaContext(this, localctx); + this._ctx = localctx; + _prevctx = localctx; + this.state = 1574; + this.match(SqlBaseParser.T__1); + this.state = 1583; + this._errHandler.sync(this); + _la = this._input.LA(1); + if ((((_la) & ~0x1F) === 0 && ((1 << _la) & 3464190976) !== 0) || ((((_la - 32)) & ~0x1F) === 0 && ((1 << (_la - 32)) & 1389741327) !== 0) || ((((_la - 65)) & ~0x1F) === 0 && ((1 << (_la - 65)) & 2929694633) !== 0) || ((((_la - 99)) & ~0x1F) === 0 && ((1 << (_la - 99)) & 2130489197) !== 0) || ((((_la - 133)) & ~0x1F) === 0 && ((1 << (_la - 133)) & 4286446191) !== 0) || ((((_la - 165)) & ~0x1F) === 0 && ((1 << (_la - 165)) & 4026515319) !== 0) || ((((_la - 197)) & ~0x1F) === 0 && ((1 << (_la - 197)) & 4057422781) !== 0) || ((((_la - 247)) & ~0x1F) === 0 && ((1 << (_la - 247)) & 15) !== 0)) { + { + this.state = 1575; + this.identifier(); + this.state = 1580; + this._errHandler.sync(this); + _la = this._input.LA(1); + while (_la===4) { + { + { + this.state = 1576; + this.match(SqlBaseParser.T__3); + this.state = 1577; + this.identifier(); + } + } + this.state = 1582; + this._errHandler.sync(this); + _la = this._input.LA(1); + } + } + } + + this.state = 1585; + this.match(SqlBaseParser.T__2); + this.state = 1586; + this.match(SqlBaseParser.T__5); + this.state = 1587; + this.expression(); + } + break; + case 17: + { + localctx = new SubqueryExpressionContext(this, localctx); + this._ctx = localctx; + _prevctx = localctx; + this.state = 1588; + this.match(SqlBaseParser.T__1); + this.state = 1589; + this.query(); + this.state = 1590; + this.match(SqlBaseParser.T__2); + } + break; + case 18: + { + localctx = new ExistsContext(this, localctx); + this._ctx = localctx; + _prevctx = localctx; + this.state = 1592; + this.match(SqlBaseParser.EXISTS); + this.state = 1593; + this.match(SqlBaseParser.T__1); + this.state = 1594; + this.query(); + this.state = 1595; + this.match(SqlBaseParser.T__2); + } + break; + case 19: + { + localctx = new SimpleCaseContext(this, localctx); + this._ctx = localctx; + _prevctx = localctx; + this.state = 1597; + this.match(SqlBaseParser.CASE); + this.state = 1598; + this.valueExpression(0); + this.state = 1600; + this._errHandler.sync(this); + _la = this._input.LA(1); + do { + { + { + this.state = 1599; + this.whenClause(); + } + } + this.state = 1602; + this._errHandler.sync(this); + _la = this._input.LA(1); + } while (_la===222); + this.state = 1606; + this._errHandler.sync(this); + _la = this._input.LA(1); + if (_la===59) { + { + this.state = 1604; + this.match(SqlBaseParser.ELSE); + this.state = 1605; + (localctx as SimpleCaseContext)._elseExpression = this.expression(); + } + } + + this.state = 1608; + this.match(SqlBaseParser.END); + } + break; + case 20: + { + localctx = new SearchedCaseContext(this, localctx); + this._ctx = localctx; + _prevctx = localctx; + this.state = 1610; + this.match(SqlBaseParser.CASE); + this.state = 1612; + this._errHandler.sync(this); + _la = this._input.LA(1); + do { + { + { + this.state = 1611; + this.whenClause(); + } + } + this.state = 1614; + this._errHandler.sync(this); + _la = this._input.LA(1); + } while (_la===222); + this.state = 1618; + this._errHandler.sync(this); + _la = this._input.LA(1); + if (_la===59) { + { + this.state = 1616; + this.match(SqlBaseParser.ELSE); + this.state = 1617; + (localctx as SearchedCaseContext)._elseExpression = this.expression(); + } + } + + this.state = 1620; + this.match(SqlBaseParser.END); + } + break; + case 21: + { + localctx = new CastContext(this, localctx); + this._ctx = localctx; + _prevctx = localctx; + this.state = 1622; + this.match(SqlBaseParser.CAST); + this.state = 1623; + this.match(SqlBaseParser.T__1); + this.state = 1624; + this.expression(); + this.state = 1625; + this.match(SqlBaseParser.AS); + this.state = 1626; + this.type_(0); + this.state = 1627; + this.match(SqlBaseParser.T__2); + } + break; + case 22: + { + localctx = new CastContext(this, localctx); + this._ctx = localctx; + _prevctx = localctx; + this.state = 1629; + this.match(SqlBaseParser.TRY_CAST); + this.state = 1630; + this.match(SqlBaseParser.T__1); + this.state = 1631; + this.expression(); + this.state = 1632; + this.match(SqlBaseParser.AS); + this.state = 1633; + this.type_(0); + this.state = 1634; + this.match(SqlBaseParser.T__2); + } + break; + case 23: + { + localctx = new ArrayConstructorContext(this, localctx); + this._ctx = localctx; + _prevctx = localctx; + this.state = 1636; + this.match(SqlBaseParser.ARRAY); + this.state = 1637; + this.match(SqlBaseParser.T__6); + this.state = 1646; + this._errHandler.sync(this); + _la = this._input.LA(1); + if ((((_la) & ~0x1F) === 0 && ((1 << _la) & 4269497380) !== 0) || ((((_la - 32)) & ~0x1F) === 0 && ((1 << (_la - 32)) & 1389756175) !== 0) || ((((_la - 65)) & ~0x1F) === 0 && ((1 << (_la - 65)) & 2933889021) !== 0) || ((((_la - 99)) & ~0x1F) === 0 && ((1 << (_la - 99)) & 4278169453) !== 0) || ((((_la - 131)) & ~0x1F) === 0 && ((1 << (_la - 131)) & 4260882879) !== 0) || ((((_la - 163)) & ~0x1F) === 0 && ((1 << (_la - 163)) & 3221159391) !== 0) || ((((_la - 195)) & ~0x1F) === 0 && ((1 << (_la - 195)) & 3344789495) !== 0) || ((((_la - 227)) & ~0x1F) === 0 && ((1 << (_la - 227)) & 83870467) !== 0)) { + { + this.state = 1638; + this.expression(); + this.state = 1643; + this._errHandler.sync(this); + _la = this._input.LA(1); + while (_la===4) { + { + { + this.state = 1639; + this.match(SqlBaseParser.T__3); + this.state = 1640; + this.expression(); + } + } + this.state = 1645; + this._errHandler.sync(this); + _la = this._input.LA(1); + } + } + } + + this.state = 1648; + this.match(SqlBaseParser.T__7); + } + break; + case 24: + { + localctx = new ColumnReferenceContext(this, localctx); + this._ctx = localctx; + _prevctx = localctx; + this.state = 1649; + this.identifier(); + } + break; + case 25: + { + localctx = new SpecialDateTimeFunctionContext(this, localctx); + this._ctx = localctx; + _prevctx = localctx; + this.state = 1650; + (localctx as SpecialDateTimeFunctionContext)._name = this.match(SqlBaseParser.CURRENT_DATE); + } + break; + case 26: + { + localctx = new SpecialDateTimeFunctionContext(this, localctx); + this._ctx = localctx; + _prevctx = localctx; + this.state = 1651; + (localctx as SpecialDateTimeFunctionContext)._name = this.match(SqlBaseParser.CURRENT_TIME); + this.state = 1655; + this._errHandler.sync(this); + switch ( this._interp.adaptivePredict(this._input, 210, this._ctx) ) { + case 1: + { + this.state = 1652; + this.match(SqlBaseParser.T__1); + this.state = 1653; + (localctx as SpecialDateTimeFunctionContext)._precision = this.match(SqlBaseParser.INTEGER_VALUE); + this.state = 1654; + this.match(SqlBaseParser.T__2); + } + break; + } + } + break; + case 27: + { + localctx = new SpecialDateTimeFunctionContext(this, localctx); + this._ctx = localctx; + _prevctx = localctx; + this.state = 1657; + (localctx as SpecialDateTimeFunctionContext)._name = this.match(SqlBaseParser.CURRENT_TIMESTAMP); + this.state = 1661; + this._errHandler.sync(this); + switch ( this._interp.adaptivePredict(this._input, 211, this._ctx) ) { + case 1: + { + this.state = 1658; + this.match(SqlBaseParser.T__1); + this.state = 1659; + (localctx as SpecialDateTimeFunctionContext)._precision = this.match(SqlBaseParser.INTEGER_VALUE); + this.state = 1660; + this.match(SqlBaseParser.T__2); + } + break; + } + } + break; + case 28: + { + localctx = new SpecialDateTimeFunctionContext(this, localctx); + this._ctx = localctx; + _prevctx = localctx; + this.state = 1663; + (localctx as SpecialDateTimeFunctionContext)._name = this.match(SqlBaseParser.LOCALTIME); + this.state = 1667; + this._errHandler.sync(this); + switch ( this._interp.adaptivePredict(this._input, 212, this._ctx) ) { + case 1: + { + this.state = 1664; + this.match(SqlBaseParser.T__1); + this.state = 1665; + (localctx as SpecialDateTimeFunctionContext)._precision = this.match(SqlBaseParser.INTEGER_VALUE); + this.state = 1666; + this.match(SqlBaseParser.T__2); + } + break; + } + } + break; + case 29: + { + localctx = new SpecialDateTimeFunctionContext(this, localctx); + this._ctx = localctx; + _prevctx = localctx; + this.state = 1669; + (localctx as SpecialDateTimeFunctionContext)._name = this.match(SqlBaseParser.LOCALTIMESTAMP); + this.state = 1673; + this._errHandler.sync(this); + switch ( this._interp.adaptivePredict(this._input, 213, this._ctx) ) { + case 1: + { + this.state = 1670; + this.match(SqlBaseParser.T__1); + this.state = 1671; + (localctx as SpecialDateTimeFunctionContext)._precision = this.match(SqlBaseParser.INTEGER_VALUE); + this.state = 1672; + this.match(SqlBaseParser.T__2); + } + break; + } + } + break; + case 30: + { + localctx = new CurrentUserContext(this, localctx); + this._ctx = localctx; + _prevctx = localctx; + this.state = 1675; + (localctx as CurrentUserContext)._name = this.match(SqlBaseParser.CURRENT_USER); + } + break; + case 31: + { + localctx = new SubstringContext(this, localctx); + this._ctx = localctx; + _prevctx = localctx; + this.state = 1676; + this.match(SqlBaseParser.SUBSTRING); + this.state = 1677; + this.match(SqlBaseParser.T__1); + this.state = 1678; + this.valueExpression(0); + this.state = 1679; + this.match(SqlBaseParser.FROM); + this.state = 1680; + this.valueExpression(0); + this.state = 1683; + this._errHandler.sync(this); + _la = this._input.LA(1); + if (_la===76) { + { + this.state = 1681; + this.match(SqlBaseParser.FOR); + this.state = 1682; + this.valueExpression(0); + } + } + + this.state = 1685; + this.match(SqlBaseParser.T__2); + } + break; + case 32: + { + localctx = new NormalizeContext(this, localctx); + this._ctx = localctx; + _prevctx = localctx; + this.state = 1687; + this.match(SqlBaseParser.NORMALIZE); + this.state = 1688; + this.match(SqlBaseParser.T__1); + this.state = 1689; + this.valueExpression(0); + this.state = 1692; + this._errHandler.sync(this); + _la = this._input.LA(1); + if (_la===4) { + { + this.state = 1690; + this.match(SqlBaseParser.T__3); + this.state = 1691; + this.normalForm(); + } + } + + this.state = 1694; + this.match(SqlBaseParser.T__2); + } + break; + case 33: + { + localctx = new ExtractContext(this, localctx); + this._ctx = localctx; + _prevctx = localctx; + this.state = 1696; + this.match(SqlBaseParser.EXTRACT); + this.state = 1697; + this.match(SqlBaseParser.T__1); + this.state = 1698; + this.identifier(); + this.state = 1699; + this.match(SqlBaseParser.FROM); + this.state = 1700; + this.valueExpression(0); + this.state = 1701; + this.match(SqlBaseParser.T__2); + } + break; + case 34: + { + localctx = new ParenthesizedExpressionContext(this, localctx); + this._ctx = localctx; + _prevctx = localctx; + this.state = 1703; + this.match(SqlBaseParser.T__1); + this.state = 1704; + this.expression(); + this.state = 1705; + this.match(SqlBaseParser.T__2); + } + break; + case 35: + { + localctx = new GroupingOperationContext(this, localctx); + this._ctx = localctx; + _prevctx = localctx; + this.state = 1707; + this.match(SqlBaseParser.GROUPING); + this.state = 1708; + this.match(SqlBaseParser.T__1); + this.state = 1717; + this._errHandler.sync(this); + _la = this._input.LA(1); + if ((((_la) & ~0x1F) === 0 && ((1 << _la) & 3464190976) !== 0) || ((((_la - 32)) & ~0x1F) === 0 && ((1 << (_la - 32)) & 1389741327) !== 0) || ((((_la - 65)) & ~0x1F) === 0 && ((1 << (_la - 65)) & 2929694633) !== 0) || ((((_la - 99)) & ~0x1F) === 0 && ((1 << (_la - 99)) & 2130489197) !== 0) || ((((_la - 133)) & ~0x1F) === 0 && ((1 << (_la - 133)) & 4286446191) !== 0) || ((((_la - 165)) & ~0x1F) === 0 && ((1 << (_la - 165)) & 4026515319) !== 0) || ((((_la - 197)) & ~0x1F) === 0 && ((1 << (_la - 197)) & 4057422781) !== 0) || ((((_la - 247)) & ~0x1F) === 0 && ((1 << (_la - 247)) & 15) !== 0)) { + { + this.state = 1709; + this.qualifiedName(); + this.state = 1714; + this._errHandler.sync(this); + _la = this._input.LA(1); + while (_la===4) { + { + { + this.state = 1710; + this.match(SqlBaseParser.T__3); + this.state = 1711; + this.qualifiedName(); + } + } + this.state = 1716; + this._errHandler.sync(this); + _la = this._input.LA(1); + } + } + } + + this.state = 1719; + this.match(SqlBaseParser.T__2); + } + break; + } + this._ctx.stop = this._input.LT(-1); + this.state = 1732; + this._errHandler.sync(this); + _alt = this._interp.adaptivePredict(this._input, 220, this._ctx); + while (_alt !== 2 && _alt !== ATN.INVALID_ALT_NUMBER) { + if (_alt === 1) { + if (this._parseListeners != null) { + this.triggerExitRuleEvent(); + } + _prevctx = localctx; + { + this.state = 1730; + this._errHandler.sync(this); + switch ( this._interp.adaptivePredict(this._input, 219, this._ctx) ) { + case 1: + { + localctx = new SubscriptContext(this, new PrimaryExpressionContext(this, _parentctx, _parentState)); + (localctx as SubscriptContext)._value = _prevctx; + this.pushNewRecursionContext(localctx, _startState, SqlBaseParser.RULE_primaryExpression); + this.state = 1722; + if (!(this.precpred(this._ctx, 14))) { + throw this.createFailedPredicateException("this.precpred(this._ctx, 14)"); + } + this.state = 1723; + this.match(SqlBaseParser.T__6); + this.state = 1724; + (localctx as SubscriptContext)._index = this.valueExpression(0); + this.state = 1725; + this.match(SqlBaseParser.T__7); + } + break; + case 2: + { + localctx = new DereferenceContext(this, new PrimaryExpressionContext(this, _parentctx, _parentState)); + (localctx as DereferenceContext)._base = _prevctx; + this.pushNewRecursionContext(localctx, _startState, SqlBaseParser.RULE_primaryExpression); + this.state = 1727; + if (!(this.precpred(this._ctx, 12))) { + throw this.createFailedPredicateException("this.precpred(this._ctx, 12)"); + } + this.state = 1728; + this.match(SqlBaseParser.T__0); + this.state = 1729; + (localctx as DereferenceContext)._fieldName = this.identifier(); + } + break; + } + } + } + this.state = 1734; + this._errHandler.sync(this); + _alt = this._interp.adaptivePredict(this._input, 220, this._ctx); + } + } + } + catch (re) { + if (re instanceof RecognitionException) { + localctx.exception = re; + this._errHandler.reportError(this, re); + this._errHandler.recover(this, re); + } else { + throw re; + } + } + finally { + this.unrollRecursionContexts(_parentctx); + } + return localctx; + } + // @RuleVersion(0) + public string_(): StringContext { + let localctx: StringContext = new StringContext(this, this._ctx, this.state); + this.enterRule(localctx, 94, SqlBaseParser.RULE_string); + try { + this.state = 1741; + this._errHandler.sync(this); + switch (this._input.LA(1)) { + case 241: + localctx = new BasicStringLiteralContext(this, localctx); + this.enterOuterAlt(localctx, 1); + { + this.state = 1735; + this.match(SqlBaseParser.STRING); + } + break; + case 242: + localctx = new UnicodeStringLiteralContext(this, localctx); + this.enterOuterAlt(localctx, 2); + { + this.state = 1736; + this.match(SqlBaseParser.UNICODE_STRING); + this.state = 1739; + this._errHandler.sync(this); + switch ( this._interp.adaptivePredict(this._input, 221, this._ctx) ) { + case 1: + { + this.state = 1737; + this.match(SqlBaseParser.UESCAPE); + this.state = 1738; + this.match(SqlBaseParser.STRING); + } + break; + } + } + break; + default: + throw new NoViableAltException(this); + } + } + catch (re) { + if (re instanceof RecognitionException) { + localctx.exception = re; + this._errHandler.reportError(this, re); + this._errHandler.recover(this, re); + } else { + throw re; + } + } + finally { + this.exitRule(); + } + return localctx; + } + // @RuleVersion(0) + public nullTreatment(): NullTreatmentContext { + let localctx: NullTreatmentContext = new NullTreatmentContext(this, this._ctx, this.state); + this.enterRule(localctx, 96, SqlBaseParser.RULE_nullTreatment); + try { + this.state = 1747; + this._errHandler.sync(this); + switch (this._input.LA(1)) { + case 92: + this.enterOuterAlt(localctx, 1); + { + this.state = 1743; + this.match(SqlBaseParser.IGNORE); + this.state = 1744; + this.match(SqlBaseParser.NULLS); + } + break; + case 163: + this.enterOuterAlt(localctx, 2); + { + this.state = 1745; + this.match(SqlBaseParser.RESPECT); + this.state = 1746; + this.match(SqlBaseParser.NULLS); + } + break; + default: + throw new NoViableAltException(this); + } + } + catch (re) { + if (re instanceof RecognitionException) { + localctx.exception = re; + this._errHandler.reportError(this, re); + this._errHandler.recover(this, re); + } else { + throw re; + } + } + finally { + this.exitRule(); + } + return localctx; + } + // @RuleVersion(0) + public timeZoneSpecifier(): TimeZoneSpecifierContext { + let localctx: TimeZoneSpecifierContext = new TimeZoneSpecifierContext(this, this._ctx, this.state); + this.enterRule(localctx, 98, SqlBaseParser.RULE_timeZoneSpecifier); + try { + this.state = 1755; + this._errHandler.sync(this); + switch ( this._interp.adaptivePredict(this._input, 224, this._ctx) ) { + case 1: + localctx = new TimeZoneIntervalContext(this, localctx); + this.enterOuterAlt(localctx, 1); + { + this.state = 1749; + this.match(SqlBaseParser.TIME); + this.state = 1750; + this.match(SqlBaseParser.ZONE); + this.state = 1751; + this.interval(); + } + break; + case 2: + localctx = new TimeZoneStringContext(this, localctx); + this.enterOuterAlt(localctx, 2); + { + this.state = 1752; + this.match(SqlBaseParser.TIME); + this.state = 1753; + this.match(SqlBaseParser.ZONE); + this.state = 1754; + this.string_(); + } + break; + } + } + catch (re) { + if (re instanceof RecognitionException) { + localctx.exception = re; + this._errHandler.reportError(this, re); + this._errHandler.recover(this, re); + } else { + throw re; + } + } + finally { + this.exitRule(); + } + return localctx; + } + // @RuleVersion(0) + public comparisonOperator(): ComparisonOperatorContext { + let localctx: ComparisonOperatorContext = new ComparisonOperatorContext(this, this._ctx, this.state); + this.enterRule(localctx, 100, SqlBaseParser.RULE_comparisonOperator); + let _la: number; + try { + this.enterOuterAlt(localctx, 1); + { + this.state = 1757; + _la = this._input.LA(1); + if(!(((((_la - 229)) & ~0x1F) === 0 && ((1 << (_la - 229)) & 63) !== 0))) { + this._errHandler.recoverInline(this); + } + else { + this._errHandler.reportMatch(this); + this.consume(); + } + } + } + catch (re) { + if (re instanceof RecognitionException) { + localctx.exception = re; + this._errHandler.reportError(this, re); + this._errHandler.recover(this, re); + } else { + throw re; + } + } + finally { + this.exitRule(); + } + return localctx; + } + // @RuleVersion(0) + public comparisonQuantifier(): ComparisonQuantifierContext { + let localctx: ComparisonQuantifierContext = new ComparisonQuantifierContext(this, this._ctx, this.state); + this.enterRule(localctx, 102, SqlBaseParser.RULE_comparisonQuantifier); + let _la: number; + try { + this.enterOuterAlt(localctx, 1); + { + this.state = 1759; + _la = this._input.LA(1); + if(!(_la===12 || _la===16 || _la===185)) { + this._errHandler.recoverInline(this); + } + else { + this._errHandler.reportMatch(this); + this.consume(); + } + } + } + catch (re) { + if (re instanceof RecognitionException) { + localctx.exception = re; + this._errHandler.reportError(this, re); + this._errHandler.recover(this, re); + } else { + throw re; + } + } + finally { + this.exitRule(); + } + return localctx; + } + // @RuleVersion(0) + public booleanValue(): BooleanValueContext { + let localctx: BooleanValueContext = new BooleanValueContext(this, this._ctx, this.state); + this.enterRule(localctx, 104, SqlBaseParser.RULE_booleanValue); + let _la: number; + try { + this.enterOuterAlt(localctx, 1); + { + this.state = 1761; + _la = this._input.LA(1); + if(!(_la===71 || _la===203)) { + this._errHandler.recoverInline(this); + } + else { + this._errHandler.reportMatch(this); + this.consume(); + } + } + } + catch (re) { + if (re instanceof RecognitionException) { + localctx.exception = re; + this._errHandler.reportError(this, re); + this._errHandler.recover(this, re); + } else { + throw re; + } + } + finally { + this.exitRule(); + } + return localctx; + } + // @RuleVersion(0) + public interval(): IntervalContext { + let localctx: IntervalContext = new IntervalContext(this, this._ctx, this.state); + this.enterRule(localctx, 106, SqlBaseParser.RULE_interval); + let _la: number; + try { + this.enterOuterAlt(localctx, 1); + { + this.state = 1763; + this.match(SqlBaseParser.INTERVAL); + this.state = 1765; + this._errHandler.sync(this); + _la = this._input.LA(1); + if (_la===235 || _la===236) { + { + this.state = 1764; + localctx._sign = this._input.LT(1); + _la = this._input.LA(1); + if(!(_la===235 || _la===236)) { + localctx._sign = this._errHandler.recoverInline(this); + } + else { + this._errHandler.reportMatch(this); + this.consume(); + } + } + } + + this.state = 1767; + this.string_(); + this.state = 1768; + localctx._from_ = this.intervalField(); + this.state = 1771; + this._errHandler.sync(this); + switch ( this._interp.adaptivePredict(this._input, 226, this._ctx) ) { + case 1: + { + this.state = 1769; + this.match(SqlBaseParser.TO); + this.state = 1770; + localctx._to = this.intervalField(); + } + break; + } + } + } + catch (re) { + if (re instanceof RecognitionException) { + localctx.exception = re; + this._errHandler.reportError(this, re); + this._errHandler.recover(this, re); + } else { + throw re; + } + } + finally { + this.exitRule(); + } + return localctx; + } + // @RuleVersion(0) + public intervalField(): IntervalFieldContext { + let localctx: IntervalFieldContext = new IntervalFieldContext(this, this._ctx, this.state); + this.enterRule(localctx, 108, SqlBaseParser.RULE_intervalField); + let _la: number; + try { + this.enterOuterAlt(localctx, 1); + { + this.state = 1773; + _la = this._input.LA(1); + if(!(_la===48 || ((((_la - 90)) & ~0x1F) === 0 && ((1 << (_la - 90)) & 3221225473) !== 0) || _la===177 || _la===227)) { + this._errHandler.recoverInline(this); + } + else { + this._errHandler.reportMatch(this); + this.consume(); + } + } + } + catch (re) { + if (re instanceof RecognitionException) { + localctx.exception = re; + this._errHandler.reportError(this, re); + this._errHandler.recover(this, re); + } else { + throw re; + } + } + finally { + this.exitRule(); + } + return localctx; + } + // @RuleVersion(0) + public normalForm(): NormalFormContext { + let localctx: NormalFormContext = new NormalFormContext(this, this._ctx, this.state); + this.enterRule(localctx, 110, SqlBaseParser.RULE_normalForm); + let _la: number; + try { + this.enterOuterAlt(localctx, 1); + { + this.state = 1775; + _la = this._input.LA(1); + if(!(((((_la - 124)) & ~0x1F) === 0 && ((1 << (_la - 124)) & 15) !== 0))) { + this._errHandler.recoverInline(this); + } + else { + this._errHandler.reportMatch(this); + this.consume(); + } + } + } + catch (re) { + if (re instanceof RecognitionException) { + localctx.exception = re; + this._errHandler.reportError(this, re); + this._errHandler.recover(this, re); + } else { + throw re; + } + } + finally { + this.exitRule(); + } + return localctx; + } + // @RuleVersion(0) + public types(): TypesContext { + let localctx: TypesContext = new TypesContext(this, this._ctx, this.state); + this.enterRule(localctx, 112, SqlBaseParser.RULE_types); + let _la: number; + try { + this.enterOuterAlt(localctx, 1); + { + this.state = 1777; + this.match(SqlBaseParser.T__1); + this.state = 1786; + this._errHandler.sync(this); + _la = this._input.LA(1); + if ((((_la) & ~0x1F) === 0 && ((1 << _la) & 3464190976) !== 0) || ((((_la - 32)) & ~0x1F) === 0 && ((1 << (_la - 32)) & 1389741327) !== 0) || ((((_la - 65)) & ~0x1F) === 0 && ((1 << (_la - 65)) & 2929694633) !== 0) || ((((_la - 99)) & ~0x1F) === 0 && ((1 << (_la - 99)) & 2130489197) !== 0) || ((((_la - 133)) & ~0x1F) === 0 && ((1 << (_la - 133)) & 4286446191) !== 0) || ((((_la - 165)) & ~0x1F) === 0 && ((1 << (_la - 165)) & 4026515319) !== 0) || ((((_la - 197)) & ~0x1F) === 0 && ((1 << (_la - 197)) & 4057422781) !== 0) || ((((_la - 247)) & ~0x1F) === 0 && ((1 << (_la - 247)) & 127) !== 0)) { + { + this.state = 1778; + this.type_(0); + this.state = 1783; + this._errHandler.sync(this); + _la = this._input.LA(1); + while (_la===4) { + { + { + this.state = 1779; + this.match(SqlBaseParser.T__3); + this.state = 1780; + this.type_(0); + } + } + this.state = 1785; + this._errHandler.sync(this); + _la = this._input.LA(1); + } + } + } + + this.state = 1788; + this.match(SqlBaseParser.T__2); + } + } + catch (re) { + if (re instanceof RecognitionException) { + localctx.exception = re; + this._errHandler.reportError(this, re); + this._errHandler.recover(this, re); + } else { + throw re; + } + } + finally { + this.exitRule(); + } + return localctx; + } + + public type_(): TypeContext; + public type_(_p: number): TypeContext; + // @RuleVersion(0) + public type_(_p?: number): TypeContext { + if (_p === undefined) { + _p = 0; + } + + let _parentctx: ParserRuleContext = this._ctx; + let _parentState: number = this.state; + let localctx: TypeContext = new TypeContext(this, this._ctx, _parentState); + let _prevctx: TypeContext = localctx; + let _startState: number = 114; + this.enterRecursionRule(localctx, 114, SqlBaseParser.RULE_type, _p); + let _la: number; + try { + let _alt: number; + this.enterOuterAlt(localctx, 1); + { + this.state = 1837; + this._errHandler.sync(this); + switch ( this._interp.adaptivePredict(this._input, 232, this._ctx) ) { + case 1: + { + this.state = 1791; + this.match(SqlBaseParser.ARRAY); + this.state = 1792; + this.match(SqlBaseParser.LT); + this.state = 1793; + this.type_(0); + this.state = 1794; + this.match(SqlBaseParser.GT); + } + break; + case 2: + { + this.state = 1796; + this.match(SqlBaseParser.MAP); + this.state = 1797; + this.match(SqlBaseParser.LT); + this.state = 1798; + this.type_(0); + this.state = 1799; + this.match(SqlBaseParser.T__3); + this.state = 1800; + this.type_(0); + this.state = 1801; + this.match(SqlBaseParser.GT); + } + break; + case 3: + { + this.state = 1803; + this.match(SqlBaseParser.ROW); + this.state = 1804; + this.match(SqlBaseParser.T__1); + this.state = 1805; + this.identifier(); + this.state = 1806; + this.type_(0); + this.state = 1813; + this._errHandler.sync(this); + _la = this._input.LA(1); + while (_la===4) { + { + { + this.state = 1807; + this.match(SqlBaseParser.T__3); + this.state = 1808; + this.identifier(); + this.state = 1809; + this.type_(0); + } + } + this.state = 1815; + this._errHandler.sync(this); + _la = this._input.LA(1); + } + this.state = 1816; + this.match(SqlBaseParser.T__2); + } + break; + case 4: + { + this.state = 1818; + this.baseType(); + this.state = 1830; + this._errHandler.sync(this); + switch ( this._interp.adaptivePredict(this._input, 231, this._ctx) ) { + case 1: + { + this.state = 1819; + this.match(SqlBaseParser.T__1); + this.state = 1820; + this.typeParameter(); + this.state = 1825; + this._errHandler.sync(this); + _la = this._input.LA(1); + while (_la===4) { + { + { + this.state = 1821; + this.match(SqlBaseParser.T__3); + this.state = 1822; + this.typeParameter(); + } + } + this.state = 1827; + this._errHandler.sync(this); + _la = this._input.LA(1); + } + this.state = 1828; + this.match(SqlBaseParser.T__2); + } + break; + } + } + break; + case 5: + { + this.state = 1832; + this.match(SqlBaseParser.INTERVAL); + this.state = 1833; + localctx._from_ = this.intervalField(); + this.state = 1834; + this.match(SqlBaseParser.TO); + this.state = 1835; + localctx._to = this.intervalField(); + } + break; + } + this._ctx.stop = this._input.LT(-1); + this.state = 1843; + this._errHandler.sync(this); + _alt = this._interp.adaptivePredict(this._input, 233, this._ctx); + while (_alt !== 2 && _alt !== ATN.INVALID_ALT_NUMBER) { + if (_alt === 1) { + if (this._parseListeners != null) { + this.triggerExitRuleEvent(); + } + _prevctx = localctx; + { + { + localctx = new TypeContext(this, _parentctx, _parentState); + this.pushNewRecursionContext(localctx, _startState, SqlBaseParser.RULE_type); + this.state = 1839; + if (!(this.precpred(this._ctx, 6))) { + throw this.createFailedPredicateException("this.precpred(this._ctx, 6)"); + } + this.state = 1840; + this.match(SqlBaseParser.ARRAY); + } + } + } + this.state = 1845; + this._errHandler.sync(this); + _alt = this._interp.adaptivePredict(this._input, 233, this._ctx); + } + } + } + catch (re) { + if (re instanceof RecognitionException) { + localctx.exception = re; + this._errHandler.reportError(this, re); + this._errHandler.recover(this, re); + } else { + throw re; + } + } + finally { + this.unrollRecursionContexts(_parentctx); + } + return localctx; + } + // @RuleVersion(0) + public typeParameter(): TypeParameterContext { + let localctx: TypeParameterContext = new TypeParameterContext(this, this._ctx, this.state); + this.enterRule(localctx, 116, SqlBaseParser.RULE_typeParameter); + try { + this.state = 1848; + this._errHandler.sync(this); + switch (this._input.LA(1)) { + case 244: + this.enterOuterAlt(localctx, 1); + { + this.state = 1846; + this.match(SqlBaseParser.INTEGER_VALUE); + } + break; + case 10: + case 11: + case 12: + case 14: + case 16: + case 17: + case 19: + case 20: + case 21: + case 22: + case 25: + case 26: + case 27: + case 30: + case 31: + case 32: + case 33: + case 34: + case 35: + case 40: + case 42: + case 46: + case 47: + case 48: + case 50: + case 52: + case 54: + case 55: + case 57: + case 60: + case 62: + case 65: + case 68: + case 70: + case 72: + case 73: + case 74: + case 75: + case 77: + case 80: + case 81: + case 82: + case 83: + case 84: + case 85: + case 88: + case 90: + case 91: + case 92: + case 94: + case 96: + case 99: + case 101: + case 102: + case 104: + case 105: + case 107: + case 108: + case 109: + case 110: + case 112: + case 114: + case 117: + case 118: + case 119: + case 120: + case 121: + case 122: + case 124: + case 125: + case 126: + case 127: + case 128: + case 129: + case 133: + case 134: + case 135: + case 136: + case 138: + case 139: + case 142: + case 144: + case 145: + case 146: + case 147: + case 148: + case 149: + case 151: + case 152: + case 153: + case 154: + case 155: + case 157: + case 158: + case 159: + case 160: + case 161: + case 162: + case 163: + case 164: + case 165: + case 166: + case 167: + case 169: + case 170: + case 171: + case 173: + case 174: + case 175: + case 176: + case 177: + case 178: + case 180: + case 181: + case 182: + case 183: + case 184: + case 185: + case 186: + case 187: + case 188: + case 189: + case 190: + case 191: + case 192: + case 194: + case 195: + case 196: + case 197: + case 199: + case 200: + case 201: + case 202: + case 204: + case 205: + case 206: + case 208: + case 209: + case 211: + case 213: + case 214: + case 215: + case 217: + case 219: + case 220: + case 221: + case 225: + case 226: + case 227: + case 228: + case 247: + case 248: + case 249: + case 250: + case 251: + case 252: + case 253: + this.enterOuterAlt(localctx, 2); + { + this.state = 1847; + this.type_(0); + } + break; + default: + throw new NoViableAltException(this); + } + } + catch (re) { + if (re instanceof RecognitionException) { + localctx.exception = re; + this._errHandler.reportError(this, re); + this._errHandler.recover(this, re); + } else { + throw re; + } + } + finally { + this.exitRule(); + } + return localctx; + } + // @RuleVersion(0) + public baseType(): BaseTypeContext { + let localctx: BaseTypeContext = new BaseTypeContext(this, this._ctx, this.state); + this.enterRule(localctx, 118, SqlBaseParser.RULE_baseType); + try { + this.state = 1854; + this._errHandler.sync(this); + switch (this._input.LA(1)) { + case 251: + this.enterOuterAlt(localctx, 1); + { + this.state = 1850; + this.match(SqlBaseParser.TIME_WITH_TIME_ZONE); + } + break; + case 252: + this.enterOuterAlt(localctx, 2); + { + this.state = 1851; + this.match(SqlBaseParser.TIMESTAMP_WITH_TIME_ZONE); + } + break; + case 253: + this.enterOuterAlt(localctx, 3); + { + this.state = 1852; + this.match(SqlBaseParser.DOUBLE_PRECISION); + } + break; + case 10: + case 11: + case 12: + case 14: + case 16: + case 17: + case 19: + case 20: + case 21: + case 22: + case 25: + case 26: + case 27: + case 30: + case 31: + case 32: + case 33: + case 34: + case 35: + case 40: + case 42: + case 46: + case 47: + case 48: + case 50: + case 52: + case 54: + case 55: + case 57: + case 60: + case 62: + case 65: + case 68: + case 70: + case 72: + case 73: + case 74: + case 75: + case 77: + case 80: + case 81: + case 82: + case 83: + case 84: + case 85: + case 88: + case 90: + case 91: + case 92: + case 94: + case 96: + case 99: + case 101: + case 102: + case 104: + case 105: + case 107: + case 108: + case 109: + case 110: + case 112: + case 114: + case 117: + case 118: + case 119: + case 120: + case 121: + case 122: + case 124: + case 125: + case 126: + case 127: + case 128: + case 129: + case 133: + case 134: + case 135: + case 136: + case 138: + case 139: + case 142: + case 144: + case 145: + case 146: + case 147: + case 148: + case 149: + case 151: + case 152: + case 153: + case 154: + case 155: + case 157: + case 158: + case 159: + case 160: + case 161: + case 162: + case 163: + case 164: + case 165: + case 166: + case 167: + case 169: + case 170: + case 171: + case 173: + case 174: + case 175: + case 176: + case 177: + case 178: + case 180: + case 181: + case 182: + case 183: + case 184: + case 185: + case 186: + case 187: + case 188: + case 189: + case 190: + case 191: + case 192: + case 194: + case 195: + case 196: + case 197: + case 199: + case 200: + case 201: + case 202: + case 204: + case 205: + case 206: + case 208: + case 209: + case 211: + case 213: + case 214: + case 215: + case 217: + case 219: + case 220: + case 221: + case 225: + case 226: + case 227: + case 228: + case 247: + case 248: + case 249: + case 250: + this.enterOuterAlt(localctx, 4); + { + this.state = 1853; + this.qualifiedName(); + } + break; + default: + throw new NoViableAltException(this); + } + } + catch (re) { + if (re instanceof RecognitionException) { + localctx.exception = re; + this._errHandler.reportError(this, re); + this._errHandler.recover(this, re); + } else { + throw re; + } + } + finally { + this.exitRule(); + } + return localctx; + } + // @RuleVersion(0) + public whenClause(): WhenClauseContext { + let localctx: WhenClauseContext = new WhenClauseContext(this, this._ctx, this.state); + this.enterRule(localctx, 120, SqlBaseParser.RULE_whenClause); + try { + this.enterOuterAlt(localctx, 1); + { + this.state = 1856; + this.match(SqlBaseParser.WHEN); + this.state = 1857; + localctx._condition = this.expression(); + this.state = 1858; + this.match(SqlBaseParser.THEN); + this.state = 1859; + localctx._result = this.expression(); + } + } + catch (re) { + if (re instanceof RecognitionException) { + localctx.exception = re; + this._errHandler.reportError(this, re); + this._errHandler.recover(this, re); + } else { + throw re; + } + } + finally { + this.exitRule(); + } + return localctx; + } + // @RuleVersion(0) + public filter(): FilterContext { + let localctx: FilterContext = new FilterContext(this, this._ctx, this.state); + this.enterRule(localctx, 122, SqlBaseParser.RULE_filter); + try { + this.enterOuterAlt(localctx, 1); + { + this.state = 1861; + this.match(SqlBaseParser.FILTER); + this.state = 1862; + this.match(SqlBaseParser.T__1); + this.state = 1863; + this.match(SqlBaseParser.WHERE); + this.state = 1864; + this.booleanExpression(0); + this.state = 1865; + this.match(SqlBaseParser.T__2); + } + } + catch (re) { + if (re instanceof RecognitionException) { + localctx.exception = re; + this._errHandler.reportError(this, re); + this._errHandler.recover(this, re); + } else { + throw re; + } + } + finally { + this.exitRule(); + } + return localctx; + } + // @RuleVersion(0) + public over(): OverContext { + let localctx: OverContext = new OverContext(this, this._ctx, this.state); + this.enterRule(localctx, 124, SqlBaseParser.RULE_over); + let _la: number; + try { + this.enterOuterAlt(localctx, 1); + { + this.state = 1867; + this.match(SqlBaseParser.OVER); + this.state = 1868; + this.match(SqlBaseParser.T__1); + this.state = 1879; + this._errHandler.sync(this); + _la = this._input.LA(1); + if (_la===146) { + { + this.state = 1869; + this.match(SqlBaseParser.PARTITION); + this.state = 1870; + this.match(SqlBaseParser.BY); + this.state = 1871; + localctx._expression = this.expression(); + localctx._partition.push(localctx._expression); + this.state = 1876; + this._errHandler.sync(this); + _la = this._input.LA(1); + while (_la===4) { + { + { + this.state = 1872; + this.match(SqlBaseParser.T__3); + this.state = 1873; + localctx._expression = this.expression(); + localctx._partition.push(localctx._expression); + } + } + this.state = 1878; + this._errHandler.sync(this); + _la = this._input.LA(1); + } + } + } + + this.state = 1891; + this._errHandler.sync(this); + _la = this._input.LA(1); + if (_la===141) { + { + this.state = 1881; + this.match(SqlBaseParser.ORDER); + this.state = 1882; + this.match(SqlBaseParser.BY); + this.state = 1883; + this.sortItem(); + this.state = 1888; + this._errHandler.sync(this); + _la = this._input.LA(1); + while (_la===4) { + { + { + this.state = 1884; + this.match(SqlBaseParser.T__3); + this.state = 1885; + this.sortItem(); + } + } + this.state = 1890; + this._errHandler.sync(this); + _la = this._input.LA(1); + } + } + } + + this.state = 1894; + this._errHandler.sync(this); + _la = this._input.LA(1); + if (_la===88 || _la===154 || _la===174) { + { + this.state = 1893; + this.windowFrame(); + } + } + + this.state = 1896; + this.match(SqlBaseParser.T__2); + } + } + catch (re) { + if (re instanceof RecognitionException) { + localctx.exception = re; + this._errHandler.reportError(this, re); + this._errHandler.recover(this, re); + } else { + throw re; + } + } + finally { + this.exitRule(); + } + return localctx; + } + // @RuleVersion(0) + public windowFrame(): WindowFrameContext { + let localctx: WindowFrameContext = new WindowFrameContext(this, this._ctx, this.state); + this.enterRule(localctx, 126, SqlBaseParser.RULE_windowFrame); + try { + this.state = 1922; + this._errHandler.sync(this); + switch ( this._interp.adaptivePredict(this._input, 241, this._ctx) ) { + case 1: + this.enterOuterAlt(localctx, 1); + { + this.state = 1898; + localctx._frameType = this.match(SqlBaseParser.RANGE); + this.state = 1899; + localctx._start = this.frameBound(); + } + break; + case 2: + this.enterOuterAlt(localctx, 2); + { + this.state = 1900; + localctx._frameType = this.match(SqlBaseParser.ROWS); + this.state = 1901; + localctx._start = this.frameBound(); + } + break; + case 3: + this.enterOuterAlt(localctx, 3); + { + this.state = 1902; + localctx._frameType = this.match(SqlBaseParser.GROUPS); + this.state = 1903; + localctx._start = this.frameBound(); + } + break; + case 4: + this.enterOuterAlt(localctx, 4); + { + this.state = 1904; + localctx._frameType = this.match(SqlBaseParser.RANGE); + this.state = 1905; + this.match(SqlBaseParser.BETWEEN); + this.state = 1906; + localctx._start = this.frameBound(); + this.state = 1907; + this.match(SqlBaseParser.AND); + this.state = 1908; + localctx._end = this.frameBound(); + } + break; + case 5: + this.enterOuterAlt(localctx, 5); + { + this.state = 1910; + localctx._frameType = this.match(SqlBaseParser.ROWS); + this.state = 1911; + this.match(SqlBaseParser.BETWEEN); + this.state = 1912; + localctx._start = this.frameBound(); + this.state = 1913; + this.match(SqlBaseParser.AND); + this.state = 1914; + localctx._end = this.frameBound(); + } + break; + case 6: + this.enterOuterAlt(localctx, 6); + { + this.state = 1916; + localctx._frameType = this.match(SqlBaseParser.GROUPS); + this.state = 1917; + this.match(SqlBaseParser.BETWEEN); + this.state = 1918; + localctx._start = this.frameBound(); + this.state = 1919; + this.match(SqlBaseParser.AND); + this.state = 1920; + localctx._end = this.frameBound(); + } + break; + } + } + catch (re) { + if (re instanceof RecognitionException) { + localctx.exception = re; + this._errHandler.reportError(this, re); + this._errHandler.recover(this, re); + } else { + throw re; + } + } + finally { + this.exitRule(); + } + return localctx; + } + // @RuleVersion(0) + public frameBound(): FrameBoundContext { + let localctx: FrameBoundContext = new FrameBoundContext(this, this._ctx, this.state); + this.enterRule(localctx, 128, SqlBaseParser.RULE_frameBound); + let _la: number; + try { + this.state = 1933; + this._errHandler.sync(this); + switch ( this._interp.adaptivePredict(this._input, 242, this._ctx) ) { + case 1: + localctx = new UnboundedFrameContext(this, localctx); + this.enterOuterAlt(localctx, 1); + { + this.state = 1924; + this.match(SqlBaseParser.UNBOUNDED); + this.state = 1925; + (localctx as UnboundedFrameContext)._boundType = this.match(SqlBaseParser.PRECEDING); + } + break; + case 2: + localctx = new UnboundedFrameContext(this, localctx); + this.enterOuterAlt(localctx, 2); + { + this.state = 1926; + this.match(SqlBaseParser.UNBOUNDED); + this.state = 1927; + (localctx as UnboundedFrameContext)._boundType = this.match(SqlBaseParser.FOLLOWING); + } + break; + case 3: + localctx = new CurrentRowBoundContext(this, localctx); + this.enterOuterAlt(localctx, 3); + { + this.state = 1928; + this.match(SqlBaseParser.CURRENT); + this.state = 1929; + this.match(SqlBaseParser.ROW); + } + break; + case 4: + localctx = new BoundedFrameContext(this, localctx); + this.enterOuterAlt(localctx, 4); + { + this.state = 1930; + this.expression(); + this.state = 1931; + (localctx as BoundedFrameContext)._boundType = this._input.LT(1); + _la = this._input.LA(1); + if(!(_la===75 || _la===149)) { + (localctx as BoundedFrameContext)._boundType = this._errHandler.recoverInline(this); + } + else { + this._errHandler.reportMatch(this); + this.consume(); + } + } + break; + } + } + catch (re) { + if (re instanceof RecognitionException) { + localctx.exception = re; + this._errHandler.reportError(this, re); + this._errHandler.recover(this, re); + } else { + throw re; + } + } + finally { + this.exitRule(); + } + return localctx; + } + // @RuleVersion(0) + public updateAssignment(): UpdateAssignmentContext { + let localctx: UpdateAssignmentContext = new UpdateAssignmentContext(this, this._ctx, this.state); + this.enterRule(localctx, 130, SqlBaseParser.RULE_updateAssignment); + try { + this.enterOuterAlt(localctx, 1); + { + this.state = 1935; + this.identifier(); + this.state = 1936; + this.match(SqlBaseParser.EQ); + this.state = 1937; + this.expression(); + } + } + catch (re) { + if (re instanceof RecognitionException) { + localctx.exception = re; + this._errHandler.reportError(this, re); + this._errHandler.recover(this, re); + } else { + throw re; + } + } + finally { + this.exitRule(); + } + return localctx; + } + // @RuleVersion(0) + public explainOption(): ExplainOptionContext { + let localctx: ExplainOptionContext = new ExplainOptionContext(this, this._ctx, this.state); + this.enterRule(localctx, 132, SqlBaseParser.RULE_explainOption); + let _la: number; + try { + this.state = 1943; + this._errHandler.sync(this); + switch (this._input.LA(1)) { + case 77: + localctx = new ExplainFormatContext(this, localctx); + this.enterOuterAlt(localctx, 1); + { + this.state = 1939; + this.match(SqlBaseParser.FORMAT); + this.state = 1940; + (localctx as ExplainFormatContext)._value = this._input.LT(1); + _la = this._input.LA(1); + if(!(_la===85 || _la===105 || _la===197)) { + (localctx as ExplainFormatContext)._value = this._errHandler.recoverInline(this); + } + else { + this._errHandler.reportMatch(this); + this.consume(); + } + } + break; + case 206: + localctx = new ExplainTypeContext(this, localctx); + this.enterOuterAlt(localctx, 2); + { + this.state = 1941; + this.match(SqlBaseParser.TYPE); + this.state = 1942; + (localctx as ExplainTypeContext)._value = this._input.LT(1); + _la = this._input.LA(1); + if(!(_la===57 || _la===102 || _la===117 || _la===217)) { + (localctx as ExplainTypeContext)._value = this._errHandler.recoverInline(this); + } + else { + this._errHandler.reportMatch(this); + this.consume(); + } + } + break; + default: + throw new NoViableAltException(this); + } + } + catch (re) { + if (re instanceof RecognitionException) { + localctx.exception = re; + this._errHandler.reportError(this, re); + this._errHandler.recover(this, re); + } else { + throw re; + } + } + finally { + this.exitRule(); + } + return localctx; + } + // @RuleVersion(0) + public transactionMode(): TransactionModeContext { + let localctx: TransactionModeContext = new TransactionModeContext(this, this._ctx, this.state); + this.enterRule(localctx, 134, SqlBaseParser.RULE_transactionMode); + let _la: number; + try { + this.state = 1950; + this._errHandler.sync(this); + switch (this._input.LA(1)) { + case 104: + localctx = new IsolationLevelContext(this, localctx); + this.enterOuterAlt(localctx, 1); + { + this.state = 1945; + this.match(SqlBaseParser.ISOLATION); + this.state = 1946; + this.match(SqlBaseParser.LEVEL); + this.state = 1947; + this.levelOfIsolation(); + } + break; + case 155: + localctx = new TransactionAccessModeContext(this, localctx); + this.enterOuterAlt(localctx, 2); + { + this.state = 1948; + this.match(SqlBaseParser.READ); + this.state = 1949; + (localctx as TransactionAccessModeContext)._accessMode = this._input.LT(1); + _la = this._input.LA(1); + if(!(_la===138 || _la===226)) { + (localctx as TransactionAccessModeContext)._accessMode = this._errHandler.recoverInline(this); + } + else { + this._errHandler.reportMatch(this); + this.consume(); + } + } + break; + default: + throw new NoViableAltException(this); + } + } + catch (re) { + if (re instanceof RecognitionException) { + localctx.exception = re; + this._errHandler.reportError(this, re); + this._errHandler.recover(this, re); + } else { + throw re; + } + } + finally { + this.exitRule(); + } + return localctx; + } + // @RuleVersion(0) + public levelOfIsolation(): LevelOfIsolationContext { + let localctx: LevelOfIsolationContext = new LevelOfIsolationContext(this, this._ctx, this.state); + this.enterRule(localctx, 136, SqlBaseParser.RULE_levelOfIsolation); + try { + this.state = 1959; + this._errHandler.sync(this); + switch ( this._interp.adaptivePredict(this._input, 245, this._ctx) ) { + case 1: + localctx = new ReadUncommittedContext(this, localctx); + this.enterOuterAlt(localctx, 1); + { + this.state = 1952; + this.match(SqlBaseParser.READ); + this.state = 1953; + this.match(SqlBaseParser.UNCOMMITTED); + } + break; + case 2: + localctx = new ReadCommittedContext(this, localctx); + this.enterOuterAlt(localctx, 2); + { + this.state = 1954; + this.match(SqlBaseParser.READ); + this.state = 1955; + this.match(SqlBaseParser.COMMITTED); + } + break; + case 3: + localctx = new RepeatableReadContext(this, localctx); + this.enterOuterAlt(localctx, 3); + { + this.state = 1956; + this.match(SqlBaseParser.REPEATABLE); + this.state = 1957; + this.match(SqlBaseParser.READ); + } + break; + case 4: + localctx = new SerializableContext(this, localctx); + this.enterOuterAlt(localctx, 4); + { + this.state = 1958; + this.match(SqlBaseParser.SERIALIZABLE); + } + break; + } + } + catch (re) { + if (re instanceof RecognitionException) { + localctx.exception = re; + this._errHandler.reportError(this, re); + this._errHandler.recover(this, re); + } else { + throw re; + } + } + finally { + this.exitRule(); + } + return localctx; + } + // @RuleVersion(0) + public callArgument(): CallArgumentContext { + let localctx: CallArgumentContext = new CallArgumentContext(this, this._ctx, this.state); + this.enterRule(localctx, 138, SqlBaseParser.RULE_callArgument); + try { + this.state = 1966; + this._errHandler.sync(this); + switch ( this._interp.adaptivePredict(this._input, 246, this._ctx) ) { + case 1: + localctx = new PositionalArgumentContext(this, localctx); + this.enterOuterAlt(localctx, 1); + { + this.state = 1961; + this.expression(); + } + break; + case 2: + localctx = new NamedArgumentContext(this, localctx); + this.enterOuterAlt(localctx, 2); + { + this.state = 1962; + this.identifier(); + this.state = 1963; + this.match(SqlBaseParser.T__8); + this.state = 1964; + this.expression(); + } + break; + } + } + catch (re) { + if (re instanceof RecognitionException) { + localctx.exception = re; + this._errHandler.reportError(this, re); + this._errHandler.recover(this, re); + } else { + throw re; + } + } + finally { + this.exitRule(); + } + return localctx; + } + // @RuleVersion(0) + public privilege(): PrivilegeContext { + let localctx: PrivilegeContext = new PrivilegeContext(this, this._ctx, this.state); + this.enterRule(localctx, 140, SqlBaseParser.RULE_privilege); + try { + this.state = 1972; + this._errHandler.sync(this); + switch (this._input.LA(1)) { + case 179: + this.enterOuterAlt(localctx, 1); + { + this.state = 1968; + this.match(SqlBaseParser.SELECT); + } + break; + case 51: + this.enterOuterAlt(localctx, 2); + { + this.state = 1969; + this.match(SqlBaseParser.DELETE); + } + break; + case 97: + this.enterOuterAlt(localctx, 3); + { + this.state = 1970; + this.match(SqlBaseParser.INSERT); + } + break; + case 10: + case 11: + case 12: + case 14: + case 16: + case 17: + case 19: + case 20: + case 21: + case 22: + case 25: + case 26: + case 27: + case 30: + case 31: + case 32: + case 33: + case 34: + case 35: + case 40: + case 42: + case 46: + case 47: + case 48: + case 50: + case 52: + case 54: + case 55: + case 57: + case 60: + case 62: + case 65: + case 68: + case 70: + case 72: + case 73: + case 74: + case 75: + case 77: + case 80: + case 81: + case 82: + case 83: + case 84: + case 85: + case 88: + case 90: + case 91: + case 92: + case 94: + case 96: + case 99: + case 101: + case 102: + case 104: + case 105: + case 107: + case 108: + case 109: + case 110: + case 112: + case 114: + case 117: + case 118: + case 119: + case 120: + case 121: + case 122: + case 124: + case 125: + case 126: + case 127: + case 128: + case 129: + case 133: + case 134: + case 135: + case 136: + case 138: + case 139: + case 142: + case 144: + case 145: + case 146: + case 147: + case 148: + case 149: + case 151: + case 152: + case 153: + case 154: + case 155: + case 157: + case 158: + case 159: + case 160: + case 161: + case 162: + case 163: + case 164: + case 165: + case 166: + case 167: + case 169: + case 170: + case 171: + case 173: + case 174: + case 175: + case 176: + case 177: + case 178: + case 180: + case 181: + case 182: + case 183: + case 184: + case 185: + case 186: + case 187: + case 188: + case 189: + case 190: + case 191: + case 192: + case 194: + case 195: + case 196: + case 197: + case 199: + case 200: + case 201: + case 202: + case 204: + case 205: + case 206: + case 208: + case 209: + case 211: + case 213: + case 214: + case 215: + case 217: + case 219: + case 220: + case 221: + case 225: + case 226: + case 227: + case 228: + case 247: + case 248: + case 249: + case 250: + this.enterOuterAlt(localctx, 4); + { + this.state = 1971; + this.identifier(); + } + break; + default: + throw new NoViableAltException(this); + } + } + catch (re) { + if (re instanceof RecognitionException) { + localctx.exception = re; + this._errHandler.reportError(this, re); + this._errHandler.recover(this, re); + } else { + throw re; + } + } + finally { + this.exitRule(); + } + return localctx; + } + // @RuleVersion(0) + public qualifiedName(): QualifiedNameContext { + let localctx: QualifiedNameContext = new QualifiedNameContext(this, this._ctx, this.state); + this.enterRule(localctx, 142, SqlBaseParser.RULE_qualifiedName); + try { + let _alt: number; + this.enterOuterAlt(localctx, 1); + { + this.state = 1974; + this.identifier(); + this.state = 1979; + this._errHandler.sync(this); + _alt = this._interp.adaptivePredict(this._input, 248, this._ctx); + while (_alt !== 2 && _alt !== ATN.INVALID_ALT_NUMBER) { + if (_alt === 1) { + { + { + this.state = 1975; + this.match(SqlBaseParser.T__0); + this.state = 1976; + this.identifier(); + } + } + } + this.state = 1981; + this._errHandler.sync(this); + _alt = this._interp.adaptivePredict(this._input, 248, this._ctx); + } + } + } + catch (re) { + if (re instanceof RecognitionException) { + localctx.exception = re; + this._errHandler.reportError(this, re); + this._errHandler.recover(this, re); + } else { + throw re; + } + } + finally { + this.exitRule(); + } + return localctx; + } + // @RuleVersion(0) + public tableVersionExpression(): TableVersionExpressionContext { + let localctx: TableVersionExpressionContext = new TableVersionExpressionContext(this, this._ctx, this.state); + this.enterRule(localctx, 144, SqlBaseParser.RULE_tableVersionExpression); + let _la: number; + try { + localctx = new TableVersionContext(this, localctx); + this.enterOuterAlt(localctx, 1); + { + this.state = 1982; + this.match(SqlBaseParser.FOR); + this.state = 1983; + (localctx as TableVersionContext)._tableVersionType = this._input.LT(1); + _la = this._input.LA(1); + if(!(((((_la - 191)) & ~0x1F) === 0 && ((1 << (_la - 191)) & 536871427) !== 0))) { + (localctx as TableVersionContext)._tableVersionType = this._errHandler.recoverInline(this); + } + else { + this._errHandler.reportMatch(this); + this.consume(); + } + this.state = 1984; + this.tableVersionState(); + this.state = 1985; + this.valueExpression(0); + } + } + catch (re) { + if (re instanceof RecognitionException) { + localctx.exception = re; + this._errHandler.reportError(this, re); + this._errHandler.recover(this, re); + } else { + throw re; + } + } + finally { + this.exitRule(); + } + return localctx; + } + // @RuleVersion(0) + public tableVersionState(): TableVersionStateContext { + let localctx: TableVersionStateContext = new TableVersionStateContext(this, this._ctx, this.state); + this.enterRule(localctx, 146, SqlBaseParser.RULE_tableVersionState); + try { + this.state = 1990; + this._errHandler.sync(this); + switch (this._input.LA(1)) { + case 18: + localctx = new TableversionasofContext(this, localctx); + this.enterOuterAlt(localctx, 1); + { + this.state = 1987; + this.match(SqlBaseParser.AS); + this.state = 1988; + this.match(SqlBaseParser.OF); + } + break; + case 21: + localctx = new TableversionbeforeContext(this, localctx); + this.enterOuterAlt(localctx, 2); + { + this.state = 1989; + this.match(SqlBaseParser.BEFORE); + } + break; + default: + throw new NoViableAltException(this); + } + } + catch (re) { + if (re instanceof RecognitionException) { + localctx.exception = re; + this._errHandler.reportError(this, re); + this._errHandler.recover(this, re); + } else { + throw re; + } + } + finally { + this.exitRule(); + } + return localctx; + } + // @RuleVersion(0) + public grantor(): GrantorContext { + let localctx: GrantorContext = new GrantorContext(this, this._ctx, this.state); + this.enterRule(localctx, 148, SqlBaseParser.RULE_grantor); + try { + this.state = 1995; + this._errHandler.sync(this); + switch ( this._interp.adaptivePredict(this._input, 250, this._ctx) ) { + case 1: + localctx = new CurrentUserGrantorContext(this, localctx); + this.enterOuterAlt(localctx, 1); + { + this.state = 1992; + this.match(SqlBaseParser.CURRENT_USER); + } + break; + case 2: + localctx = new CurrentRoleGrantorContext(this, localctx); + this.enterOuterAlt(localctx, 2); + { + this.state = 1993; + this.match(SqlBaseParser.CURRENT_ROLE); + } + break; + case 3: + localctx = new SpecifiedPrincipalContext(this, localctx); + this.enterOuterAlt(localctx, 3); + { + this.state = 1994; + this.principal(); + } + break; + } + } + catch (re) { + if (re instanceof RecognitionException) { + localctx.exception = re; + this._errHandler.reportError(this, re); + this._errHandler.recover(this, re); + } else { + throw re; + } + } + finally { + this.exitRule(); + } + return localctx; + } + // @RuleVersion(0) + public principal(): PrincipalContext { + let localctx: PrincipalContext = new PrincipalContext(this, this._ctx, this.state); + this.enterRule(localctx, 150, SqlBaseParser.RULE_principal); + try { + this.state = 2002; + this._errHandler.sync(this); + switch ( this._interp.adaptivePredict(this._input, 251, this._ctx) ) { + case 1: + localctx = new UserPrincipalContext(this, localctx); + this.enterOuterAlt(localctx, 1); + { + this.state = 1997; + this.match(SqlBaseParser.USER); + this.state = 1998; + this.identifier(); + } + break; + case 2: + localctx = new RolePrincipalContext(this, localctx); + this.enterOuterAlt(localctx, 2); + { + this.state = 1999; + this.match(SqlBaseParser.ROLE); + this.state = 2000; + this.identifier(); + } + break; + case 3: + localctx = new UnspecifiedPrincipalContext(this, localctx); + this.enterOuterAlt(localctx, 3); + { + this.state = 2001; + this.identifier(); + } + break; + } + } + catch (re) { + if (re instanceof RecognitionException) { + localctx.exception = re; + this._errHandler.reportError(this, re); + this._errHandler.recover(this, re); + } else { + throw re; + } + } + finally { + this.exitRule(); + } + return localctx; + } + // @RuleVersion(0) + public roles(): RolesContext { + let localctx: RolesContext = new RolesContext(this, this._ctx, this.state); + this.enterRule(localctx, 152, SqlBaseParser.RULE_roles); + let _la: number; + try { + this.enterOuterAlt(localctx, 1); + { + this.state = 2004; + this.identifier(); + this.state = 2009; + this._errHandler.sync(this); + _la = this._input.LA(1); + while (_la===4) { + { + { + this.state = 2005; + this.match(SqlBaseParser.T__3); + this.state = 2006; + this.identifier(); + } + } + this.state = 2011; + this._errHandler.sync(this); + _la = this._input.LA(1); + } + } + } + catch (re) { + if (re instanceof RecognitionException) { + localctx.exception = re; + this._errHandler.reportError(this, re); + this._errHandler.recover(this, re); + } else { + throw re; + } + } + finally { + this.exitRule(); + } + return localctx; + } + // @RuleVersion(0) + public identifier(): IdentifierContext { + let localctx: IdentifierContext = new IdentifierContext(this, this._ctx, this.state); + this.enterRule(localctx, 154, SqlBaseParser.RULE_identifier); + try { + this.state = 2017; + this._errHandler.sync(this); + switch (this._input.LA(1)) { + case 247: + localctx = new UnquotedIdentifierContext(this, localctx); + this.enterOuterAlt(localctx, 1); + { + this.state = 2012; + this.match(SqlBaseParser.IDENTIFIER); + } + break; + case 249: + localctx = new QuotedIdentifierContext(this, localctx); + this.enterOuterAlt(localctx, 2); + { + this.state = 2013; + this.match(SqlBaseParser.QUOTED_IDENTIFIER); + } + break; + case 10: + case 11: + case 12: + case 14: + case 16: + case 17: + case 19: + case 20: + case 21: + case 22: + case 25: + case 26: + case 27: + case 30: + case 31: + case 32: + case 33: + case 34: + case 35: + case 40: + case 42: + case 46: + case 47: + case 48: + case 50: + case 52: + case 54: + case 55: + case 57: + case 60: + case 62: + case 65: + case 68: + case 70: + case 72: + case 73: + case 74: + case 75: + case 77: + case 80: + case 81: + case 82: + case 83: + case 84: + case 85: + case 88: + case 90: + case 91: + case 92: + case 94: + case 96: + case 99: + case 101: + case 102: + case 104: + case 105: + case 107: + case 108: + case 109: + case 110: + case 112: + case 114: + case 117: + case 118: + case 119: + case 120: + case 121: + case 122: + case 124: + case 125: + case 126: + case 127: + case 128: + case 129: + case 133: + case 134: + case 135: + case 136: + case 138: + case 139: + case 142: + case 144: + case 145: + case 146: + case 147: + case 148: + case 149: + case 151: + case 152: + case 153: + case 154: + case 155: + case 157: + case 158: + case 159: + case 160: + case 161: + case 162: + case 163: + case 164: + case 165: + case 166: + case 167: + case 169: + case 170: + case 171: + case 173: + case 174: + case 175: + case 176: + case 177: + case 178: + case 180: + case 181: + case 182: + case 183: + case 184: + case 185: + case 186: + case 187: + case 188: + case 189: + case 190: + case 191: + case 192: + case 194: + case 195: + case 196: + case 197: + case 199: + case 200: + case 201: + case 202: + case 204: + case 205: + case 206: + case 208: + case 209: + case 211: + case 213: + case 214: + case 215: + case 217: + case 219: + case 220: + case 221: + case 225: + case 226: + case 227: + case 228: + localctx = new UnquotedIdentifierContext(this, localctx); + this.enterOuterAlt(localctx, 3); + { + this.state = 2014; + this.nonReserved(); + } + break; + case 250: + localctx = new BackQuotedIdentifierContext(this, localctx); + this.enterOuterAlt(localctx, 4); + { + this.state = 2015; + this.match(SqlBaseParser.BACKQUOTED_IDENTIFIER); + } + break; + case 248: + localctx = new DigitIdentifierContext(this, localctx); + this.enterOuterAlt(localctx, 5); + { + this.state = 2016; + this.match(SqlBaseParser.DIGIT_IDENTIFIER); + } + break; + default: + throw new NoViableAltException(this); + } + } + catch (re) { + if (re instanceof RecognitionException) { + localctx.exception = re; + this._errHandler.reportError(this, re); + this._errHandler.recover(this, re); + } else { + throw re; + } + } + finally { + this.exitRule(); + } + return localctx; + } + // @RuleVersion(0) + public number_(): NumberContext { + let localctx: NumberContext = new NumberContext(this, this._ctx, this.state); + this.enterRule(localctx, 156, SqlBaseParser.RULE_number); + try { + this.state = 2022; + this._errHandler.sync(this); + switch (this._input.LA(1)) { + case 245: + localctx = new DecimalLiteralContext(this, localctx); + this.enterOuterAlt(localctx, 1); + { + this.state = 2019; + this.match(SqlBaseParser.DECIMAL_VALUE); + } + break; + case 246: + localctx = new DoubleLiteralContext(this, localctx); + this.enterOuterAlt(localctx, 2); + { + this.state = 2020; + this.match(SqlBaseParser.DOUBLE_VALUE); + } + break; + case 244: + localctx = new IntegerLiteralContext(this, localctx); + this.enterOuterAlt(localctx, 3); + { + this.state = 2021; + this.match(SqlBaseParser.INTEGER_VALUE); + } + break; + default: + throw new NoViableAltException(this); + } + } + catch (re) { + if (re instanceof RecognitionException) { + localctx.exception = re; + this._errHandler.reportError(this, re); + this._errHandler.recover(this, re); + } else { + throw re; + } + } + finally { + this.exitRule(); + } + return localctx; + } + // @RuleVersion(0) + public constraintSpecification(): ConstraintSpecificationContext { + let localctx: ConstraintSpecificationContext = new ConstraintSpecificationContext(this, this._ctx, this.state); + this.enterRule(localctx, 158, SqlBaseParser.RULE_constraintSpecification); + try { + this.state = 2026; + this._errHandler.sync(this); + switch (this._input.LA(1)) { + case 36: + this.enterOuterAlt(localctx, 1); + { + this.state = 2024; + this.namedConstraintSpecification(); + } + break; + case 151: + case 211: + this.enterOuterAlt(localctx, 2); + { + this.state = 2025; + this.unnamedConstraintSpecification(); + } + break; + default: + throw new NoViableAltException(this); + } + } + catch (re) { + if (re instanceof RecognitionException) { + localctx.exception = re; + this._errHandler.reportError(this, re); + this._errHandler.recover(this, re); + } else { + throw re; + } + } + finally { + this.exitRule(); + } + return localctx; + } + // @RuleVersion(0) + public namedConstraintSpecification(): NamedConstraintSpecificationContext { + let localctx: NamedConstraintSpecificationContext = new NamedConstraintSpecificationContext(this, this._ctx, this.state); + this.enterRule(localctx, 160, SqlBaseParser.RULE_namedConstraintSpecification); + try { + this.enterOuterAlt(localctx, 1); + { + this.state = 2028; + this.match(SqlBaseParser.CONSTRAINT); + this.state = 2029; + localctx._name = this.identifier(); + this.state = 2030; + this.unnamedConstraintSpecification(); + } + } + catch (re) { + if (re instanceof RecognitionException) { + localctx.exception = re; + this._errHandler.reportError(this, re); + this._errHandler.recover(this, re); + } else { + throw re; + } + } + finally { + this.exitRule(); + } + return localctx; + } + // @RuleVersion(0) + public unnamedConstraintSpecification(): UnnamedConstraintSpecificationContext { + let localctx: UnnamedConstraintSpecificationContext = new UnnamedConstraintSpecificationContext(this, this._ctx, this.state); + this.enterRule(localctx, 162, SqlBaseParser.RULE_unnamedConstraintSpecification); + try { + this.enterOuterAlt(localctx, 1); + { + this.state = 2032; + this.constraintType(); + this.state = 2033; + this.columnAliases(); + this.state = 2035; + this._errHandler.sync(this); + switch ( this._interp.adaptivePredict(this._input, 256, this._ctx) ) { + case 1: + { + this.state = 2034; + this.constraintQualifiers(); + } + break; + } + } + } + catch (re) { + if (re instanceof RecognitionException) { + localctx.exception = re; + this._errHandler.reportError(this, re); + this._errHandler.recover(this, re); + } else { + throw re; + } + } + finally { + this.exitRule(); + } + return localctx; + } + // @RuleVersion(0) + public constraintType(): ConstraintTypeContext { + let localctx: ConstraintTypeContext = new ConstraintTypeContext(this, this._ctx, this.state); + this.enterRule(localctx, 164, SqlBaseParser.RULE_constraintType); + try { + this.state = 2040; + this._errHandler.sync(this); + switch (this._input.LA(1)) { + case 211: + this.enterOuterAlt(localctx, 1); + { + this.state = 2037; + this.match(SqlBaseParser.UNIQUE); + } + break; + case 151: + this.enterOuterAlt(localctx, 2); + { + this.state = 2038; + this.match(SqlBaseParser.PRIMARY); + this.state = 2039; + this.match(SqlBaseParser.KEY); + } + break; + default: + throw new NoViableAltException(this); + } + } + catch (re) { + if (re instanceof RecognitionException) { + localctx.exception = re; + this._errHandler.reportError(this, re); + this._errHandler.recover(this, re); + } else { + throw re; + } + } + finally { + this.exitRule(); + } + return localctx; + } + // @RuleVersion(0) + public constraintQualifiers(): ConstraintQualifiersContext { + let localctx: ConstraintQualifiersContext = new ConstraintQualifiersContext(this, this._ctx, this.state); + this.enterRule(localctx, 166, SqlBaseParser.RULE_constraintQualifiers); + let _la: number; + try { + this.enterOuterAlt(localctx, 1); + { + this.state = 2045; + this._errHandler.sync(this); + _la = this._input.LA(1); + while (((((_la - 55)) & ~0x1F) === 0 && ((1 << (_la - 55)) & 161) !== 0) || _la===131 || _la===158) { + { + { + this.state = 2042; + this.constraintQualifier(); + } + } + this.state = 2047; + this._errHandler.sync(this); + _la = this._input.LA(1); + } + } + } + catch (re) { + if (re instanceof RecognitionException) { + localctx.exception = re; + this._errHandler.reportError(this, re); + this._errHandler.recover(this, re); + } else { + throw re; + } + } + finally { + this.exitRule(); + } + return localctx; + } + // @RuleVersion(0) + public constraintQualifier(): ConstraintQualifierContext { + let localctx: ConstraintQualifierContext = new ConstraintQualifierContext(this, this._ctx, this.state); + this.enterRule(localctx, 168, SqlBaseParser.RULE_constraintQualifier); + try { + this.state = 2051; + this._errHandler.sync(this); + switch ( this._interp.adaptivePredict(this._input, 259, this._ctx) ) { + case 1: + this.enterOuterAlt(localctx, 1); + { + this.state = 2048; + this.constraintEnabled(); + } + break; + case 2: + this.enterOuterAlt(localctx, 2); + { + this.state = 2049; + this.constraintRely(); + } + break; + case 3: + this.enterOuterAlt(localctx, 3); + { + this.state = 2050; + this.constraintEnforced(); + } + break; + } + } + catch (re) { + if (re instanceof RecognitionException) { + localctx.exception = re; + this._errHandler.reportError(this, re); + this._errHandler.recover(this, re); + } else { + throw re; + } + } + finally { + this.exitRule(); + } + return localctx; + } + // @RuleVersion(0) + public constraintRely(): ConstraintRelyContext { + let localctx: ConstraintRelyContext = new ConstraintRelyContext(this, this._ctx, this.state); + this.enterRule(localctx, 170, SqlBaseParser.RULE_constraintRely); + try { + this.state = 2056; + this._errHandler.sync(this); + switch (this._input.LA(1)) { + case 158: + this.enterOuterAlt(localctx, 1); + { + this.state = 2053; + this.match(SqlBaseParser.RELY); + } + break; + case 131: + this.enterOuterAlt(localctx, 2); + { + this.state = 2054; + this.match(SqlBaseParser.NOT); + this.state = 2055; + this.match(SqlBaseParser.RELY); + } + break; + default: + throw new NoViableAltException(this); + } + } + catch (re) { + if (re instanceof RecognitionException) { + localctx.exception = re; + this._errHandler.reportError(this, re); + this._errHandler.recover(this, re); + } else { + throw re; + } + } + finally { + this.exitRule(); + } + return localctx; + } + // @RuleVersion(0) + public constraintEnabled(): ConstraintEnabledContext { + let localctx: ConstraintEnabledContext = new ConstraintEnabledContext(this, this._ctx, this.state); + this.enterRule(localctx, 172, SqlBaseParser.RULE_constraintEnabled); + let _la: number; + try { + this.enterOuterAlt(localctx, 1); + { + this.state = 2058; + _la = this._input.LA(1); + if(!(_la===55 || _la===60)) { + this._errHandler.recoverInline(this); + } + else { + this._errHandler.reportMatch(this); + this.consume(); + } + } + } + catch (re) { + if (re instanceof RecognitionException) { + localctx.exception = re; + this._errHandler.reportError(this, re); + this._errHandler.recover(this, re); + } else { + throw re; + } + } + finally { + this.exitRule(); + } + return localctx; + } + // @RuleVersion(0) + public constraintEnforced(): ConstraintEnforcedContext { + let localctx: ConstraintEnforcedContext = new ConstraintEnforcedContext(this, this._ctx, this.state); + this.enterRule(localctx, 174, SqlBaseParser.RULE_constraintEnforced); + try { + this.state = 2063; + this._errHandler.sync(this); + switch (this._input.LA(1)) { + case 62: + this.enterOuterAlt(localctx, 1); + { + this.state = 2060; + this.match(SqlBaseParser.ENFORCED); + } + break; + case 131: + this.enterOuterAlt(localctx, 2); + { + this.state = 2061; + this.match(SqlBaseParser.NOT); + this.state = 2062; + this.match(SqlBaseParser.ENFORCED); + } + break; + default: + throw new NoViableAltException(this); + } + } + catch (re) { + if (re instanceof RecognitionException) { + localctx.exception = re; + this._errHandler.reportError(this, re); + this._errHandler.recover(this, re); + } else { + throw re; + } + } + finally { + this.exitRule(); + } + return localctx; + } + // @RuleVersion(0) + public nonReserved(): NonReservedContext { + let localctx: NonReservedContext = new NonReservedContext(this, this._ctx, this.state); + this.enterRule(localctx, 176, SqlBaseParser.RULE_nonReserved); + let _la: number; + try { + this.enterOuterAlt(localctx, 1); + { + this.state = 2065; + _la = this._input.LA(1); + if(!((((_la) & ~0x1F) === 0 && ((1 << _la) & 3464190976) !== 0) || ((((_la - 32)) & ~0x1F) === 0 && ((1 << (_la - 32)) & 1389741327) !== 0) || ((((_la - 65)) & ~0x1F) === 0 && ((1 << (_la - 65)) & 2929694633) !== 0) || ((((_la - 99)) & ~0x1F) === 0 && ((1 << (_la - 99)) & 2130489197) !== 0) || ((((_la - 133)) & ~0x1F) === 0 && ((1 << (_la - 133)) & 4286446191) !== 0) || ((((_la - 165)) & ~0x1F) === 0 && ((1 << (_la - 165)) & 4026515319) !== 0) || ((((_la - 197)) & ~0x1F) === 0 && ((1 << (_la - 197)) & 4057422781) !== 0))) { + this._errHandler.recoverInline(this); + } + else { + this._errHandler.reportMatch(this); + this.consume(); + } + } + } + catch (re) { + if (re instanceof RecognitionException) { + localctx.exception = re; + this._errHandler.reportError(this, re); + this._errHandler.recover(this, re); + } else { + throw re; + } + } + finally { + this.exitRule(); + } + return localctx; + } + + public sempred(localctx: RuleContext, ruleIndex: number, predIndex: number): boolean { + switch (ruleIndex) { + case 24: + return this.queryTerm_sempred(localctx as QueryTermContext, predIndex); + case 34: + return this.relation_sempred(localctx as RelationContext, predIndex); + case 43: + return this.booleanExpression_sempred(localctx as BooleanExpressionContext, predIndex); + case 45: + return this.valueExpression_sempred(localctx as ValueExpressionContext, predIndex); + case 46: + return this.primaryExpression_sempred(localctx as PrimaryExpressionContext, predIndex); + case 57: + return this.type_sempred(localctx as TypeContext, predIndex); + } + return true; + } + private queryTerm_sempred(localctx: QueryTermContext, predIndex: number): boolean { + switch (predIndex) { + case 0: + return this.precpred(this._ctx, 2); + case 1: + return this.precpred(this._ctx, 1); + } + return true; + } + private relation_sempred(localctx: RelationContext, predIndex: number): boolean { + switch (predIndex) { + case 2: + return this.precpred(this._ctx, 2); + } + return true; + } + private booleanExpression_sempred(localctx: BooleanExpressionContext, predIndex: number): boolean { + switch (predIndex) { + case 3: + return this.precpred(this._ctx, 2); + case 4: + return this.precpred(this._ctx, 1); + } + return true; + } + private valueExpression_sempred(localctx: ValueExpressionContext, predIndex: number): boolean { + switch (predIndex) { + case 5: + return this.precpred(this._ctx, 3); + case 6: + return this.precpred(this._ctx, 2); + case 7: + return this.precpred(this._ctx, 1); + case 8: + return this.precpred(this._ctx, 5); + } + return true; + } + private primaryExpression_sempred(localctx: PrimaryExpressionContext, predIndex: number): boolean { + switch (predIndex) { + case 9: + return this.precpred(this._ctx, 14); + case 10: + return this.precpred(this._ctx, 12); + } + return true; + } + private type_sempred(localctx: TypeContext, predIndex: number): boolean { + switch (predIndex) { + case 11: + return this.precpred(this._ctx, 6); + } + return true; + } + + public static readonly _serializedATN: number[] = [4,1,258,2068,2,0,7,0, + 2,1,7,1,2,2,7,2,2,3,7,3,2,4,7,4,2,5,7,5,2,6,7,6,2,7,7,7,2,8,7,8,2,9,7,9, + 2,10,7,10,2,11,7,11,2,12,7,12,2,13,7,13,2,14,7,14,2,15,7,15,2,16,7,16,2, + 17,7,17,2,18,7,18,2,19,7,19,2,20,7,20,2,21,7,21,2,22,7,22,2,23,7,23,2,24, + 7,24,2,25,7,25,2,26,7,26,2,27,7,27,2,28,7,28,2,29,7,29,2,30,7,30,2,31,7, + 31,2,32,7,32,2,33,7,33,2,34,7,34,2,35,7,35,2,36,7,36,2,37,7,37,2,38,7,38, + 2,39,7,39,2,40,7,40,2,41,7,41,2,42,7,42,2,43,7,43,2,44,7,44,2,45,7,45,2, + 46,7,46,2,47,7,47,2,48,7,48,2,49,7,49,2,50,7,50,2,51,7,51,2,52,7,52,2,53, + 7,53,2,54,7,54,2,55,7,55,2,56,7,56,2,57,7,57,2,58,7,58,2,59,7,59,2,60,7, + 60,2,61,7,61,2,62,7,62,2,63,7,63,2,64,7,64,2,65,7,65,2,66,7,66,2,67,7,67, + 2,68,7,68,2,69,7,69,2,70,7,70,2,71,7,71,2,72,7,72,2,73,7,73,2,74,7,74,2, + 75,7,75,2,76,7,76,2,77,7,77,2,78,7,78,2,79,7,79,2,80,7,80,2,81,7,81,2,82, + 7,82,2,83,7,83,2,84,7,84,2,85,7,85,2,86,7,86,2,87,7,87,2,88,7,88,1,0,1, + 0,1,0,1,1,1,1,1,1,1,2,1,2,1,2,1,3,1,3,1,3,1,3,1,3,1,3,1,3,1,3,1,3,1,3,1, + 3,1,3,1,3,3,3,201,8,3,1,3,1,3,1,3,3,3,206,8,3,1,3,1,3,1,3,1,3,3,3,212,8, + 3,1,3,1,3,3,3,216,8,3,1,3,1,3,1,3,1,3,1,3,1,3,1,3,1,3,1,3,1,3,1,3,1,3,3, + 3,230,8,3,1,3,1,3,3,3,234,8,3,1,3,1,3,3,3,238,8,3,1,3,1,3,3,3,242,8,3,1, + 3,1,3,1,3,1,3,1,3,1,3,3,3,250,8,3,1,3,1,3,3,3,254,8,3,1,3,3,3,257,8,3,1, + 3,1,3,1,3,1,3,1,3,3,3,264,8,3,1,3,1,3,1,3,1,3,1,3,5,3,271,8,3,10,3,12,3, + 274,9,3,1,3,1,3,1,3,3,3,279,8,3,1,3,1,3,3,3,283,8,3,1,3,1,3,1,3,1,3,3,3, + 289,8,3,1,3,1,3,1,3,1,3,1,3,3,3,296,8,3,1,3,1,3,1,3,1,3,1,3,1,3,1,3,3,3, + 305,8,3,1,3,1,3,1,3,1,3,1,3,1,3,1,3,3,3,314,8,3,1,3,1,3,1,3,1,3,1,3,1,3, + 1,3,1,3,1,3,3,3,325,8,3,1,3,1,3,1,3,1,3,1,3,3,3,332,8,3,1,3,1,3,1,3,1,3, + 1,3,1,3,1,3,1,3,3,3,342,8,3,1,3,1,3,1,3,1,3,1,3,3,3,349,8,3,1,3,1,3,1,3, + 1,3,1,3,1,3,3,3,357,8,3,1,3,1,3,1,3,1,3,1,3,1,3,3,3,365,8,3,1,3,1,3,1,3, + 1,3,1,3,1,3,3,3,373,8,3,1,3,1,3,1,3,1,3,1,3,1,3,1,3,1,3,3,3,383,8,3,1,3, + 1,3,1,3,1,3,1,3,3,3,390,8,3,1,3,1,3,1,3,1,3,1,3,1,3,3,3,398,8,3,1,3,1,3, + 1,3,3,3,403,8,3,1,3,1,3,1,3,1,3,1,3,1,3,1,3,1,3,1,3,3,3,414,8,3,1,3,1,3, + 1,3,3,3,419,8,3,1,3,1,3,1,3,1,3,1,3,1,3,1,3,1,3,1,3,3,3,430,8,3,1,3,1,3, + 1,3,1,3,1,3,1,3,1,3,1,3,1,3,3,3,441,8,3,1,3,1,3,1,3,1,3,1,3,1,3,1,3,1,3, + 5,3,451,8,3,10,3,12,3,454,9,3,1,3,1,3,1,3,3,3,459,8,3,1,3,1,3,1,3,3,3,464, + 8,3,1,3,1,3,1,3,1,3,3,3,470,8,3,1,3,1,3,1,3,1,3,1,3,1,3,1,3,3,3,479,8,3, + 1,3,1,3,1,3,1,3,1,3,1,3,1,3,1,3,1,3,3,3,490,8,3,1,3,1,3,1,3,1,3,1,3,1,3, + 1,3,3,3,499,8,3,1,3,1,3,1,3,3,3,504,8,3,1,3,1,3,3,3,508,8,3,1,3,1,3,1,3, + 1,3,1,3,1,3,3,3,516,8,3,1,3,1,3,1,3,1,3,1,3,3,3,523,8,3,1,3,1,3,1,3,1,3, + 1,3,1,3,1,3,1,3,1,3,1,3,1,3,3,3,536,8,3,1,3,3,3,539,8,3,1,3,1,3,1,3,1,3, + 1,3,1,3,5,3,547,8,3,10,3,12,3,550,9,3,3,3,552,8,3,1,3,1,3,1,3,1,3,1,3,3, + 3,559,8,3,1,3,1,3,1,3,1,3,1,3,1,3,1,3,3,3,568,8,3,1,3,1,3,1,3,1,3,3,3,574, + 8,3,1,3,1,3,1,3,3,3,579,8,3,1,3,1,3,3,3,583,8,3,1,3,1,3,1,3,1,3,1,3,1,3, + 5,3,591,8,3,10,3,12,3,594,9,3,3,3,596,8,3,1,3,1,3,1,3,1,3,1,3,1,3,1,3,1, + 3,3,3,606,8,3,1,3,1,3,1,3,1,3,1,3,1,3,1,3,1,3,1,3,5,3,617,8,3,10,3,12,3, + 620,9,3,1,3,1,3,1,3,3,3,625,8,3,1,3,1,3,1,3,3,3,630,8,3,1,3,1,3,1,3,1,3, + 3,3,636,8,3,1,3,1,3,1,3,1,3,1,3,5,3,643,8,3,10,3,12,3,646,9,3,1,3,1,3,1, + 3,3,3,651,8,3,1,3,1,3,1,3,1,3,1,3,3,3,658,8,3,1,3,1,3,1,3,1,3,5,3,664,8, + 3,10,3,12,3,667,9,3,1,3,1,3,3,3,671,8,3,1,3,1,3,3,3,675,8,3,1,3,1,3,1,3, + 1,3,1,3,1,3,3,3,683,8,3,1,3,1,3,1,3,1,3,3,3,689,8,3,1,3,1,3,1,3,5,3,694, + 8,3,10,3,12,3,697,9,3,1,3,1,3,3,3,701,8,3,1,3,1,3,3,3,705,8,3,1,3,1,3,1, + 3,1,3,1,3,1,3,1,3,1,3,3,3,715,8,3,1,3,3,3,718,8,3,1,3,1,3,3,3,722,8,3,1, + 3,3,3,725,8,3,1,3,1,3,1,3,1,3,5,3,731,8,3,10,3,12,3,734,9,3,1,3,1,3,3,3, + 738,8,3,1,3,1,3,1,3,1,3,1,3,1,3,1,3,1,3,1,3,1,3,1,3,1,3,1,3,1,3,1,3,1,3, + 1,3,1,3,1,3,1,3,1,3,1,3,1,3,3,3,763,8,3,1,3,1,3,1,3,1,3,3,3,769,8,3,1,3, + 1,3,1,3,1,3,3,3,775,8,3,3,3,777,8,3,1,3,1,3,1,3,1,3,3,3,783,8,3,1,3,1,3, + 1,3,1,3,3,3,789,8,3,3,3,791,8,3,1,3,1,3,1,3,1,3,1,3,1,3,3,3,799,8,3,3,3, + 801,8,3,1,3,1,3,1,3,1,3,1,3,1,3,1,3,1,3,1,3,1,3,1,3,1,3,1,3,1,3,1,3,1,3, + 1,3,3,3,820,8,3,1,3,1,3,1,3,3,3,825,8,3,1,3,1,3,1,3,1,3,1,3,3,3,832,8,3, + 1,3,1,3,1,3,1,3,1,3,1,3,1,3,1,3,1,3,1,3,3,3,844,8,3,3,3,846,8,3,1,3,1,3, + 1,3,1,3,1,3,1,3,3,3,854,8,3,3,3,856,8,3,1,3,1,3,1,3,1,3,1,3,1,3,1,3,1,3, + 1,3,1,3,1,3,1,3,1,3,1,3,5,3,872,8,3,10,3,12,3,875,9,3,3,3,877,8,3,1,3,1, + 3,3,3,881,8,3,1,3,1,3,3,3,885,8,3,1,3,1,3,1,3,1,3,1,3,1,3,1,3,1,3,1,3,1, + 3,1,3,1,3,1,3,1,3,5,3,901,8,3,10,3,12,3,904,9,3,3,3,906,8,3,1,3,1,3,1,3, + 1,3,1,3,1,3,1,3,1,3,1,3,1,3,1,3,1,3,5,3,920,8,3,10,3,12,3,923,9,3,1,3,1, + 3,3,3,927,8,3,3,3,929,8,3,1,4,3,4,932,8,4,1,4,1,4,1,5,1,5,3,5,938,8,5,1, + 5,1,5,1,5,5,5,943,8,5,10,5,12,5,946,9,5,1,6,1,6,1,6,3,6,951,8,6,1,7,1,7, + 1,7,1,7,3,7,957,8,7,1,7,1,7,3,7,961,8,7,1,7,1,7,3,7,965,8,7,1,8,1,8,1,8, + 1,8,3,8,971,8,8,1,9,1,9,1,9,1,9,5,9,977,8,9,10,9,12,9,980,9,9,1,9,1,9,1, + 10,1,10,1,10,1,10,1,11,1,11,1,11,1,12,5,12,992,8,12,10,12,12,12,995,9,12, + 1,13,1,13,1,13,1,13,3,13,1001,8,13,1,14,5,14,1004,8,14,10,14,12,14,1007, + 9,14,1,15,1,15,1,16,1,16,3,16,1013,8,16,1,17,1,17,1,17,1,18,1,18,1,18,3, + 18,1021,8,18,1,19,1,19,3,19,1025,8,19,1,20,1,20,1,20,3,20,1030,8,20,1,21, + 1,21,1,21,1,21,1,21,1,21,1,21,1,21,1,21,3,21,1041,8,21,1,22,1,22,1,23,1, + 23,1,23,1,23,1,23,1,23,5,23,1051,8,23,10,23,12,23,1054,9,23,3,23,1056,8, + 23,1,23,1,23,1,23,3,23,1061,8,23,3,23,1063,8,23,1,23,1,23,1,23,1,23,1,23, + 1,23,1,23,3,23,1072,8,23,3,23,1074,8,23,1,24,1,24,1,24,1,24,1,24,1,24,3, + 24,1082,8,24,1,24,1,24,1,24,1,24,3,24,1088,8,24,1,24,5,24,1091,8,24,10, + 24,12,24,1094,9,24,1,25,1,25,1,25,1,25,1,25,1,25,1,25,5,25,1103,8,25,10, + 25,12,25,1106,9,25,1,25,1,25,1,25,1,25,3,25,1112,8,25,1,26,1,26,3,26,1116, + 8,26,1,26,1,26,3,26,1120,8,26,1,27,1,27,3,27,1124,8,27,1,27,1,27,1,27,5, + 27,1129,8,27,10,27,12,27,1132,9,27,1,27,1,27,1,27,1,27,5,27,1138,8,27,10, + 27,12,27,1141,9,27,3,27,1143,8,27,1,27,1,27,3,27,1147,8,27,1,27,1,27,1, + 27,3,27,1152,8,27,1,27,1,27,3,27,1156,8,27,1,28,3,28,1159,8,28,1,28,1,28, + 1,28,5,28,1164,8,28,10,28,12,28,1167,9,28,1,29,1,29,1,29,1,29,1,29,1,29, + 5,29,1175,8,29,10,29,12,29,1178,9,29,3,29,1180,8,29,1,29,1,29,1,29,1,29, + 1,29,1,29,5,29,1188,8,29,10,29,12,29,1191,9,29,3,29,1193,8,29,1,29,1,29, + 1,29,1,29,1,29,1,29,1,29,5,29,1202,8,29,10,29,12,29,1205,9,29,1,29,1,29, + 3,29,1209,8,29,1,30,1,30,1,30,1,30,5,30,1215,8,30,10,30,12,30,1218,9,30, + 3,30,1220,8,30,1,30,1,30,3,30,1224,8,30,1,31,1,31,3,31,1228,8,31,1,31,1, + 31,1,31,1,31,1,31,1,32,1,32,1,33,1,33,3,33,1239,8,33,1,33,3,33,1242,8,33, + 1,33,1,33,1,33,1,33,1,33,3,33,1249,8,33,1,34,1,34,1,34,1,34,1,34,1,34,1, + 34,1,34,1,34,1,34,1,34,1,34,1,34,1,34,1,34,1,34,1,34,3,34,1268,8,34,5,34, + 1270,8,34,10,34,12,34,1273,9,34,1,35,3,35,1276,8,35,1,35,1,35,3,35,1280, + 8,35,1,35,1,35,3,35,1284,8,35,1,35,1,35,3,35,1288,8,35,3,35,1290,8,35,1, + 36,1,36,1,36,1,36,1,36,1,36,1,36,5,36,1299,8,36,10,36,12,36,1302,9,36,1, + 36,1,36,3,36,1306,8,36,1,37,1,37,1,37,1,37,1,37,1,37,1,37,3,37,1315,8,37, + 1,38,1,38,1,39,1,39,3,39,1321,8,39,1,39,1,39,3,39,1325,8,39,3,39,1327,8, + 39,1,40,1,40,1,40,1,40,5,40,1333,8,40,10,40,12,40,1336,9,40,1,40,1,40,1, + 41,1,41,3,41,1342,8,41,1,41,1,41,1,41,1,41,1,41,1,41,1,41,1,41,1,41,5,41, + 1353,8,41,10,41,12,41,1356,9,41,1,41,1,41,1,41,3,41,1361,8,41,1,41,1,41, + 1,41,1,41,1,41,1,41,1,41,1,41,1,41,3,41,1372,8,41,1,42,1,42,1,43,1,43,1, + 43,3,43,1379,8,43,1,43,1,43,3,43,1383,8,43,1,43,1,43,1,43,1,43,1,43,1,43, + 5,43,1391,8,43,10,43,12,43,1394,9,43,1,44,1,44,1,44,1,44,1,44,1,44,1,44, + 1,44,1,44,1,44,3,44,1406,8,44,1,44,1,44,1,44,1,44,1,44,1,44,3,44,1414,8, + 44,1,44,1,44,1,44,1,44,1,44,5,44,1421,8,44,10,44,12,44,1424,9,44,1,44,1, + 44,1,44,3,44,1429,8,44,1,44,1,44,1,44,1,44,1,44,1,44,3,44,1437,8,44,1,44, + 1,44,1,44,1,44,3,44,1443,8,44,1,44,1,44,3,44,1447,8,44,1,44,1,44,1,44,3, + 44,1452,8,44,1,44,1,44,1,44,3,44,1457,8,44,1,45,1,45,1,45,1,45,3,45,1463, + 8,45,1,45,1,45,1,45,1,45,1,45,1,45,1,45,1,45,1,45,1,45,1,45,1,45,5,45,1477, + 8,45,10,45,12,45,1480,9,45,1,46,1,46,1,46,1,46,1,46,1,46,1,46,1,46,1,46, + 1,46,1,46,1,46,1,46,1,46,1,46,1,46,1,46,1,46,1,46,1,46,1,46,1,46,1,46,1, + 46,4,46,1506,8,46,11,46,12,46,1507,1,46,1,46,1,46,1,46,1,46,1,46,1,46,5, + 46,1517,8,46,10,46,12,46,1520,9,46,1,46,1,46,1,46,1,46,1,46,1,46,1,46,3, + 46,1529,8,46,1,46,3,46,1532,8,46,1,46,1,46,1,46,3,46,1537,8,46,1,46,1,46, + 1,46,5,46,1542,8,46,10,46,12,46,1545,9,46,3,46,1547,8,46,1,46,1,46,1,46, + 1,46,1,46,5,46,1554,8,46,10,46,12,46,1557,9,46,3,46,1559,8,46,1,46,1,46, + 3,46,1563,8,46,1,46,3,46,1566,8,46,1,46,3,46,1569,8,46,1,46,1,46,1,46,1, + 46,1,46,1,46,1,46,1,46,5,46,1579,8,46,10,46,12,46,1582,9,46,3,46,1584,8, + 46,1,46,1,46,1,46,1,46,1,46,1,46,1,46,1,46,1,46,1,46,1,46,1,46,1,46,1,46, + 1,46,4,46,1601,8,46,11,46,12,46,1602,1,46,1,46,3,46,1607,8,46,1,46,1,46, + 1,46,1,46,4,46,1613,8,46,11,46,12,46,1614,1,46,1,46,3,46,1619,8,46,1,46, + 1,46,1,46,1,46,1,46,1,46,1,46,1,46,1,46,1,46,1,46,1,46,1,46,1,46,1,46,1, + 46,1,46,1,46,1,46,1,46,1,46,5,46,1642,8,46,10,46,12,46,1645,9,46,3,46,1647, + 8,46,1,46,1,46,1,46,1,46,1,46,1,46,1,46,3,46,1656,8,46,1,46,1,46,1,46,1, + 46,3,46,1662,8,46,1,46,1,46,1,46,1,46,3,46,1668,8,46,1,46,1,46,1,46,1,46, + 3,46,1674,8,46,1,46,1,46,1,46,1,46,1,46,1,46,1,46,1,46,3,46,1684,8,46,1, + 46,1,46,1,46,1,46,1,46,1,46,1,46,3,46,1693,8,46,1,46,1,46,1,46,1,46,1,46, + 1,46,1,46,1,46,1,46,1,46,1,46,1,46,1,46,1,46,1,46,1,46,1,46,1,46,5,46,1713, + 8,46,10,46,12,46,1716,9,46,3,46,1718,8,46,1,46,3,46,1721,8,46,1,46,1,46, + 1,46,1,46,1,46,1,46,1,46,1,46,5,46,1731,8,46,10,46,12,46,1734,9,46,1,47, + 1,47,1,47,1,47,3,47,1740,8,47,3,47,1742,8,47,1,48,1,48,1,48,1,48,3,48,1748, + 8,48,1,49,1,49,1,49,1,49,1,49,1,49,3,49,1756,8,49,1,50,1,50,1,51,1,51,1, + 52,1,52,1,53,1,53,3,53,1766,8,53,1,53,1,53,1,53,1,53,3,53,1772,8,53,1,54, + 1,54,1,55,1,55,1,56,1,56,1,56,1,56,5,56,1782,8,56,10,56,12,56,1785,9,56, + 3,56,1787,8,56,1,56,1,56,1,57,1,57,1,57,1,57,1,57,1,57,1,57,1,57,1,57,1, + 57,1,57,1,57,1,57,1,57,1,57,1,57,1,57,1,57,1,57,1,57,1,57,5,57,1812,8,57, + 10,57,12,57,1815,9,57,1,57,1,57,1,57,1,57,1,57,1,57,1,57,5,57,1824,8,57, + 10,57,12,57,1827,9,57,1,57,1,57,3,57,1831,8,57,1,57,1,57,1,57,1,57,1,57, + 3,57,1838,8,57,1,57,1,57,5,57,1842,8,57,10,57,12,57,1845,9,57,1,58,1,58, + 3,58,1849,8,58,1,59,1,59,1,59,1,59,3,59,1855,8,59,1,60,1,60,1,60,1,60,1, + 60,1,61,1,61,1,61,1,61,1,61,1,61,1,62,1,62,1,62,1,62,1,62,1,62,1,62,5,62, + 1875,8,62,10,62,12,62,1878,9,62,3,62,1880,8,62,1,62,1,62,1,62,1,62,1,62, + 5,62,1887,8,62,10,62,12,62,1890,9,62,3,62,1892,8,62,1,62,3,62,1895,8,62, + 1,62,1,62,1,63,1,63,1,63,1,63,1,63,1,63,1,63,1,63,1,63,1,63,1,63,1,63,1, + 63,1,63,1,63,1,63,1,63,1,63,1,63,1,63,1,63,1,63,1,63,1,63,3,63,1923,8,63, + 1,64,1,64,1,64,1,64,1,64,1,64,1,64,1,64,1,64,3,64,1934,8,64,1,65,1,65,1, + 65,1,65,1,66,1,66,1,66,1,66,3,66,1944,8,66,1,67,1,67,1,67,1,67,1,67,3,67, + 1951,8,67,1,68,1,68,1,68,1,68,1,68,1,68,1,68,3,68,1960,8,68,1,69,1,69,1, + 69,1,69,1,69,3,69,1967,8,69,1,70,1,70,1,70,1,70,3,70,1973,8,70,1,71,1,71, + 1,71,5,71,1978,8,71,10,71,12,71,1981,9,71,1,72,1,72,1,72,1,72,1,72,1,73, + 1,73,1,73,3,73,1991,8,73,1,74,1,74,1,74,3,74,1996,8,74,1,75,1,75,1,75,1, + 75,1,75,3,75,2003,8,75,1,76,1,76,1,76,5,76,2008,8,76,10,76,12,76,2011,9, + 76,1,77,1,77,1,77,1,77,1,77,3,77,2018,8,77,1,78,1,78,1,78,3,78,2023,8,78, + 1,79,1,79,3,79,2027,8,79,1,80,1,80,1,80,1,80,1,81,1,81,1,81,3,81,2036,8, + 81,1,82,1,82,1,82,3,82,2041,8,82,1,83,5,83,2044,8,83,10,83,12,83,2047,9, + 83,1,84,1,84,1,84,3,84,2052,8,84,1,85,1,85,1,85,3,85,2057,8,85,1,86,1,86, + 1,87,1,87,1,87,3,87,2064,8,87,1,88,1,88,1,88,0,6,48,68,86,90,92,114,89, + 0,2,4,6,8,10,12,14,16,18,20,22,24,26,28,30,32,34,36,38,40,42,44,46,48,50, + 52,54,56,58,60,62,64,66,68,70,72,74,76,78,80,82,84,86,88,90,92,94,96,98, + 100,102,104,106,108,110,112,114,116,118,120,122,124,126,128,130,132,134, + 136,138,140,142,144,146,148,150,152,154,156,158,160,162,164,166,168,170, + 172,174,176,0,25,2,0,27,27,164,164,2,0,50,50,101,101,2,0,78,78,93,93,2, + 0,65,65,94,94,1,0,173,174,2,0,12,12,244,244,2,0,64,64,210,210,2,0,19,19, + 52,52,2,0,74,74,109,109,2,0,12,12,56,56,2,0,22,22,190,190,1,0,235,236,1, + 0,237,239,1,0,229,234,3,0,12,12,16,16,185,185,2,0,71,71,203,203,5,0,48, + 48,90,90,120,121,177,177,227,227,1,0,124,127,2,0,75,75,149,149,3,0,85,85, + 105,105,197,197,4,0,57,57,102,102,117,117,217,217,2,0,138,138,226,226,3, + 0,191,192,200,200,220,220,2,0,55,55,60,60,51,0,10,12,14,14,16,17,19,22, + 25,27,30,35,40,40,42,42,46,48,50,50,52,52,54,55,57,57,60,60,62,62,65,65, + 68,68,70,70,72,75,77,77,80,85,88,88,90,92,94,94,96,96,99,99,101,102,104, + 105,107,110,112,112,114,114,117,122,124,129,133,136,138,139,142,142,144, + 149,151,155,157,167,169,171,173,178,180,192,194,197,199,202,204,206,208, + 209,211,211,213,215,217,217,219,221,225,228,2385,0,178,1,0,0,0,2,181,1, + 0,0,0,4,184,1,0,0,0,6,928,1,0,0,0,8,931,1,0,0,0,10,935,1,0,0,0,12,950,1, + 0,0,0,14,952,1,0,0,0,16,966,1,0,0,0,18,972,1,0,0,0,20,983,1,0,0,0,22,987, + 1,0,0,0,24,993,1,0,0,0,26,1000,1,0,0,0,28,1005,1,0,0,0,30,1008,1,0,0,0, + 32,1012,1,0,0,0,34,1014,1,0,0,0,36,1017,1,0,0,0,38,1024,1,0,0,0,40,1029, + 1,0,0,0,42,1040,1,0,0,0,44,1042,1,0,0,0,46,1044,1,0,0,0,48,1075,1,0,0,0, + 50,1111,1,0,0,0,52,1113,1,0,0,0,54,1121,1,0,0,0,56,1158,1,0,0,0,58,1208, + 1,0,0,0,60,1223,1,0,0,0,62,1225,1,0,0,0,64,1234,1,0,0,0,66,1248,1,0,0,0, + 68,1250,1,0,0,0,70,1289,1,0,0,0,72,1305,1,0,0,0,74,1307,1,0,0,0,76,1316, + 1,0,0,0,78,1318,1,0,0,0,80,1328,1,0,0,0,82,1371,1,0,0,0,84,1373,1,0,0,0, + 86,1382,1,0,0,0,88,1456,1,0,0,0,90,1462,1,0,0,0,92,1720,1,0,0,0,94,1741, + 1,0,0,0,96,1747,1,0,0,0,98,1755,1,0,0,0,100,1757,1,0,0,0,102,1759,1,0,0, + 0,104,1761,1,0,0,0,106,1763,1,0,0,0,108,1773,1,0,0,0,110,1775,1,0,0,0,112, + 1777,1,0,0,0,114,1837,1,0,0,0,116,1848,1,0,0,0,118,1854,1,0,0,0,120,1856, + 1,0,0,0,122,1861,1,0,0,0,124,1867,1,0,0,0,126,1922,1,0,0,0,128,1933,1,0, + 0,0,130,1935,1,0,0,0,132,1943,1,0,0,0,134,1950,1,0,0,0,136,1959,1,0,0,0, + 138,1966,1,0,0,0,140,1972,1,0,0,0,142,1974,1,0,0,0,144,1982,1,0,0,0,146, + 1990,1,0,0,0,148,1995,1,0,0,0,150,2002,1,0,0,0,152,2004,1,0,0,0,154,2017, + 1,0,0,0,156,2022,1,0,0,0,158,2026,1,0,0,0,160,2028,1,0,0,0,162,2032,1,0, + 0,0,164,2040,1,0,0,0,166,2045,1,0,0,0,168,2051,1,0,0,0,170,2056,1,0,0,0, + 172,2058,1,0,0,0,174,2063,1,0,0,0,176,2065,1,0,0,0,178,179,3,6,3,0,179, + 180,5,0,0,1,180,1,1,0,0,0,181,182,3,84,42,0,182,183,5,0,0,1,183,3,1,0,0, + 0,184,185,3,32,16,0,185,186,5,0,0,1,186,5,1,0,0,0,187,929,3,8,4,0,188,189, + 5,214,0,0,189,929,3,154,77,0,190,191,5,214,0,0,191,192,3,154,77,0,192,193, + 5,1,0,0,193,194,3,154,77,0,194,929,1,0,0,0,195,196,5,37,0,0,196,200,5,175, + 0,0,197,198,5,91,0,0,198,199,5,131,0,0,199,201,5,67,0,0,200,197,1,0,0,0, + 200,201,1,0,0,0,201,202,1,0,0,0,202,205,3,142,71,0,203,204,5,224,0,0,204, + 206,3,18,9,0,205,203,1,0,0,0,205,206,1,0,0,0,206,929,1,0,0,0,207,208,5, + 58,0,0,208,211,5,175,0,0,209,210,5,91,0,0,210,212,5,67,0,0,211,209,1,0, + 0,0,211,212,1,0,0,0,212,213,1,0,0,0,213,215,3,142,71,0,214,216,7,0,0,0, + 215,214,1,0,0,0,215,216,1,0,0,0,216,929,1,0,0,0,217,218,5,13,0,0,218,219, + 5,175,0,0,219,220,3,142,71,0,220,221,5,159,0,0,221,222,5,201,0,0,222,223, + 3,154,77,0,223,929,1,0,0,0,224,225,5,37,0,0,225,229,5,193,0,0,226,227,5, + 91,0,0,227,228,5,131,0,0,228,230,5,67,0,0,229,226,1,0,0,0,229,230,1,0,0, + 0,230,231,1,0,0,0,231,233,3,142,71,0,232,234,3,80,40,0,233,232,1,0,0,0, + 233,234,1,0,0,0,234,237,1,0,0,0,235,236,5,33,0,0,236,238,3,94,47,0,237, + 235,1,0,0,0,237,238,1,0,0,0,238,241,1,0,0,0,239,240,5,224,0,0,240,242,3, + 18,9,0,241,239,1,0,0,0,241,242,1,0,0,0,242,243,1,0,0,0,243,249,5,18,0,0, + 244,250,3,8,4,0,245,246,5,2,0,0,246,247,3,8,4,0,247,248,5,3,0,0,248,250, + 1,0,0,0,249,244,1,0,0,0,249,245,1,0,0,0,250,256,1,0,0,0,251,253,5,224,0, + 0,252,254,5,128,0,0,253,252,1,0,0,0,253,254,1,0,0,0,254,255,1,0,0,0,255, + 257,5,46,0,0,256,251,1,0,0,0,256,257,1,0,0,0,257,929,1,0,0,0,258,259,5, + 37,0,0,259,263,5,193,0,0,260,261,5,91,0,0,261,262,5,131,0,0,262,264,5,67, + 0,0,263,260,1,0,0,0,263,264,1,0,0,0,264,265,1,0,0,0,265,266,3,142,71,0, + 266,267,5,2,0,0,267,272,3,12,6,0,268,269,5,4,0,0,269,271,3,12,6,0,270,268, + 1,0,0,0,271,274,1,0,0,0,272,270,1,0,0,0,272,273,1,0,0,0,273,275,1,0,0,0, + 274,272,1,0,0,0,275,278,5,3,0,0,276,277,5,33,0,0,277,279,3,94,47,0,278, + 276,1,0,0,0,278,279,1,0,0,0,279,282,1,0,0,0,280,281,5,224,0,0,281,283,3, + 18,9,0,282,280,1,0,0,0,282,283,1,0,0,0,283,929,1,0,0,0,284,285,5,58,0,0, + 285,288,5,193,0,0,286,287,5,91,0,0,287,289,5,67,0,0,288,286,1,0,0,0,288, + 289,1,0,0,0,289,290,1,0,0,0,290,929,3,142,71,0,291,292,5,97,0,0,292,293, + 5,100,0,0,293,295,3,142,71,0,294,296,3,80,40,0,295,294,1,0,0,0,295,296, + 1,0,0,0,296,297,1,0,0,0,297,298,3,8,4,0,298,929,1,0,0,0,299,300,5,51,0, + 0,300,301,5,78,0,0,301,304,3,142,71,0,302,303,5,223,0,0,303,305,3,86,43, + 0,304,302,1,0,0,0,304,305,1,0,0,0,305,929,1,0,0,0,306,307,5,204,0,0,307, + 308,5,193,0,0,308,929,3,142,71,0,309,310,5,13,0,0,310,313,5,193,0,0,311, + 312,5,91,0,0,312,314,5,67,0,0,313,311,1,0,0,0,313,314,1,0,0,0,314,315,1, + 0,0,0,315,316,3,142,71,0,316,317,5,159,0,0,317,318,5,201,0,0,318,319,3, + 142,71,0,319,929,1,0,0,0,320,321,5,13,0,0,321,324,5,193,0,0,322,323,5,91, + 0,0,323,325,5,67,0,0,324,322,1,0,0,0,324,325,1,0,0,0,325,326,1,0,0,0,326, + 327,3,142,71,0,327,328,5,159,0,0,328,331,5,31,0,0,329,330,5,91,0,0,330, + 332,5,67,0,0,331,329,1,0,0,0,331,332,1,0,0,0,332,333,1,0,0,0,333,334,3, + 154,77,0,334,335,5,201,0,0,335,336,3,154,77,0,336,929,1,0,0,0,337,338,5, + 13,0,0,338,341,5,193,0,0,339,340,5,91,0,0,340,342,5,67,0,0,341,339,1,0, + 0,0,341,342,1,0,0,0,342,343,1,0,0,0,343,344,3,142,71,0,344,345,5,58,0,0, + 345,348,5,31,0,0,346,347,5,91,0,0,347,349,5,67,0,0,348,346,1,0,0,0,348, + 349,1,0,0,0,349,350,1,0,0,0,350,351,3,142,71,0,351,929,1,0,0,0,352,353, + 5,13,0,0,353,356,5,193,0,0,354,355,5,91,0,0,355,357,5,67,0,0,356,354,1, + 0,0,0,356,357,1,0,0,0,357,358,1,0,0,0,358,359,3,142,71,0,359,360,5,10,0, + 0,360,364,5,31,0,0,361,362,5,91,0,0,362,363,5,131,0,0,363,365,5,67,0,0, + 364,361,1,0,0,0,364,365,1,0,0,0,365,366,1,0,0,0,366,367,3,14,7,0,367,929, + 1,0,0,0,368,369,5,13,0,0,369,372,5,193,0,0,370,371,5,91,0,0,371,373,5,67, + 0,0,372,370,1,0,0,0,372,373,1,0,0,0,373,374,1,0,0,0,374,375,3,142,71,0, + 375,376,5,10,0,0,376,377,3,158,79,0,377,929,1,0,0,0,378,379,5,13,0,0,379, + 382,5,193,0,0,380,381,5,91,0,0,381,383,5,67,0,0,382,380,1,0,0,0,382,383, + 1,0,0,0,383,384,1,0,0,0,384,385,3,142,71,0,385,386,5,58,0,0,386,389,5,36, + 0,0,387,388,5,91,0,0,388,390,5,67,0,0,389,387,1,0,0,0,389,390,1,0,0,0,390, + 391,1,0,0,0,391,392,3,154,77,0,392,929,1,0,0,0,393,394,5,13,0,0,394,397, + 5,193,0,0,395,396,5,91,0,0,396,398,5,67,0,0,397,395,1,0,0,0,397,398,1,0, + 0,0,398,399,1,0,0,0,399,400,3,142,71,0,400,402,5,13,0,0,401,403,5,31,0, + 0,402,401,1,0,0,0,402,403,1,0,0,0,403,404,1,0,0,0,404,405,3,154,77,0,405, + 406,5,182,0,0,406,407,5,131,0,0,407,408,5,132,0,0,408,929,1,0,0,0,409,410, + 5,13,0,0,410,413,5,193,0,0,411,412,5,91,0,0,412,414,5,67,0,0,413,411,1, + 0,0,0,413,414,1,0,0,0,414,415,1,0,0,0,415,416,3,142,71,0,416,418,5,13,0, + 0,417,419,5,31,0,0,418,417,1,0,0,0,418,419,1,0,0,0,419,420,1,0,0,0,420, + 421,3,154,77,0,421,422,5,58,0,0,422,423,5,131,0,0,423,424,5,132,0,0,424, + 929,1,0,0,0,425,426,5,13,0,0,426,429,5,193,0,0,427,428,5,91,0,0,428,430, + 5,67,0,0,429,427,1,0,0,0,429,430,1,0,0,0,430,431,1,0,0,0,431,432,3,142, + 71,0,432,433,5,182,0,0,433,434,5,153,0,0,434,435,3,18,9,0,435,929,1,0,0, + 0,436,437,5,14,0,0,437,440,3,142,71,0,438,439,5,224,0,0,439,441,3,18,9, + 0,440,438,1,0,0,0,440,441,1,0,0,0,441,929,1,0,0,0,442,443,5,37,0,0,443, + 444,5,206,0,0,444,445,3,142,71,0,445,458,5,18,0,0,446,447,5,2,0,0,447,452, + 3,22,11,0,448,449,5,4,0,0,449,451,3,22,11,0,450,448,1,0,0,0,451,454,1,0, + 0,0,452,450,1,0,0,0,452,453,1,0,0,0,453,455,1,0,0,0,454,452,1,0,0,0,455, + 456,5,3,0,0,456,459,1,0,0,0,457,459,3,114,57,0,458,446,1,0,0,0,458,457, + 1,0,0,0,459,929,1,0,0,0,460,463,5,37,0,0,461,462,5,140,0,0,462,464,5,161, + 0,0,463,461,1,0,0,0,463,464,1,0,0,0,464,465,1,0,0,0,465,466,5,221,0,0,466, + 469,3,142,71,0,467,468,5,178,0,0,468,470,7,1,0,0,469,467,1,0,0,0,469,470, + 1,0,0,0,470,471,1,0,0,0,471,472,5,18,0,0,472,473,3,8,4,0,473,929,1,0,0, + 0,474,475,5,13,0,0,475,478,5,221,0,0,476,477,5,91,0,0,477,479,5,67,0,0, + 478,476,1,0,0,0,478,479,1,0,0,0,479,480,1,0,0,0,480,481,3,142,71,0,481, + 482,5,159,0,0,482,483,5,201,0,0,483,484,3,142,71,0,484,929,1,0,0,0,485, + 486,5,58,0,0,486,489,5,221,0,0,487,488,5,91,0,0,488,490,5,67,0,0,489,487, + 1,0,0,0,489,490,1,0,0,0,490,491,1,0,0,0,491,929,3,142,71,0,492,493,5,37, + 0,0,493,494,5,119,0,0,494,498,5,221,0,0,495,496,5,91,0,0,496,497,5,131, + 0,0,497,499,5,67,0,0,498,495,1,0,0,0,498,499,1,0,0,0,499,500,1,0,0,0,500, + 503,3,142,71,0,501,502,5,33,0,0,502,504,3,94,47,0,503,501,1,0,0,0,503,504, + 1,0,0,0,504,507,1,0,0,0,505,506,5,224,0,0,506,508,3,18,9,0,507,505,1,0, + 0,0,507,508,1,0,0,0,508,509,1,0,0,0,509,515,5,18,0,0,510,516,3,8,4,0,511, + 512,5,2,0,0,512,513,3,8,4,0,513,514,5,3,0,0,514,516,1,0,0,0,515,510,1,0, + 0,0,515,511,1,0,0,0,516,929,1,0,0,0,517,518,5,58,0,0,518,519,5,119,0,0, + 519,522,5,221,0,0,520,521,5,91,0,0,521,523,5,67,0,0,522,520,1,0,0,0,522, + 523,1,0,0,0,523,524,1,0,0,0,524,929,3,142,71,0,525,526,5,157,0,0,526,527, + 5,119,0,0,527,528,5,221,0,0,528,529,3,142,71,0,529,530,5,223,0,0,530,531, + 3,86,43,0,531,929,1,0,0,0,532,535,5,37,0,0,533,534,5,140,0,0,534,536,5, + 161,0,0,535,533,1,0,0,0,535,536,1,0,0,0,536,538,1,0,0,0,537,539,5,196,0, + 0,538,537,1,0,0,0,538,539,1,0,0,0,539,540,1,0,0,0,540,541,5,80,0,0,541, + 542,3,142,71,0,542,551,5,2,0,0,543,548,3,22,11,0,544,545,5,4,0,0,545,547, + 3,22,11,0,546,544,1,0,0,0,547,550,1,0,0,0,548,546,1,0,0,0,548,549,1,0,0, + 0,549,552,1,0,0,0,550,548,1,0,0,0,551,543,1,0,0,0,551,552,1,0,0,0,552,553, + 1,0,0,0,553,554,5,3,0,0,554,555,5,166,0,0,555,558,3,114,57,0,556,557,5, + 33,0,0,557,559,3,94,47,0,558,556,1,0,0,0,558,559,1,0,0,0,559,560,1,0,0, + 0,560,561,3,24,12,0,561,562,3,32,16,0,562,929,1,0,0,0,563,564,5,13,0,0, + 564,565,5,80,0,0,565,567,3,142,71,0,566,568,3,112,56,0,567,566,1,0,0,0, + 567,568,1,0,0,0,568,569,1,0,0,0,569,570,3,28,14,0,570,929,1,0,0,0,571,573, + 5,58,0,0,572,574,5,196,0,0,573,572,1,0,0,0,573,574,1,0,0,0,574,575,1,0, + 0,0,575,578,5,80,0,0,576,577,5,91,0,0,577,579,5,67,0,0,578,576,1,0,0,0, + 578,579,1,0,0,0,579,580,1,0,0,0,580,582,3,142,71,0,581,583,3,112,56,0,582, + 581,1,0,0,0,582,583,1,0,0,0,583,929,1,0,0,0,584,585,5,25,0,0,585,586,3, + 142,71,0,586,595,5,2,0,0,587,592,3,138,69,0,588,589,5,4,0,0,589,591,3,138, + 69,0,590,588,1,0,0,0,591,594,1,0,0,0,592,590,1,0,0,0,592,593,1,0,0,0,593, + 596,1,0,0,0,594,592,1,0,0,0,595,587,1,0,0,0,595,596,1,0,0,0,596,597,1,0, + 0,0,597,598,5,3,0,0,598,929,1,0,0,0,599,600,5,37,0,0,600,601,5,169,0,0, + 601,605,3,154,77,0,602,603,5,224,0,0,603,604,5,11,0,0,604,606,3,148,74, + 0,605,602,1,0,0,0,605,606,1,0,0,0,606,929,1,0,0,0,607,608,5,58,0,0,608, + 609,5,169,0,0,609,929,3,154,77,0,610,611,5,82,0,0,611,612,3,152,76,0,612, + 613,5,201,0,0,613,618,3,150,75,0,614,615,5,4,0,0,615,617,3,150,75,0,616, + 614,1,0,0,0,617,620,1,0,0,0,618,616,1,0,0,0,618,619,1,0,0,0,619,624,1,0, + 0,0,620,618,1,0,0,0,621,622,5,224,0,0,622,623,5,11,0,0,623,625,5,139,0, + 0,624,621,1,0,0,0,624,625,1,0,0,0,625,629,1,0,0,0,626,627,5,83,0,0,627, + 628,5,24,0,0,628,630,3,148,74,0,629,626,1,0,0,0,629,630,1,0,0,0,630,929, + 1,0,0,0,631,635,5,167,0,0,632,633,5,11,0,0,633,634,5,139,0,0,634,636,5, + 76,0,0,635,632,1,0,0,0,635,636,1,0,0,0,636,637,1,0,0,0,637,638,3,152,76, + 0,638,639,5,78,0,0,639,644,3,150,75,0,640,641,5,4,0,0,641,643,3,150,75, + 0,642,640,1,0,0,0,643,646,1,0,0,0,644,642,1,0,0,0,644,645,1,0,0,0,645,650, + 1,0,0,0,646,644,1,0,0,0,647,648,5,83,0,0,648,649,5,24,0,0,649,651,3,148, + 74,0,650,647,1,0,0,0,650,651,1,0,0,0,651,929,1,0,0,0,652,653,5,182,0,0, + 653,657,5,169,0,0,654,658,5,12,0,0,655,658,5,129,0,0,656,658,3,154,77,0, + 657,654,1,0,0,0,657,655,1,0,0,0,657,656,1,0,0,0,658,929,1,0,0,0,659,670, + 5,82,0,0,660,665,3,140,70,0,661,662,5,4,0,0,662,664,3,140,70,0,663,661, + 1,0,0,0,664,667,1,0,0,0,665,663,1,0,0,0,665,666,1,0,0,0,666,671,1,0,0,0, + 667,665,1,0,0,0,668,669,5,12,0,0,669,671,5,152,0,0,670,660,1,0,0,0,670, + 668,1,0,0,0,671,672,1,0,0,0,672,674,5,137,0,0,673,675,5,193,0,0,674,673, + 1,0,0,0,674,675,1,0,0,0,675,676,1,0,0,0,676,677,3,142,71,0,677,678,5,201, + 0,0,678,682,3,150,75,0,679,680,5,224,0,0,680,681,5,82,0,0,681,683,5,139, + 0,0,682,679,1,0,0,0,682,683,1,0,0,0,683,929,1,0,0,0,684,688,5,167,0,0,685, + 686,5,82,0,0,686,687,5,139,0,0,687,689,5,76,0,0,688,685,1,0,0,0,688,689, + 1,0,0,0,689,700,1,0,0,0,690,695,3,140,70,0,691,692,5,4,0,0,692,694,3,140, + 70,0,693,691,1,0,0,0,694,697,1,0,0,0,695,693,1,0,0,0,695,696,1,0,0,0,696, + 701,1,0,0,0,697,695,1,0,0,0,698,699,5,12,0,0,699,701,5,152,0,0,700,690, + 1,0,0,0,700,698,1,0,0,0,701,702,1,0,0,0,702,704,5,137,0,0,703,705,5,193, + 0,0,704,703,1,0,0,0,704,705,1,0,0,0,705,706,1,0,0,0,706,707,3,142,71,0, + 707,708,5,78,0,0,708,709,3,150,75,0,709,929,1,0,0,0,710,711,5,184,0,0,711, + 717,5,84,0,0,712,714,5,137,0,0,713,715,5,193,0,0,714,713,1,0,0,0,714,715, + 1,0,0,0,715,716,1,0,0,0,716,718,3,142,71,0,717,712,1,0,0,0,717,718,1,0, + 0,0,718,929,1,0,0,0,719,721,5,68,0,0,720,722,5,14,0,0,721,720,1,0,0,0,721, + 722,1,0,0,0,722,724,1,0,0,0,723,725,5,219,0,0,724,723,1,0,0,0,724,725,1, + 0,0,0,725,737,1,0,0,0,726,727,5,2,0,0,727,732,3,132,66,0,728,729,5,4,0, + 0,729,731,3,132,66,0,730,728,1,0,0,0,731,734,1,0,0,0,732,730,1,0,0,0,732, + 733,1,0,0,0,733,735,1,0,0,0,734,732,1,0,0,0,735,736,5,3,0,0,736,738,1,0, + 0,0,737,726,1,0,0,0,737,738,1,0,0,0,738,739,1,0,0,0,739,929,3,6,3,0,740, + 741,5,184,0,0,741,742,5,37,0,0,742,743,5,193,0,0,743,929,3,142,71,0,744, + 745,5,184,0,0,745,746,5,37,0,0,746,747,5,175,0,0,747,929,3,142,71,0,748, + 749,5,184,0,0,749,750,5,37,0,0,750,751,5,221,0,0,751,929,3,142,71,0,752, + 753,5,184,0,0,753,754,5,37,0,0,754,755,5,119,0,0,755,756,5,221,0,0,756, + 929,3,142,71,0,757,758,5,184,0,0,758,759,5,37,0,0,759,760,5,80,0,0,760, + 762,3,142,71,0,761,763,3,112,56,0,762,761,1,0,0,0,762,763,1,0,0,0,763,929, + 1,0,0,0,764,765,5,184,0,0,765,768,5,194,0,0,766,767,7,2,0,0,767,769,3,142, + 71,0,768,766,1,0,0,0,768,769,1,0,0,0,769,776,1,0,0,0,770,771,5,113,0,0, + 771,774,3,94,47,0,772,773,5,63,0,0,773,775,3,94,47,0,774,772,1,0,0,0,774, + 775,1,0,0,0,775,777,1,0,0,0,776,770,1,0,0,0,776,777,1,0,0,0,777,929,1,0, + 0,0,778,779,5,184,0,0,779,782,5,176,0,0,780,781,7,2,0,0,781,783,3,154,77, + 0,782,780,1,0,0,0,782,783,1,0,0,0,783,790,1,0,0,0,784,785,5,113,0,0,785, + 788,3,94,47,0,786,787,5,63,0,0,787,789,3,94,47,0,788,786,1,0,0,0,788,789, + 1,0,0,0,789,791,1,0,0,0,790,784,1,0,0,0,790,791,1,0,0,0,791,929,1,0,0,0, + 792,793,5,184,0,0,793,800,5,30,0,0,794,795,5,113,0,0,795,798,3,94,47,0, + 796,797,5,63,0,0,797,799,3,94,47,0,798,796,1,0,0,0,798,799,1,0,0,0,799, + 801,1,0,0,0,800,794,1,0,0,0,800,801,1,0,0,0,801,929,1,0,0,0,802,803,5,184, + 0,0,803,804,5,32,0,0,804,805,7,2,0,0,805,929,3,142,71,0,806,807,5,184,0, + 0,807,808,5,188,0,0,808,809,5,76,0,0,809,929,3,142,71,0,810,811,5,184,0, + 0,811,812,5,188,0,0,812,813,5,76,0,0,813,814,5,2,0,0,814,815,3,54,27,0, + 815,816,5,3,0,0,816,929,1,0,0,0,817,819,5,184,0,0,818,820,5,40,0,0,819, + 818,1,0,0,0,819,820,1,0,0,0,820,821,1,0,0,0,821,824,5,170,0,0,822,823,7, + 2,0,0,823,825,3,154,77,0,824,822,1,0,0,0,824,825,1,0,0,0,825,929,1,0,0, + 0,826,827,5,184,0,0,827,828,5,169,0,0,828,831,5,84,0,0,829,830,7,2,0,0, + 830,832,3,154,77,0,831,829,1,0,0,0,831,832,1,0,0,0,832,929,1,0,0,0,833, + 834,5,53,0,0,834,929,3,142,71,0,835,836,5,52,0,0,836,929,3,142,71,0,837, + 838,5,184,0,0,838,845,5,81,0,0,839,840,5,113,0,0,840,843,3,94,47,0,841, + 842,5,63,0,0,842,844,3,94,47,0,843,841,1,0,0,0,843,844,1,0,0,0,844,846, + 1,0,0,0,845,839,1,0,0,0,845,846,1,0,0,0,846,929,1,0,0,0,847,848,5,184,0, + 0,848,855,5,181,0,0,849,850,5,113,0,0,850,853,3,94,47,0,851,852,5,63,0, + 0,852,854,3,94,47,0,853,851,1,0,0,0,853,854,1,0,0,0,854,856,1,0,0,0,855, + 849,1,0,0,0,855,856,1,0,0,0,856,929,1,0,0,0,857,858,5,182,0,0,858,859,5, + 181,0,0,859,860,3,142,71,0,860,861,5,229,0,0,861,862,3,84,42,0,862,929, + 1,0,0,0,863,864,5,162,0,0,864,865,5,181,0,0,865,929,3,142,71,0,866,867, + 5,187,0,0,867,876,5,202,0,0,868,873,3,134,67,0,869,870,5,4,0,0,870,872, + 3,134,67,0,871,869,1,0,0,0,872,875,1,0,0,0,873,871,1,0,0,0,873,874,1,0, + 0,0,874,877,1,0,0,0,875,873,1,0,0,0,876,868,1,0,0,0,876,877,1,0,0,0,877, + 929,1,0,0,0,878,880,5,34,0,0,879,881,5,225,0,0,880,879,1,0,0,0,880,881, + 1,0,0,0,881,929,1,0,0,0,882,884,5,171,0,0,883,885,5,225,0,0,884,883,1,0, + 0,0,884,885,1,0,0,0,885,929,1,0,0,0,886,887,5,150,0,0,887,888,3,154,77, + 0,888,889,5,78,0,0,889,890,3,6,3,0,890,929,1,0,0,0,891,892,5,49,0,0,892, + 893,5,150,0,0,893,929,3,154,77,0,894,895,5,66,0,0,895,905,3,154,77,0,896, + 897,5,216,0,0,897,902,3,84,42,0,898,899,5,4,0,0,899,901,3,84,42,0,900,898, + 1,0,0,0,901,904,1,0,0,0,902,900,1,0,0,0,902,903,1,0,0,0,903,906,1,0,0,0, + 904,902,1,0,0,0,905,896,1,0,0,0,905,906,1,0,0,0,906,929,1,0,0,0,907,908, + 5,53,0,0,908,909,5,96,0,0,909,929,3,154,77,0,910,911,5,53,0,0,911,912,5, + 144,0,0,912,929,3,154,77,0,913,914,5,213,0,0,914,915,3,142,71,0,915,916, + 5,182,0,0,916,921,3,130,65,0,917,918,5,4,0,0,918,920,3,130,65,0,919,917, + 1,0,0,0,920,923,1,0,0,0,921,919,1,0,0,0,921,922,1,0,0,0,922,926,1,0,0,0, + 923,921,1,0,0,0,924,925,5,223,0,0,925,927,3,86,43,0,926,924,1,0,0,0,926, + 927,1,0,0,0,927,929,1,0,0,0,928,187,1,0,0,0,928,188,1,0,0,0,928,190,1,0, + 0,0,928,195,1,0,0,0,928,207,1,0,0,0,928,217,1,0,0,0,928,224,1,0,0,0,928, + 258,1,0,0,0,928,284,1,0,0,0,928,291,1,0,0,0,928,299,1,0,0,0,928,306,1,0, + 0,0,928,309,1,0,0,0,928,320,1,0,0,0,928,337,1,0,0,0,928,352,1,0,0,0,928, + 368,1,0,0,0,928,378,1,0,0,0,928,393,1,0,0,0,928,409,1,0,0,0,928,425,1,0, + 0,0,928,436,1,0,0,0,928,442,1,0,0,0,928,460,1,0,0,0,928,474,1,0,0,0,928, + 485,1,0,0,0,928,492,1,0,0,0,928,517,1,0,0,0,928,525,1,0,0,0,928,532,1,0, + 0,0,928,563,1,0,0,0,928,571,1,0,0,0,928,584,1,0,0,0,928,599,1,0,0,0,928, + 607,1,0,0,0,928,610,1,0,0,0,928,631,1,0,0,0,928,652,1,0,0,0,928,659,1,0, + 0,0,928,684,1,0,0,0,928,710,1,0,0,0,928,719,1,0,0,0,928,740,1,0,0,0,928, + 744,1,0,0,0,928,748,1,0,0,0,928,752,1,0,0,0,928,757,1,0,0,0,928,764,1,0, + 0,0,928,778,1,0,0,0,928,792,1,0,0,0,928,802,1,0,0,0,928,806,1,0,0,0,928, + 810,1,0,0,0,928,817,1,0,0,0,928,826,1,0,0,0,928,833,1,0,0,0,928,835,1,0, + 0,0,928,837,1,0,0,0,928,847,1,0,0,0,928,857,1,0,0,0,928,863,1,0,0,0,928, + 866,1,0,0,0,928,878,1,0,0,0,928,882,1,0,0,0,928,886,1,0,0,0,928,891,1,0, + 0,0,928,894,1,0,0,0,928,907,1,0,0,0,928,910,1,0,0,0,928,913,1,0,0,0,929, + 7,1,0,0,0,930,932,3,10,5,0,931,930,1,0,0,0,931,932,1,0,0,0,932,933,1,0, + 0,0,933,934,3,46,23,0,934,9,1,0,0,0,935,937,5,224,0,0,936,938,5,156,0,0, + 937,936,1,0,0,0,937,938,1,0,0,0,938,939,1,0,0,0,939,944,3,62,31,0,940,941, + 5,4,0,0,941,943,3,62,31,0,942,940,1,0,0,0,943,946,1,0,0,0,944,942,1,0,0, + 0,944,945,1,0,0,0,945,11,1,0,0,0,946,944,1,0,0,0,947,951,3,158,79,0,948, + 951,3,14,7,0,949,951,3,16,8,0,950,947,1,0,0,0,950,948,1,0,0,0,950,949,1, + 0,0,0,951,13,1,0,0,0,952,953,3,154,77,0,953,956,3,114,57,0,954,955,5,131, + 0,0,955,957,5,132,0,0,956,954,1,0,0,0,956,957,1,0,0,0,957,960,1,0,0,0,958, + 959,5,33,0,0,959,961,3,94,47,0,960,958,1,0,0,0,960,961,1,0,0,0,961,964, + 1,0,0,0,962,963,5,224,0,0,963,965,3,18,9,0,964,962,1,0,0,0,964,965,1,0, + 0,0,965,15,1,0,0,0,966,967,5,113,0,0,967,970,3,142,71,0,968,969,7,3,0,0, + 969,971,5,153,0,0,970,968,1,0,0,0,970,971,1,0,0,0,971,17,1,0,0,0,972,973, + 5,2,0,0,973,978,3,20,10,0,974,975,5,4,0,0,975,977,3,20,10,0,976,974,1,0, + 0,0,977,980,1,0,0,0,978,976,1,0,0,0,978,979,1,0,0,0,979,981,1,0,0,0,980, + 978,1,0,0,0,981,982,5,3,0,0,982,19,1,0,0,0,983,984,3,154,77,0,984,985,5, + 229,0,0,985,986,3,84,42,0,986,21,1,0,0,0,987,988,3,154,77,0,988,989,3,114, + 57,0,989,23,1,0,0,0,990,992,3,26,13,0,991,990,1,0,0,0,992,995,1,0,0,0,993, + 991,1,0,0,0,993,994,1,0,0,0,994,25,1,0,0,0,995,993,1,0,0,0,996,997,5,108, + 0,0,997,1001,3,38,19,0,998,1001,3,40,20,0,999,1001,3,42,21,0,1000,996,1, + 0,0,0,1000,998,1,0,0,0,1000,999,1,0,0,0,1001,27,1,0,0,0,1002,1004,3,30, + 15,0,1003,1002,1,0,0,0,1004,1007,1,0,0,0,1005,1003,1,0,0,0,1005,1006,1, + 0,0,0,1006,29,1,0,0,0,1007,1005,1,0,0,0,1008,1009,3,42,21,0,1009,31,1,0, + 0,0,1010,1013,3,34,17,0,1011,1013,3,36,18,0,1012,1010,1,0,0,0,1012,1011, + 1,0,0,0,1013,33,1,0,0,0,1014,1015,5,165,0,0,1015,1016,3,84,42,0,1016,35, + 1,0,0,0,1017,1020,5,70,0,0,1018,1019,5,122,0,0,1019,1021,3,44,22,0,1020, + 1018,1,0,0,0,1020,1021,1,0,0,0,1021,37,1,0,0,0,1022,1025,5,186,0,0,1023, + 1025,3,154,77,0,1024,1022,1,0,0,0,1024,1023,1,0,0,0,1025,39,1,0,0,0,1026, + 1030,5,54,0,0,1027,1028,5,131,0,0,1028,1030,5,54,0,0,1029,1026,1,0,0,0, + 1029,1027,1,0,0,0,1030,41,1,0,0,0,1031,1032,5,166,0,0,1032,1033,5,132,0, + 0,1033,1034,5,137,0,0,1034,1035,5,132,0,0,1035,1041,5,96,0,0,1036,1037, + 5,26,0,0,1037,1038,5,137,0,0,1038,1039,5,132,0,0,1039,1041,5,96,0,0,1040, + 1031,1,0,0,0,1040,1036,1,0,0,0,1041,43,1,0,0,0,1042,1043,3,154,77,0,1043, + 45,1,0,0,0,1044,1055,3,48,24,0,1045,1046,5,141,0,0,1046,1047,5,24,0,0,1047, + 1052,3,52,26,0,1048,1049,5,4,0,0,1049,1051,3,52,26,0,1050,1048,1,0,0,0, + 1051,1054,1,0,0,0,1052,1050,1,0,0,0,1052,1053,1,0,0,0,1053,1056,1,0,0,0, + 1054,1052,1,0,0,0,1055,1045,1,0,0,0,1055,1056,1,0,0,0,1056,1062,1,0,0,0, + 1057,1058,5,136,0,0,1058,1060,5,244,0,0,1059,1061,7,4,0,0,1060,1059,1,0, + 0,0,1060,1061,1,0,0,0,1061,1063,1,0,0,0,1062,1057,1,0,0,0,1062,1063,1,0, + 0,0,1063,1073,1,0,0,0,1064,1065,5,114,0,0,1065,1072,7,5,0,0,1066,1067,5, + 72,0,0,1067,1068,5,74,0,0,1068,1069,5,244,0,0,1069,1070,5,174,0,0,1070, + 1072,5,138,0,0,1071,1064,1,0,0,0,1071,1066,1,0,0,0,1072,1074,1,0,0,0,1073, + 1071,1,0,0,0,1073,1074,1,0,0,0,1074,47,1,0,0,0,1075,1076,6,24,-1,0,1076, + 1077,3,50,25,0,1077,1092,1,0,0,0,1078,1079,10,2,0,0,1079,1081,5,98,0,0, + 1080,1082,3,64,32,0,1081,1080,1,0,0,0,1081,1082,1,0,0,0,1082,1083,1,0,0, + 0,1083,1091,3,48,24,3,1084,1085,10,1,0,0,1085,1087,7,6,0,0,1086,1088,3, + 64,32,0,1087,1086,1,0,0,0,1087,1088,1,0,0,0,1088,1089,1,0,0,0,1089,1091, + 3,48,24,2,1090,1078,1,0,0,0,1090,1084,1,0,0,0,1091,1094,1,0,0,0,1092,1090, + 1,0,0,0,1092,1093,1,0,0,0,1093,49,1,0,0,0,1094,1092,1,0,0,0,1095,1112,3, + 54,27,0,1096,1097,5,193,0,0,1097,1112,3,142,71,0,1098,1099,5,218,0,0,1099, + 1104,3,84,42,0,1100,1101,5,4,0,0,1101,1103,3,84,42,0,1102,1100,1,0,0,0, + 1103,1106,1,0,0,0,1104,1102,1,0,0,0,1104,1105,1,0,0,0,1105,1112,1,0,0,0, + 1106,1104,1,0,0,0,1107,1108,5,2,0,0,1108,1109,3,46,23,0,1109,1110,5,3,0, + 0,1110,1112,1,0,0,0,1111,1095,1,0,0,0,1111,1096,1,0,0,0,1111,1098,1,0,0, + 0,1111,1107,1,0,0,0,1112,51,1,0,0,0,1113,1115,3,84,42,0,1114,1116,7,7,0, + 0,1115,1114,1,0,0,0,1115,1116,1,0,0,0,1116,1119,1,0,0,0,1117,1118,5,134, + 0,0,1118,1120,7,8,0,0,1119,1117,1,0,0,0,1119,1120,1,0,0,0,1120,53,1,0,0, + 0,1121,1123,5,179,0,0,1122,1124,3,64,32,0,1123,1122,1,0,0,0,1123,1124,1, + 0,0,0,1124,1125,1,0,0,0,1125,1130,3,66,33,0,1126,1127,5,4,0,0,1127,1129, + 3,66,33,0,1128,1126,1,0,0,0,1129,1132,1,0,0,0,1130,1128,1,0,0,0,1130,1131, + 1,0,0,0,1131,1142,1,0,0,0,1132,1130,1,0,0,0,1133,1134,5,78,0,0,1134,1139, + 3,68,34,0,1135,1136,5,4,0,0,1136,1138,3,68,34,0,1137,1135,1,0,0,0,1138, + 1141,1,0,0,0,1139,1137,1,0,0,0,1139,1140,1,0,0,0,1140,1143,1,0,0,0,1141, + 1139,1,0,0,0,1142,1133,1,0,0,0,1142,1143,1,0,0,0,1143,1146,1,0,0,0,1144, + 1145,5,223,0,0,1145,1147,3,86,43,0,1146,1144,1,0,0,0,1146,1147,1,0,0,0, + 1147,1151,1,0,0,0,1148,1149,5,86,0,0,1149,1150,5,24,0,0,1150,1152,3,56, + 28,0,1151,1148,1,0,0,0,1151,1152,1,0,0,0,1152,1155,1,0,0,0,1153,1154,5, + 89,0,0,1154,1156,3,86,43,0,1155,1153,1,0,0,0,1155,1156,1,0,0,0,1156,55, + 1,0,0,0,1157,1159,3,64,32,0,1158,1157,1,0,0,0,1158,1159,1,0,0,0,1159,1160, + 1,0,0,0,1160,1165,3,58,29,0,1161,1162,5,4,0,0,1162,1164,3,58,29,0,1163, + 1161,1,0,0,0,1164,1167,1,0,0,0,1165,1163,1,0,0,0,1165,1166,1,0,0,0,1166, + 57,1,0,0,0,1167,1165,1,0,0,0,1168,1209,3,60,30,0,1169,1170,5,172,0,0,1170, + 1179,5,2,0,0,1171,1176,3,84,42,0,1172,1173,5,4,0,0,1173,1175,3,84,42,0, + 1174,1172,1,0,0,0,1175,1178,1,0,0,0,1176,1174,1,0,0,0,1176,1177,1,0,0,0, + 1177,1180,1,0,0,0,1178,1176,1,0,0,0,1179,1171,1,0,0,0,1179,1180,1,0,0,0, + 1180,1181,1,0,0,0,1181,1209,5,3,0,0,1182,1183,5,39,0,0,1183,1192,5,2,0, + 0,1184,1189,3,84,42,0,1185,1186,5,4,0,0,1186,1188,3,84,42,0,1187,1185,1, + 0,0,0,1188,1191,1,0,0,0,1189,1187,1,0,0,0,1189,1190,1,0,0,0,1190,1193,1, + 0,0,0,1191,1189,1,0,0,0,1192,1184,1,0,0,0,1192,1193,1,0,0,0,1193,1194,1, + 0,0,0,1194,1209,5,3,0,0,1195,1196,5,87,0,0,1196,1197,5,183,0,0,1197,1198, + 5,2,0,0,1198,1203,3,60,30,0,1199,1200,5,4,0,0,1200,1202,3,60,30,0,1201, + 1199,1,0,0,0,1202,1205,1,0,0,0,1203,1201,1,0,0,0,1203,1204,1,0,0,0,1204, + 1206,1,0,0,0,1205,1203,1,0,0,0,1206,1207,5,3,0,0,1207,1209,1,0,0,0,1208, + 1168,1,0,0,0,1208,1169,1,0,0,0,1208,1182,1,0,0,0,1208,1195,1,0,0,0,1209, + 59,1,0,0,0,1210,1219,5,2,0,0,1211,1216,3,84,42,0,1212,1213,5,4,0,0,1213, + 1215,3,84,42,0,1214,1212,1,0,0,0,1215,1218,1,0,0,0,1216,1214,1,0,0,0,1216, + 1217,1,0,0,0,1217,1220,1,0,0,0,1218,1216,1,0,0,0,1219,1211,1,0,0,0,1219, + 1220,1,0,0,0,1220,1221,1,0,0,0,1221,1224,5,3,0,0,1222,1224,3,84,42,0,1223, + 1210,1,0,0,0,1223,1222,1,0,0,0,1224,61,1,0,0,0,1225,1227,3,154,77,0,1226, + 1228,3,80,40,0,1227,1226,1,0,0,0,1227,1228,1,0,0,0,1228,1229,1,0,0,0,1229, + 1230,5,18,0,0,1230,1231,5,2,0,0,1231,1232,3,8,4,0,1232,1233,5,3,0,0,1233, + 63,1,0,0,0,1234,1235,7,9,0,0,1235,65,1,0,0,0,1236,1241,3,84,42,0,1237,1239, + 5,18,0,0,1238,1237,1,0,0,0,1238,1239,1,0,0,0,1239,1240,1,0,0,0,1240,1242, + 3,154,77,0,1241,1238,1,0,0,0,1241,1242,1,0,0,0,1242,1249,1,0,0,0,1243,1244, + 3,142,71,0,1244,1245,5,1,0,0,1245,1246,5,237,0,0,1246,1249,1,0,0,0,1247, + 1249,5,237,0,0,1248,1236,1,0,0,0,1248,1243,1,0,0,0,1248,1247,1,0,0,0,1249, + 67,1,0,0,0,1250,1251,6,34,-1,0,1251,1252,3,74,37,0,1252,1271,1,0,0,0,1253, + 1267,10,2,0,0,1254,1255,5,38,0,0,1255,1256,5,106,0,0,1256,1268,3,74,37, + 0,1257,1258,3,70,35,0,1258,1259,5,106,0,0,1259,1260,3,68,34,0,1260,1261, + 3,72,36,0,1261,1268,1,0,0,0,1262,1263,5,123,0,0,1263,1264,3,70,35,0,1264, + 1265,5,106,0,0,1265,1266,3,74,37,0,1266,1268,1,0,0,0,1267,1254,1,0,0,0, + 1267,1257,1,0,0,0,1267,1262,1,0,0,0,1268,1270,1,0,0,0,1269,1253,1,0,0,0, + 1270,1273,1,0,0,0,1271,1269,1,0,0,0,1271,1272,1,0,0,0,1272,69,1,0,0,0,1273, + 1271,1,0,0,0,1274,1276,5,95,0,0,1275,1274,1,0,0,0,1275,1276,1,0,0,0,1276, + 1290,1,0,0,0,1277,1279,5,111,0,0,1278,1280,5,143,0,0,1279,1278,1,0,0,0, + 1279,1280,1,0,0,0,1280,1290,1,0,0,0,1281,1283,5,168,0,0,1282,1284,5,143, + 0,0,1283,1282,1,0,0,0,1283,1284,1,0,0,0,1284,1290,1,0,0,0,1285,1287,5,79, + 0,0,1286,1288,5,143,0,0,1287,1286,1,0,0,0,1287,1288,1,0,0,0,1288,1290,1, + 0,0,0,1289,1275,1,0,0,0,1289,1277,1,0,0,0,1289,1281,1,0,0,0,1289,1285,1, + 0,0,0,1290,71,1,0,0,0,1291,1292,5,137,0,0,1292,1306,3,86,43,0,1293,1294, + 5,216,0,0,1294,1295,5,2,0,0,1295,1300,3,154,77,0,1296,1297,5,4,0,0,1297, + 1299,3,154,77,0,1298,1296,1,0,0,0,1299,1302,1,0,0,0,1300,1298,1,0,0,0,1300, + 1301,1,0,0,0,1301,1303,1,0,0,0,1302,1300,1,0,0,0,1303,1304,5,3,0,0,1304, + 1306,1,0,0,0,1305,1291,1,0,0,0,1305,1293,1,0,0,0,1306,73,1,0,0,0,1307,1314, + 3,78,39,0,1308,1309,5,195,0,0,1309,1310,3,76,38,0,1310,1311,5,2,0,0,1311, + 1312,3,84,42,0,1312,1313,5,3,0,0,1313,1315,1,0,0,0,1314,1308,1,0,0,0,1314, + 1315,1,0,0,0,1315,75,1,0,0,0,1316,1317,7,10,0,0,1317,77,1,0,0,0,1318,1326, + 3,82,41,0,1319,1321,5,18,0,0,1320,1319,1,0,0,0,1320,1321,1,0,0,0,1321,1322, + 1,0,0,0,1322,1324,3,154,77,0,1323,1325,3,80,40,0,1324,1323,1,0,0,0,1324, + 1325,1,0,0,0,1325,1327,1,0,0,0,1326,1320,1,0,0,0,1326,1327,1,0,0,0,1327, + 79,1,0,0,0,1328,1329,5,2,0,0,1329,1334,3,154,77,0,1330,1331,5,4,0,0,1331, + 1333,3,154,77,0,1332,1330,1,0,0,0,1333,1336,1,0,0,0,1334,1332,1,0,0,0,1334, + 1335,1,0,0,0,1335,1337,1,0,0,0,1336,1334,1,0,0,0,1337,1338,5,3,0,0,1338, + 81,1,0,0,0,1339,1341,3,142,71,0,1340,1342,3,144,72,0,1341,1340,1,0,0,0, + 1341,1342,1,0,0,0,1342,1372,1,0,0,0,1343,1344,5,2,0,0,1344,1345,3,8,4,0, + 1345,1346,5,3,0,0,1346,1372,1,0,0,0,1347,1348,5,212,0,0,1348,1349,5,2,0, + 0,1349,1354,3,84,42,0,1350,1351,5,4,0,0,1351,1353,3,84,42,0,1352,1350,1, + 0,0,0,1353,1356,1,0,0,0,1354,1352,1,0,0,0,1354,1355,1,0,0,0,1355,1357,1, + 0,0,0,1356,1354,1,0,0,0,1357,1360,5,3,0,0,1358,1359,5,224,0,0,1359,1361, + 5,142,0,0,1360,1358,1,0,0,0,1360,1361,1,0,0,0,1361,1372,1,0,0,0,1362,1363, + 5,110,0,0,1363,1364,5,2,0,0,1364,1365,3,8,4,0,1365,1366,5,3,0,0,1366,1372, + 1,0,0,0,1367,1368,5,2,0,0,1368,1369,3,68,34,0,1369,1370,5,3,0,0,1370,1372, + 1,0,0,0,1371,1339,1,0,0,0,1371,1343,1,0,0,0,1371,1347,1,0,0,0,1371,1362, + 1,0,0,0,1371,1367,1,0,0,0,1372,83,1,0,0,0,1373,1374,3,86,43,0,1374,85,1, + 0,0,0,1375,1376,6,43,-1,0,1376,1378,3,90,45,0,1377,1379,3,88,44,0,1378, + 1377,1,0,0,0,1378,1379,1,0,0,0,1379,1383,1,0,0,0,1380,1381,5,131,0,0,1381, + 1383,3,86,43,3,1382,1375,1,0,0,0,1382,1380,1,0,0,0,1383,1392,1,0,0,0,1384, + 1385,10,2,0,0,1385,1386,5,15,0,0,1386,1391,3,86,43,3,1387,1388,10,1,0,0, + 1388,1389,5,140,0,0,1389,1391,3,86,43,2,1390,1384,1,0,0,0,1390,1387,1,0, + 0,0,1391,1394,1,0,0,0,1392,1390,1,0,0,0,1392,1393,1,0,0,0,1393,87,1,0,0, + 0,1394,1392,1,0,0,0,1395,1396,3,100,50,0,1396,1397,3,90,45,0,1397,1457, + 1,0,0,0,1398,1399,3,100,50,0,1399,1400,3,102,51,0,1400,1401,5,2,0,0,1401, + 1402,3,8,4,0,1402,1403,5,3,0,0,1403,1457,1,0,0,0,1404,1406,5,131,0,0,1405, + 1404,1,0,0,0,1405,1406,1,0,0,0,1406,1407,1,0,0,0,1407,1408,5,23,0,0,1408, + 1409,3,90,45,0,1409,1410,5,15,0,0,1410,1411,3,90,45,0,1411,1457,1,0,0,0, + 1412,1414,5,131,0,0,1413,1412,1,0,0,0,1413,1414,1,0,0,0,1414,1415,1,0,0, + 0,1415,1416,5,93,0,0,1416,1417,5,2,0,0,1417,1422,3,84,42,0,1418,1419,5, + 4,0,0,1419,1421,3,84,42,0,1420,1418,1,0,0,0,1421,1424,1,0,0,0,1422,1420, + 1,0,0,0,1422,1423,1,0,0,0,1423,1425,1,0,0,0,1424,1422,1,0,0,0,1425,1426, + 5,3,0,0,1426,1457,1,0,0,0,1427,1429,5,131,0,0,1428,1427,1,0,0,0,1428,1429, + 1,0,0,0,1429,1430,1,0,0,0,1430,1431,5,93,0,0,1431,1432,5,2,0,0,1432,1433, + 3,8,4,0,1433,1434,5,3,0,0,1434,1457,1,0,0,0,1435,1437,5,131,0,0,1436,1435, + 1,0,0,0,1436,1437,1,0,0,0,1437,1438,1,0,0,0,1438,1439,5,113,0,0,1439,1442, + 3,90,45,0,1440,1441,5,63,0,0,1441,1443,3,90,45,0,1442,1440,1,0,0,0,1442, + 1443,1,0,0,0,1443,1457,1,0,0,0,1444,1446,5,103,0,0,1445,1447,5,131,0,0, + 1446,1445,1,0,0,0,1446,1447,1,0,0,0,1447,1448,1,0,0,0,1448,1457,5,132,0, + 0,1449,1451,5,103,0,0,1450,1452,5,131,0,0,1451,1450,1,0,0,0,1451,1452,1, + 0,0,0,1452,1453,1,0,0,0,1453,1454,5,56,0,0,1454,1455,5,78,0,0,1455,1457, + 3,90,45,0,1456,1395,1,0,0,0,1456,1398,1,0,0,0,1456,1405,1,0,0,0,1456,1413, + 1,0,0,0,1456,1428,1,0,0,0,1456,1436,1,0,0,0,1456,1444,1,0,0,0,1456,1449, + 1,0,0,0,1457,89,1,0,0,0,1458,1459,6,45,-1,0,1459,1463,3,92,46,0,1460,1461, + 7,11,0,0,1461,1463,3,90,45,4,1462,1458,1,0,0,0,1462,1460,1,0,0,0,1463,1478, + 1,0,0,0,1464,1465,10,3,0,0,1465,1466,7,12,0,0,1466,1477,3,90,45,4,1467, + 1468,10,2,0,0,1468,1469,7,11,0,0,1469,1477,3,90,45,3,1470,1471,10,1,0,0, + 1471,1472,5,240,0,0,1472,1477,3,90,45,2,1473,1474,10,5,0,0,1474,1475,5, + 20,0,0,1475,1477,3,98,49,0,1476,1464,1,0,0,0,1476,1467,1,0,0,0,1476,1470, + 1,0,0,0,1476,1473,1,0,0,0,1477,1480,1,0,0,0,1478,1476,1,0,0,0,1478,1479, + 1,0,0,0,1479,91,1,0,0,0,1480,1478,1,0,0,0,1481,1482,6,46,-1,0,1482,1721, + 5,132,0,0,1483,1721,3,106,53,0,1484,1485,3,154,77,0,1485,1486,3,94,47,0, + 1486,1721,1,0,0,0,1487,1488,5,253,0,0,1488,1721,3,94,47,0,1489,1721,3,156, + 78,0,1490,1721,3,104,52,0,1491,1721,3,94,47,0,1492,1721,5,243,0,0,1493, + 1721,5,5,0,0,1494,1495,5,148,0,0,1495,1496,5,2,0,0,1496,1497,3,90,45,0, + 1497,1498,5,93,0,0,1498,1499,3,90,45,0,1499,1500,5,3,0,0,1500,1721,1,0, + 0,0,1501,1502,5,2,0,0,1502,1505,3,84,42,0,1503,1504,5,4,0,0,1504,1506,3, + 84,42,0,1505,1503,1,0,0,0,1506,1507,1,0,0,0,1507,1505,1,0,0,0,1507,1508, + 1,0,0,0,1508,1509,1,0,0,0,1509,1510,5,3,0,0,1510,1721,1,0,0,0,1511,1512, + 5,173,0,0,1512,1513,5,2,0,0,1513,1518,3,84,42,0,1514,1515,5,4,0,0,1515, + 1517,3,84,42,0,1516,1514,1,0,0,0,1517,1520,1,0,0,0,1518,1516,1,0,0,0,1518, + 1519,1,0,0,0,1519,1521,1,0,0,0,1520,1518,1,0,0,0,1521,1522,5,3,0,0,1522, + 1721,1,0,0,0,1523,1524,3,142,71,0,1524,1525,5,2,0,0,1525,1526,5,237,0,0, + 1526,1528,5,3,0,0,1527,1529,3,122,61,0,1528,1527,1,0,0,0,1528,1529,1,0, + 0,0,1529,1531,1,0,0,0,1530,1532,3,124,62,0,1531,1530,1,0,0,0,1531,1532, + 1,0,0,0,1532,1721,1,0,0,0,1533,1534,3,142,71,0,1534,1546,5,2,0,0,1535,1537, + 3,64,32,0,1536,1535,1,0,0,0,1536,1537,1,0,0,0,1537,1538,1,0,0,0,1538,1543, + 3,84,42,0,1539,1540,5,4,0,0,1540,1542,3,84,42,0,1541,1539,1,0,0,0,1542, + 1545,1,0,0,0,1543,1541,1,0,0,0,1543,1544,1,0,0,0,1544,1547,1,0,0,0,1545, + 1543,1,0,0,0,1546,1536,1,0,0,0,1546,1547,1,0,0,0,1547,1558,1,0,0,0,1548, + 1549,5,141,0,0,1549,1550,5,24,0,0,1550,1555,3,52,26,0,1551,1552,5,4,0,0, + 1552,1554,3,52,26,0,1553,1551,1,0,0,0,1554,1557,1,0,0,0,1555,1553,1,0,0, + 0,1555,1556,1,0,0,0,1556,1559,1,0,0,0,1557,1555,1,0,0,0,1558,1548,1,0,0, + 0,1558,1559,1,0,0,0,1559,1560,1,0,0,0,1560,1562,5,3,0,0,1561,1563,3,122, + 61,0,1562,1561,1,0,0,0,1562,1563,1,0,0,0,1563,1568,1,0,0,0,1564,1566,3, + 96,48,0,1565,1564,1,0,0,0,1565,1566,1,0,0,0,1566,1567,1,0,0,0,1567,1569, + 3,124,62,0,1568,1565,1,0,0,0,1568,1569,1,0,0,0,1569,1721,1,0,0,0,1570,1571, + 3,154,77,0,1571,1572,5,6,0,0,1572,1573,3,84,42,0,1573,1721,1,0,0,0,1574, + 1583,5,2,0,0,1575,1580,3,154,77,0,1576,1577,5,4,0,0,1577,1579,3,154,77, + 0,1578,1576,1,0,0,0,1579,1582,1,0,0,0,1580,1578,1,0,0,0,1580,1581,1,0,0, + 0,1581,1584,1,0,0,0,1582,1580,1,0,0,0,1583,1575,1,0,0,0,1583,1584,1,0,0, + 0,1584,1585,1,0,0,0,1585,1586,5,3,0,0,1586,1587,5,6,0,0,1587,1721,3,84, + 42,0,1588,1589,5,2,0,0,1589,1590,3,8,4,0,1590,1591,5,3,0,0,1591,1721,1, + 0,0,0,1592,1593,5,67,0,0,1593,1594,5,2,0,0,1594,1595,3,8,4,0,1595,1596, + 5,3,0,0,1596,1721,1,0,0,0,1597,1598,5,28,0,0,1598,1600,3,90,45,0,1599,1601, + 3,120,60,0,1600,1599,1,0,0,0,1601,1602,1,0,0,0,1602,1600,1,0,0,0,1602,1603, + 1,0,0,0,1603,1606,1,0,0,0,1604,1605,5,59,0,0,1605,1607,3,84,42,0,1606,1604, + 1,0,0,0,1606,1607,1,0,0,0,1607,1608,1,0,0,0,1608,1609,5,61,0,0,1609,1721, + 1,0,0,0,1610,1612,5,28,0,0,1611,1613,3,120,60,0,1612,1611,1,0,0,0,1613, + 1614,1,0,0,0,1614,1612,1,0,0,0,1614,1615,1,0,0,0,1615,1618,1,0,0,0,1616, + 1617,5,59,0,0,1617,1619,3,84,42,0,1618,1616,1,0,0,0,1618,1619,1,0,0,0,1619, + 1620,1,0,0,0,1620,1621,5,61,0,0,1621,1721,1,0,0,0,1622,1623,5,29,0,0,1623, + 1624,5,2,0,0,1624,1625,3,84,42,0,1625,1626,5,18,0,0,1626,1627,3,114,57, + 0,1627,1628,5,3,0,0,1628,1721,1,0,0,0,1629,1630,5,205,0,0,1630,1631,5,2, + 0,0,1631,1632,3,84,42,0,1632,1633,5,18,0,0,1633,1634,3,114,57,0,1634,1635, + 5,3,0,0,1635,1721,1,0,0,0,1636,1637,5,17,0,0,1637,1646,5,7,0,0,1638,1643, + 3,84,42,0,1639,1640,5,4,0,0,1640,1642,3,84,42,0,1641,1639,1,0,0,0,1642, + 1645,1,0,0,0,1643,1641,1,0,0,0,1643,1644,1,0,0,0,1644,1647,1,0,0,0,1645, + 1643,1,0,0,0,1646,1638,1,0,0,0,1646,1647,1,0,0,0,1647,1648,1,0,0,0,1648, + 1721,5,8,0,0,1649,1721,3,154,77,0,1650,1721,5,41,0,0,1651,1655,5,43,0,0, + 1652,1653,5,2,0,0,1653,1654,5,244,0,0,1654,1656,5,3,0,0,1655,1652,1,0,0, + 0,1655,1656,1,0,0,0,1656,1721,1,0,0,0,1657,1661,5,44,0,0,1658,1659,5,2, + 0,0,1659,1660,5,244,0,0,1660,1662,5,3,0,0,1661,1658,1,0,0,0,1661,1662,1, + 0,0,0,1662,1721,1,0,0,0,1663,1667,5,115,0,0,1664,1665,5,2,0,0,1665,1666, + 5,244,0,0,1666,1668,5,3,0,0,1667,1664,1,0,0,0,1667,1668,1,0,0,0,1668,1721, + 1,0,0,0,1669,1673,5,116,0,0,1670,1671,5,2,0,0,1671,1672,5,244,0,0,1672, + 1674,5,3,0,0,1673,1670,1,0,0,0,1673,1674,1,0,0,0,1674,1721,1,0,0,0,1675, + 1721,5,45,0,0,1676,1677,5,189,0,0,1677,1678,5,2,0,0,1678,1679,3,90,45,0, + 1679,1680,5,78,0,0,1680,1683,3,90,45,0,1681,1682,5,76,0,0,1682,1684,3,90, + 45,0,1683,1681,1,0,0,0,1683,1684,1,0,0,0,1684,1685,1,0,0,0,1685,1686,5, + 3,0,0,1686,1721,1,0,0,0,1687,1688,5,130,0,0,1688,1689,5,2,0,0,1689,1692, + 3,90,45,0,1690,1691,5,4,0,0,1691,1693,3,110,55,0,1692,1690,1,0,0,0,1692, + 1693,1,0,0,0,1693,1694,1,0,0,0,1694,1695,5,3,0,0,1695,1721,1,0,0,0,1696, + 1697,5,69,0,0,1697,1698,5,2,0,0,1698,1699,3,154,77,0,1699,1700,5,78,0,0, + 1700,1701,3,90,45,0,1701,1702,5,3,0,0,1702,1721,1,0,0,0,1703,1704,5,2,0, + 0,1704,1705,3,84,42,0,1705,1706,5,3,0,0,1706,1721,1,0,0,0,1707,1708,5,87, + 0,0,1708,1717,5,2,0,0,1709,1714,3,142,71,0,1710,1711,5,4,0,0,1711,1713, + 3,142,71,0,1712,1710,1,0,0,0,1713,1716,1,0,0,0,1714,1712,1,0,0,0,1714,1715, + 1,0,0,0,1715,1718,1,0,0,0,1716,1714,1,0,0,0,1717,1709,1,0,0,0,1717,1718, + 1,0,0,0,1718,1719,1,0,0,0,1719,1721,5,3,0,0,1720,1481,1,0,0,0,1720,1483, + 1,0,0,0,1720,1484,1,0,0,0,1720,1487,1,0,0,0,1720,1489,1,0,0,0,1720,1490, + 1,0,0,0,1720,1491,1,0,0,0,1720,1492,1,0,0,0,1720,1493,1,0,0,0,1720,1494, + 1,0,0,0,1720,1501,1,0,0,0,1720,1511,1,0,0,0,1720,1523,1,0,0,0,1720,1533, + 1,0,0,0,1720,1570,1,0,0,0,1720,1574,1,0,0,0,1720,1588,1,0,0,0,1720,1592, + 1,0,0,0,1720,1597,1,0,0,0,1720,1610,1,0,0,0,1720,1622,1,0,0,0,1720,1629, + 1,0,0,0,1720,1636,1,0,0,0,1720,1649,1,0,0,0,1720,1650,1,0,0,0,1720,1651, + 1,0,0,0,1720,1657,1,0,0,0,1720,1663,1,0,0,0,1720,1669,1,0,0,0,1720,1675, + 1,0,0,0,1720,1676,1,0,0,0,1720,1687,1,0,0,0,1720,1696,1,0,0,0,1720,1703, + 1,0,0,0,1720,1707,1,0,0,0,1721,1732,1,0,0,0,1722,1723,10,14,0,0,1723,1724, + 5,7,0,0,1724,1725,3,90,45,0,1725,1726,5,8,0,0,1726,1731,1,0,0,0,1727,1728, + 10,12,0,0,1728,1729,5,1,0,0,1729,1731,3,154,77,0,1730,1722,1,0,0,0,1730, + 1727,1,0,0,0,1731,1734,1,0,0,0,1732,1730,1,0,0,0,1732,1733,1,0,0,0,1733, + 93,1,0,0,0,1734,1732,1,0,0,0,1735,1742,5,241,0,0,1736,1739,5,242,0,0,1737, + 1738,5,207,0,0,1738,1740,5,241,0,0,1739,1737,1,0,0,0,1739,1740,1,0,0,0, + 1740,1742,1,0,0,0,1741,1735,1,0,0,0,1741,1736,1,0,0,0,1742,95,1,0,0,0,1743, + 1744,5,92,0,0,1744,1748,5,134,0,0,1745,1746,5,163,0,0,1746,1748,5,134,0, + 0,1747,1743,1,0,0,0,1747,1745,1,0,0,0,1748,97,1,0,0,0,1749,1750,5,199,0, + 0,1750,1751,5,228,0,0,1751,1756,3,106,53,0,1752,1753,5,199,0,0,1753,1754, + 5,228,0,0,1754,1756,3,94,47,0,1755,1749,1,0,0,0,1755,1752,1,0,0,0,1756, + 99,1,0,0,0,1757,1758,7,13,0,0,1758,101,1,0,0,0,1759,1760,7,14,0,0,1760, + 103,1,0,0,0,1761,1762,7,15,0,0,1762,105,1,0,0,0,1763,1765,5,99,0,0,1764, + 1766,7,11,0,0,1765,1764,1,0,0,0,1765,1766,1,0,0,0,1766,1767,1,0,0,0,1767, + 1768,3,94,47,0,1768,1771,3,108,54,0,1769,1770,5,201,0,0,1770,1772,3,108, + 54,0,1771,1769,1,0,0,0,1771,1772,1,0,0,0,1772,107,1,0,0,0,1773,1774,7,16, + 0,0,1774,109,1,0,0,0,1775,1776,7,17,0,0,1776,111,1,0,0,0,1777,1786,5,2, + 0,0,1778,1783,3,114,57,0,1779,1780,5,4,0,0,1780,1782,3,114,57,0,1781,1779, + 1,0,0,0,1782,1785,1,0,0,0,1783,1781,1,0,0,0,1783,1784,1,0,0,0,1784,1787, + 1,0,0,0,1785,1783,1,0,0,0,1786,1778,1,0,0,0,1786,1787,1,0,0,0,1787,1788, + 1,0,0,0,1788,1789,5,3,0,0,1789,113,1,0,0,0,1790,1791,6,57,-1,0,1791,1792, + 5,17,0,0,1792,1793,5,231,0,0,1793,1794,3,114,57,0,1794,1795,5,233,0,0,1795, + 1838,1,0,0,0,1796,1797,5,118,0,0,1797,1798,5,231,0,0,1798,1799,3,114,57, + 0,1799,1800,5,4,0,0,1800,1801,3,114,57,0,1801,1802,5,233,0,0,1802,1838, + 1,0,0,0,1803,1804,5,173,0,0,1804,1805,5,2,0,0,1805,1806,3,154,77,0,1806, + 1813,3,114,57,0,1807,1808,5,4,0,0,1808,1809,3,154,77,0,1809,1810,3,114, + 57,0,1810,1812,1,0,0,0,1811,1807,1,0,0,0,1812,1815,1,0,0,0,1813,1811,1, + 0,0,0,1813,1814,1,0,0,0,1814,1816,1,0,0,0,1815,1813,1,0,0,0,1816,1817,5, + 3,0,0,1817,1838,1,0,0,0,1818,1830,3,118,59,0,1819,1820,5,2,0,0,1820,1825, + 3,116,58,0,1821,1822,5,4,0,0,1822,1824,3,116,58,0,1823,1821,1,0,0,0,1824, + 1827,1,0,0,0,1825,1823,1,0,0,0,1825,1826,1,0,0,0,1826,1828,1,0,0,0,1827, + 1825,1,0,0,0,1828,1829,5,3,0,0,1829,1831,1,0,0,0,1830,1819,1,0,0,0,1830, + 1831,1,0,0,0,1831,1838,1,0,0,0,1832,1833,5,99,0,0,1833,1834,3,108,54,0, + 1834,1835,5,201,0,0,1835,1836,3,108,54,0,1836,1838,1,0,0,0,1837,1790,1, + 0,0,0,1837,1796,1,0,0,0,1837,1803,1,0,0,0,1837,1818,1,0,0,0,1837,1832,1, + 0,0,0,1838,1843,1,0,0,0,1839,1840,10,6,0,0,1840,1842,5,17,0,0,1841,1839, + 1,0,0,0,1842,1845,1,0,0,0,1843,1841,1,0,0,0,1843,1844,1,0,0,0,1844,115, + 1,0,0,0,1845,1843,1,0,0,0,1846,1849,5,244,0,0,1847,1849,3,114,57,0,1848, + 1846,1,0,0,0,1848,1847,1,0,0,0,1849,117,1,0,0,0,1850,1855,5,251,0,0,1851, + 1855,5,252,0,0,1852,1855,5,253,0,0,1853,1855,3,142,71,0,1854,1850,1,0,0, + 0,1854,1851,1,0,0,0,1854,1852,1,0,0,0,1854,1853,1,0,0,0,1855,119,1,0,0, + 0,1856,1857,5,222,0,0,1857,1858,3,84,42,0,1858,1859,5,198,0,0,1859,1860, + 3,84,42,0,1860,121,1,0,0,0,1861,1862,5,73,0,0,1862,1863,5,2,0,0,1863,1864, + 5,223,0,0,1864,1865,3,86,43,0,1865,1866,5,3,0,0,1866,123,1,0,0,0,1867,1868, + 5,145,0,0,1868,1879,5,2,0,0,1869,1870,5,146,0,0,1870,1871,5,24,0,0,1871, + 1876,3,84,42,0,1872,1873,5,4,0,0,1873,1875,3,84,42,0,1874,1872,1,0,0,0, + 1875,1878,1,0,0,0,1876,1874,1,0,0,0,1876,1877,1,0,0,0,1877,1880,1,0,0,0, + 1878,1876,1,0,0,0,1879,1869,1,0,0,0,1879,1880,1,0,0,0,1880,1891,1,0,0,0, + 1881,1882,5,141,0,0,1882,1883,5,24,0,0,1883,1888,3,52,26,0,1884,1885,5, + 4,0,0,1885,1887,3,52,26,0,1886,1884,1,0,0,0,1887,1890,1,0,0,0,1888,1886, + 1,0,0,0,1888,1889,1,0,0,0,1889,1892,1,0,0,0,1890,1888,1,0,0,0,1891,1881, + 1,0,0,0,1891,1892,1,0,0,0,1892,1894,1,0,0,0,1893,1895,3,126,63,0,1894,1893, + 1,0,0,0,1894,1895,1,0,0,0,1895,1896,1,0,0,0,1896,1897,5,3,0,0,1897,125, + 1,0,0,0,1898,1899,5,154,0,0,1899,1923,3,128,64,0,1900,1901,5,174,0,0,1901, + 1923,3,128,64,0,1902,1903,5,88,0,0,1903,1923,3,128,64,0,1904,1905,5,154, + 0,0,1905,1906,5,23,0,0,1906,1907,3,128,64,0,1907,1908,5,15,0,0,1908,1909, + 3,128,64,0,1909,1923,1,0,0,0,1910,1911,5,174,0,0,1911,1912,5,23,0,0,1912, + 1913,3,128,64,0,1913,1914,5,15,0,0,1914,1915,3,128,64,0,1915,1923,1,0,0, + 0,1916,1917,5,88,0,0,1917,1918,5,23,0,0,1918,1919,3,128,64,0,1919,1920, + 5,15,0,0,1920,1921,3,128,64,0,1921,1923,1,0,0,0,1922,1898,1,0,0,0,1922, + 1900,1,0,0,0,1922,1902,1,0,0,0,1922,1904,1,0,0,0,1922,1910,1,0,0,0,1922, + 1916,1,0,0,0,1923,127,1,0,0,0,1924,1925,5,208,0,0,1925,1934,5,149,0,0,1926, + 1927,5,208,0,0,1927,1934,5,75,0,0,1928,1929,5,40,0,0,1929,1934,5,173,0, + 0,1930,1931,3,84,42,0,1931,1932,7,18,0,0,1932,1934,1,0,0,0,1933,1924,1, + 0,0,0,1933,1926,1,0,0,0,1933,1928,1,0,0,0,1933,1930,1,0,0,0,1934,129,1, + 0,0,0,1935,1936,3,154,77,0,1936,1937,5,229,0,0,1937,1938,3,84,42,0,1938, + 131,1,0,0,0,1939,1940,5,77,0,0,1940,1944,7,19,0,0,1941,1942,5,206,0,0,1942, + 1944,7,20,0,0,1943,1939,1,0,0,0,1943,1941,1,0,0,0,1944,133,1,0,0,0,1945, + 1946,5,104,0,0,1946,1947,5,112,0,0,1947,1951,3,136,68,0,1948,1949,5,155, + 0,0,1949,1951,7,21,0,0,1950,1945,1,0,0,0,1950,1948,1,0,0,0,1951,135,1,0, + 0,0,1952,1953,5,155,0,0,1953,1960,5,209,0,0,1954,1955,5,155,0,0,1955,1960, + 5,35,0,0,1956,1957,5,160,0,0,1957,1960,5,155,0,0,1958,1960,5,180,0,0,1959, + 1952,1,0,0,0,1959,1954,1,0,0,0,1959,1956,1,0,0,0,1959,1958,1,0,0,0,1960, + 137,1,0,0,0,1961,1967,3,84,42,0,1962,1963,3,154,77,0,1963,1964,5,9,0,0, + 1964,1965,3,84,42,0,1965,1967,1,0,0,0,1966,1961,1,0,0,0,1966,1962,1,0,0, + 0,1967,139,1,0,0,0,1968,1973,5,179,0,0,1969,1973,5,51,0,0,1970,1973,5,97, + 0,0,1971,1973,3,154,77,0,1972,1968,1,0,0,0,1972,1969,1,0,0,0,1972,1970, + 1,0,0,0,1972,1971,1,0,0,0,1973,141,1,0,0,0,1974,1979,3,154,77,0,1975,1976, + 5,1,0,0,1976,1978,3,154,77,0,1977,1975,1,0,0,0,1978,1981,1,0,0,0,1979,1977, + 1,0,0,0,1979,1980,1,0,0,0,1980,143,1,0,0,0,1981,1979,1,0,0,0,1982,1983, + 5,76,0,0,1983,1984,7,22,0,0,1984,1985,3,146,73,0,1985,1986,3,90,45,0,1986, + 145,1,0,0,0,1987,1988,5,18,0,0,1988,1991,5,135,0,0,1989,1991,5,21,0,0,1990, + 1987,1,0,0,0,1990,1989,1,0,0,0,1991,147,1,0,0,0,1992,1996,5,45,0,0,1993, + 1996,5,42,0,0,1994,1996,3,150,75,0,1995,1992,1,0,0,0,1995,1993,1,0,0,0, + 1995,1994,1,0,0,0,1996,149,1,0,0,0,1997,1998,5,215,0,0,1998,2003,3,154, + 77,0,1999,2000,5,169,0,0,2000,2003,3,154,77,0,2001,2003,3,154,77,0,2002, + 1997,1,0,0,0,2002,1999,1,0,0,0,2002,2001,1,0,0,0,2003,151,1,0,0,0,2004, + 2009,3,154,77,0,2005,2006,5,4,0,0,2006,2008,3,154,77,0,2007,2005,1,0,0, + 0,2008,2011,1,0,0,0,2009,2007,1,0,0,0,2009,2010,1,0,0,0,2010,153,1,0,0, + 0,2011,2009,1,0,0,0,2012,2018,5,247,0,0,2013,2018,5,249,0,0,2014,2018,3, + 176,88,0,2015,2018,5,250,0,0,2016,2018,5,248,0,0,2017,2012,1,0,0,0,2017, + 2013,1,0,0,0,2017,2014,1,0,0,0,2017,2015,1,0,0,0,2017,2016,1,0,0,0,2018, + 155,1,0,0,0,2019,2023,5,245,0,0,2020,2023,5,246,0,0,2021,2023,5,244,0,0, + 2022,2019,1,0,0,0,2022,2020,1,0,0,0,2022,2021,1,0,0,0,2023,157,1,0,0,0, + 2024,2027,3,160,80,0,2025,2027,3,162,81,0,2026,2024,1,0,0,0,2026,2025,1, + 0,0,0,2027,159,1,0,0,0,2028,2029,5,36,0,0,2029,2030,3,154,77,0,2030,2031, + 3,162,81,0,2031,161,1,0,0,0,2032,2033,3,164,82,0,2033,2035,3,80,40,0,2034, + 2036,3,166,83,0,2035,2034,1,0,0,0,2035,2036,1,0,0,0,2036,163,1,0,0,0,2037, + 2041,5,211,0,0,2038,2039,5,151,0,0,2039,2041,5,107,0,0,2040,2037,1,0,0, + 0,2040,2038,1,0,0,0,2041,165,1,0,0,0,2042,2044,3,168,84,0,2043,2042,1,0, + 0,0,2044,2047,1,0,0,0,2045,2043,1,0,0,0,2045,2046,1,0,0,0,2046,167,1,0, + 0,0,2047,2045,1,0,0,0,2048,2052,3,172,86,0,2049,2052,3,170,85,0,2050,2052, + 3,174,87,0,2051,2048,1,0,0,0,2051,2049,1,0,0,0,2051,2050,1,0,0,0,2052,169, + 1,0,0,0,2053,2057,5,158,0,0,2054,2055,5,131,0,0,2055,2057,5,158,0,0,2056, + 2053,1,0,0,0,2056,2054,1,0,0,0,2057,171,1,0,0,0,2058,2059,7,23,0,0,2059, + 173,1,0,0,0,2060,2064,5,62,0,0,2061,2062,5,131,0,0,2062,2064,5,62,0,0,2063, + 2060,1,0,0,0,2063,2061,1,0,0,0,2064,175,1,0,0,0,2065,2066,7,24,0,0,2066, + 177,1,0,0,0,262,200,205,211,215,229,233,237,241,249,253,256,263,272,278, + 282,288,295,304,313,324,331,341,348,356,364,372,382,389,397,402,413,418, + 429,440,452,458,463,469,478,489,498,503,507,515,522,535,538,548,551,558, + 567,573,578,582,592,595,605,618,624,629,635,644,650,657,665,670,674,682, + 688,695,700,704,714,717,721,724,732,737,762,768,774,776,782,788,790,798, + 800,819,824,831,843,845,853,855,873,876,880,884,902,905,921,926,928,931, + 937,944,950,956,960,964,970,978,993,1000,1005,1012,1020,1024,1029,1040, + 1052,1055,1060,1062,1071,1073,1081,1087,1090,1092,1104,1111,1115,1119,1123, + 1130,1139,1142,1146,1151,1155,1158,1165,1176,1179,1189,1192,1203,1208,1216, + 1219,1223,1227,1238,1241,1248,1267,1271,1275,1279,1283,1287,1289,1300,1305, + 1314,1320,1324,1326,1334,1341,1354,1360,1371,1378,1382,1390,1392,1405,1413, + 1422,1428,1436,1442,1446,1451,1456,1462,1476,1478,1507,1518,1528,1531,1536, + 1543,1546,1555,1558,1562,1565,1568,1580,1583,1602,1606,1614,1618,1643,1646, + 1655,1661,1667,1673,1683,1692,1714,1717,1720,1730,1732,1739,1741,1747,1755, + 1765,1771,1783,1786,1813,1825,1830,1837,1843,1848,1854,1876,1879,1888,1891, + 1894,1922,1933,1943,1950,1959,1966,1972,1979,1990,1995,2002,2009,2017,2022, + 2026,2035,2040,2045,2051,2056,2063]; + + private static __ATN: ATN; + public static get _ATN(): ATN { + if (!SqlBaseParser.__ATN) { + SqlBaseParser.__ATN = new ATNDeserializer().deserialize(SqlBaseParser._serializedATN); + } + + return SqlBaseParser.__ATN; + } + + + static DecisionsToDFA = SqlBaseParser._ATN.decisionToState.map( (ds: DecisionState, index: number) => new DFA(ds, index) ); + +} + +export class SingleStatementContext extends ParserRuleContext { + constructor(parser?: SqlBaseParser, parent?: ParserRuleContext, invokingState?: number) { + super(parent, invokingState); + this.parser = parser; + } + public statement(): StatementContext { + return this.getTypedRuleContext(StatementContext, 0) as StatementContext; + } + public EOF(): TerminalNode { + return this.getToken(SqlBaseParser.EOF, 0); + } + public get ruleIndex(): number { + return SqlBaseParser.RULE_singleStatement; + } +} + + +export class StandaloneExpressionContext extends ParserRuleContext { + constructor(parser?: SqlBaseParser, parent?: ParserRuleContext, invokingState?: number) { + super(parent, invokingState); + this.parser = parser; + } + public expression(): ExpressionContext { + return this.getTypedRuleContext(ExpressionContext, 0) as ExpressionContext; + } + public EOF(): TerminalNode { + return this.getToken(SqlBaseParser.EOF, 0); + } + public get ruleIndex(): number { + return SqlBaseParser.RULE_standaloneExpression; + } +} + + +export class StandaloneRoutineBodyContext extends ParserRuleContext { + constructor(parser?: SqlBaseParser, parent?: ParserRuleContext, invokingState?: number) { + super(parent, invokingState); + this.parser = parser; + } + public routineBody(): RoutineBodyContext { + return this.getTypedRuleContext(RoutineBodyContext, 0) as RoutineBodyContext; + } + public EOF(): TerminalNode { + return this.getToken(SqlBaseParser.EOF, 0); + } + public get ruleIndex(): number { + return SqlBaseParser.RULE_standaloneRoutineBody; + } +} + + +export class StatementContext extends ParserRuleContext { + constructor(parser?: SqlBaseParser, parent?: ParserRuleContext, invokingState?: number) { + super(parent, invokingState); + this.parser = parser; + } + public get ruleIndex(): number { + return SqlBaseParser.RULE_statement; + } + public override copyFrom(ctx: StatementContext): void { + super.copyFrom(ctx); + } +} +export class ExplainContext extends StatementContext { + constructor(parser: SqlBaseParser, ctx: StatementContext) { + super(parser, ctx.parentCtx, ctx.invokingState); + super.copyFrom(ctx); + } + public EXPLAIN(): TerminalNode { + return this.getToken(SqlBaseParser.EXPLAIN, 0); + } + public statement(): StatementContext { + return this.getTypedRuleContext(StatementContext, 0) as StatementContext; + } + public ANALYZE(): TerminalNode { + return this.getToken(SqlBaseParser.ANALYZE, 0); + } + public VERBOSE(): TerminalNode { + return this.getToken(SqlBaseParser.VERBOSE, 0); + } + public explainOption_list(): ExplainOptionContext[] { + return this.getTypedRuleContexts(ExplainOptionContext) as ExplainOptionContext[]; + } + public explainOption(i: number): ExplainOptionContext { + return this.getTypedRuleContext(ExplainOptionContext, i) as ExplainOptionContext; + } +} +export class PrepareContext extends StatementContext { + constructor(parser: SqlBaseParser, ctx: StatementContext) { + super(parser, ctx.parentCtx, ctx.invokingState); + super.copyFrom(ctx); + } + public PREPARE(): TerminalNode { + return this.getToken(SqlBaseParser.PREPARE, 0); + } + public identifier(): IdentifierContext { + return this.getTypedRuleContext(IdentifierContext, 0) as IdentifierContext; + } + public FROM(): TerminalNode { + return this.getToken(SqlBaseParser.FROM, 0); + } + public statement(): StatementContext { + return this.getTypedRuleContext(StatementContext, 0) as StatementContext; + } +} +export class DropMaterializedViewContext extends StatementContext { + constructor(parser: SqlBaseParser, ctx: StatementContext) { + super(parser, ctx.parentCtx, ctx.invokingState); + super.copyFrom(ctx); + } + public DROP(): TerminalNode { + return this.getToken(SqlBaseParser.DROP, 0); + } + public MATERIALIZED(): TerminalNode { + return this.getToken(SqlBaseParser.MATERIALIZED, 0); + } + public VIEW(): TerminalNode { + return this.getToken(SqlBaseParser.VIEW, 0); + } + public qualifiedName(): QualifiedNameContext { + return this.getTypedRuleContext(QualifiedNameContext, 0) as QualifiedNameContext; + } + public IF(): TerminalNode { + return this.getToken(SqlBaseParser.IF, 0); + } + public EXISTS(): TerminalNode { + return this.getToken(SqlBaseParser.EXISTS, 0); + } +} +export class UseContext extends StatementContext { + public _schema!: IdentifierContext; + public _catalog!: IdentifierContext; + constructor(parser: SqlBaseParser, ctx: StatementContext) { + super(parser, ctx.parentCtx, ctx.invokingState); + super.copyFrom(ctx); + } + public USE(): TerminalNode { + return this.getToken(SqlBaseParser.USE, 0); + } + public identifier_list(): IdentifierContext[] { + return this.getTypedRuleContexts(IdentifierContext) as IdentifierContext[]; + } + public identifier(i: number): IdentifierContext { + return this.getTypedRuleContext(IdentifierContext, i) as IdentifierContext; + } +} +export class AddConstraintContext extends StatementContext { + public _tableName!: QualifiedNameContext; + constructor(parser: SqlBaseParser, ctx: StatementContext) { + super(parser, ctx.parentCtx, ctx.invokingState); + super.copyFrom(ctx); + } + public ALTER(): TerminalNode { + return this.getToken(SqlBaseParser.ALTER, 0); + } + public TABLE(): TerminalNode { + return this.getToken(SqlBaseParser.TABLE, 0); + } + public ADD(): TerminalNode { + return this.getToken(SqlBaseParser.ADD, 0); + } + public constraintSpecification(): ConstraintSpecificationContext { + return this.getTypedRuleContext(ConstraintSpecificationContext, 0) as ConstraintSpecificationContext; + } + public qualifiedName(): QualifiedNameContext { + return this.getTypedRuleContext(QualifiedNameContext, 0) as QualifiedNameContext; + } + public IF(): TerminalNode { + return this.getToken(SqlBaseParser.IF, 0); + } + public EXISTS(): TerminalNode { + return this.getToken(SqlBaseParser.EXISTS, 0); + } +} +export class DeallocateContext extends StatementContext { + constructor(parser: SqlBaseParser, ctx: StatementContext) { + super(parser, ctx.parentCtx, ctx.invokingState); + super.copyFrom(ctx); + } + public DEALLOCATE(): TerminalNode { + return this.getToken(SqlBaseParser.DEALLOCATE, 0); + } + public PREPARE(): TerminalNode { + return this.getToken(SqlBaseParser.PREPARE, 0); + } + public identifier(): IdentifierContext { + return this.getTypedRuleContext(IdentifierContext, 0) as IdentifierContext; + } +} +export class RenameTableContext extends StatementContext { + public _from_!: QualifiedNameContext; + public _to!: QualifiedNameContext; + constructor(parser: SqlBaseParser, ctx: StatementContext) { + super(parser, ctx.parentCtx, ctx.invokingState); + super.copyFrom(ctx); + } + public ALTER(): TerminalNode { + return this.getToken(SqlBaseParser.ALTER, 0); + } + public TABLE(): TerminalNode { + return this.getToken(SqlBaseParser.TABLE, 0); + } + public RENAME(): TerminalNode { + return this.getToken(SqlBaseParser.RENAME, 0); + } + public TO(): TerminalNode { + return this.getToken(SqlBaseParser.TO, 0); + } + public qualifiedName_list(): QualifiedNameContext[] { + return this.getTypedRuleContexts(QualifiedNameContext) as QualifiedNameContext[]; + } + public qualifiedName(i: number): QualifiedNameContext { + return this.getTypedRuleContext(QualifiedNameContext, i) as QualifiedNameContext; + } + public IF(): TerminalNode { + return this.getToken(SqlBaseParser.IF, 0); + } + public EXISTS(): TerminalNode { + return this.getToken(SqlBaseParser.EXISTS, 0); + } +} +export class CommitContext extends StatementContext { + constructor(parser: SqlBaseParser, ctx: StatementContext) { + super(parser, ctx.parentCtx, ctx.invokingState); + super.copyFrom(ctx); + } + public COMMIT(): TerminalNode { + return this.getToken(SqlBaseParser.COMMIT, 0); + } + public WORK(): TerminalNode { + return this.getToken(SqlBaseParser.WORK, 0); + } +} +export class CreateRoleContext extends StatementContext { + public _name!: IdentifierContext; + constructor(parser: SqlBaseParser, ctx: StatementContext) { + super(parser, ctx.parentCtx, ctx.invokingState); + super.copyFrom(ctx); + } + public CREATE(): TerminalNode { + return this.getToken(SqlBaseParser.CREATE, 0); + } + public ROLE(): TerminalNode { + return this.getToken(SqlBaseParser.ROLE, 0); + } + public identifier(): IdentifierContext { + return this.getTypedRuleContext(IdentifierContext, 0) as IdentifierContext; + } + public WITH(): TerminalNode { + return this.getToken(SqlBaseParser.WITH, 0); + } + public ADMIN(): TerminalNode { + return this.getToken(SqlBaseParser.ADMIN, 0); + } + public grantor(): GrantorContext { + return this.getTypedRuleContext(GrantorContext, 0) as GrantorContext; + } +} +export class ShowCreateFunctionContext extends StatementContext { + constructor(parser: SqlBaseParser, ctx: StatementContext) { + super(parser, ctx.parentCtx, ctx.invokingState); + super.copyFrom(ctx); + } + public SHOW(): TerminalNode { + return this.getToken(SqlBaseParser.SHOW, 0); + } + public CREATE(): TerminalNode { + return this.getToken(SqlBaseParser.CREATE, 0); + } + public FUNCTION(): TerminalNode { + return this.getToken(SqlBaseParser.FUNCTION, 0); + } + public qualifiedName(): QualifiedNameContext { + return this.getTypedRuleContext(QualifiedNameContext, 0) as QualifiedNameContext; + } + public types(): TypesContext { + return this.getTypedRuleContext(TypesContext, 0) as TypesContext; + } +} +export class DropColumnContext extends StatementContext { + public _tableName!: QualifiedNameContext; + public _column!: QualifiedNameContext; + constructor(parser: SqlBaseParser, ctx: StatementContext) { + super(parser, ctx.parentCtx, ctx.invokingState); + super.copyFrom(ctx); + } + public ALTER(): TerminalNode { + return this.getToken(SqlBaseParser.ALTER, 0); + } + public TABLE(): TerminalNode { + return this.getToken(SqlBaseParser.TABLE, 0); + } + public DROP(): TerminalNode { + return this.getToken(SqlBaseParser.DROP, 0); + } + public COLUMN(): TerminalNode { + return this.getToken(SqlBaseParser.COLUMN, 0); + } + public qualifiedName_list(): QualifiedNameContext[] { + return this.getTypedRuleContexts(QualifiedNameContext) as QualifiedNameContext[]; + } + public qualifiedName(i: number): QualifiedNameContext { + return this.getTypedRuleContext(QualifiedNameContext, i) as QualifiedNameContext; + } + public IF_list(): TerminalNode[] { + return this.getTokens(SqlBaseParser.IF); + } + public IF(i: number): TerminalNode { + return this.getToken(SqlBaseParser.IF, i); + } + public EXISTS_list(): TerminalNode[] { + return this.getTokens(SqlBaseParser.EXISTS); + } + public EXISTS(i: number): TerminalNode { + return this.getToken(SqlBaseParser.EXISTS, i); + } +} +export class DropViewContext extends StatementContext { + constructor(parser: SqlBaseParser, ctx: StatementContext) { + super(parser, ctx.parentCtx, ctx.invokingState); + super.copyFrom(ctx); + } + public DROP(): TerminalNode { + return this.getToken(SqlBaseParser.DROP, 0); + } + public VIEW(): TerminalNode { + return this.getToken(SqlBaseParser.VIEW, 0); + } + public qualifiedName(): QualifiedNameContext { + return this.getTypedRuleContext(QualifiedNameContext, 0) as QualifiedNameContext; + } + public IF(): TerminalNode { + return this.getToken(SqlBaseParser.IF, 0); + } + public EXISTS(): TerminalNode { + return this.getToken(SqlBaseParser.EXISTS, 0); + } +} +export class ShowTablesContext extends StatementContext { + public _pattern!: StringContext; + public _escape!: StringContext; + constructor(parser: SqlBaseParser, ctx: StatementContext) { + super(parser, ctx.parentCtx, ctx.invokingState); + super.copyFrom(ctx); + } + public SHOW(): TerminalNode { + return this.getToken(SqlBaseParser.SHOW, 0); + } + public TABLES(): TerminalNode { + return this.getToken(SqlBaseParser.TABLES, 0); + } + public qualifiedName(): QualifiedNameContext { + return this.getTypedRuleContext(QualifiedNameContext, 0) as QualifiedNameContext; + } + public LIKE(): TerminalNode { + return this.getToken(SqlBaseParser.LIKE, 0); + } + public FROM(): TerminalNode { + return this.getToken(SqlBaseParser.FROM, 0); + } + public IN(): TerminalNode { + return this.getToken(SqlBaseParser.IN, 0); + } + public string__list(): StringContext[] { + return this.getTypedRuleContexts(StringContext) as StringContext[]; + } + public string_(i: number): StringContext { + return this.getTypedRuleContext(StringContext, i) as StringContext; + } + public ESCAPE(): TerminalNode { + return this.getToken(SqlBaseParser.ESCAPE, 0); + } +} +export class ShowCatalogsContext extends StatementContext { + public _pattern!: StringContext; + public _escape!: StringContext; + constructor(parser: SqlBaseParser, ctx: StatementContext) { + super(parser, ctx.parentCtx, ctx.invokingState); + super.copyFrom(ctx); + } + public SHOW(): TerminalNode { + return this.getToken(SqlBaseParser.SHOW, 0); + } + public CATALOGS(): TerminalNode { + return this.getToken(SqlBaseParser.CATALOGS, 0); + } + public LIKE(): TerminalNode { + return this.getToken(SqlBaseParser.LIKE, 0); + } + public string__list(): StringContext[] { + return this.getTypedRuleContexts(StringContext) as StringContext[]; + } + public string_(i: number): StringContext { + return this.getTypedRuleContext(StringContext, i) as StringContext; + } + public ESCAPE(): TerminalNode { + return this.getToken(SqlBaseParser.ESCAPE, 0); + } +} +export class ShowRolesContext extends StatementContext { + constructor(parser: SqlBaseParser, ctx: StatementContext) { + super(parser, ctx.parentCtx, ctx.invokingState); + super.copyFrom(ctx); + } + public SHOW(): TerminalNode { + return this.getToken(SqlBaseParser.SHOW, 0); + } + public ROLES(): TerminalNode { + return this.getToken(SqlBaseParser.ROLES, 0); + } + public CURRENT(): TerminalNode { + return this.getToken(SqlBaseParser.CURRENT, 0); + } + public identifier(): IdentifierContext { + return this.getTypedRuleContext(IdentifierContext, 0) as IdentifierContext; + } + public FROM(): TerminalNode { + return this.getToken(SqlBaseParser.FROM, 0); + } + public IN(): TerminalNode { + return this.getToken(SqlBaseParser.IN, 0); + } +} +export class RenameColumnContext extends StatementContext { + public _tableName!: QualifiedNameContext; + public _from_!: IdentifierContext; + public _to!: IdentifierContext; + constructor(parser: SqlBaseParser, ctx: StatementContext) { + super(parser, ctx.parentCtx, ctx.invokingState); + super.copyFrom(ctx); + } + public ALTER(): TerminalNode { + return this.getToken(SqlBaseParser.ALTER, 0); + } + public TABLE(): TerminalNode { + return this.getToken(SqlBaseParser.TABLE, 0); + } + public RENAME(): TerminalNode { + return this.getToken(SqlBaseParser.RENAME, 0); + } + public COLUMN(): TerminalNode { + return this.getToken(SqlBaseParser.COLUMN, 0); + } + public TO(): TerminalNode { + return this.getToken(SqlBaseParser.TO, 0); + } + public qualifiedName(): QualifiedNameContext { + return this.getTypedRuleContext(QualifiedNameContext, 0) as QualifiedNameContext; + } + public identifier_list(): IdentifierContext[] { + return this.getTypedRuleContexts(IdentifierContext) as IdentifierContext[]; + } + public identifier(i: number): IdentifierContext { + return this.getTypedRuleContext(IdentifierContext, i) as IdentifierContext; + } + public IF_list(): TerminalNode[] { + return this.getTokens(SqlBaseParser.IF); + } + public IF(i: number): TerminalNode { + return this.getToken(SqlBaseParser.IF, i); + } + public EXISTS_list(): TerminalNode[] { + return this.getTokens(SqlBaseParser.EXISTS); + } + public EXISTS(i: number): TerminalNode { + return this.getToken(SqlBaseParser.EXISTS, i); + } +} +export class RevokeRolesContext extends StatementContext { + constructor(parser: SqlBaseParser, ctx: StatementContext) { + super(parser, ctx.parentCtx, ctx.invokingState); + super.copyFrom(ctx); + } + public REVOKE(): TerminalNode { + return this.getToken(SqlBaseParser.REVOKE, 0); + } + public roles(): RolesContext { + return this.getTypedRuleContext(RolesContext, 0) as RolesContext; + } + public FROM(): TerminalNode { + return this.getToken(SqlBaseParser.FROM, 0); + } + public principal_list(): PrincipalContext[] { + return this.getTypedRuleContexts(PrincipalContext) as PrincipalContext[]; + } + public principal(i: number): PrincipalContext { + return this.getTypedRuleContext(PrincipalContext, i) as PrincipalContext; + } + public ADMIN(): TerminalNode { + return this.getToken(SqlBaseParser.ADMIN, 0); + } + public OPTION(): TerminalNode { + return this.getToken(SqlBaseParser.OPTION, 0); + } + public FOR(): TerminalNode { + return this.getToken(SqlBaseParser.FOR, 0); + } + public GRANTED(): TerminalNode { + return this.getToken(SqlBaseParser.GRANTED, 0); + } + public BY(): TerminalNode { + return this.getToken(SqlBaseParser.BY, 0); + } + public grantor(): GrantorContext { + return this.getTypedRuleContext(GrantorContext, 0) as GrantorContext; + } +} +export class ShowCreateTableContext extends StatementContext { + constructor(parser: SqlBaseParser, ctx: StatementContext) { + super(parser, ctx.parentCtx, ctx.invokingState); + super.copyFrom(ctx); + } + public SHOW(): TerminalNode { + return this.getToken(SqlBaseParser.SHOW, 0); + } + public CREATE(): TerminalNode { + return this.getToken(SqlBaseParser.CREATE, 0); + } + public TABLE(): TerminalNode { + return this.getToken(SqlBaseParser.TABLE, 0); + } + public qualifiedName(): QualifiedNameContext { + return this.getTypedRuleContext(QualifiedNameContext, 0) as QualifiedNameContext; + } +} +export class ShowColumnsContext extends StatementContext { + constructor(parser: SqlBaseParser, ctx: StatementContext) { + super(parser, ctx.parentCtx, ctx.invokingState); + super.copyFrom(ctx); + } + public SHOW(): TerminalNode { + return this.getToken(SqlBaseParser.SHOW, 0); + } + public COLUMNS(): TerminalNode { + return this.getToken(SqlBaseParser.COLUMNS, 0); + } + public qualifiedName(): QualifiedNameContext { + return this.getTypedRuleContext(QualifiedNameContext, 0) as QualifiedNameContext; + } + public FROM(): TerminalNode { + return this.getToken(SqlBaseParser.FROM, 0); + } + public IN(): TerminalNode { + return this.getToken(SqlBaseParser.IN, 0); + } + public DESCRIBE(): TerminalNode { + return this.getToken(SqlBaseParser.DESCRIBE, 0); + } + public DESC(): TerminalNode { + return this.getToken(SqlBaseParser.DESC, 0); + } +} +export class ShowRoleGrantsContext extends StatementContext { + constructor(parser: SqlBaseParser, ctx: StatementContext) { + super(parser, ctx.parentCtx, ctx.invokingState); + super.copyFrom(ctx); + } + public SHOW(): TerminalNode { + return this.getToken(SqlBaseParser.SHOW, 0); + } + public ROLE(): TerminalNode { + return this.getToken(SqlBaseParser.ROLE, 0); + } + public GRANTS(): TerminalNode { + return this.getToken(SqlBaseParser.GRANTS, 0); + } + public identifier(): IdentifierContext { + return this.getTypedRuleContext(IdentifierContext, 0) as IdentifierContext; + } + public FROM(): TerminalNode { + return this.getToken(SqlBaseParser.FROM, 0); + } + public IN(): TerminalNode { + return this.getToken(SqlBaseParser.IN, 0); + } +} +export class AddColumnContext extends StatementContext { + public _tableName!: QualifiedNameContext; + public _column!: ColumnDefinitionContext; + constructor(parser: SqlBaseParser, ctx: StatementContext) { + super(parser, ctx.parentCtx, ctx.invokingState); + super.copyFrom(ctx); + } + public ALTER(): TerminalNode { + return this.getToken(SqlBaseParser.ALTER, 0); + } + public TABLE(): TerminalNode { + return this.getToken(SqlBaseParser.TABLE, 0); + } + public ADD(): TerminalNode { + return this.getToken(SqlBaseParser.ADD, 0); + } + public COLUMN(): TerminalNode { + return this.getToken(SqlBaseParser.COLUMN, 0); + } + public qualifiedName(): QualifiedNameContext { + return this.getTypedRuleContext(QualifiedNameContext, 0) as QualifiedNameContext; + } + public columnDefinition(): ColumnDefinitionContext { + return this.getTypedRuleContext(ColumnDefinitionContext, 0) as ColumnDefinitionContext; + } + public IF_list(): TerminalNode[] { + return this.getTokens(SqlBaseParser.IF); + } + public IF(i: number): TerminalNode { + return this.getToken(SqlBaseParser.IF, i); + } + public EXISTS_list(): TerminalNode[] { + return this.getTokens(SqlBaseParser.EXISTS); + } + public EXISTS(i: number): TerminalNode { + return this.getToken(SqlBaseParser.EXISTS, i); + } + public NOT(): TerminalNode { + return this.getToken(SqlBaseParser.NOT, 0); + } +} +export class ResetSessionContext extends StatementContext { + constructor(parser: SqlBaseParser, ctx: StatementContext) { + super(parser, ctx.parentCtx, ctx.invokingState); + super.copyFrom(ctx); + } + public RESET(): TerminalNode { + return this.getToken(SqlBaseParser.RESET, 0); + } + public SESSION(): TerminalNode { + return this.getToken(SqlBaseParser.SESSION, 0); + } + public qualifiedName(): QualifiedNameContext { + return this.getTypedRuleContext(QualifiedNameContext, 0) as QualifiedNameContext; + } +} +export class DropConstraintContext extends StatementContext { + public _tableName!: QualifiedNameContext; + public _name!: IdentifierContext; + constructor(parser: SqlBaseParser, ctx: StatementContext) { + super(parser, ctx.parentCtx, ctx.invokingState); + super.copyFrom(ctx); + } + public ALTER(): TerminalNode { + return this.getToken(SqlBaseParser.ALTER, 0); + } + public TABLE(): TerminalNode { + return this.getToken(SqlBaseParser.TABLE, 0); + } + public DROP(): TerminalNode { + return this.getToken(SqlBaseParser.DROP, 0); + } + public CONSTRAINT(): TerminalNode { + return this.getToken(SqlBaseParser.CONSTRAINT, 0); + } + public qualifiedName(): QualifiedNameContext { + return this.getTypedRuleContext(QualifiedNameContext, 0) as QualifiedNameContext; + } + public identifier(): IdentifierContext { + return this.getTypedRuleContext(IdentifierContext, 0) as IdentifierContext; + } + public IF_list(): TerminalNode[] { + return this.getTokens(SqlBaseParser.IF); + } + public IF(i: number): TerminalNode { + return this.getToken(SqlBaseParser.IF, i); + } + public EXISTS_list(): TerminalNode[] { + return this.getTokens(SqlBaseParser.EXISTS); + } + public EXISTS(i: number): TerminalNode { + return this.getToken(SqlBaseParser.EXISTS, i); + } +} +export class InsertIntoContext extends StatementContext { + constructor(parser: SqlBaseParser, ctx: StatementContext) { + super(parser, ctx.parentCtx, ctx.invokingState); + super.copyFrom(ctx); + } + public INSERT(): TerminalNode { + return this.getToken(SqlBaseParser.INSERT, 0); + } + public INTO(): TerminalNode { + return this.getToken(SqlBaseParser.INTO, 0); + } + public qualifiedName(): QualifiedNameContext { + return this.getTypedRuleContext(QualifiedNameContext, 0) as QualifiedNameContext; + } + public query(): QueryContext { + return this.getTypedRuleContext(QueryContext, 0) as QueryContext; + } + public columnAliases(): ColumnAliasesContext { + return this.getTypedRuleContext(ColumnAliasesContext, 0) as ColumnAliasesContext; + } +} +export class ShowSessionContext extends StatementContext { + public _pattern!: StringContext; + public _escape!: StringContext; + constructor(parser: SqlBaseParser, ctx: StatementContext) { + super(parser, ctx.parentCtx, ctx.invokingState); + super.copyFrom(ctx); + } + public SHOW(): TerminalNode { + return this.getToken(SqlBaseParser.SHOW, 0); + } + public SESSION(): TerminalNode { + return this.getToken(SqlBaseParser.SESSION, 0); + } + public LIKE(): TerminalNode { + return this.getToken(SqlBaseParser.LIKE, 0); + } + public string__list(): StringContext[] { + return this.getTypedRuleContexts(StringContext) as StringContext[]; + } + public string_(i: number): StringContext { + return this.getTypedRuleContext(StringContext, i) as StringContext; + } + public ESCAPE(): TerminalNode { + return this.getToken(SqlBaseParser.ESCAPE, 0); + } +} +export class CreateSchemaContext extends StatementContext { + constructor(parser: SqlBaseParser, ctx: StatementContext) { + super(parser, ctx.parentCtx, ctx.invokingState); + super.copyFrom(ctx); + } + public CREATE(): TerminalNode { + return this.getToken(SqlBaseParser.CREATE, 0); + } + public SCHEMA(): TerminalNode { + return this.getToken(SqlBaseParser.SCHEMA, 0); + } + public qualifiedName(): QualifiedNameContext { + return this.getTypedRuleContext(QualifiedNameContext, 0) as QualifiedNameContext; + } + public IF(): TerminalNode { + return this.getToken(SqlBaseParser.IF, 0); + } + public NOT(): TerminalNode { + return this.getToken(SqlBaseParser.NOT, 0); + } + public EXISTS(): TerminalNode { + return this.getToken(SqlBaseParser.EXISTS, 0); + } + public WITH(): TerminalNode { + return this.getToken(SqlBaseParser.WITH, 0); + } + public properties(): PropertiesContext { + return this.getTypedRuleContext(PropertiesContext, 0) as PropertiesContext; + } +} +export class ExecuteContext extends StatementContext { + constructor(parser: SqlBaseParser, ctx: StatementContext) { + super(parser, ctx.parentCtx, ctx.invokingState); + super.copyFrom(ctx); + } + public EXECUTE(): TerminalNode { + return this.getToken(SqlBaseParser.EXECUTE, 0); + } + public identifier(): IdentifierContext { + return this.getTypedRuleContext(IdentifierContext, 0) as IdentifierContext; + } + public USING(): TerminalNode { + return this.getToken(SqlBaseParser.USING, 0); + } + public expression_list(): ExpressionContext[] { + return this.getTypedRuleContexts(ExpressionContext) as ExpressionContext[]; + } + public expression(i: number): ExpressionContext { + return this.getTypedRuleContext(ExpressionContext, i) as ExpressionContext; + } +} +export class RenameSchemaContext extends StatementContext { + constructor(parser: SqlBaseParser, ctx: StatementContext) { + super(parser, ctx.parentCtx, ctx.invokingState); + super.copyFrom(ctx); + } + public ALTER(): TerminalNode { + return this.getToken(SqlBaseParser.ALTER, 0); + } + public SCHEMA(): TerminalNode { + return this.getToken(SqlBaseParser.SCHEMA, 0); + } + public qualifiedName(): QualifiedNameContext { + return this.getTypedRuleContext(QualifiedNameContext, 0) as QualifiedNameContext; + } + public RENAME(): TerminalNode { + return this.getToken(SqlBaseParser.RENAME, 0); + } + public TO(): TerminalNode { + return this.getToken(SqlBaseParser.TO, 0); + } + public identifier(): IdentifierContext { + return this.getTypedRuleContext(IdentifierContext, 0) as IdentifierContext; + } +} +export class DropRoleContext extends StatementContext { + public _name!: IdentifierContext; + constructor(parser: SqlBaseParser, ctx: StatementContext) { + super(parser, ctx.parentCtx, ctx.invokingState); + super.copyFrom(ctx); + } + public DROP(): TerminalNode { + return this.getToken(SqlBaseParser.DROP, 0); + } + public ROLE(): TerminalNode { + return this.getToken(SqlBaseParser.ROLE, 0); + } + public identifier(): IdentifierContext { + return this.getTypedRuleContext(IdentifierContext, 0) as IdentifierContext; + } +} +export class AnalyzeContext extends StatementContext { + constructor(parser: SqlBaseParser, ctx: StatementContext) { + super(parser, ctx.parentCtx, ctx.invokingState); + super.copyFrom(ctx); + } + public ANALYZE(): TerminalNode { + return this.getToken(SqlBaseParser.ANALYZE, 0); + } + public qualifiedName(): QualifiedNameContext { + return this.getTypedRuleContext(QualifiedNameContext, 0) as QualifiedNameContext; + } + public WITH(): TerminalNode { + return this.getToken(SqlBaseParser.WITH, 0); + } + public properties(): PropertiesContext { + return this.getTypedRuleContext(PropertiesContext, 0) as PropertiesContext; + } +} +export class SetRoleContext extends StatementContext { + public _role!: IdentifierContext; + constructor(parser: SqlBaseParser, ctx: StatementContext) { + super(parser, ctx.parentCtx, ctx.invokingState); + super.copyFrom(ctx); + } + public SET(): TerminalNode { + return this.getToken(SqlBaseParser.SET, 0); + } + public ROLE(): TerminalNode { + return this.getToken(SqlBaseParser.ROLE, 0); + } + public ALL(): TerminalNode { + return this.getToken(SqlBaseParser.ALL, 0); + } + public NONE(): TerminalNode { + return this.getToken(SqlBaseParser.NONE, 0); + } + public identifier(): IdentifierContext { + return this.getTypedRuleContext(IdentifierContext, 0) as IdentifierContext; + } +} +export class CreateFunctionContext extends StatementContext { + public _functionName!: QualifiedNameContext; + public _returnType!: TypeContext; + constructor(parser: SqlBaseParser, ctx: StatementContext) { + super(parser, ctx.parentCtx, ctx.invokingState); + super.copyFrom(ctx); + } + public CREATE(): TerminalNode { + return this.getToken(SqlBaseParser.CREATE, 0); + } + public FUNCTION(): TerminalNode { + return this.getToken(SqlBaseParser.FUNCTION, 0); + } + public RETURNS(): TerminalNode { + return this.getToken(SqlBaseParser.RETURNS, 0); + } + public routineCharacteristics(): RoutineCharacteristicsContext { + return this.getTypedRuleContext(RoutineCharacteristicsContext, 0) as RoutineCharacteristicsContext; + } + public routineBody(): RoutineBodyContext { + return this.getTypedRuleContext(RoutineBodyContext, 0) as RoutineBodyContext; + } + public qualifiedName(): QualifiedNameContext { + return this.getTypedRuleContext(QualifiedNameContext, 0) as QualifiedNameContext; + } + public type_(): TypeContext { + return this.getTypedRuleContext(TypeContext, 0) as TypeContext; + } + public OR(): TerminalNode { + return this.getToken(SqlBaseParser.OR, 0); + } + public REPLACE(): TerminalNode { + return this.getToken(SqlBaseParser.REPLACE, 0); + } + public TEMPORARY(): TerminalNode { + return this.getToken(SqlBaseParser.TEMPORARY, 0); + } + public sqlParameterDeclaration_list(): SqlParameterDeclarationContext[] { + return this.getTypedRuleContexts(SqlParameterDeclarationContext) as SqlParameterDeclarationContext[]; + } + public sqlParameterDeclaration(i: number): SqlParameterDeclarationContext { + return this.getTypedRuleContext(SqlParameterDeclarationContext, i) as SqlParameterDeclarationContext; + } + public COMMENT(): TerminalNode { + return this.getToken(SqlBaseParser.COMMENT, 0); + } + public string_(): StringContext { + return this.getTypedRuleContext(StringContext, 0) as StringContext; + } +} +export class ShowGrantsContext extends StatementContext { + constructor(parser: SqlBaseParser, ctx: StatementContext) { + super(parser, ctx.parentCtx, ctx.invokingState); + super.copyFrom(ctx); + } + public SHOW(): TerminalNode { + return this.getToken(SqlBaseParser.SHOW, 0); + } + public GRANTS(): TerminalNode { + return this.getToken(SqlBaseParser.GRANTS, 0); + } + public ON(): TerminalNode { + return this.getToken(SqlBaseParser.ON, 0); + } + public qualifiedName(): QualifiedNameContext { + return this.getTypedRuleContext(QualifiedNameContext, 0) as QualifiedNameContext; + } + public TABLE(): TerminalNode { + return this.getToken(SqlBaseParser.TABLE, 0); + } +} +export class DropSchemaContext extends StatementContext { + constructor(parser: SqlBaseParser, ctx: StatementContext) { + super(parser, ctx.parentCtx, ctx.invokingState); + super.copyFrom(ctx); + } + public DROP(): TerminalNode { + return this.getToken(SqlBaseParser.DROP, 0); + } + public SCHEMA(): TerminalNode { + return this.getToken(SqlBaseParser.SCHEMA, 0); + } + public qualifiedName(): QualifiedNameContext { + return this.getTypedRuleContext(QualifiedNameContext, 0) as QualifiedNameContext; + } + public IF(): TerminalNode { + return this.getToken(SqlBaseParser.IF, 0); + } + public EXISTS(): TerminalNode { + return this.getToken(SqlBaseParser.EXISTS, 0); + } + public CASCADE(): TerminalNode { + return this.getToken(SqlBaseParser.CASCADE, 0); + } + public RESTRICT(): TerminalNode { + return this.getToken(SqlBaseParser.RESTRICT, 0); + } +} +export class ShowCreateViewContext extends StatementContext { + constructor(parser: SqlBaseParser, ctx: StatementContext) { + super(parser, ctx.parentCtx, ctx.invokingState); + super.copyFrom(ctx); + } + public SHOW(): TerminalNode { + return this.getToken(SqlBaseParser.SHOW, 0); + } + public CREATE(): TerminalNode { + return this.getToken(SqlBaseParser.CREATE, 0); + } + public VIEW(): TerminalNode { + return this.getToken(SqlBaseParser.VIEW, 0); + } + public qualifiedName(): QualifiedNameContext { + return this.getTypedRuleContext(QualifiedNameContext, 0) as QualifiedNameContext; + } +} +export class CreateTableContext extends StatementContext { + constructor(parser: SqlBaseParser, ctx: StatementContext) { + super(parser, ctx.parentCtx, ctx.invokingState); + super.copyFrom(ctx); + } + public CREATE(): TerminalNode { + return this.getToken(SqlBaseParser.CREATE, 0); + } + public TABLE(): TerminalNode { + return this.getToken(SqlBaseParser.TABLE, 0); + } + public qualifiedName(): QualifiedNameContext { + return this.getTypedRuleContext(QualifiedNameContext, 0) as QualifiedNameContext; + } + public tableElement_list(): TableElementContext[] { + return this.getTypedRuleContexts(TableElementContext) as TableElementContext[]; + } + public tableElement(i: number): TableElementContext { + return this.getTypedRuleContext(TableElementContext, i) as TableElementContext; + } + public IF(): TerminalNode { + return this.getToken(SqlBaseParser.IF, 0); + } + public NOT(): TerminalNode { + return this.getToken(SqlBaseParser.NOT, 0); + } + public EXISTS(): TerminalNode { + return this.getToken(SqlBaseParser.EXISTS, 0); + } + public COMMENT(): TerminalNode { + return this.getToken(SqlBaseParser.COMMENT, 0); + } + public string_(): StringContext { + return this.getTypedRuleContext(StringContext, 0) as StringContext; + } + public WITH(): TerminalNode { + return this.getToken(SqlBaseParser.WITH, 0); + } + public properties(): PropertiesContext { + return this.getTypedRuleContext(PropertiesContext, 0) as PropertiesContext; + } +} +export class StartTransactionContext extends StatementContext { + constructor(parser: SqlBaseParser, ctx: StatementContext) { + super(parser, ctx.parentCtx, ctx.invokingState); + super.copyFrom(ctx); + } + public START(): TerminalNode { + return this.getToken(SqlBaseParser.START, 0); + } + public TRANSACTION(): TerminalNode { + return this.getToken(SqlBaseParser.TRANSACTION, 0); + } + public transactionMode_list(): TransactionModeContext[] { + return this.getTypedRuleContexts(TransactionModeContext) as TransactionModeContext[]; + } + public transactionMode(i: number): TransactionModeContext { + return this.getTypedRuleContext(TransactionModeContext, i) as TransactionModeContext; + } +} +export class CreateTableAsSelectContext extends StatementContext { + constructor(parser: SqlBaseParser, ctx: StatementContext) { + super(parser, ctx.parentCtx, ctx.invokingState); + super.copyFrom(ctx); + } + public CREATE(): TerminalNode { + return this.getToken(SqlBaseParser.CREATE, 0); + } + public TABLE(): TerminalNode { + return this.getToken(SqlBaseParser.TABLE, 0); + } + public qualifiedName(): QualifiedNameContext { + return this.getTypedRuleContext(QualifiedNameContext, 0) as QualifiedNameContext; + } + public AS(): TerminalNode { + return this.getToken(SqlBaseParser.AS, 0); + } + public query(): QueryContext { + return this.getTypedRuleContext(QueryContext, 0) as QueryContext; + } + public IF(): TerminalNode { + return this.getToken(SqlBaseParser.IF, 0); + } + public NOT(): TerminalNode { + return this.getToken(SqlBaseParser.NOT, 0); + } + public EXISTS(): TerminalNode { + return this.getToken(SqlBaseParser.EXISTS, 0); + } + public columnAliases(): ColumnAliasesContext { + return this.getTypedRuleContext(ColumnAliasesContext, 0) as ColumnAliasesContext; + } + public COMMENT(): TerminalNode { + return this.getToken(SqlBaseParser.COMMENT, 0); + } + public string_(): StringContext { + return this.getTypedRuleContext(StringContext, 0) as StringContext; + } + public WITH_list(): TerminalNode[] { + return this.getTokens(SqlBaseParser.WITH); + } + public WITH(i: number): TerminalNode { + return this.getToken(SqlBaseParser.WITH, i); + } + public properties(): PropertiesContext { + return this.getTypedRuleContext(PropertiesContext, 0) as PropertiesContext; + } + public DATA(): TerminalNode { + return this.getToken(SqlBaseParser.DATA, 0); + } + public NO(): TerminalNode { + return this.getToken(SqlBaseParser.NO, 0); + } +} +export class ShowStatsContext extends StatementContext { + constructor(parser: SqlBaseParser, ctx: StatementContext) { + super(parser, ctx.parentCtx, ctx.invokingState); + super.copyFrom(ctx); + } + public SHOW(): TerminalNode { + return this.getToken(SqlBaseParser.SHOW, 0); + } + public STATS(): TerminalNode { + return this.getToken(SqlBaseParser.STATS, 0); + } + public FOR(): TerminalNode { + return this.getToken(SqlBaseParser.FOR, 0); + } + public qualifiedName(): QualifiedNameContext { + return this.getTypedRuleContext(QualifiedNameContext, 0) as QualifiedNameContext; + } +} +export class ShowCreateSchemaContext extends StatementContext { + constructor(parser: SqlBaseParser, ctx: StatementContext) { + super(parser, ctx.parentCtx, ctx.invokingState); + super.copyFrom(ctx); + } + public SHOW(): TerminalNode { + return this.getToken(SqlBaseParser.SHOW, 0); + } + public CREATE(): TerminalNode { + return this.getToken(SqlBaseParser.CREATE, 0); + } + public SCHEMA(): TerminalNode { + return this.getToken(SqlBaseParser.SCHEMA, 0); + } + public qualifiedName(): QualifiedNameContext { + return this.getTypedRuleContext(QualifiedNameContext, 0) as QualifiedNameContext; + } +} +export class DropFunctionContext extends StatementContext { + constructor(parser: SqlBaseParser, ctx: StatementContext) { + super(parser, ctx.parentCtx, ctx.invokingState); + super.copyFrom(ctx); + } + public DROP(): TerminalNode { + return this.getToken(SqlBaseParser.DROP, 0); + } + public FUNCTION(): TerminalNode { + return this.getToken(SqlBaseParser.FUNCTION, 0); + } + public qualifiedName(): QualifiedNameContext { + return this.getTypedRuleContext(QualifiedNameContext, 0) as QualifiedNameContext; + } + public TEMPORARY(): TerminalNode { + return this.getToken(SqlBaseParser.TEMPORARY, 0); + } + public IF(): TerminalNode { + return this.getToken(SqlBaseParser.IF, 0); + } + public EXISTS(): TerminalNode { + return this.getToken(SqlBaseParser.EXISTS, 0); + } + public types(): TypesContext { + return this.getTypedRuleContext(TypesContext, 0) as TypesContext; + } +} +export class RevokeContext extends StatementContext { + public _grantee!: PrincipalContext; + constructor(parser: SqlBaseParser, ctx: StatementContext) { + super(parser, ctx.parentCtx, ctx.invokingState); + super.copyFrom(ctx); + } + public REVOKE(): TerminalNode { + return this.getToken(SqlBaseParser.REVOKE, 0); + } + public ON(): TerminalNode { + return this.getToken(SqlBaseParser.ON, 0); + } + public qualifiedName(): QualifiedNameContext { + return this.getTypedRuleContext(QualifiedNameContext, 0) as QualifiedNameContext; + } + public FROM(): TerminalNode { + return this.getToken(SqlBaseParser.FROM, 0); + } + public principal(): PrincipalContext { + return this.getTypedRuleContext(PrincipalContext, 0) as PrincipalContext; + } + public privilege_list(): PrivilegeContext[] { + return this.getTypedRuleContexts(PrivilegeContext) as PrivilegeContext[]; + } + public privilege(i: number): PrivilegeContext { + return this.getTypedRuleContext(PrivilegeContext, i) as PrivilegeContext; + } + public ALL(): TerminalNode { + return this.getToken(SqlBaseParser.ALL, 0); + } + public PRIVILEGES(): TerminalNode { + return this.getToken(SqlBaseParser.PRIVILEGES, 0); + } + public GRANT(): TerminalNode { + return this.getToken(SqlBaseParser.GRANT, 0); + } + public OPTION(): TerminalNode { + return this.getToken(SqlBaseParser.OPTION, 0); + } + public FOR(): TerminalNode { + return this.getToken(SqlBaseParser.FOR, 0); + } + public TABLE(): TerminalNode { + return this.getToken(SqlBaseParser.TABLE, 0); + } +} +export class UpdateContext extends StatementContext { + public _where!: BooleanExpressionContext; + constructor(parser: SqlBaseParser, ctx: StatementContext) { + super(parser, ctx.parentCtx, ctx.invokingState); + super.copyFrom(ctx); + } + public UPDATE(): TerminalNode { + return this.getToken(SqlBaseParser.UPDATE, 0); + } + public qualifiedName(): QualifiedNameContext { + return this.getTypedRuleContext(QualifiedNameContext, 0) as QualifiedNameContext; + } + public SET(): TerminalNode { + return this.getToken(SqlBaseParser.SET, 0); + } + public updateAssignment_list(): UpdateAssignmentContext[] { + return this.getTypedRuleContexts(UpdateAssignmentContext) as UpdateAssignmentContext[]; + } + public updateAssignment(i: number): UpdateAssignmentContext { + return this.getTypedRuleContext(UpdateAssignmentContext, i) as UpdateAssignmentContext; + } + public WHERE(): TerminalNode { + return this.getToken(SqlBaseParser.WHERE, 0); + } + public booleanExpression(): BooleanExpressionContext { + return this.getTypedRuleContext(BooleanExpressionContext, 0) as BooleanExpressionContext; + } +} +export class CreateTypeContext extends StatementContext { + constructor(parser: SqlBaseParser, ctx: StatementContext) { + super(parser, ctx.parentCtx, ctx.invokingState); + super.copyFrom(ctx); + } + public CREATE(): TerminalNode { + return this.getToken(SqlBaseParser.CREATE, 0); + } + public TYPE(): TerminalNode { + return this.getToken(SqlBaseParser.TYPE, 0); + } + public qualifiedName(): QualifiedNameContext { + return this.getTypedRuleContext(QualifiedNameContext, 0) as QualifiedNameContext; + } + public AS(): TerminalNode { + return this.getToken(SqlBaseParser.AS, 0); + } + public sqlParameterDeclaration_list(): SqlParameterDeclarationContext[] { + return this.getTypedRuleContexts(SqlParameterDeclarationContext) as SqlParameterDeclarationContext[]; + } + public sqlParameterDeclaration(i: number): SqlParameterDeclarationContext { + return this.getTypedRuleContext(SqlParameterDeclarationContext, i) as SqlParameterDeclarationContext; + } + public type_(): TypeContext { + return this.getTypedRuleContext(TypeContext, 0) as TypeContext; + } +} +export class DeleteContext extends StatementContext { + constructor(parser: SqlBaseParser, ctx: StatementContext) { + super(parser, ctx.parentCtx, ctx.invokingState); + super.copyFrom(ctx); + } + public DELETE(): TerminalNode { + return this.getToken(SqlBaseParser.DELETE, 0); + } + public FROM(): TerminalNode { + return this.getToken(SqlBaseParser.FROM, 0); + } + public qualifiedName(): QualifiedNameContext { + return this.getTypedRuleContext(QualifiedNameContext, 0) as QualifiedNameContext; + } + public WHERE(): TerminalNode { + return this.getToken(SqlBaseParser.WHERE, 0); + } + public booleanExpression(): BooleanExpressionContext { + return this.getTypedRuleContext(BooleanExpressionContext, 0) as BooleanExpressionContext; + } +} +export class DescribeInputContext extends StatementContext { + constructor(parser: SqlBaseParser, ctx: StatementContext) { + super(parser, ctx.parentCtx, ctx.invokingState); + super.copyFrom(ctx); + } + public DESCRIBE(): TerminalNode { + return this.getToken(SqlBaseParser.DESCRIBE, 0); + } + public INPUT(): TerminalNode { + return this.getToken(SqlBaseParser.INPUT, 0); + } + public identifier(): IdentifierContext { + return this.getTypedRuleContext(IdentifierContext, 0) as IdentifierContext; + } +} +export class ShowStatsForQueryContext extends StatementContext { + constructor(parser: SqlBaseParser, ctx: StatementContext) { + super(parser, ctx.parentCtx, ctx.invokingState); + super.copyFrom(ctx); + } + public SHOW(): TerminalNode { + return this.getToken(SqlBaseParser.SHOW, 0); + } + public STATS(): TerminalNode { + return this.getToken(SqlBaseParser.STATS, 0); + } + public FOR(): TerminalNode { + return this.getToken(SqlBaseParser.FOR, 0); + } + public querySpecification(): QuerySpecificationContext { + return this.getTypedRuleContext(QuerySpecificationContext, 0) as QuerySpecificationContext; + } +} +export class StatementDefaultContext extends StatementContext { + constructor(parser: SqlBaseParser, ctx: StatementContext) { + super(parser, ctx.parentCtx, ctx.invokingState); + super.copyFrom(ctx); + } + public query(): QueryContext { + return this.getTypedRuleContext(QueryContext, 0) as QueryContext; + } +} +export class TruncateTableContext extends StatementContext { + constructor(parser: SqlBaseParser, ctx: StatementContext) { + super(parser, ctx.parentCtx, ctx.invokingState); + super.copyFrom(ctx); + } + public TRUNCATE(): TerminalNode { + return this.getToken(SqlBaseParser.TRUNCATE, 0); + } + public TABLE(): TerminalNode { + return this.getToken(SqlBaseParser.TABLE, 0); + } + public qualifiedName(): QualifiedNameContext { + return this.getTypedRuleContext(QualifiedNameContext, 0) as QualifiedNameContext; + } +} +export class AlterColumnSetNotNullContext extends StatementContext { + public _tableName!: QualifiedNameContext; + public _column!: IdentifierContext; + constructor(parser: SqlBaseParser, ctx: StatementContext) { + super(parser, ctx.parentCtx, ctx.invokingState); + super.copyFrom(ctx); + } + public ALTER_list(): TerminalNode[] { + return this.getTokens(SqlBaseParser.ALTER); + } + public ALTER(i: number): TerminalNode { + return this.getToken(SqlBaseParser.ALTER, i); + } + public TABLE(): TerminalNode { + return this.getToken(SqlBaseParser.TABLE, 0); + } + public SET(): TerminalNode { + return this.getToken(SqlBaseParser.SET, 0); + } + public NOT(): TerminalNode { + return this.getToken(SqlBaseParser.NOT, 0); + } + public NULL(): TerminalNode { + return this.getToken(SqlBaseParser.NULL, 0); + } + public qualifiedName(): QualifiedNameContext { + return this.getTypedRuleContext(QualifiedNameContext, 0) as QualifiedNameContext; + } + public identifier(): IdentifierContext { + return this.getTypedRuleContext(IdentifierContext, 0) as IdentifierContext; + } + public IF(): TerminalNode { + return this.getToken(SqlBaseParser.IF, 0); + } + public EXISTS(): TerminalNode { + return this.getToken(SqlBaseParser.EXISTS, 0); + } + public COLUMN(): TerminalNode { + return this.getToken(SqlBaseParser.COLUMN, 0); + } +} +export class CreateMaterializedViewContext extends StatementContext { + constructor(parser: SqlBaseParser, ctx: StatementContext) { + super(parser, ctx.parentCtx, ctx.invokingState); + super.copyFrom(ctx); + } + public CREATE(): TerminalNode { + return this.getToken(SqlBaseParser.CREATE, 0); + } + public MATERIALIZED(): TerminalNode { + return this.getToken(SqlBaseParser.MATERIALIZED, 0); + } + public VIEW(): TerminalNode { + return this.getToken(SqlBaseParser.VIEW, 0); + } + public qualifiedName(): QualifiedNameContext { + return this.getTypedRuleContext(QualifiedNameContext, 0) as QualifiedNameContext; + } + public AS(): TerminalNode { + return this.getToken(SqlBaseParser.AS, 0); + } + public query(): QueryContext { + return this.getTypedRuleContext(QueryContext, 0) as QueryContext; + } + public IF(): TerminalNode { + return this.getToken(SqlBaseParser.IF, 0); + } + public NOT(): TerminalNode { + return this.getToken(SqlBaseParser.NOT, 0); + } + public EXISTS(): TerminalNode { + return this.getToken(SqlBaseParser.EXISTS, 0); + } + public COMMENT(): TerminalNode { + return this.getToken(SqlBaseParser.COMMENT, 0); + } + public string_(): StringContext { + return this.getTypedRuleContext(StringContext, 0) as StringContext; + } + public WITH(): TerminalNode { + return this.getToken(SqlBaseParser.WITH, 0); + } + public properties(): PropertiesContext { + return this.getTypedRuleContext(PropertiesContext, 0) as PropertiesContext; + } +} +export class AlterFunctionContext extends StatementContext { + constructor(parser: SqlBaseParser, ctx: StatementContext) { + super(parser, ctx.parentCtx, ctx.invokingState); + super.copyFrom(ctx); + } + public ALTER(): TerminalNode { + return this.getToken(SqlBaseParser.ALTER, 0); + } + public FUNCTION(): TerminalNode { + return this.getToken(SqlBaseParser.FUNCTION, 0); + } + public qualifiedName(): QualifiedNameContext { + return this.getTypedRuleContext(QualifiedNameContext, 0) as QualifiedNameContext; + } + public alterRoutineCharacteristics(): AlterRoutineCharacteristicsContext { + return this.getTypedRuleContext(AlterRoutineCharacteristicsContext, 0) as AlterRoutineCharacteristicsContext; + } + public types(): TypesContext { + return this.getTypedRuleContext(TypesContext, 0) as TypesContext; + } +} +export class SetSessionContext extends StatementContext { + constructor(parser: SqlBaseParser, ctx: StatementContext) { + super(parser, ctx.parentCtx, ctx.invokingState); + super.copyFrom(ctx); + } + public SET(): TerminalNode { + return this.getToken(SqlBaseParser.SET, 0); + } + public SESSION(): TerminalNode { + return this.getToken(SqlBaseParser.SESSION, 0); + } + public qualifiedName(): QualifiedNameContext { + return this.getTypedRuleContext(QualifiedNameContext, 0) as QualifiedNameContext; + } + public EQ(): TerminalNode { + return this.getToken(SqlBaseParser.EQ, 0); + } + public expression(): ExpressionContext { + return this.getTypedRuleContext(ExpressionContext, 0) as ExpressionContext; + } +} +export class CreateViewContext extends StatementContext { + constructor(parser: SqlBaseParser, ctx: StatementContext) { + super(parser, ctx.parentCtx, ctx.invokingState); + super.copyFrom(ctx); + } + public CREATE(): TerminalNode { + return this.getToken(SqlBaseParser.CREATE, 0); + } + public VIEW(): TerminalNode { + return this.getToken(SqlBaseParser.VIEW, 0); + } + public qualifiedName(): QualifiedNameContext { + return this.getTypedRuleContext(QualifiedNameContext, 0) as QualifiedNameContext; + } + public AS(): TerminalNode { + return this.getToken(SqlBaseParser.AS, 0); + } + public query(): QueryContext { + return this.getTypedRuleContext(QueryContext, 0) as QueryContext; + } + public OR(): TerminalNode { + return this.getToken(SqlBaseParser.OR, 0); + } + public REPLACE(): TerminalNode { + return this.getToken(SqlBaseParser.REPLACE, 0); + } + public SECURITY(): TerminalNode { + return this.getToken(SqlBaseParser.SECURITY, 0); + } + public DEFINER(): TerminalNode { + return this.getToken(SqlBaseParser.DEFINER, 0); + } + public INVOKER(): TerminalNode { + return this.getToken(SqlBaseParser.INVOKER, 0); + } +} +export class ShowSchemasContext extends StatementContext { + public _pattern!: StringContext; + public _escape!: StringContext; + constructor(parser: SqlBaseParser, ctx: StatementContext) { + super(parser, ctx.parentCtx, ctx.invokingState); + super.copyFrom(ctx); + } + public SHOW(): TerminalNode { + return this.getToken(SqlBaseParser.SHOW, 0); + } + public SCHEMAS(): TerminalNode { + return this.getToken(SqlBaseParser.SCHEMAS, 0); + } + public identifier(): IdentifierContext { + return this.getTypedRuleContext(IdentifierContext, 0) as IdentifierContext; + } + public LIKE(): TerminalNode { + return this.getToken(SqlBaseParser.LIKE, 0); + } + public FROM(): TerminalNode { + return this.getToken(SqlBaseParser.FROM, 0); + } + public IN(): TerminalNode { + return this.getToken(SqlBaseParser.IN, 0); + } + public string__list(): StringContext[] { + return this.getTypedRuleContexts(StringContext) as StringContext[]; + } + public string_(i: number): StringContext { + return this.getTypedRuleContext(StringContext, i) as StringContext; + } + public ESCAPE(): TerminalNode { + return this.getToken(SqlBaseParser.ESCAPE, 0); + } +} +export class DropTableContext extends StatementContext { + constructor(parser: SqlBaseParser, ctx: StatementContext) { + super(parser, ctx.parentCtx, ctx.invokingState); + super.copyFrom(ctx); + } + public DROP(): TerminalNode { + return this.getToken(SqlBaseParser.DROP, 0); + } + public TABLE(): TerminalNode { + return this.getToken(SqlBaseParser.TABLE, 0); + } + public qualifiedName(): QualifiedNameContext { + return this.getTypedRuleContext(QualifiedNameContext, 0) as QualifiedNameContext; + } + public IF(): TerminalNode { + return this.getToken(SqlBaseParser.IF, 0); + } + public EXISTS(): TerminalNode { + return this.getToken(SqlBaseParser.EXISTS, 0); + } +} +export class RollbackContext extends StatementContext { + constructor(parser: SqlBaseParser, ctx: StatementContext) { + super(parser, ctx.parentCtx, ctx.invokingState); + super.copyFrom(ctx); + } + public ROLLBACK(): TerminalNode { + return this.getToken(SqlBaseParser.ROLLBACK, 0); + } + public WORK(): TerminalNode { + return this.getToken(SqlBaseParser.WORK, 0); + } +} +export class RenameViewContext extends StatementContext { + public _from_!: QualifiedNameContext; + public _to!: QualifiedNameContext; + constructor(parser: SqlBaseParser, ctx: StatementContext) { + super(parser, ctx.parentCtx, ctx.invokingState); + super.copyFrom(ctx); + } + public ALTER(): TerminalNode { + return this.getToken(SqlBaseParser.ALTER, 0); + } + public VIEW(): TerminalNode { + return this.getToken(SqlBaseParser.VIEW, 0); + } + public RENAME(): TerminalNode { + return this.getToken(SqlBaseParser.RENAME, 0); + } + public TO(): TerminalNode { + return this.getToken(SqlBaseParser.TO, 0); + } + public qualifiedName_list(): QualifiedNameContext[] { + return this.getTypedRuleContexts(QualifiedNameContext) as QualifiedNameContext[]; + } + public qualifiedName(i: number): QualifiedNameContext { + return this.getTypedRuleContext(QualifiedNameContext, i) as QualifiedNameContext; + } + public IF(): TerminalNode { + return this.getToken(SqlBaseParser.IF, 0); + } + public EXISTS(): TerminalNode { + return this.getToken(SqlBaseParser.EXISTS, 0); + } +} +export class AlterColumnDropNotNullContext extends StatementContext { + public _tableName!: QualifiedNameContext; + public _column!: IdentifierContext; + constructor(parser: SqlBaseParser, ctx: StatementContext) { + super(parser, ctx.parentCtx, ctx.invokingState); + super.copyFrom(ctx); + } + public ALTER_list(): TerminalNode[] { + return this.getTokens(SqlBaseParser.ALTER); + } + public ALTER(i: number): TerminalNode { + return this.getToken(SqlBaseParser.ALTER, i); + } + public TABLE(): TerminalNode { + return this.getToken(SqlBaseParser.TABLE, 0); + } + public DROP(): TerminalNode { + return this.getToken(SqlBaseParser.DROP, 0); + } + public NOT(): TerminalNode { + return this.getToken(SqlBaseParser.NOT, 0); + } + public NULL(): TerminalNode { + return this.getToken(SqlBaseParser.NULL, 0); + } + public qualifiedName(): QualifiedNameContext { + return this.getTypedRuleContext(QualifiedNameContext, 0) as QualifiedNameContext; + } + public identifier(): IdentifierContext { + return this.getTypedRuleContext(IdentifierContext, 0) as IdentifierContext; + } + public IF(): TerminalNode { + return this.getToken(SqlBaseParser.IF, 0); + } + public EXISTS(): TerminalNode { + return this.getToken(SqlBaseParser.EXISTS, 0); + } + public COLUMN(): TerminalNode { + return this.getToken(SqlBaseParser.COLUMN, 0); + } +} +export class GrantRolesContext extends StatementContext { + constructor(parser: SqlBaseParser, ctx: StatementContext) { + super(parser, ctx.parentCtx, ctx.invokingState); + super.copyFrom(ctx); + } + public GRANT(): TerminalNode { + return this.getToken(SqlBaseParser.GRANT, 0); + } + public roles(): RolesContext { + return this.getTypedRuleContext(RolesContext, 0) as RolesContext; + } + public TO(): TerminalNode { + return this.getToken(SqlBaseParser.TO, 0); + } + public principal_list(): PrincipalContext[] { + return this.getTypedRuleContexts(PrincipalContext) as PrincipalContext[]; + } + public principal(i: number): PrincipalContext { + return this.getTypedRuleContext(PrincipalContext, i) as PrincipalContext; + } + public WITH(): TerminalNode { + return this.getToken(SqlBaseParser.WITH, 0); + } + public ADMIN(): TerminalNode { + return this.getToken(SqlBaseParser.ADMIN, 0); + } + public OPTION(): TerminalNode { + return this.getToken(SqlBaseParser.OPTION, 0); + } + public GRANTED(): TerminalNode { + return this.getToken(SqlBaseParser.GRANTED, 0); + } + public BY(): TerminalNode { + return this.getToken(SqlBaseParser.BY, 0); + } + public grantor(): GrantorContext { + return this.getTypedRuleContext(GrantorContext, 0) as GrantorContext; + } +} +export class CallContext extends StatementContext { + constructor(parser: SqlBaseParser, ctx: StatementContext) { + super(parser, ctx.parentCtx, ctx.invokingState); + super.copyFrom(ctx); + } + public CALL(): TerminalNode { + return this.getToken(SqlBaseParser.CALL, 0); + } + public qualifiedName(): QualifiedNameContext { + return this.getTypedRuleContext(QualifiedNameContext, 0) as QualifiedNameContext; + } + public callArgument_list(): CallArgumentContext[] { + return this.getTypedRuleContexts(CallArgumentContext) as CallArgumentContext[]; + } + public callArgument(i: number): CallArgumentContext { + return this.getTypedRuleContext(CallArgumentContext, i) as CallArgumentContext; + } +} +export class RefreshMaterializedViewContext extends StatementContext { + constructor(parser: SqlBaseParser, ctx: StatementContext) { + super(parser, ctx.parentCtx, ctx.invokingState); + super.copyFrom(ctx); + } + public REFRESH(): TerminalNode { + return this.getToken(SqlBaseParser.REFRESH, 0); + } + public MATERIALIZED(): TerminalNode { + return this.getToken(SqlBaseParser.MATERIALIZED, 0); + } + public VIEW(): TerminalNode { + return this.getToken(SqlBaseParser.VIEW, 0); + } + public qualifiedName(): QualifiedNameContext { + return this.getTypedRuleContext(QualifiedNameContext, 0) as QualifiedNameContext; + } + public WHERE(): TerminalNode { + return this.getToken(SqlBaseParser.WHERE, 0); + } + public booleanExpression(): BooleanExpressionContext { + return this.getTypedRuleContext(BooleanExpressionContext, 0) as BooleanExpressionContext; + } +} +export class ShowCreateMaterializedViewContext extends StatementContext { + constructor(parser: SqlBaseParser, ctx: StatementContext) { + super(parser, ctx.parentCtx, ctx.invokingState); + super.copyFrom(ctx); + } + public SHOW(): TerminalNode { + return this.getToken(SqlBaseParser.SHOW, 0); + } + public CREATE(): TerminalNode { + return this.getToken(SqlBaseParser.CREATE, 0); + } + public MATERIALIZED(): TerminalNode { + return this.getToken(SqlBaseParser.MATERIALIZED, 0); + } + public VIEW(): TerminalNode { + return this.getToken(SqlBaseParser.VIEW, 0); + } + public qualifiedName(): QualifiedNameContext { + return this.getTypedRuleContext(QualifiedNameContext, 0) as QualifiedNameContext; + } +} +export class ShowFunctionsContext extends StatementContext { + public _pattern!: StringContext; + public _escape!: StringContext; + constructor(parser: SqlBaseParser, ctx: StatementContext) { + super(parser, ctx.parentCtx, ctx.invokingState); + super.copyFrom(ctx); + } + public SHOW(): TerminalNode { + return this.getToken(SqlBaseParser.SHOW, 0); + } + public FUNCTIONS(): TerminalNode { + return this.getToken(SqlBaseParser.FUNCTIONS, 0); + } + public LIKE(): TerminalNode { + return this.getToken(SqlBaseParser.LIKE, 0); + } + public string__list(): StringContext[] { + return this.getTypedRuleContexts(StringContext) as StringContext[]; + } + public string_(i: number): StringContext { + return this.getTypedRuleContext(StringContext, i) as StringContext; + } + public ESCAPE(): TerminalNode { + return this.getToken(SqlBaseParser.ESCAPE, 0); + } +} +export class DescribeOutputContext extends StatementContext { + constructor(parser: SqlBaseParser, ctx: StatementContext) { + super(parser, ctx.parentCtx, ctx.invokingState); + super.copyFrom(ctx); + } + public DESCRIBE(): TerminalNode { + return this.getToken(SqlBaseParser.DESCRIBE, 0); + } + public OUTPUT(): TerminalNode { + return this.getToken(SqlBaseParser.OUTPUT, 0); + } + public identifier(): IdentifierContext { + return this.getTypedRuleContext(IdentifierContext, 0) as IdentifierContext; + } +} +export class GrantContext extends StatementContext { + public _grantee!: PrincipalContext; + constructor(parser: SqlBaseParser, ctx: StatementContext) { + super(parser, ctx.parentCtx, ctx.invokingState); + super.copyFrom(ctx); + } + public GRANT_list(): TerminalNode[] { + return this.getTokens(SqlBaseParser.GRANT); + } + public GRANT(i: number): TerminalNode { + return this.getToken(SqlBaseParser.GRANT, i); + } + public ON(): TerminalNode { + return this.getToken(SqlBaseParser.ON, 0); + } + public qualifiedName(): QualifiedNameContext { + return this.getTypedRuleContext(QualifiedNameContext, 0) as QualifiedNameContext; + } + public TO(): TerminalNode { + return this.getToken(SqlBaseParser.TO, 0); + } + public principal(): PrincipalContext { + return this.getTypedRuleContext(PrincipalContext, 0) as PrincipalContext; + } + public privilege_list(): PrivilegeContext[] { + return this.getTypedRuleContexts(PrivilegeContext) as PrivilegeContext[]; + } + public privilege(i: number): PrivilegeContext { + return this.getTypedRuleContext(PrivilegeContext, i) as PrivilegeContext; + } + public ALL(): TerminalNode { + return this.getToken(SqlBaseParser.ALL, 0); + } + public PRIVILEGES(): TerminalNode { + return this.getToken(SqlBaseParser.PRIVILEGES, 0); + } + public TABLE(): TerminalNode { + return this.getToken(SqlBaseParser.TABLE, 0); + } + public WITH(): TerminalNode { + return this.getToken(SqlBaseParser.WITH, 0); + } + public OPTION(): TerminalNode { + return this.getToken(SqlBaseParser.OPTION, 0); + } +} +export class SetTablePropertiesContext extends StatementContext { + public _tableName!: QualifiedNameContext; + constructor(parser: SqlBaseParser, ctx: StatementContext) { + super(parser, ctx.parentCtx, ctx.invokingState); + super.copyFrom(ctx); + } + public ALTER(): TerminalNode { + return this.getToken(SqlBaseParser.ALTER, 0); + } + public TABLE(): TerminalNode { + return this.getToken(SqlBaseParser.TABLE, 0); + } + public SET(): TerminalNode { + return this.getToken(SqlBaseParser.SET, 0); + } + public PROPERTIES(): TerminalNode { + return this.getToken(SqlBaseParser.PROPERTIES, 0); + } + public properties(): PropertiesContext { + return this.getTypedRuleContext(PropertiesContext, 0) as PropertiesContext; + } + public qualifiedName(): QualifiedNameContext { + return this.getTypedRuleContext(QualifiedNameContext, 0) as QualifiedNameContext; + } + public IF(): TerminalNode { + return this.getToken(SqlBaseParser.IF, 0); + } + public EXISTS(): TerminalNode { + return this.getToken(SqlBaseParser.EXISTS, 0); + } +} + + +export class QueryContext extends ParserRuleContext { + constructor(parser?: SqlBaseParser, parent?: ParserRuleContext, invokingState?: number) { + super(parent, invokingState); + this.parser = parser; + } + public queryNoWith(): QueryNoWithContext { + return this.getTypedRuleContext(QueryNoWithContext, 0) as QueryNoWithContext; + } + public with_(): WithContext { + return this.getTypedRuleContext(WithContext, 0) as WithContext; + } + public get ruleIndex(): number { + return SqlBaseParser.RULE_query; + } +} + + +export class WithContext extends ParserRuleContext { + constructor(parser?: SqlBaseParser, parent?: ParserRuleContext, invokingState?: number) { + super(parent, invokingState); + this.parser = parser; + } + public WITH(): TerminalNode { + return this.getToken(SqlBaseParser.WITH, 0); + } + public namedQuery_list(): NamedQueryContext[] { + return this.getTypedRuleContexts(NamedQueryContext) as NamedQueryContext[]; + } + public namedQuery(i: number): NamedQueryContext { + return this.getTypedRuleContext(NamedQueryContext, i) as NamedQueryContext; + } + public RECURSIVE(): TerminalNode { + return this.getToken(SqlBaseParser.RECURSIVE, 0); + } + public get ruleIndex(): number { + return SqlBaseParser.RULE_with; + } +} + + +export class TableElementContext extends ParserRuleContext { + constructor(parser?: SqlBaseParser, parent?: ParserRuleContext, invokingState?: number) { + super(parent, invokingState); + this.parser = parser; + } + public constraintSpecification(): ConstraintSpecificationContext { + return this.getTypedRuleContext(ConstraintSpecificationContext, 0) as ConstraintSpecificationContext; + } + public columnDefinition(): ColumnDefinitionContext { + return this.getTypedRuleContext(ColumnDefinitionContext, 0) as ColumnDefinitionContext; + } + public likeClause(): LikeClauseContext { + return this.getTypedRuleContext(LikeClauseContext, 0) as LikeClauseContext; + } + public get ruleIndex(): number { + return SqlBaseParser.RULE_tableElement; + } +} + + +export class ColumnDefinitionContext extends ParserRuleContext { + constructor(parser?: SqlBaseParser, parent?: ParserRuleContext, invokingState?: number) { + super(parent, invokingState); + this.parser = parser; + } + public identifier(): IdentifierContext { + return this.getTypedRuleContext(IdentifierContext, 0) as IdentifierContext; + } + public type_(): TypeContext { + return this.getTypedRuleContext(TypeContext, 0) as TypeContext; + } + public NOT(): TerminalNode { + return this.getToken(SqlBaseParser.NOT, 0); + } + public NULL(): TerminalNode { + return this.getToken(SqlBaseParser.NULL, 0); + } + public COMMENT(): TerminalNode { + return this.getToken(SqlBaseParser.COMMENT, 0); + } + public string_(): StringContext { + return this.getTypedRuleContext(StringContext, 0) as StringContext; + } + public WITH(): TerminalNode { + return this.getToken(SqlBaseParser.WITH, 0); + } + public properties(): PropertiesContext { + return this.getTypedRuleContext(PropertiesContext, 0) as PropertiesContext; + } + public get ruleIndex(): number { + return SqlBaseParser.RULE_columnDefinition; + } +} + + +export class LikeClauseContext extends ParserRuleContext { + public _optionType!: Token; + constructor(parser?: SqlBaseParser, parent?: ParserRuleContext, invokingState?: number) { + super(parent, invokingState); + this.parser = parser; + } + public LIKE(): TerminalNode { + return this.getToken(SqlBaseParser.LIKE, 0); + } + public qualifiedName(): QualifiedNameContext { + return this.getTypedRuleContext(QualifiedNameContext, 0) as QualifiedNameContext; + } + public PROPERTIES(): TerminalNode { + return this.getToken(SqlBaseParser.PROPERTIES, 0); + } + public INCLUDING(): TerminalNode { + return this.getToken(SqlBaseParser.INCLUDING, 0); + } + public EXCLUDING(): TerminalNode { + return this.getToken(SqlBaseParser.EXCLUDING, 0); + } + public get ruleIndex(): number { + return SqlBaseParser.RULE_likeClause; + } +} + + +export class PropertiesContext extends ParserRuleContext { + constructor(parser?: SqlBaseParser, parent?: ParserRuleContext, invokingState?: number) { + super(parent, invokingState); + this.parser = parser; + } + public property_list(): PropertyContext[] { + return this.getTypedRuleContexts(PropertyContext) as PropertyContext[]; + } + public property(i: number): PropertyContext { + return this.getTypedRuleContext(PropertyContext, i) as PropertyContext; + } + public get ruleIndex(): number { + return SqlBaseParser.RULE_properties; + } +} + + +export class PropertyContext extends ParserRuleContext { + constructor(parser?: SqlBaseParser, parent?: ParserRuleContext, invokingState?: number) { + super(parent, invokingState); + this.parser = parser; + } + public identifier(): IdentifierContext { + return this.getTypedRuleContext(IdentifierContext, 0) as IdentifierContext; + } + public EQ(): TerminalNode { + return this.getToken(SqlBaseParser.EQ, 0); + } + public expression(): ExpressionContext { + return this.getTypedRuleContext(ExpressionContext, 0) as ExpressionContext; + } + public get ruleIndex(): number { + return SqlBaseParser.RULE_property; + } +} + + +export class SqlParameterDeclarationContext extends ParserRuleContext { + constructor(parser?: SqlBaseParser, parent?: ParserRuleContext, invokingState?: number) { + super(parent, invokingState); + this.parser = parser; + } + public identifier(): IdentifierContext { + return this.getTypedRuleContext(IdentifierContext, 0) as IdentifierContext; + } + public type_(): TypeContext { + return this.getTypedRuleContext(TypeContext, 0) as TypeContext; + } + public get ruleIndex(): number { + return SqlBaseParser.RULE_sqlParameterDeclaration; + } +} + + +export class RoutineCharacteristicsContext extends ParserRuleContext { + constructor(parser?: SqlBaseParser, parent?: ParserRuleContext, invokingState?: number) { + super(parent, invokingState); + this.parser = parser; + } + public routineCharacteristic_list(): RoutineCharacteristicContext[] { + return this.getTypedRuleContexts(RoutineCharacteristicContext) as RoutineCharacteristicContext[]; + } + public routineCharacteristic(i: number): RoutineCharacteristicContext { + return this.getTypedRuleContext(RoutineCharacteristicContext, i) as RoutineCharacteristicContext; + } + public get ruleIndex(): number { + return SqlBaseParser.RULE_routineCharacteristics; + } +} + + +export class RoutineCharacteristicContext extends ParserRuleContext { + constructor(parser?: SqlBaseParser, parent?: ParserRuleContext, invokingState?: number) { + super(parent, invokingState); + this.parser = parser; + } + public LANGUAGE(): TerminalNode { + return this.getToken(SqlBaseParser.LANGUAGE, 0); + } + public language(): LanguageContext { + return this.getTypedRuleContext(LanguageContext, 0) as LanguageContext; + } + public determinism(): DeterminismContext { + return this.getTypedRuleContext(DeterminismContext, 0) as DeterminismContext; + } + public nullCallClause(): NullCallClauseContext { + return this.getTypedRuleContext(NullCallClauseContext, 0) as NullCallClauseContext; + } + public get ruleIndex(): number { + return SqlBaseParser.RULE_routineCharacteristic; + } +} + + +export class AlterRoutineCharacteristicsContext extends ParserRuleContext { + constructor(parser?: SqlBaseParser, parent?: ParserRuleContext, invokingState?: number) { + super(parent, invokingState); + this.parser = parser; + } + public alterRoutineCharacteristic_list(): AlterRoutineCharacteristicContext[] { + return this.getTypedRuleContexts(AlterRoutineCharacteristicContext) as AlterRoutineCharacteristicContext[]; + } + public alterRoutineCharacteristic(i: number): AlterRoutineCharacteristicContext { + return this.getTypedRuleContext(AlterRoutineCharacteristicContext, i) as AlterRoutineCharacteristicContext; + } + public get ruleIndex(): number { + return SqlBaseParser.RULE_alterRoutineCharacteristics; + } +} + + +export class AlterRoutineCharacteristicContext extends ParserRuleContext { + constructor(parser?: SqlBaseParser, parent?: ParserRuleContext, invokingState?: number) { + super(parent, invokingState); + this.parser = parser; + } + public nullCallClause(): NullCallClauseContext { + return this.getTypedRuleContext(NullCallClauseContext, 0) as NullCallClauseContext; + } + public get ruleIndex(): number { + return SqlBaseParser.RULE_alterRoutineCharacteristic; + } +} + + +export class RoutineBodyContext extends ParserRuleContext { + constructor(parser?: SqlBaseParser, parent?: ParserRuleContext, invokingState?: number) { + super(parent, invokingState); + this.parser = parser; + } + public returnStatement(): ReturnStatementContext { + return this.getTypedRuleContext(ReturnStatementContext, 0) as ReturnStatementContext; + } + public externalBodyReference(): ExternalBodyReferenceContext { + return this.getTypedRuleContext(ExternalBodyReferenceContext, 0) as ExternalBodyReferenceContext; + } + public get ruleIndex(): number { + return SqlBaseParser.RULE_routineBody; + } +} + + +export class ReturnStatementContext extends ParserRuleContext { + constructor(parser?: SqlBaseParser, parent?: ParserRuleContext, invokingState?: number) { + super(parent, invokingState); + this.parser = parser; + } + public RETURN(): TerminalNode { + return this.getToken(SqlBaseParser.RETURN, 0); + } + public expression(): ExpressionContext { + return this.getTypedRuleContext(ExpressionContext, 0) as ExpressionContext; + } + public get ruleIndex(): number { + return SqlBaseParser.RULE_returnStatement; + } +} + + +export class ExternalBodyReferenceContext extends ParserRuleContext { + constructor(parser?: SqlBaseParser, parent?: ParserRuleContext, invokingState?: number) { + super(parent, invokingState); + this.parser = parser; + } + public EXTERNAL(): TerminalNode { + return this.getToken(SqlBaseParser.EXTERNAL, 0); + } + public NAME(): TerminalNode { + return this.getToken(SqlBaseParser.NAME, 0); + } + public externalRoutineName(): ExternalRoutineNameContext { + return this.getTypedRuleContext(ExternalRoutineNameContext, 0) as ExternalRoutineNameContext; + } + public get ruleIndex(): number { + return SqlBaseParser.RULE_externalBodyReference; + } +} + + +export class LanguageContext extends ParserRuleContext { + constructor(parser?: SqlBaseParser, parent?: ParserRuleContext, invokingState?: number) { + super(parent, invokingState); + this.parser = parser; + } + public SQL(): TerminalNode { + return this.getToken(SqlBaseParser.SQL, 0); + } + public identifier(): IdentifierContext { + return this.getTypedRuleContext(IdentifierContext, 0) as IdentifierContext; + } + public get ruleIndex(): number { + return SqlBaseParser.RULE_language; + } +} + + +export class DeterminismContext extends ParserRuleContext { + constructor(parser?: SqlBaseParser, parent?: ParserRuleContext, invokingState?: number) { + super(parent, invokingState); + this.parser = parser; + } + public DETERMINISTIC(): TerminalNode { + return this.getToken(SqlBaseParser.DETERMINISTIC, 0); + } + public NOT(): TerminalNode { + return this.getToken(SqlBaseParser.NOT, 0); + } + public get ruleIndex(): number { + return SqlBaseParser.RULE_determinism; + } +} + + +export class NullCallClauseContext extends ParserRuleContext { + constructor(parser?: SqlBaseParser, parent?: ParserRuleContext, invokingState?: number) { + super(parent, invokingState); + this.parser = parser; + } + public RETURNS(): TerminalNode { + return this.getToken(SqlBaseParser.RETURNS, 0); + } + public NULL_list(): TerminalNode[] { + return this.getTokens(SqlBaseParser.NULL); + } + public NULL(i: number): TerminalNode { + return this.getToken(SqlBaseParser.NULL, i); + } + public ON(): TerminalNode { + return this.getToken(SqlBaseParser.ON, 0); + } + public INPUT(): TerminalNode { + return this.getToken(SqlBaseParser.INPUT, 0); + } + public CALLED(): TerminalNode { + return this.getToken(SqlBaseParser.CALLED, 0); + } + public get ruleIndex(): number { + return SqlBaseParser.RULE_nullCallClause; + } +} + + +export class ExternalRoutineNameContext extends ParserRuleContext { + constructor(parser?: SqlBaseParser, parent?: ParserRuleContext, invokingState?: number) { + super(parent, invokingState); + this.parser = parser; + } + public identifier(): IdentifierContext { + return this.getTypedRuleContext(IdentifierContext, 0) as IdentifierContext; + } + public get ruleIndex(): number { + return SqlBaseParser.RULE_externalRoutineName; + } +} + + +export class QueryNoWithContext extends ParserRuleContext { + public _offset!: Token; + public _limit!: Token; + public _fetchFirstNRows!: Token; + constructor(parser?: SqlBaseParser, parent?: ParserRuleContext, invokingState?: number) { + super(parent, invokingState); + this.parser = parser; + } + public queryTerm(): QueryTermContext { + return this.getTypedRuleContext(QueryTermContext, 0) as QueryTermContext; + } + public ORDER(): TerminalNode { + return this.getToken(SqlBaseParser.ORDER, 0); + } + public BY(): TerminalNode { + return this.getToken(SqlBaseParser.BY, 0); + } + public sortItem_list(): SortItemContext[] { + return this.getTypedRuleContexts(SortItemContext) as SortItemContext[]; + } + public sortItem(i: number): SortItemContext { + return this.getTypedRuleContext(SortItemContext, i) as SortItemContext; + } + public OFFSET(): TerminalNode { + return this.getToken(SqlBaseParser.OFFSET, 0); + } + public INTEGER_VALUE_list(): TerminalNode[] { + return this.getTokens(SqlBaseParser.INTEGER_VALUE); + } + public INTEGER_VALUE(i: number): TerminalNode { + return this.getToken(SqlBaseParser.INTEGER_VALUE, i); + } + public LIMIT(): TerminalNode { + return this.getToken(SqlBaseParser.LIMIT, 0); + } + public ROW(): TerminalNode { + return this.getToken(SqlBaseParser.ROW, 0); + } + public ROWS_list(): TerminalNode[] { + return this.getTokens(SqlBaseParser.ROWS); + } + public ROWS(i: number): TerminalNode { + return this.getToken(SqlBaseParser.ROWS, i); + } + public ALL(): TerminalNode { + return this.getToken(SqlBaseParser.ALL, 0); + } + public FETCH(): TerminalNode { + return this.getToken(SqlBaseParser.FETCH, 0); + } + public FIRST(): TerminalNode { + return this.getToken(SqlBaseParser.FIRST, 0); + } + public ONLY(): TerminalNode { + return this.getToken(SqlBaseParser.ONLY, 0); + } + public get ruleIndex(): number { + return SqlBaseParser.RULE_queryNoWith; + } +} + + +export class QueryTermContext extends ParserRuleContext { + constructor(parser?: SqlBaseParser, parent?: ParserRuleContext, invokingState?: number) { + super(parent, invokingState); + this.parser = parser; + } + public get ruleIndex(): number { + return SqlBaseParser.RULE_queryTerm; + } + public override copyFrom(ctx: QueryTermContext): void { + super.copyFrom(ctx); + } +} +export class QueryTermDefaultContext extends QueryTermContext { + constructor(parser: SqlBaseParser, ctx: QueryTermContext) { + super(parser, ctx.parentCtx, ctx.invokingState); + super.copyFrom(ctx); + } + public queryPrimary(): QueryPrimaryContext { + return this.getTypedRuleContext(QueryPrimaryContext, 0) as QueryPrimaryContext; + } +} +export class SetOperationContext extends QueryTermContext { + public _left!: QueryTermContext; + public _operator!: Token; + public _right!: QueryTermContext; + constructor(parser: SqlBaseParser, ctx: QueryTermContext) { + super(parser, ctx.parentCtx, ctx.invokingState); + super.copyFrom(ctx); + } + public queryTerm_list(): QueryTermContext[] { + return this.getTypedRuleContexts(QueryTermContext) as QueryTermContext[]; + } + public queryTerm(i: number): QueryTermContext { + return this.getTypedRuleContext(QueryTermContext, i) as QueryTermContext; + } + public INTERSECT(): TerminalNode { + return this.getToken(SqlBaseParser.INTERSECT, 0); + } + public setQuantifier(): SetQuantifierContext { + return this.getTypedRuleContext(SetQuantifierContext, 0) as SetQuantifierContext; + } + public UNION(): TerminalNode { + return this.getToken(SqlBaseParser.UNION, 0); + } + public EXCEPT(): TerminalNode { + return this.getToken(SqlBaseParser.EXCEPT, 0); + } +} + + +export class QueryPrimaryContext extends ParserRuleContext { + constructor(parser?: SqlBaseParser, parent?: ParserRuleContext, invokingState?: number) { + super(parent, invokingState); + this.parser = parser; + } + public get ruleIndex(): number { + return SqlBaseParser.RULE_queryPrimary; + } + public override copyFrom(ctx: QueryPrimaryContext): void { + super.copyFrom(ctx); + } +} +export class SubqueryContext extends QueryPrimaryContext { + constructor(parser: SqlBaseParser, ctx: QueryPrimaryContext) { + super(parser, ctx.parentCtx, ctx.invokingState); + super.copyFrom(ctx); + } + public queryNoWith(): QueryNoWithContext { + return this.getTypedRuleContext(QueryNoWithContext, 0) as QueryNoWithContext; + } +} +export class QueryPrimaryDefaultContext extends QueryPrimaryContext { + constructor(parser: SqlBaseParser, ctx: QueryPrimaryContext) { + super(parser, ctx.parentCtx, ctx.invokingState); + super.copyFrom(ctx); + } + public querySpecification(): QuerySpecificationContext { + return this.getTypedRuleContext(QuerySpecificationContext, 0) as QuerySpecificationContext; + } +} +export class TableContext extends QueryPrimaryContext { + constructor(parser: SqlBaseParser, ctx: QueryPrimaryContext) { + super(parser, ctx.parentCtx, ctx.invokingState); + super.copyFrom(ctx); + } + public TABLE(): TerminalNode { + return this.getToken(SqlBaseParser.TABLE, 0); + } + public qualifiedName(): QualifiedNameContext { + return this.getTypedRuleContext(QualifiedNameContext, 0) as QualifiedNameContext; + } +} +export class InlineTableContext extends QueryPrimaryContext { + constructor(parser: SqlBaseParser, ctx: QueryPrimaryContext) { + super(parser, ctx.parentCtx, ctx.invokingState); + super.copyFrom(ctx); + } + public VALUES(): TerminalNode { + return this.getToken(SqlBaseParser.VALUES, 0); + } + public expression_list(): ExpressionContext[] { + return this.getTypedRuleContexts(ExpressionContext) as ExpressionContext[]; + } + public expression(i: number): ExpressionContext { + return this.getTypedRuleContext(ExpressionContext, i) as ExpressionContext; + } +} + + +export class SortItemContext extends ParserRuleContext { + public _ordering!: Token; + public _nullOrdering!: Token; + constructor(parser?: SqlBaseParser, parent?: ParserRuleContext, invokingState?: number) { + super(parent, invokingState); + this.parser = parser; + } + public expression(): ExpressionContext { + return this.getTypedRuleContext(ExpressionContext, 0) as ExpressionContext; + } + public NULLS(): TerminalNode { + return this.getToken(SqlBaseParser.NULLS, 0); + } + public ASC(): TerminalNode { + return this.getToken(SqlBaseParser.ASC, 0); + } + public DESC(): TerminalNode { + return this.getToken(SqlBaseParser.DESC, 0); + } + public FIRST(): TerminalNode { + return this.getToken(SqlBaseParser.FIRST, 0); + } + public LAST(): TerminalNode { + return this.getToken(SqlBaseParser.LAST, 0); + } + public get ruleIndex(): number { + return SqlBaseParser.RULE_sortItem; + } +} + + +export class QuerySpecificationContext extends ParserRuleContext { + public _where!: BooleanExpressionContext; + public _having!: BooleanExpressionContext; + constructor(parser?: SqlBaseParser, parent?: ParserRuleContext, invokingState?: number) { + super(parent, invokingState); + this.parser = parser; + } + public SELECT(): TerminalNode { + return this.getToken(SqlBaseParser.SELECT, 0); + } + public selectItem_list(): SelectItemContext[] { + return this.getTypedRuleContexts(SelectItemContext) as SelectItemContext[]; + } + public selectItem(i: number): SelectItemContext { + return this.getTypedRuleContext(SelectItemContext, i) as SelectItemContext; + } + public setQuantifier(): SetQuantifierContext { + return this.getTypedRuleContext(SetQuantifierContext, 0) as SetQuantifierContext; + } + public FROM(): TerminalNode { + return this.getToken(SqlBaseParser.FROM, 0); + } + public relation_list(): RelationContext[] { + return this.getTypedRuleContexts(RelationContext) as RelationContext[]; + } + public relation(i: number): RelationContext { + return this.getTypedRuleContext(RelationContext, i) as RelationContext; + } + public WHERE(): TerminalNode { + return this.getToken(SqlBaseParser.WHERE, 0); + } + public GROUP(): TerminalNode { + return this.getToken(SqlBaseParser.GROUP, 0); + } + public BY(): TerminalNode { + return this.getToken(SqlBaseParser.BY, 0); + } + public groupBy(): GroupByContext { + return this.getTypedRuleContext(GroupByContext, 0) as GroupByContext; + } + public HAVING(): TerminalNode { + return this.getToken(SqlBaseParser.HAVING, 0); + } + public booleanExpression_list(): BooleanExpressionContext[] { + return this.getTypedRuleContexts(BooleanExpressionContext) as BooleanExpressionContext[]; + } + public booleanExpression(i: number): BooleanExpressionContext { + return this.getTypedRuleContext(BooleanExpressionContext, i) as BooleanExpressionContext; + } + public get ruleIndex(): number { + return SqlBaseParser.RULE_querySpecification; + } +} + + +export class GroupByContext extends ParserRuleContext { + constructor(parser?: SqlBaseParser, parent?: ParserRuleContext, invokingState?: number) { + super(parent, invokingState); + this.parser = parser; + } + public groupingElement_list(): GroupingElementContext[] { + return this.getTypedRuleContexts(GroupingElementContext) as GroupingElementContext[]; + } + public groupingElement(i: number): GroupingElementContext { + return this.getTypedRuleContext(GroupingElementContext, i) as GroupingElementContext; + } + public setQuantifier(): SetQuantifierContext { + return this.getTypedRuleContext(SetQuantifierContext, 0) as SetQuantifierContext; + } + public get ruleIndex(): number { + return SqlBaseParser.RULE_groupBy; + } +} + + +export class GroupingElementContext extends ParserRuleContext { + constructor(parser?: SqlBaseParser, parent?: ParserRuleContext, invokingState?: number) { + super(parent, invokingState); + this.parser = parser; + } + public get ruleIndex(): number { + return SqlBaseParser.RULE_groupingElement; + } + public override copyFrom(ctx: GroupingElementContext): void { + super.copyFrom(ctx); + } +} +export class MultipleGroupingSetsContext extends GroupingElementContext { + constructor(parser: SqlBaseParser, ctx: GroupingElementContext) { + super(parser, ctx.parentCtx, ctx.invokingState); + super.copyFrom(ctx); + } + public GROUPING(): TerminalNode { + return this.getToken(SqlBaseParser.GROUPING, 0); + } + public SETS(): TerminalNode { + return this.getToken(SqlBaseParser.SETS, 0); + } + public groupingSet_list(): GroupingSetContext[] { + return this.getTypedRuleContexts(GroupingSetContext) as GroupingSetContext[]; + } + public groupingSet(i: number): GroupingSetContext { + return this.getTypedRuleContext(GroupingSetContext, i) as GroupingSetContext; + } +} +export class SingleGroupingSetContext extends GroupingElementContext { + constructor(parser: SqlBaseParser, ctx: GroupingElementContext) { + super(parser, ctx.parentCtx, ctx.invokingState); + super.copyFrom(ctx); + } + public groupingSet(): GroupingSetContext { + return this.getTypedRuleContext(GroupingSetContext, 0) as GroupingSetContext; + } +} +export class CubeContext extends GroupingElementContext { + constructor(parser: SqlBaseParser, ctx: GroupingElementContext) { + super(parser, ctx.parentCtx, ctx.invokingState); + super.copyFrom(ctx); + } + public CUBE(): TerminalNode { + return this.getToken(SqlBaseParser.CUBE, 0); + } + public expression_list(): ExpressionContext[] { + return this.getTypedRuleContexts(ExpressionContext) as ExpressionContext[]; + } + public expression(i: number): ExpressionContext { + return this.getTypedRuleContext(ExpressionContext, i) as ExpressionContext; + } +} +export class RollupContext extends GroupingElementContext { + constructor(parser: SqlBaseParser, ctx: GroupingElementContext) { + super(parser, ctx.parentCtx, ctx.invokingState); + super.copyFrom(ctx); + } + public ROLLUP(): TerminalNode { + return this.getToken(SqlBaseParser.ROLLUP, 0); + } + public expression_list(): ExpressionContext[] { + return this.getTypedRuleContexts(ExpressionContext) as ExpressionContext[]; + } + public expression(i: number): ExpressionContext { + return this.getTypedRuleContext(ExpressionContext, i) as ExpressionContext; + } +} + + +export class GroupingSetContext extends ParserRuleContext { + constructor(parser?: SqlBaseParser, parent?: ParserRuleContext, invokingState?: number) { + super(parent, invokingState); + this.parser = parser; + } + public expression_list(): ExpressionContext[] { + return this.getTypedRuleContexts(ExpressionContext) as ExpressionContext[]; + } + public expression(i: number): ExpressionContext { + return this.getTypedRuleContext(ExpressionContext, i) as ExpressionContext; + } + public get ruleIndex(): number { + return SqlBaseParser.RULE_groupingSet; + } +} + + +export class NamedQueryContext extends ParserRuleContext { + public _name!: IdentifierContext; + constructor(parser?: SqlBaseParser, parent?: ParserRuleContext, invokingState?: number) { + super(parent, invokingState); + this.parser = parser; + } + public AS(): TerminalNode { + return this.getToken(SqlBaseParser.AS, 0); + } + public query(): QueryContext { + return this.getTypedRuleContext(QueryContext, 0) as QueryContext; + } + public identifier(): IdentifierContext { + return this.getTypedRuleContext(IdentifierContext, 0) as IdentifierContext; + } + public columnAliases(): ColumnAliasesContext { + return this.getTypedRuleContext(ColumnAliasesContext, 0) as ColumnAliasesContext; + } + public get ruleIndex(): number { + return SqlBaseParser.RULE_namedQuery; + } +} + + +export class SetQuantifierContext extends ParserRuleContext { + constructor(parser?: SqlBaseParser, parent?: ParserRuleContext, invokingState?: number) { + super(parent, invokingState); + this.parser = parser; + } + public DISTINCT(): TerminalNode { + return this.getToken(SqlBaseParser.DISTINCT, 0); + } + public ALL(): TerminalNode { + return this.getToken(SqlBaseParser.ALL, 0); + } + public get ruleIndex(): number { + return SqlBaseParser.RULE_setQuantifier; + } +} + + +export class SelectItemContext extends ParserRuleContext { + constructor(parser?: SqlBaseParser, parent?: ParserRuleContext, invokingState?: number) { + super(parent, invokingState); + this.parser = parser; + } + public get ruleIndex(): number { + return SqlBaseParser.RULE_selectItem; + } + public override copyFrom(ctx: SelectItemContext): void { + super.copyFrom(ctx); + } +} +export class SelectAllContext extends SelectItemContext { + constructor(parser: SqlBaseParser, ctx: SelectItemContext) { + super(parser, ctx.parentCtx, ctx.invokingState); + super.copyFrom(ctx); + } + public qualifiedName(): QualifiedNameContext { + return this.getTypedRuleContext(QualifiedNameContext, 0) as QualifiedNameContext; + } + public ASTERISK(): TerminalNode { + return this.getToken(SqlBaseParser.ASTERISK, 0); + } +} +export class SelectSingleContext extends SelectItemContext { + constructor(parser: SqlBaseParser, ctx: SelectItemContext) { + super(parser, ctx.parentCtx, ctx.invokingState); + super.copyFrom(ctx); + } + public expression(): ExpressionContext { + return this.getTypedRuleContext(ExpressionContext, 0) as ExpressionContext; + } + public identifier(): IdentifierContext { + return this.getTypedRuleContext(IdentifierContext, 0) as IdentifierContext; + } + public AS(): TerminalNode { + return this.getToken(SqlBaseParser.AS, 0); + } +} + + +export class RelationContext extends ParserRuleContext { + constructor(parser?: SqlBaseParser, parent?: ParserRuleContext, invokingState?: number) { + super(parent, invokingState); + this.parser = parser; + } + public get ruleIndex(): number { + return SqlBaseParser.RULE_relation; + } + public override copyFrom(ctx: RelationContext): void { + super.copyFrom(ctx); + } +} +export class RelationDefaultContext extends RelationContext { + constructor(parser: SqlBaseParser, ctx: RelationContext) { + super(parser, ctx.parentCtx, ctx.invokingState); + super.copyFrom(ctx); + } + public sampledRelation(): SampledRelationContext { + return this.getTypedRuleContext(SampledRelationContext, 0) as SampledRelationContext; + } +} +export class JoinRelationContext extends RelationContext { + public _left!: RelationContext; + public _right!: SampledRelationContext; + public _rightRelation!: RelationContext; + constructor(parser: SqlBaseParser, ctx: RelationContext) { + super(parser, ctx.parentCtx, ctx.invokingState); + super.copyFrom(ctx); + } + public relation_list(): RelationContext[] { + return this.getTypedRuleContexts(RelationContext) as RelationContext[]; + } + public relation(i: number): RelationContext { + return this.getTypedRuleContext(RelationContext, i) as RelationContext; + } + public CROSS(): TerminalNode { + return this.getToken(SqlBaseParser.CROSS, 0); + } + public JOIN(): TerminalNode { + return this.getToken(SqlBaseParser.JOIN, 0); + } + public joinType(): JoinTypeContext { + return this.getTypedRuleContext(JoinTypeContext, 0) as JoinTypeContext; + } + public joinCriteria(): JoinCriteriaContext { + return this.getTypedRuleContext(JoinCriteriaContext, 0) as JoinCriteriaContext; + } + public NATURAL(): TerminalNode { + return this.getToken(SqlBaseParser.NATURAL, 0); + } + public sampledRelation(): SampledRelationContext { + return this.getTypedRuleContext(SampledRelationContext, 0) as SampledRelationContext; + } +} + + +export class JoinTypeContext extends ParserRuleContext { + constructor(parser?: SqlBaseParser, parent?: ParserRuleContext, invokingState?: number) { + super(parent, invokingState); + this.parser = parser; + } + public INNER(): TerminalNode { + return this.getToken(SqlBaseParser.INNER, 0); + } + public LEFT(): TerminalNode { + return this.getToken(SqlBaseParser.LEFT, 0); + } + public OUTER(): TerminalNode { + return this.getToken(SqlBaseParser.OUTER, 0); + } + public RIGHT(): TerminalNode { + return this.getToken(SqlBaseParser.RIGHT, 0); + } + public FULL(): TerminalNode { + return this.getToken(SqlBaseParser.FULL, 0); + } + public get ruleIndex(): number { + return SqlBaseParser.RULE_joinType; + } +} + + +export class JoinCriteriaContext extends ParserRuleContext { + constructor(parser?: SqlBaseParser, parent?: ParserRuleContext, invokingState?: number) { + super(parent, invokingState); + this.parser = parser; + } + public ON(): TerminalNode { + return this.getToken(SqlBaseParser.ON, 0); + } + public booleanExpression(): BooleanExpressionContext { + return this.getTypedRuleContext(BooleanExpressionContext, 0) as BooleanExpressionContext; + } + public USING(): TerminalNode { + return this.getToken(SqlBaseParser.USING, 0); + } + public identifier_list(): IdentifierContext[] { + return this.getTypedRuleContexts(IdentifierContext) as IdentifierContext[]; + } + public identifier(i: number): IdentifierContext { + return this.getTypedRuleContext(IdentifierContext, i) as IdentifierContext; + } + public get ruleIndex(): number { + return SqlBaseParser.RULE_joinCriteria; + } +} + + +export class SampledRelationContext extends ParserRuleContext { + public _percentage!: ExpressionContext; + constructor(parser?: SqlBaseParser, parent?: ParserRuleContext, invokingState?: number) { + super(parent, invokingState); + this.parser = parser; + } + public aliasedRelation(): AliasedRelationContext { + return this.getTypedRuleContext(AliasedRelationContext, 0) as AliasedRelationContext; + } + public TABLESAMPLE(): TerminalNode { + return this.getToken(SqlBaseParser.TABLESAMPLE, 0); + } + public sampleType(): SampleTypeContext { + return this.getTypedRuleContext(SampleTypeContext, 0) as SampleTypeContext; + } + public expression(): ExpressionContext { + return this.getTypedRuleContext(ExpressionContext, 0) as ExpressionContext; + } + public get ruleIndex(): number { + return SqlBaseParser.RULE_sampledRelation; + } +} + + +export class SampleTypeContext extends ParserRuleContext { + constructor(parser?: SqlBaseParser, parent?: ParserRuleContext, invokingState?: number) { + super(parent, invokingState); + this.parser = parser; + } + public BERNOULLI(): TerminalNode { + return this.getToken(SqlBaseParser.BERNOULLI, 0); + } + public SYSTEM(): TerminalNode { + return this.getToken(SqlBaseParser.SYSTEM, 0); + } + public get ruleIndex(): number { + return SqlBaseParser.RULE_sampleType; + } +} + + +export class AliasedRelationContext extends ParserRuleContext { + constructor(parser?: SqlBaseParser, parent?: ParserRuleContext, invokingState?: number) { + super(parent, invokingState); + this.parser = parser; + } + public relationPrimary(): RelationPrimaryContext { + return this.getTypedRuleContext(RelationPrimaryContext, 0) as RelationPrimaryContext; + } + public identifier(): IdentifierContext { + return this.getTypedRuleContext(IdentifierContext, 0) as IdentifierContext; + } + public AS(): TerminalNode { + return this.getToken(SqlBaseParser.AS, 0); + } + public columnAliases(): ColumnAliasesContext { + return this.getTypedRuleContext(ColumnAliasesContext, 0) as ColumnAliasesContext; + } + public get ruleIndex(): number { + return SqlBaseParser.RULE_aliasedRelation; + } +} + + +export class ColumnAliasesContext extends ParserRuleContext { + constructor(parser?: SqlBaseParser, parent?: ParserRuleContext, invokingState?: number) { + super(parent, invokingState); + this.parser = parser; + } + public identifier_list(): IdentifierContext[] { + return this.getTypedRuleContexts(IdentifierContext) as IdentifierContext[]; + } + public identifier(i: number): IdentifierContext { + return this.getTypedRuleContext(IdentifierContext, i) as IdentifierContext; + } + public get ruleIndex(): number { + return SqlBaseParser.RULE_columnAliases; + } +} + + +export class RelationPrimaryContext extends ParserRuleContext { + constructor(parser?: SqlBaseParser, parent?: ParserRuleContext, invokingState?: number) { + super(parent, invokingState); + this.parser = parser; + } + public get ruleIndex(): number { + return SqlBaseParser.RULE_relationPrimary; + } + public override copyFrom(ctx: RelationPrimaryContext): void { + super.copyFrom(ctx); + } +} +export class SubqueryRelationContext extends RelationPrimaryContext { + constructor(parser: SqlBaseParser, ctx: RelationPrimaryContext) { + super(parser, ctx.parentCtx, ctx.invokingState); + super.copyFrom(ctx); + } + public query(): QueryContext { + return this.getTypedRuleContext(QueryContext, 0) as QueryContext; + } +} +export class ParenthesizedRelationContext extends RelationPrimaryContext { + constructor(parser: SqlBaseParser, ctx: RelationPrimaryContext) { + super(parser, ctx.parentCtx, ctx.invokingState); + super.copyFrom(ctx); + } + public relation(): RelationContext { + return this.getTypedRuleContext(RelationContext, 0) as RelationContext; + } +} +export class UnnestContext extends RelationPrimaryContext { + constructor(parser: SqlBaseParser, ctx: RelationPrimaryContext) { + super(parser, ctx.parentCtx, ctx.invokingState); + super.copyFrom(ctx); + } + public UNNEST(): TerminalNode { + return this.getToken(SqlBaseParser.UNNEST, 0); + } + public expression_list(): ExpressionContext[] { + return this.getTypedRuleContexts(ExpressionContext) as ExpressionContext[]; + } + public expression(i: number): ExpressionContext { + return this.getTypedRuleContext(ExpressionContext, i) as ExpressionContext; + } + public WITH(): TerminalNode { + return this.getToken(SqlBaseParser.WITH, 0); + } + public ORDINALITY(): TerminalNode { + return this.getToken(SqlBaseParser.ORDINALITY, 0); + } +} +export class LateralContext extends RelationPrimaryContext { + constructor(parser: SqlBaseParser, ctx: RelationPrimaryContext) { + super(parser, ctx.parentCtx, ctx.invokingState); + super.copyFrom(ctx); + } + public LATERAL(): TerminalNode { + return this.getToken(SqlBaseParser.LATERAL, 0); + } + public query(): QueryContext { + return this.getTypedRuleContext(QueryContext, 0) as QueryContext; + } +} +export class TableNameContext extends RelationPrimaryContext { + constructor(parser: SqlBaseParser, ctx: RelationPrimaryContext) { + super(parser, ctx.parentCtx, ctx.invokingState); + super.copyFrom(ctx); + } + public qualifiedName(): QualifiedNameContext { + return this.getTypedRuleContext(QualifiedNameContext, 0) as QualifiedNameContext; + } + public tableVersionExpression(): TableVersionExpressionContext { + return this.getTypedRuleContext(TableVersionExpressionContext, 0) as TableVersionExpressionContext; + } +} + + +export class ExpressionContext extends ParserRuleContext { + constructor(parser?: SqlBaseParser, parent?: ParserRuleContext, invokingState?: number) { + super(parent, invokingState); + this.parser = parser; + } + public booleanExpression(): BooleanExpressionContext { + return this.getTypedRuleContext(BooleanExpressionContext, 0) as BooleanExpressionContext; + } + public get ruleIndex(): number { + return SqlBaseParser.RULE_expression; + } +} + + +export class BooleanExpressionContext extends ParserRuleContext { + constructor(parser?: SqlBaseParser, parent?: ParserRuleContext, invokingState?: number) { + super(parent, invokingState); + this.parser = parser; + } + public get ruleIndex(): number { + return SqlBaseParser.RULE_booleanExpression; + } + public override copyFrom(ctx: BooleanExpressionContext): void { + super.copyFrom(ctx); + } +} +export class LogicalNotContext extends BooleanExpressionContext { + constructor(parser: SqlBaseParser, ctx: BooleanExpressionContext) { + super(parser, ctx.parentCtx, ctx.invokingState); + super.copyFrom(ctx); + } + public NOT(): TerminalNode { + return this.getToken(SqlBaseParser.NOT, 0); + } + public booleanExpression(): BooleanExpressionContext { + return this.getTypedRuleContext(BooleanExpressionContext, 0) as BooleanExpressionContext; + } +} +export class PredicatedContext extends BooleanExpressionContext { + public _valueExpression!: ValueExpressionContext; + constructor(parser: SqlBaseParser, ctx: BooleanExpressionContext) { + super(parser, ctx.parentCtx, ctx.invokingState); + super.copyFrom(ctx); + } + public valueExpression(): ValueExpressionContext { + return this.getTypedRuleContext(ValueExpressionContext, 0) as ValueExpressionContext; + } + public predicate(): PredicateContext { + return this.getTypedRuleContext(PredicateContext, 0) as PredicateContext; + } +} +export class LogicalBinaryContext extends BooleanExpressionContext { + public _left!: BooleanExpressionContext; + public _operator!: Token; + public _right!: BooleanExpressionContext; + constructor(parser: SqlBaseParser, ctx: BooleanExpressionContext) { + super(parser, ctx.parentCtx, ctx.invokingState); + super.copyFrom(ctx); + } + public booleanExpression_list(): BooleanExpressionContext[] { + return this.getTypedRuleContexts(BooleanExpressionContext) as BooleanExpressionContext[]; + } + public booleanExpression(i: number): BooleanExpressionContext { + return this.getTypedRuleContext(BooleanExpressionContext, i) as BooleanExpressionContext; + } + public AND(): TerminalNode { + return this.getToken(SqlBaseParser.AND, 0); + } + public OR(): TerminalNode { + return this.getToken(SqlBaseParser.OR, 0); + } +} + + +export class PredicateContext extends ParserRuleContext { + public value: ParserRuleContext; + constructor(parser: SqlBaseParser, parent: ParserRuleContext, invokingState: number, value: ParserRuleContext) { + super(parent, invokingState); + this.parser = parser; + this.value = value; + } + public get ruleIndex(): number { + return SqlBaseParser.RULE_predicate; + } + public override copyFrom(ctx: PredicateContext): void { + super.copyFrom(ctx); + this.value = ctx.value; + } +} +export class ComparisonContext extends PredicateContext { + public _right!: ValueExpressionContext; + constructor(parser: SqlBaseParser, ctx: PredicateContext) { + super(parser, ctx.parentCtx, ctx.invokingState, ctx.value); + super.copyFrom(ctx); + } + public comparisonOperator(): ComparisonOperatorContext { + return this.getTypedRuleContext(ComparisonOperatorContext, 0) as ComparisonOperatorContext; + } + public valueExpression(): ValueExpressionContext { + return this.getTypedRuleContext(ValueExpressionContext, 0) as ValueExpressionContext; + } +} +export class LikeContext extends PredicateContext { + public _pattern!: ValueExpressionContext; + public _escape!: ValueExpressionContext; + constructor(parser: SqlBaseParser, ctx: PredicateContext) { + super(parser, ctx.parentCtx, ctx.invokingState, ctx.value); + super.copyFrom(ctx); + } + public LIKE(): TerminalNode { + return this.getToken(SqlBaseParser.LIKE, 0); + } + public valueExpression_list(): ValueExpressionContext[] { + return this.getTypedRuleContexts(ValueExpressionContext) as ValueExpressionContext[]; + } + public valueExpression(i: number): ValueExpressionContext { + return this.getTypedRuleContext(ValueExpressionContext, i) as ValueExpressionContext; + } + public NOT(): TerminalNode { + return this.getToken(SqlBaseParser.NOT, 0); + } + public ESCAPE(): TerminalNode { + return this.getToken(SqlBaseParser.ESCAPE, 0); + } +} +export class InSubqueryContext extends PredicateContext { + constructor(parser: SqlBaseParser, ctx: PredicateContext) { + super(parser, ctx.parentCtx, ctx.invokingState, ctx.value); + super.copyFrom(ctx); + } + public IN(): TerminalNode { + return this.getToken(SqlBaseParser.IN, 0); + } + public query(): QueryContext { + return this.getTypedRuleContext(QueryContext, 0) as QueryContext; + } + public NOT(): TerminalNode { + return this.getToken(SqlBaseParser.NOT, 0); + } +} +export class DistinctFromContext extends PredicateContext { + public _right!: ValueExpressionContext; + constructor(parser: SqlBaseParser, ctx: PredicateContext) { + super(parser, ctx.parentCtx, ctx.invokingState, ctx.value); + super.copyFrom(ctx); + } + public IS(): TerminalNode { + return this.getToken(SqlBaseParser.IS, 0); + } + public DISTINCT(): TerminalNode { + return this.getToken(SqlBaseParser.DISTINCT, 0); + } + public FROM(): TerminalNode { + return this.getToken(SqlBaseParser.FROM, 0); + } + public valueExpression(): ValueExpressionContext { + return this.getTypedRuleContext(ValueExpressionContext, 0) as ValueExpressionContext; + } + public NOT(): TerminalNode { + return this.getToken(SqlBaseParser.NOT, 0); + } +} +export class InListContext extends PredicateContext { + constructor(parser: SqlBaseParser, ctx: PredicateContext) { + super(parser, ctx.parentCtx, ctx.invokingState, ctx.value); + super.copyFrom(ctx); + } + public IN(): TerminalNode { + return this.getToken(SqlBaseParser.IN, 0); + } + public expression_list(): ExpressionContext[] { + return this.getTypedRuleContexts(ExpressionContext) as ExpressionContext[]; + } + public expression(i: number): ExpressionContext { + return this.getTypedRuleContext(ExpressionContext, i) as ExpressionContext; + } + public NOT(): TerminalNode { + return this.getToken(SqlBaseParser.NOT, 0); + } +} +export class NullPredicateContext extends PredicateContext { + constructor(parser: SqlBaseParser, ctx: PredicateContext) { + super(parser, ctx.parentCtx, ctx.invokingState, ctx.value); + super.copyFrom(ctx); + } + public IS(): TerminalNode { + return this.getToken(SqlBaseParser.IS, 0); + } + public NULL(): TerminalNode { + return this.getToken(SqlBaseParser.NULL, 0); + } + public NOT(): TerminalNode { + return this.getToken(SqlBaseParser.NOT, 0); + } +} +export class BetweenContext extends PredicateContext { + public _lower!: ValueExpressionContext; + public _upper!: ValueExpressionContext; + constructor(parser: SqlBaseParser, ctx: PredicateContext) { + super(parser, ctx.parentCtx, ctx.invokingState, ctx.value); + super.copyFrom(ctx); + } + public BETWEEN(): TerminalNode { + return this.getToken(SqlBaseParser.BETWEEN, 0); + } + public AND(): TerminalNode { + return this.getToken(SqlBaseParser.AND, 0); + } + public valueExpression_list(): ValueExpressionContext[] { + return this.getTypedRuleContexts(ValueExpressionContext) as ValueExpressionContext[]; + } + public valueExpression(i: number): ValueExpressionContext { + return this.getTypedRuleContext(ValueExpressionContext, i) as ValueExpressionContext; + } + public NOT(): TerminalNode { + return this.getToken(SqlBaseParser.NOT, 0); + } +} +export class QuantifiedComparisonContext extends PredicateContext { + constructor(parser: SqlBaseParser, ctx: PredicateContext) { + super(parser, ctx.parentCtx, ctx.invokingState, ctx.value); + super.copyFrom(ctx); + } + public comparisonOperator(): ComparisonOperatorContext { + return this.getTypedRuleContext(ComparisonOperatorContext, 0) as ComparisonOperatorContext; + } + public comparisonQuantifier(): ComparisonQuantifierContext { + return this.getTypedRuleContext(ComparisonQuantifierContext, 0) as ComparisonQuantifierContext; + } + public query(): QueryContext { + return this.getTypedRuleContext(QueryContext, 0) as QueryContext; + } +} + + +export class ValueExpressionContext extends ParserRuleContext { + constructor(parser?: SqlBaseParser, parent?: ParserRuleContext, invokingState?: number) { + super(parent, invokingState); + this.parser = parser; + } + public get ruleIndex(): number { + return SqlBaseParser.RULE_valueExpression; + } + public override copyFrom(ctx: ValueExpressionContext): void { + super.copyFrom(ctx); + } +} +export class ValueExpressionDefaultContext extends ValueExpressionContext { + constructor(parser: SqlBaseParser, ctx: ValueExpressionContext) { + super(parser, ctx.parentCtx, ctx.invokingState); + super.copyFrom(ctx); + } + public primaryExpression(): PrimaryExpressionContext { + return this.getTypedRuleContext(PrimaryExpressionContext, 0) as PrimaryExpressionContext; + } +} +export class ConcatenationContext extends ValueExpressionContext { + public _left!: ValueExpressionContext; + public _right!: ValueExpressionContext; + constructor(parser: SqlBaseParser, ctx: ValueExpressionContext) { + super(parser, ctx.parentCtx, ctx.invokingState); + super.copyFrom(ctx); + } + public CONCAT(): TerminalNode { + return this.getToken(SqlBaseParser.CONCAT, 0); + } + public valueExpression_list(): ValueExpressionContext[] { + return this.getTypedRuleContexts(ValueExpressionContext) as ValueExpressionContext[]; + } + public valueExpression(i: number): ValueExpressionContext { + return this.getTypedRuleContext(ValueExpressionContext, i) as ValueExpressionContext; + } +} +export class ArithmeticBinaryContext extends ValueExpressionContext { + public _left!: ValueExpressionContext; + public _operator!: Token; + public _right!: ValueExpressionContext; + constructor(parser: SqlBaseParser, ctx: ValueExpressionContext) { + super(parser, ctx.parentCtx, ctx.invokingState); + super.copyFrom(ctx); + } + public valueExpression_list(): ValueExpressionContext[] { + return this.getTypedRuleContexts(ValueExpressionContext) as ValueExpressionContext[]; + } + public valueExpression(i: number): ValueExpressionContext { + return this.getTypedRuleContext(ValueExpressionContext, i) as ValueExpressionContext; + } + public ASTERISK(): TerminalNode { + return this.getToken(SqlBaseParser.ASTERISK, 0); + } + public SLASH(): TerminalNode { + return this.getToken(SqlBaseParser.SLASH, 0); + } + public PERCENT(): TerminalNode { + return this.getToken(SqlBaseParser.PERCENT, 0); + } + public PLUS(): TerminalNode { + return this.getToken(SqlBaseParser.PLUS, 0); + } + public MINUS(): TerminalNode { + return this.getToken(SqlBaseParser.MINUS, 0); + } +} +export class ArithmeticUnaryContext extends ValueExpressionContext { + public _operator!: Token; + constructor(parser: SqlBaseParser, ctx: ValueExpressionContext) { + super(parser, ctx.parentCtx, ctx.invokingState); + super.copyFrom(ctx); + } + public valueExpression(): ValueExpressionContext { + return this.getTypedRuleContext(ValueExpressionContext, 0) as ValueExpressionContext; + } + public MINUS(): TerminalNode { + return this.getToken(SqlBaseParser.MINUS, 0); + } + public PLUS(): TerminalNode { + return this.getToken(SqlBaseParser.PLUS, 0); + } +} +export class AtTimeZoneContext extends ValueExpressionContext { + constructor(parser: SqlBaseParser, ctx: ValueExpressionContext) { + super(parser, ctx.parentCtx, ctx.invokingState); + super.copyFrom(ctx); + } + public valueExpression(): ValueExpressionContext { + return this.getTypedRuleContext(ValueExpressionContext, 0) as ValueExpressionContext; + } + public AT(): TerminalNode { + return this.getToken(SqlBaseParser.AT, 0); + } + public timeZoneSpecifier(): TimeZoneSpecifierContext { + return this.getTypedRuleContext(TimeZoneSpecifierContext, 0) as TimeZoneSpecifierContext; + } +} + + +export class PrimaryExpressionContext extends ParserRuleContext { + constructor(parser?: SqlBaseParser, parent?: ParserRuleContext, invokingState?: number) { + super(parent, invokingState); + this.parser = parser; + } + public get ruleIndex(): number { + return SqlBaseParser.RULE_primaryExpression; + } + public override copyFrom(ctx: PrimaryExpressionContext): void { + super.copyFrom(ctx); + } +} +export class DereferenceContext extends PrimaryExpressionContext { + public _base!: PrimaryExpressionContext; + public _fieldName!: IdentifierContext; + constructor(parser: SqlBaseParser, ctx: PrimaryExpressionContext) { + super(parser, ctx.parentCtx, ctx.invokingState); + super.copyFrom(ctx); + } + public primaryExpression(): PrimaryExpressionContext { + return this.getTypedRuleContext(PrimaryExpressionContext, 0) as PrimaryExpressionContext; + } + public identifier(): IdentifierContext { + return this.getTypedRuleContext(IdentifierContext, 0) as IdentifierContext; + } +} +export class TypeConstructorContext extends PrimaryExpressionContext { + constructor(parser: SqlBaseParser, ctx: PrimaryExpressionContext) { + super(parser, ctx.parentCtx, ctx.invokingState); + super.copyFrom(ctx); + } + public identifier(): IdentifierContext { + return this.getTypedRuleContext(IdentifierContext, 0) as IdentifierContext; + } + public string_(): StringContext { + return this.getTypedRuleContext(StringContext, 0) as StringContext; + } + public DOUBLE_PRECISION(): TerminalNode { + return this.getToken(SqlBaseParser.DOUBLE_PRECISION, 0); + } +} +export class SpecialDateTimeFunctionContext extends PrimaryExpressionContext { + public _name!: Token; + public _precision!: Token; + constructor(parser: SqlBaseParser, ctx: PrimaryExpressionContext) { + super(parser, ctx.parentCtx, ctx.invokingState); + super.copyFrom(ctx); + } + public CURRENT_DATE(): TerminalNode { + return this.getToken(SqlBaseParser.CURRENT_DATE, 0); + } + public CURRENT_TIME(): TerminalNode { + return this.getToken(SqlBaseParser.CURRENT_TIME, 0); + } + public INTEGER_VALUE(): TerminalNode { + return this.getToken(SqlBaseParser.INTEGER_VALUE, 0); + } + public CURRENT_TIMESTAMP(): TerminalNode { + return this.getToken(SqlBaseParser.CURRENT_TIMESTAMP, 0); + } + public LOCALTIME(): TerminalNode { + return this.getToken(SqlBaseParser.LOCALTIME, 0); + } + public LOCALTIMESTAMP(): TerminalNode { + return this.getToken(SqlBaseParser.LOCALTIMESTAMP, 0); + } +} +export class SubstringContext extends PrimaryExpressionContext { + constructor(parser: SqlBaseParser, ctx: PrimaryExpressionContext) { + super(parser, ctx.parentCtx, ctx.invokingState); + super.copyFrom(ctx); + } + public SUBSTRING(): TerminalNode { + return this.getToken(SqlBaseParser.SUBSTRING, 0); + } + public valueExpression_list(): ValueExpressionContext[] { + return this.getTypedRuleContexts(ValueExpressionContext) as ValueExpressionContext[]; + } + public valueExpression(i: number): ValueExpressionContext { + return this.getTypedRuleContext(ValueExpressionContext, i) as ValueExpressionContext; + } + public FROM(): TerminalNode { + return this.getToken(SqlBaseParser.FROM, 0); + } + public FOR(): TerminalNode { + return this.getToken(SqlBaseParser.FOR, 0); + } +} +export class CastContext extends PrimaryExpressionContext { + constructor(parser: SqlBaseParser, ctx: PrimaryExpressionContext) { + super(parser, ctx.parentCtx, ctx.invokingState); + super.copyFrom(ctx); + } + public CAST(): TerminalNode { + return this.getToken(SqlBaseParser.CAST, 0); + } + public expression(): ExpressionContext { + return this.getTypedRuleContext(ExpressionContext, 0) as ExpressionContext; + } + public AS(): TerminalNode { + return this.getToken(SqlBaseParser.AS, 0); + } + public type_(): TypeContext { + return this.getTypedRuleContext(TypeContext, 0) as TypeContext; + } + public TRY_CAST(): TerminalNode { + return this.getToken(SqlBaseParser.TRY_CAST, 0); + } +} +export class LambdaContext extends PrimaryExpressionContext { + constructor(parser: SqlBaseParser, ctx: PrimaryExpressionContext) { + super(parser, ctx.parentCtx, ctx.invokingState); + super.copyFrom(ctx); + } + public identifier_list(): IdentifierContext[] { + return this.getTypedRuleContexts(IdentifierContext) as IdentifierContext[]; + } + public identifier(i: number): IdentifierContext { + return this.getTypedRuleContext(IdentifierContext, i) as IdentifierContext; + } + public expression(): ExpressionContext { + return this.getTypedRuleContext(ExpressionContext, 0) as ExpressionContext; + } +} +export class ParenthesizedExpressionContext extends PrimaryExpressionContext { + constructor(parser: SqlBaseParser, ctx: PrimaryExpressionContext) { + super(parser, ctx.parentCtx, ctx.invokingState); + super.copyFrom(ctx); + } + public expression(): ExpressionContext { + return this.getTypedRuleContext(ExpressionContext, 0) as ExpressionContext; + } +} +export class ParameterContext extends PrimaryExpressionContext { + constructor(parser: SqlBaseParser, ctx: PrimaryExpressionContext) { + super(parser, ctx.parentCtx, ctx.invokingState); + super.copyFrom(ctx); + } +} +export class NormalizeContext extends PrimaryExpressionContext { + constructor(parser: SqlBaseParser, ctx: PrimaryExpressionContext) { + super(parser, ctx.parentCtx, ctx.invokingState); + super.copyFrom(ctx); + } + public NORMALIZE(): TerminalNode { + return this.getToken(SqlBaseParser.NORMALIZE, 0); + } + public valueExpression(): ValueExpressionContext { + return this.getTypedRuleContext(ValueExpressionContext, 0) as ValueExpressionContext; + } + public normalForm(): NormalFormContext { + return this.getTypedRuleContext(NormalFormContext, 0) as NormalFormContext; + } +} +export class IntervalLiteralContext extends PrimaryExpressionContext { + constructor(parser: SqlBaseParser, ctx: PrimaryExpressionContext) { + super(parser, ctx.parentCtx, ctx.invokingState); + super.copyFrom(ctx); + } + public interval(): IntervalContext { + return this.getTypedRuleContext(IntervalContext, 0) as IntervalContext; + } +} +export class NumericLiteralContext extends PrimaryExpressionContext { + constructor(parser: SqlBaseParser, ctx: PrimaryExpressionContext) { + super(parser, ctx.parentCtx, ctx.invokingState); + super.copyFrom(ctx); + } + public number_(): NumberContext { + return this.getTypedRuleContext(NumberContext, 0) as NumberContext; + } +} +export class BooleanLiteralContext extends PrimaryExpressionContext { + constructor(parser: SqlBaseParser, ctx: PrimaryExpressionContext) { + super(parser, ctx.parentCtx, ctx.invokingState); + super.copyFrom(ctx); + } + public booleanValue(): BooleanValueContext { + return this.getTypedRuleContext(BooleanValueContext, 0) as BooleanValueContext; + } +} +export class SimpleCaseContext extends PrimaryExpressionContext { + public _elseExpression!: ExpressionContext; + constructor(parser: SqlBaseParser, ctx: PrimaryExpressionContext) { + super(parser, ctx.parentCtx, ctx.invokingState); + super.copyFrom(ctx); + } + public CASE(): TerminalNode { + return this.getToken(SqlBaseParser.CASE, 0); + } + public valueExpression(): ValueExpressionContext { + return this.getTypedRuleContext(ValueExpressionContext, 0) as ValueExpressionContext; + } + public END(): TerminalNode { + return this.getToken(SqlBaseParser.END, 0); + } + public whenClause_list(): WhenClauseContext[] { + return this.getTypedRuleContexts(WhenClauseContext) as WhenClauseContext[]; + } + public whenClause(i: number): WhenClauseContext { + return this.getTypedRuleContext(WhenClauseContext, i) as WhenClauseContext; + } + public ELSE(): TerminalNode { + return this.getToken(SqlBaseParser.ELSE, 0); + } + public expression(): ExpressionContext { + return this.getTypedRuleContext(ExpressionContext, 0) as ExpressionContext; + } +} +export class ColumnReferenceContext extends PrimaryExpressionContext { + constructor(parser: SqlBaseParser, ctx: PrimaryExpressionContext) { + super(parser, ctx.parentCtx, ctx.invokingState); + super.copyFrom(ctx); + } + public identifier(): IdentifierContext { + return this.getTypedRuleContext(IdentifierContext, 0) as IdentifierContext; + } +} +export class NullLiteralContext extends PrimaryExpressionContext { + constructor(parser: SqlBaseParser, ctx: PrimaryExpressionContext) { + super(parser, ctx.parentCtx, ctx.invokingState); + super.copyFrom(ctx); + } + public NULL(): TerminalNode { + return this.getToken(SqlBaseParser.NULL, 0); + } +} +export class RowConstructorContext extends PrimaryExpressionContext { + constructor(parser: SqlBaseParser, ctx: PrimaryExpressionContext) { + super(parser, ctx.parentCtx, ctx.invokingState); + super.copyFrom(ctx); + } + public expression_list(): ExpressionContext[] { + return this.getTypedRuleContexts(ExpressionContext) as ExpressionContext[]; + } + public expression(i: number): ExpressionContext { + return this.getTypedRuleContext(ExpressionContext, i) as ExpressionContext; + } + public ROW(): TerminalNode { + return this.getToken(SqlBaseParser.ROW, 0); + } +} +export class SubscriptContext extends PrimaryExpressionContext { + public _value!: PrimaryExpressionContext; + public _index!: ValueExpressionContext; + constructor(parser: SqlBaseParser, ctx: PrimaryExpressionContext) { + super(parser, ctx.parentCtx, ctx.invokingState); + super.copyFrom(ctx); + } + public primaryExpression(): PrimaryExpressionContext { + return this.getTypedRuleContext(PrimaryExpressionContext, 0) as PrimaryExpressionContext; + } + public valueExpression(): ValueExpressionContext { + return this.getTypedRuleContext(ValueExpressionContext, 0) as ValueExpressionContext; + } +} +export class SubqueryExpressionContext extends PrimaryExpressionContext { + constructor(parser: SqlBaseParser, ctx: PrimaryExpressionContext) { + super(parser, ctx.parentCtx, ctx.invokingState); + super.copyFrom(ctx); + } + public query(): QueryContext { + return this.getTypedRuleContext(QueryContext, 0) as QueryContext; + } +} +export class BinaryLiteralContext extends PrimaryExpressionContext { + constructor(parser: SqlBaseParser, ctx: PrimaryExpressionContext) { + super(parser, ctx.parentCtx, ctx.invokingState); + super.copyFrom(ctx); + } + public BINARY_LITERAL(): TerminalNode { + return this.getToken(SqlBaseParser.BINARY_LITERAL, 0); + } +} +export class CurrentUserContext extends PrimaryExpressionContext { + public _name!: Token; + constructor(parser: SqlBaseParser, ctx: PrimaryExpressionContext) { + super(parser, ctx.parentCtx, ctx.invokingState); + super.copyFrom(ctx); + } + public CURRENT_USER(): TerminalNode { + return this.getToken(SqlBaseParser.CURRENT_USER, 0); + } +} +export class ExtractContext extends PrimaryExpressionContext { + constructor(parser: SqlBaseParser, ctx: PrimaryExpressionContext) { + super(parser, ctx.parentCtx, ctx.invokingState); + super.copyFrom(ctx); + } + public EXTRACT(): TerminalNode { + return this.getToken(SqlBaseParser.EXTRACT, 0); + } + public identifier(): IdentifierContext { + return this.getTypedRuleContext(IdentifierContext, 0) as IdentifierContext; + } + public FROM(): TerminalNode { + return this.getToken(SqlBaseParser.FROM, 0); + } + public valueExpression(): ValueExpressionContext { + return this.getTypedRuleContext(ValueExpressionContext, 0) as ValueExpressionContext; + } +} +export class StringLiteralContext extends PrimaryExpressionContext { + constructor(parser: SqlBaseParser, ctx: PrimaryExpressionContext) { + super(parser, ctx.parentCtx, ctx.invokingState); + super.copyFrom(ctx); + } + public string_(): StringContext { + return this.getTypedRuleContext(StringContext, 0) as StringContext; + } +} +export class ArrayConstructorContext extends PrimaryExpressionContext { + constructor(parser: SqlBaseParser, ctx: PrimaryExpressionContext) { + super(parser, ctx.parentCtx, ctx.invokingState); + super.copyFrom(ctx); + } + public ARRAY(): TerminalNode { + return this.getToken(SqlBaseParser.ARRAY, 0); + } + public expression_list(): ExpressionContext[] { + return this.getTypedRuleContexts(ExpressionContext) as ExpressionContext[]; + } + public expression(i: number): ExpressionContext { + return this.getTypedRuleContext(ExpressionContext, i) as ExpressionContext; + } +} +export class FunctionCallContext extends PrimaryExpressionContext { + constructor(parser: SqlBaseParser, ctx: PrimaryExpressionContext) { + super(parser, ctx.parentCtx, ctx.invokingState); + super.copyFrom(ctx); + } + public qualifiedName(): QualifiedNameContext { + return this.getTypedRuleContext(QualifiedNameContext, 0) as QualifiedNameContext; + } + public ASTERISK(): TerminalNode { + return this.getToken(SqlBaseParser.ASTERISK, 0); + } + public filter(): FilterContext { + return this.getTypedRuleContext(FilterContext, 0) as FilterContext; + } + public over(): OverContext { + return this.getTypedRuleContext(OverContext, 0) as OverContext; + } + public expression_list(): ExpressionContext[] { + return this.getTypedRuleContexts(ExpressionContext) as ExpressionContext[]; + } + public expression(i: number): ExpressionContext { + return this.getTypedRuleContext(ExpressionContext, i) as ExpressionContext; + } + public ORDER(): TerminalNode { + return this.getToken(SqlBaseParser.ORDER, 0); + } + public BY(): TerminalNode { + return this.getToken(SqlBaseParser.BY, 0); + } + public sortItem_list(): SortItemContext[] { + return this.getTypedRuleContexts(SortItemContext) as SortItemContext[]; + } + public sortItem(i: number): SortItemContext { + return this.getTypedRuleContext(SortItemContext, i) as SortItemContext; + } + public setQuantifier(): SetQuantifierContext { + return this.getTypedRuleContext(SetQuantifierContext, 0) as SetQuantifierContext; + } + public nullTreatment(): NullTreatmentContext { + return this.getTypedRuleContext(NullTreatmentContext, 0) as NullTreatmentContext; + } +} +export class ExistsContext extends PrimaryExpressionContext { + constructor(parser: SqlBaseParser, ctx: PrimaryExpressionContext) { + super(parser, ctx.parentCtx, ctx.invokingState); + super.copyFrom(ctx); + } + public EXISTS(): TerminalNode { + return this.getToken(SqlBaseParser.EXISTS, 0); + } + public query(): QueryContext { + return this.getTypedRuleContext(QueryContext, 0) as QueryContext; + } +} +export class PositionContext extends PrimaryExpressionContext { + constructor(parser: SqlBaseParser, ctx: PrimaryExpressionContext) { + super(parser, ctx.parentCtx, ctx.invokingState); + super.copyFrom(ctx); + } + public POSITION(): TerminalNode { + return this.getToken(SqlBaseParser.POSITION, 0); + } + public valueExpression_list(): ValueExpressionContext[] { + return this.getTypedRuleContexts(ValueExpressionContext) as ValueExpressionContext[]; + } + public valueExpression(i: number): ValueExpressionContext { + return this.getTypedRuleContext(ValueExpressionContext, i) as ValueExpressionContext; + } + public IN(): TerminalNode { + return this.getToken(SqlBaseParser.IN, 0); + } +} +export class SearchedCaseContext extends PrimaryExpressionContext { + public _elseExpression!: ExpressionContext; + constructor(parser: SqlBaseParser, ctx: PrimaryExpressionContext) { + super(parser, ctx.parentCtx, ctx.invokingState); + super.copyFrom(ctx); + } + public CASE(): TerminalNode { + return this.getToken(SqlBaseParser.CASE, 0); + } + public END(): TerminalNode { + return this.getToken(SqlBaseParser.END, 0); + } + public whenClause_list(): WhenClauseContext[] { + return this.getTypedRuleContexts(WhenClauseContext) as WhenClauseContext[]; + } + public whenClause(i: number): WhenClauseContext { + return this.getTypedRuleContext(WhenClauseContext, i) as WhenClauseContext; + } + public ELSE(): TerminalNode { + return this.getToken(SqlBaseParser.ELSE, 0); + } + public expression(): ExpressionContext { + return this.getTypedRuleContext(ExpressionContext, 0) as ExpressionContext; + } +} +export class GroupingOperationContext extends PrimaryExpressionContext { + constructor(parser: SqlBaseParser, ctx: PrimaryExpressionContext) { + super(parser, ctx.parentCtx, ctx.invokingState); + super.copyFrom(ctx); + } + public GROUPING(): TerminalNode { + return this.getToken(SqlBaseParser.GROUPING, 0); + } + public qualifiedName_list(): QualifiedNameContext[] { + return this.getTypedRuleContexts(QualifiedNameContext) as QualifiedNameContext[]; + } + public qualifiedName(i: number): QualifiedNameContext { + return this.getTypedRuleContext(QualifiedNameContext, i) as QualifiedNameContext; + } +} + + +export class StringContext extends ParserRuleContext { + constructor(parser?: SqlBaseParser, parent?: ParserRuleContext, invokingState?: number) { + super(parent, invokingState); + this.parser = parser; + } + public get ruleIndex(): number { + return SqlBaseParser.RULE_string; + } + public override copyFrom(ctx: StringContext): void { + super.copyFrom(ctx); + } +} +export class UnicodeStringLiteralContext extends StringContext { + constructor(parser: SqlBaseParser, ctx: StringContext) { + super(parser, ctx.parentCtx, ctx.invokingState); + super.copyFrom(ctx); + } + public UNICODE_STRING(): TerminalNode { + return this.getToken(SqlBaseParser.UNICODE_STRING, 0); + } + public UESCAPE(): TerminalNode { + return this.getToken(SqlBaseParser.UESCAPE, 0); + } + public STRING(): TerminalNode { + return this.getToken(SqlBaseParser.STRING, 0); + } +} +export class BasicStringLiteralContext extends StringContext { + constructor(parser: SqlBaseParser, ctx: StringContext) { + super(parser, ctx.parentCtx, ctx.invokingState); + super.copyFrom(ctx); + } + public STRING(): TerminalNode { + return this.getToken(SqlBaseParser.STRING, 0); + } +} + + +export class NullTreatmentContext extends ParserRuleContext { + constructor(parser?: SqlBaseParser, parent?: ParserRuleContext, invokingState?: number) { + super(parent, invokingState); + this.parser = parser; + } + public IGNORE(): TerminalNode { + return this.getToken(SqlBaseParser.IGNORE, 0); + } + public NULLS(): TerminalNode { + return this.getToken(SqlBaseParser.NULLS, 0); + } + public RESPECT(): TerminalNode { + return this.getToken(SqlBaseParser.RESPECT, 0); + } + public get ruleIndex(): number { + return SqlBaseParser.RULE_nullTreatment; + } +} + + +export class TimeZoneSpecifierContext extends ParserRuleContext { + constructor(parser?: SqlBaseParser, parent?: ParserRuleContext, invokingState?: number) { + super(parent, invokingState); + this.parser = parser; + } + public get ruleIndex(): number { + return SqlBaseParser.RULE_timeZoneSpecifier; + } + public override copyFrom(ctx: TimeZoneSpecifierContext): void { + super.copyFrom(ctx); + } +} +export class TimeZoneIntervalContext extends TimeZoneSpecifierContext { + constructor(parser: SqlBaseParser, ctx: TimeZoneSpecifierContext) { + super(parser, ctx.parentCtx, ctx.invokingState); + super.copyFrom(ctx); + } + public TIME(): TerminalNode { + return this.getToken(SqlBaseParser.TIME, 0); + } + public ZONE(): TerminalNode { + return this.getToken(SqlBaseParser.ZONE, 0); + } + public interval(): IntervalContext { + return this.getTypedRuleContext(IntervalContext, 0) as IntervalContext; + } +} +export class TimeZoneStringContext extends TimeZoneSpecifierContext { + constructor(parser: SqlBaseParser, ctx: TimeZoneSpecifierContext) { + super(parser, ctx.parentCtx, ctx.invokingState); + super.copyFrom(ctx); + } + public TIME(): TerminalNode { + return this.getToken(SqlBaseParser.TIME, 0); + } + public ZONE(): TerminalNode { + return this.getToken(SqlBaseParser.ZONE, 0); + } + public string_(): StringContext { + return this.getTypedRuleContext(StringContext, 0) as StringContext; + } +} + + +export class ComparisonOperatorContext extends ParserRuleContext { + constructor(parser?: SqlBaseParser, parent?: ParserRuleContext, invokingState?: number) { + super(parent, invokingState); + this.parser = parser; + } + public EQ(): TerminalNode { + return this.getToken(SqlBaseParser.EQ, 0); + } + public NEQ(): TerminalNode { + return this.getToken(SqlBaseParser.NEQ, 0); + } + public LT(): TerminalNode { + return this.getToken(SqlBaseParser.LT, 0); + } + public LTE(): TerminalNode { + return this.getToken(SqlBaseParser.LTE, 0); + } + public GT(): TerminalNode { + return this.getToken(SqlBaseParser.GT, 0); + } + public GTE(): TerminalNode { + return this.getToken(SqlBaseParser.GTE, 0); + } + public get ruleIndex(): number { + return SqlBaseParser.RULE_comparisonOperator; + } +} + + +export class ComparisonQuantifierContext extends ParserRuleContext { + constructor(parser?: SqlBaseParser, parent?: ParserRuleContext, invokingState?: number) { + super(parent, invokingState); + this.parser = parser; + } + public ALL(): TerminalNode { + return this.getToken(SqlBaseParser.ALL, 0); + } + public SOME(): TerminalNode { + return this.getToken(SqlBaseParser.SOME, 0); + } + public ANY(): TerminalNode { + return this.getToken(SqlBaseParser.ANY, 0); + } + public get ruleIndex(): number { + return SqlBaseParser.RULE_comparisonQuantifier; + } +} + + +export class BooleanValueContext extends ParserRuleContext { + constructor(parser?: SqlBaseParser, parent?: ParserRuleContext, invokingState?: number) { + super(parent, invokingState); + this.parser = parser; + } + public TRUE(): TerminalNode { + return this.getToken(SqlBaseParser.TRUE, 0); + } + public FALSE(): TerminalNode { + return this.getToken(SqlBaseParser.FALSE, 0); + } + public get ruleIndex(): number { + return SqlBaseParser.RULE_booleanValue; + } +} + + +export class IntervalContext extends ParserRuleContext { + public _sign!: Token; + public _from_!: IntervalFieldContext; + public _to!: IntervalFieldContext; + constructor(parser?: SqlBaseParser, parent?: ParserRuleContext, invokingState?: number) { + super(parent, invokingState); + this.parser = parser; + } + public INTERVAL(): TerminalNode { + return this.getToken(SqlBaseParser.INTERVAL, 0); + } + public string_(): StringContext { + return this.getTypedRuleContext(StringContext, 0) as StringContext; + } + public intervalField_list(): IntervalFieldContext[] { + return this.getTypedRuleContexts(IntervalFieldContext) as IntervalFieldContext[]; + } + public intervalField(i: number): IntervalFieldContext { + return this.getTypedRuleContext(IntervalFieldContext, i) as IntervalFieldContext; + } + public TO(): TerminalNode { + return this.getToken(SqlBaseParser.TO, 0); + } + public PLUS(): TerminalNode { + return this.getToken(SqlBaseParser.PLUS, 0); + } + public MINUS(): TerminalNode { + return this.getToken(SqlBaseParser.MINUS, 0); + } + public get ruleIndex(): number { + return SqlBaseParser.RULE_interval; + } +} + + +export class IntervalFieldContext extends ParserRuleContext { + constructor(parser?: SqlBaseParser, parent?: ParserRuleContext, invokingState?: number) { + super(parent, invokingState); + this.parser = parser; + } + public YEAR(): TerminalNode { + return this.getToken(SqlBaseParser.YEAR, 0); + } + public MONTH(): TerminalNode { + return this.getToken(SqlBaseParser.MONTH, 0); + } + public DAY(): TerminalNode { + return this.getToken(SqlBaseParser.DAY, 0); + } + public HOUR(): TerminalNode { + return this.getToken(SqlBaseParser.HOUR, 0); + } + public MINUTE(): TerminalNode { + return this.getToken(SqlBaseParser.MINUTE, 0); + } + public SECOND(): TerminalNode { + return this.getToken(SqlBaseParser.SECOND, 0); + } + public get ruleIndex(): number { + return SqlBaseParser.RULE_intervalField; + } +} + + +export class NormalFormContext extends ParserRuleContext { + constructor(parser?: SqlBaseParser, parent?: ParserRuleContext, invokingState?: number) { + super(parent, invokingState); + this.parser = parser; + } + public NFD(): TerminalNode { + return this.getToken(SqlBaseParser.NFD, 0); + } + public NFC(): TerminalNode { + return this.getToken(SqlBaseParser.NFC, 0); + } + public NFKD(): TerminalNode { + return this.getToken(SqlBaseParser.NFKD, 0); + } + public NFKC(): TerminalNode { + return this.getToken(SqlBaseParser.NFKC, 0); + } + public get ruleIndex(): number { + return SqlBaseParser.RULE_normalForm; + } +} + + +export class TypesContext extends ParserRuleContext { + constructor(parser?: SqlBaseParser, parent?: ParserRuleContext, invokingState?: number) { + super(parent, invokingState); + this.parser = parser; + } + public type__list(): TypeContext[] { + return this.getTypedRuleContexts(TypeContext) as TypeContext[]; + } + public type_(i: number): TypeContext { + return this.getTypedRuleContext(TypeContext, i) as TypeContext; + } + public get ruleIndex(): number { + return SqlBaseParser.RULE_types; + } +} + + +export class TypeContext extends ParserRuleContext { + public _from_!: IntervalFieldContext; + public _to!: IntervalFieldContext; + constructor(parser?: SqlBaseParser, parent?: ParserRuleContext, invokingState?: number) { + super(parent, invokingState); + this.parser = parser; + } + public ARRAY(): TerminalNode { + return this.getToken(SqlBaseParser.ARRAY, 0); + } + public LT(): TerminalNode { + return this.getToken(SqlBaseParser.LT, 0); + } + public type__list(): TypeContext[] { + return this.getTypedRuleContexts(TypeContext) as TypeContext[]; + } + public type_(i: number): TypeContext { + return this.getTypedRuleContext(TypeContext, i) as TypeContext; + } + public GT(): TerminalNode { + return this.getToken(SqlBaseParser.GT, 0); + } + public MAP(): TerminalNode { + return this.getToken(SqlBaseParser.MAP, 0); + } + public ROW(): TerminalNode { + return this.getToken(SqlBaseParser.ROW, 0); + } + public identifier_list(): IdentifierContext[] { + return this.getTypedRuleContexts(IdentifierContext) as IdentifierContext[]; + } + public identifier(i: number): IdentifierContext { + return this.getTypedRuleContext(IdentifierContext, i) as IdentifierContext; + } + public baseType(): BaseTypeContext { + return this.getTypedRuleContext(BaseTypeContext, 0) as BaseTypeContext; + } + public typeParameter_list(): TypeParameterContext[] { + return this.getTypedRuleContexts(TypeParameterContext) as TypeParameterContext[]; + } + public typeParameter(i: number): TypeParameterContext { + return this.getTypedRuleContext(TypeParameterContext, i) as TypeParameterContext; + } + public INTERVAL(): TerminalNode { + return this.getToken(SqlBaseParser.INTERVAL, 0); + } + public TO(): TerminalNode { + return this.getToken(SqlBaseParser.TO, 0); + } + public intervalField_list(): IntervalFieldContext[] { + return this.getTypedRuleContexts(IntervalFieldContext) as IntervalFieldContext[]; + } + public intervalField(i: number): IntervalFieldContext { + return this.getTypedRuleContext(IntervalFieldContext, i) as IntervalFieldContext; + } + public get ruleIndex(): number { + return SqlBaseParser.RULE_type; + } +} + + +export class TypeParameterContext extends ParserRuleContext { + constructor(parser?: SqlBaseParser, parent?: ParserRuleContext, invokingState?: number) { + super(parent, invokingState); + this.parser = parser; + } + public INTEGER_VALUE(): TerminalNode { + return this.getToken(SqlBaseParser.INTEGER_VALUE, 0); + } + public type_(): TypeContext { + return this.getTypedRuleContext(TypeContext, 0) as TypeContext; + } + public get ruleIndex(): number { + return SqlBaseParser.RULE_typeParameter; + } +} + + +export class BaseTypeContext extends ParserRuleContext { + constructor(parser?: SqlBaseParser, parent?: ParserRuleContext, invokingState?: number) { + super(parent, invokingState); + this.parser = parser; + } + public TIME_WITH_TIME_ZONE(): TerminalNode { + return this.getToken(SqlBaseParser.TIME_WITH_TIME_ZONE, 0); + } + public TIMESTAMP_WITH_TIME_ZONE(): TerminalNode { + return this.getToken(SqlBaseParser.TIMESTAMP_WITH_TIME_ZONE, 0); + } + public DOUBLE_PRECISION(): TerminalNode { + return this.getToken(SqlBaseParser.DOUBLE_PRECISION, 0); + } + public qualifiedName(): QualifiedNameContext { + return this.getTypedRuleContext(QualifiedNameContext, 0) as QualifiedNameContext; + } + public get ruleIndex(): number { + return SqlBaseParser.RULE_baseType; + } +} + + +export class WhenClauseContext extends ParserRuleContext { + public _condition!: ExpressionContext; + public _result!: ExpressionContext; + constructor(parser?: SqlBaseParser, parent?: ParserRuleContext, invokingState?: number) { + super(parent, invokingState); + this.parser = parser; + } + public WHEN(): TerminalNode { + return this.getToken(SqlBaseParser.WHEN, 0); + } + public THEN(): TerminalNode { + return this.getToken(SqlBaseParser.THEN, 0); + } + public expression_list(): ExpressionContext[] { + return this.getTypedRuleContexts(ExpressionContext) as ExpressionContext[]; + } + public expression(i: number): ExpressionContext { + return this.getTypedRuleContext(ExpressionContext, i) as ExpressionContext; + } + public get ruleIndex(): number { + return SqlBaseParser.RULE_whenClause; + } +} + + +export class FilterContext extends ParserRuleContext { + constructor(parser?: SqlBaseParser, parent?: ParserRuleContext, invokingState?: number) { + super(parent, invokingState); + this.parser = parser; + } + public FILTER(): TerminalNode { + return this.getToken(SqlBaseParser.FILTER, 0); + } + public WHERE(): TerminalNode { + return this.getToken(SqlBaseParser.WHERE, 0); + } + public booleanExpression(): BooleanExpressionContext { + return this.getTypedRuleContext(BooleanExpressionContext, 0) as BooleanExpressionContext; + } + public get ruleIndex(): number { + return SqlBaseParser.RULE_filter; + } +} + + +export class OverContext extends ParserRuleContext { + public _expression!: ExpressionContext; + public _partition: ExpressionContext[] = []; + constructor(parser?: SqlBaseParser, parent?: ParserRuleContext, invokingState?: number) { + super(parent, invokingState); + this.parser = parser; + } + public OVER(): TerminalNode { + return this.getToken(SqlBaseParser.OVER, 0); + } + public PARTITION(): TerminalNode { + return this.getToken(SqlBaseParser.PARTITION, 0); + } + public BY_list(): TerminalNode[] { + return this.getTokens(SqlBaseParser.BY); + } + public BY(i: number): TerminalNode { + return this.getToken(SqlBaseParser.BY, i); + } + public ORDER(): TerminalNode { + return this.getToken(SqlBaseParser.ORDER, 0); + } + public sortItem_list(): SortItemContext[] { + return this.getTypedRuleContexts(SortItemContext) as SortItemContext[]; + } + public sortItem(i: number): SortItemContext { + return this.getTypedRuleContext(SortItemContext, i) as SortItemContext; + } + public windowFrame(): WindowFrameContext { + return this.getTypedRuleContext(WindowFrameContext, 0) as WindowFrameContext; + } + public expression_list(): ExpressionContext[] { + return this.getTypedRuleContexts(ExpressionContext) as ExpressionContext[]; + } + public expression(i: number): ExpressionContext { + return this.getTypedRuleContext(ExpressionContext, i) as ExpressionContext; + } + public get ruleIndex(): number { + return SqlBaseParser.RULE_over; + } +} + + +export class WindowFrameContext extends ParserRuleContext { + public _frameType!: Token; + public _start!: FrameBoundContext; + public _end!: FrameBoundContext; + constructor(parser?: SqlBaseParser, parent?: ParserRuleContext, invokingState?: number) { + super(parent, invokingState); + this.parser = parser; + } + public RANGE(): TerminalNode { + return this.getToken(SqlBaseParser.RANGE, 0); + } + public frameBound_list(): FrameBoundContext[] { + return this.getTypedRuleContexts(FrameBoundContext) as FrameBoundContext[]; + } + public frameBound(i: number): FrameBoundContext { + return this.getTypedRuleContext(FrameBoundContext, i) as FrameBoundContext; + } + public ROWS(): TerminalNode { + return this.getToken(SqlBaseParser.ROWS, 0); + } + public GROUPS(): TerminalNode { + return this.getToken(SqlBaseParser.GROUPS, 0); + } + public BETWEEN(): TerminalNode { + return this.getToken(SqlBaseParser.BETWEEN, 0); + } + public AND(): TerminalNode { + return this.getToken(SqlBaseParser.AND, 0); + } + public get ruleIndex(): number { + return SqlBaseParser.RULE_windowFrame; + } +} + + +export class FrameBoundContext extends ParserRuleContext { + constructor(parser?: SqlBaseParser, parent?: ParserRuleContext, invokingState?: number) { + super(parent, invokingState); + this.parser = parser; + } + public get ruleIndex(): number { + return SqlBaseParser.RULE_frameBound; + } + public override copyFrom(ctx: FrameBoundContext): void { + super.copyFrom(ctx); + } +} +export class BoundedFrameContext extends FrameBoundContext { + public _boundType!: Token; + constructor(parser: SqlBaseParser, ctx: FrameBoundContext) { + super(parser, ctx.parentCtx, ctx.invokingState); + super.copyFrom(ctx); + } + public expression(): ExpressionContext { + return this.getTypedRuleContext(ExpressionContext, 0) as ExpressionContext; + } + public PRECEDING(): TerminalNode { + return this.getToken(SqlBaseParser.PRECEDING, 0); + } + public FOLLOWING(): TerminalNode { + return this.getToken(SqlBaseParser.FOLLOWING, 0); + } +} +export class UnboundedFrameContext extends FrameBoundContext { + public _boundType!: Token; + constructor(parser: SqlBaseParser, ctx: FrameBoundContext) { + super(parser, ctx.parentCtx, ctx.invokingState); + super.copyFrom(ctx); + } + public UNBOUNDED(): TerminalNode { + return this.getToken(SqlBaseParser.UNBOUNDED, 0); + } + public PRECEDING(): TerminalNode { + return this.getToken(SqlBaseParser.PRECEDING, 0); + } + public FOLLOWING(): TerminalNode { + return this.getToken(SqlBaseParser.FOLLOWING, 0); + } +} +export class CurrentRowBoundContext extends FrameBoundContext { + constructor(parser: SqlBaseParser, ctx: FrameBoundContext) { + super(parser, ctx.parentCtx, ctx.invokingState); + super.copyFrom(ctx); + } + public CURRENT(): TerminalNode { + return this.getToken(SqlBaseParser.CURRENT, 0); + } + public ROW(): TerminalNode { + return this.getToken(SqlBaseParser.ROW, 0); + } +} + + +export class UpdateAssignmentContext extends ParserRuleContext { + constructor(parser?: SqlBaseParser, parent?: ParserRuleContext, invokingState?: number) { + super(parent, invokingState); + this.parser = parser; + } + public identifier(): IdentifierContext { + return this.getTypedRuleContext(IdentifierContext, 0) as IdentifierContext; + } + public EQ(): TerminalNode { + return this.getToken(SqlBaseParser.EQ, 0); + } + public expression(): ExpressionContext { + return this.getTypedRuleContext(ExpressionContext, 0) as ExpressionContext; + } + public get ruleIndex(): number { + return SqlBaseParser.RULE_updateAssignment; + } +} + + +export class ExplainOptionContext extends ParserRuleContext { + constructor(parser?: SqlBaseParser, parent?: ParserRuleContext, invokingState?: number) { + super(parent, invokingState); + this.parser = parser; + } + public get ruleIndex(): number { + return SqlBaseParser.RULE_explainOption; + } + public override copyFrom(ctx: ExplainOptionContext): void { + super.copyFrom(ctx); + } +} +export class ExplainFormatContext extends ExplainOptionContext { + public _value!: Token; + constructor(parser: SqlBaseParser, ctx: ExplainOptionContext) { + super(parser, ctx.parentCtx, ctx.invokingState); + super.copyFrom(ctx); + } + public FORMAT(): TerminalNode { + return this.getToken(SqlBaseParser.FORMAT, 0); + } + public TEXT(): TerminalNode { + return this.getToken(SqlBaseParser.TEXT, 0); + } + public GRAPHVIZ(): TerminalNode { + return this.getToken(SqlBaseParser.GRAPHVIZ, 0); + } + public JSON(): TerminalNode { + return this.getToken(SqlBaseParser.JSON, 0); + } +} +export class ExplainTypeContext extends ExplainOptionContext { + public _value!: Token; + constructor(parser: SqlBaseParser, ctx: ExplainOptionContext) { + super(parser, ctx.parentCtx, ctx.invokingState); + super.copyFrom(ctx); + } + public TYPE(): TerminalNode { + return this.getToken(SqlBaseParser.TYPE, 0); + } + public LOGICAL(): TerminalNode { + return this.getToken(SqlBaseParser.LOGICAL, 0); + } + public DISTRIBUTED(): TerminalNode { + return this.getToken(SqlBaseParser.DISTRIBUTED, 0); + } + public VALIDATE(): TerminalNode { + return this.getToken(SqlBaseParser.VALIDATE, 0); + } + public IO(): TerminalNode { + return this.getToken(SqlBaseParser.IO, 0); + } +} + + +export class TransactionModeContext extends ParserRuleContext { + constructor(parser?: SqlBaseParser, parent?: ParserRuleContext, invokingState?: number) { + super(parent, invokingState); + this.parser = parser; + } + public get ruleIndex(): number { + return SqlBaseParser.RULE_transactionMode; + } + public override copyFrom(ctx: TransactionModeContext): void { + super.copyFrom(ctx); + } +} +export class TransactionAccessModeContext extends TransactionModeContext { + public _accessMode!: Token; + constructor(parser: SqlBaseParser, ctx: TransactionModeContext) { + super(parser, ctx.parentCtx, ctx.invokingState); + super.copyFrom(ctx); + } + public READ(): TerminalNode { + return this.getToken(SqlBaseParser.READ, 0); + } + public ONLY(): TerminalNode { + return this.getToken(SqlBaseParser.ONLY, 0); + } + public WRITE(): TerminalNode { + return this.getToken(SqlBaseParser.WRITE, 0); + } +} +export class IsolationLevelContext extends TransactionModeContext { + constructor(parser: SqlBaseParser, ctx: TransactionModeContext) { + super(parser, ctx.parentCtx, ctx.invokingState); + super.copyFrom(ctx); + } + public ISOLATION(): TerminalNode { + return this.getToken(SqlBaseParser.ISOLATION, 0); + } + public LEVEL(): TerminalNode { + return this.getToken(SqlBaseParser.LEVEL, 0); + } + public levelOfIsolation(): LevelOfIsolationContext { + return this.getTypedRuleContext(LevelOfIsolationContext, 0) as LevelOfIsolationContext; + } +} + + +export class LevelOfIsolationContext extends ParserRuleContext { + constructor(parser?: SqlBaseParser, parent?: ParserRuleContext, invokingState?: number) { + super(parent, invokingState); + this.parser = parser; + } + public get ruleIndex(): number { + return SqlBaseParser.RULE_levelOfIsolation; + } + public override copyFrom(ctx: LevelOfIsolationContext): void { + super.copyFrom(ctx); + } +} +export class ReadUncommittedContext extends LevelOfIsolationContext { + constructor(parser: SqlBaseParser, ctx: LevelOfIsolationContext) { + super(parser, ctx.parentCtx, ctx.invokingState); + super.copyFrom(ctx); + } + public READ(): TerminalNode { + return this.getToken(SqlBaseParser.READ, 0); + } + public UNCOMMITTED(): TerminalNode { + return this.getToken(SqlBaseParser.UNCOMMITTED, 0); + } +} +export class SerializableContext extends LevelOfIsolationContext { + constructor(parser: SqlBaseParser, ctx: LevelOfIsolationContext) { + super(parser, ctx.parentCtx, ctx.invokingState); + super.copyFrom(ctx); + } + public SERIALIZABLE(): TerminalNode { + return this.getToken(SqlBaseParser.SERIALIZABLE, 0); + } +} +export class ReadCommittedContext extends LevelOfIsolationContext { + constructor(parser: SqlBaseParser, ctx: LevelOfIsolationContext) { + super(parser, ctx.parentCtx, ctx.invokingState); + super.copyFrom(ctx); + } + public READ(): TerminalNode { + return this.getToken(SqlBaseParser.READ, 0); + } + public COMMITTED(): TerminalNode { + return this.getToken(SqlBaseParser.COMMITTED, 0); + } +} +export class RepeatableReadContext extends LevelOfIsolationContext { + constructor(parser: SqlBaseParser, ctx: LevelOfIsolationContext) { + super(parser, ctx.parentCtx, ctx.invokingState); + super.copyFrom(ctx); + } + public REPEATABLE(): TerminalNode { + return this.getToken(SqlBaseParser.REPEATABLE, 0); + } + public READ(): TerminalNode { + return this.getToken(SqlBaseParser.READ, 0); + } +} + + +export class CallArgumentContext extends ParserRuleContext { + constructor(parser?: SqlBaseParser, parent?: ParserRuleContext, invokingState?: number) { + super(parent, invokingState); + this.parser = parser; + } + public get ruleIndex(): number { + return SqlBaseParser.RULE_callArgument; + } + public override copyFrom(ctx: CallArgumentContext): void { + super.copyFrom(ctx); + } +} +export class PositionalArgumentContext extends CallArgumentContext { + constructor(parser: SqlBaseParser, ctx: CallArgumentContext) { + super(parser, ctx.parentCtx, ctx.invokingState); + super.copyFrom(ctx); + } + public expression(): ExpressionContext { + return this.getTypedRuleContext(ExpressionContext, 0) as ExpressionContext; + } +} +export class NamedArgumentContext extends CallArgumentContext { + constructor(parser: SqlBaseParser, ctx: CallArgumentContext) { + super(parser, ctx.parentCtx, ctx.invokingState); + super.copyFrom(ctx); + } + public identifier(): IdentifierContext { + return this.getTypedRuleContext(IdentifierContext, 0) as IdentifierContext; + } + public expression(): ExpressionContext { + return this.getTypedRuleContext(ExpressionContext, 0) as ExpressionContext; + } +} + + +export class PrivilegeContext extends ParserRuleContext { + constructor(parser?: SqlBaseParser, parent?: ParserRuleContext, invokingState?: number) { + super(parent, invokingState); + this.parser = parser; + } + public SELECT(): TerminalNode { + return this.getToken(SqlBaseParser.SELECT, 0); + } + public DELETE(): TerminalNode { + return this.getToken(SqlBaseParser.DELETE, 0); + } + public INSERT(): TerminalNode { + return this.getToken(SqlBaseParser.INSERT, 0); + } + public identifier(): IdentifierContext { + return this.getTypedRuleContext(IdentifierContext, 0) as IdentifierContext; + } + public get ruleIndex(): number { + return SqlBaseParser.RULE_privilege; + } +} + + +export class QualifiedNameContext extends ParserRuleContext { + constructor(parser?: SqlBaseParser, parent?: ParserRuleContext, invokingState?: number) { + super(parent, invokingState); + this.parser = parser; + } + public identifier_list(): IdentifierContext[] { + return this.getTypedRuleContexts(IdentifierContext) as IdentifierContext[]; + } + public identifier(i: number): IdentifierContext { + return this.getTypedRuleContext(IdentifierContext, i) as IdentifierContext; + } + public get ruleIndex(): number { + return SqlBaseParser.RULE_qualifiedName; + } +} + + +export class TableVersionExpressionContext extends ParserRuleContext { + constructor(parser?: SqlBaseParser, parent?: ParserRuleContext, invokingState?: number) { + super(parent, invokingState); + this.parser = parser; + } + public get ruleIndex(): number { + return SqlBaseParser.RULE_tableVersionExpression; + } + public override copyFrom(ctx: TableVersionExpressionContext): void { + super.copyFrom(ctx); + } +} +export class TableVersionContext extends TableVersionExpressionContext { + public _tableVersionType!: Token; + constructor(parser: SqlBaseParser, ctx: TableVersionExpressionContext) { + super(parser, ctx.parentCtx, ctx.invokingState); + super.copyFrom(ctx); + } + public FOR(): TerminalNode { + return this.getToken(SqlBaseParser.FOR, 0); + } + public tableVersionState(): TableVersionStateContext { + return this.getTypedRuleContext(TableVersionStateContext, 0) as TableVersionStateContext; + } + public valueExpression(): ValueExpressionContext { + return this.getTypedRuleContext(ValueExpressionContext, 0) as ValueExpressionContext; + } + public SYSTEM_TIME(): TerminalNode { + return this.getToken(SqlBaseParser.SYSTEM_TIME, 0); + } + public SYSTEM_VERSION(): TerminalNode { + return this.getToken(SqlBaseParser.SYSTEM_VERSION, 0); + } + public TIMESTAMP(): TerminalNode { + return this.getToken(SqlBaseParser.TIMESTAMP, 0); + } + public VERSION(): TerminalNode { + return this.getToken(SqlBaseParser.VERSION, 0); + } +} + + +export class TableVersionStateContext extends ParserRuleContext { + constructor(parser?: SqlBaseParser, parent?: ParserRuleContext, invokingState?: number) { + super(parent, invokingState); + this.parser = parser; + } + public get ruleIndex(): number { + return SqlBaseParser.RULE_tableVersionState; + } + public override copyFrom(ctx: TableVersionStateContext): void { + super.copyFrom(ctx); + } +} +export class TableversionbeforeContext extends TableVersionStateContext { + constructor(parser: SqlBaseParser, ctx: TableVersionStateContext) { + super(parser, ctx.parentCtx, ctx.invokingState); + super.copyFrom(ctx); + } + public BEFORE(): TerminalNode { + return this.getToken(SqlBaseParser.BEFORE, 0); + } +} +export class TableversionasofContext extends TableVersionStateContext { + constructor(parser: SqlBaseParser, ctx: TableVersionStateContext) { + super(parser, ctx.parentCtx, ctx.invokingState); + super.copyFrom(ctx); + } + public AS(): TerminalNode { + return this.getToken(SqlBaseParser.AS, 0); + } + public OF(): TerminalNode { + return this.getToken(SqlBaseParser.OF, 0); + } +} + + +export class GrantorContext extends ParserRuleContext { + constructor(parser?: SqlBaseParser, parent?: ParserRuleContext, invokingState?: number) { + super(parent, invokingState); + this.parser = parser; + } + public get ruleIndex(): number { + return SqlBaseParser.RULE_grantor; + } + public override copyFrom(ctx: GrantorContext): void { + super.copyFrom(ctx); + } +} +export class CurrentUserGrantorContext extends GrantorContext { + constructor(parser: SqlBaseParser, ctx: GrantorContext) { + super(parser, ctx.parentCtx, ctx.invokingState); + super.copyFrom(ctx); + } + public CURRENT_USER(): TerminalNode { + return this.getToken(SqlBaseParser.CURRENT_USER, 0); + } +} +export class SpecifiedPrincipalContext extends GrantorContext { + constructor(parser: SqlBaseParser, ctx: GrantorContext) { + super(parser, ctx.parentCtx, ctx.invokingState); + super.copyFrom(ctx); + } + public principal(): PrincipalContext { + return this.getTypedRuleContext(PrincipalContext, 0) as PrincipalContext; + } +} +export class CurrentRoleGrantorContext extends GrantorContext { + constructor(parser: SqlBaseParser, ctx: GrantorContext) { + super(parser, ctx.parentCtx, ctx.invokingState); + super.copyFrom(ctx); + } + public CURRENT_ROLE(): TerminalNode { + return this.getToken(SqlBaseParser.CURRENT_ROLE, 0); + } +} + + +export class PrincipalContext extends ParserRuleContext { + constructor(parser?: SqlBaseParser, parent?: ParserRuleContext, invokingState?: number) { + super(parent, invokingState); + this.parser = parser; + } + public get ruleIndex(): number { + return SqlBaseParser.RULE_principal; + } + public override copyFrom(ctx: PrincipalContext): void { + super.copyFrom(ctx); + } +} +export class UnspecifiedPrincipalContext extends PrincipalContext { + constructor(parser: SqlBaseParser, ctx: PrincipalContext) { + super(parser, ctx.parentCtx, ctx.invokingState); + super.copyFrom(ctx); + } + public identifier(): IdentifierContext { + return this.getTypedRuleContext(IdentifierContext, 0) as IdentifierContext; + } +} +export class UserPrincipalContext extends PrincipalContext { + constructor(parser: SqlBaseParser, ctx: PrincipalContext) { + super(parser, ctx.parentCtx, ctx.invokingState); + super.copyFrom(ctx); + } + public USER(): TerminalNode { + return this.getToken(SqlBaseParser.USER, 0); + } + public identifier(): IdentifierContext { + return this.getTypedRuleContext(IdentifierContext, 0) as IdentifierContext; + } +} +export class RolePrincipalContext extends PrincipalContext { + constructor(parser: SqlBaseParser, ctx: PrincipalContext) { + super(parser, ctx.parentCtx, ctx.invokingState); + super.copyFrom(ctx); + } + public ROLE(): TerminalNode { + return this.getToken(SqlBaseParser.ROLE, 0); + } + public identifier(): IdentifierContext { + return this.getTypedRuleContext(IdentifierContext, 0) as IdentifierContext; + } +} + + +export class RolesContext extends ParserRuleContext { + constructor(parser?: SqlBaseParser, parent?: ParserRuleContext, invokingState?: number) { + super(parent, invokingState); + this.parser = parser; + } + public identifier_list(): IdentifierContext[] { + return this.getTypedRuleContexts(IdentifierContext) as IdentifierContext[]; + } + public identifier(i: number): IdentifierContext { + return this.getTypedRuleContext(IdentifierContext, i) as IdentifierContext; + } + public get ruleIndex(): number { + return SqlBaseParser.RULE_roles; + } +} + + +export class IdentifierContext extends ParserRuleContext { + constructor(parser?: SqlBaseParser, parent?: ParserRuleContext, invokingState?: number) { + super(parent, invokingState); + this.parser = parser; + } + public get ruleIndex(): number { + return SqlBaseParser.RULE_identifier; + } + public override copyFrom(ctx: IdentifierContext): void { + super.copyFrom(ctx); + } +} +export class BackQuotedIdentifierContext extends IdentifierContext { + constructor(parser: SqlBaseParser, ctx: IdentifierContext) { + super(parser, ctx.parentCtx, ctx.invokingState); + super.copyFrom(ctx); + } + public BACKQUOTED_IDENTIFIER(): TerminalNode { + return this.getToken(SqlBaseParser.BACKQUOTED_IDENTIFIER, 0); + } +} +export class QuotedIdentifierContext extends IdentifierContext { + constructor(parser: SqlBaseParser, ctx: IdentifierContext) { + super(parser, ctx.parentCtx, ctx.invokingState); + super.copyFrom(ctx); + } + public QUOTED_IDENTIFIER(): TerminalNode { + return this.getToken(SqlBaseParser.QUOTED_IDENTIFIER, 0); + } +} +export class DigitIdentifierContext extends IdentifierContext { + constructor(parser: SqlBaseParser, ctx: IdentifierContext) { + super(parser, ctx.parentCtx, ctx.invokingState); + super.copyFrom(ctx); + } + public DIGIT_IDENTIFIER(): TerminalNode { + return this.getToken(SqlBaseParser.DIGIT_IDENTIFIER, 0); + } +} +export class UnquotedIdentifierContext extends IdentifierContext { + constructor(parser: SqlBaseParser, ctx: IdentifierContext) { + super(parser, ctx.parentCtx, ctx.invokingState); + super.copyFrom(ctx); + } + public IDENTIFIER(): TerminalNode { + return this.getToken(SqlBaseParser.IDENTIFIER, 0); + } + public nonReserved(): NonReservedContext { + return this.getTypedRuleContext(NonReservedContext, 0) as NonReservedContext; + } +} + + +export class NumberContext extends ParserRuleContext { + constructor(parser?: SqlBaseParser, parent?: ParserRuleContext, invokingState?: number) { + super(parent, invokingState); + this.parser = parser; + } + public get ruleIndex(): number { + return SqlBaseParser.RULE_number; + } + public override copyFrom(ctx: NumberContext): void { + super.copyFrom(ctx); + } +} +export class DecimalLiteralContext extends NumberContext { + constructor(parser: SqlBaseParser, ctx: NumberContext) { + super(parser, ctx.parentCtx, ctx.invokingState); + super.copyFrom(ctx); + } + public DECIMAL_VALUE(): TerminalNode { + return this.getToken(SqlBaseParser.DECIMAL_VALUE, 0); + } +} +export class DoubleLiteralContext extends NumberContext { + constructor(parser: SqlBaseParser, ctx: NumberContext) { + super(parser, ctx.parentCtx, ctx.invokingState); + super.copyFrom(ctx); + } + public DOUBLE_VALUE(): TerminalNode { + return this.getToken(SqlBaseParser.DOUBLE_VALUE, 0); + } +} +export class IntegerLiteralContext extends NumberContext { + constructor(parser: SqlBaseParser, ctx: NumberContext) { + super(parser, ctx.parentCtx, ctx.invokingState); + super.copyFrom(ctx); + } + public INTEGER_VALUE(): TerminalNode { + return this.getToken(SqlBaseParser.INTEGER_VALUE, 0); + } +} + + +export class ConstraintSpecificationContext extends ParserRuleContext { + constructor(parser?: SqlBaseParser, parent?: ParserRuleContext, invokingState?: number) { + super(parent, invokingState); + this.parser = parser; + } + public namedConstraintSpecification(): NamedConstraintSpecificationContext { + return this.getTypedRuleContext(NamedConstraintSpecificationContext, 0) as NamedConstraintSpecificationContext; + } + public unnamedConstraintSpecification(): UnnamedConstraintSpecificationContext { + return this.getTypedRuleContext(UnnamedConstraintSpecificationContext, 0) as UnnamedConstraintSpecificationContext; + } + public get ruleIndex(): number { + return SqlBaseParser.RULE_constraintSpecification; + } +} + + +export class NamedConstraintSpecificationContext extends ParserRuleContext { + public _name!: IdentifierContext; + constructor(parser?: SqlBaseParser, parent?: ParserRuleContext, invokingState?: number) { + super(parent, invokingState); + this.parser = parser; + } + public CONSTRAINT(): TerminalNode { + return this.getToken(SqlBaseParser.CONSTRAINT, 0); + } + public unnamedConstraintSpecification(): UnnamedConstraintSpecificationContext { + return this.getTypedRuleContext(UnnamedConstraintSpecificationContext, 0) as UnnamedConstraintSpecificationContext; + } + public identifier(): IdentifierContext { + return this.getTypedRuleContext(IdentifierContext, 0) as IdentifierContext; + } + public get ruleIndex(): number { + return SqlBaseParser.RULE_namedConstraintSpecification; + } +} + + +export class UnnamedConstraintSpecificationContext extends ParserRuleContext { + constructor(parser?: SqlBaseParser, parent?: ParserRuleContext, invokingState?: number) { + super(parent, invokingState); + this.parser = parser; + } + public constraintType(): ConstraintTypeContext { + return this.getTypedRuleContext(ConstraintTypeContext, 0) as ConstraintTypeContext; + } + public columnAliases(): ColumnAliasesContext { + return this.getTypedRuleContext(ColumnAliasesContext, 0) as ColumnAliasesContext; + } + public constraintQualifiers(): ConstraintQualifiersContext { + return this.getTypedRuleContext(ConstraintQualifiersContext, 0) as ConstraintQualifiersContext; + } + public get ruleIndex(): number { + return SqlBaseParser.RULE_unnamedConstraintSpecification; + } +} + + +export class ConstraintTypeContext extends ParserRuleContext { + constructor(parser?: SqlBaseParser, parent?: ParserRuleContext, invokingState?: number) { + super(parent, invokingState); + this.parser = parser; + } + public UNIQUE(): TerminalNode { + return this.getToken(SqlBaseParser.UNIQUE, 0); + } + public PRIMARY(): TerminalNode { + return this.getToken(SqlBaseParser.PRIMARY, 0); + } + public KEY(): TerminalNode { + return this.getToken(SqlBaseParser.KEY, 0); + } + public get ruleIndex(): number { + return SqlBaseParser.RULE_constraintType; + } +} + + +export class ConstraintQualifiersContext extends ParserRuleContext { + constructor(parser?: SqlBaseParser, parent?: ParserRuleContext, invokingState?: number) { + super(parent, invokingState); + this.parser = parser; + } + public constraintQualifier_list(): ConstraintQualifierContext[] { + return this.getTypedRuleContexts(ConstraintQualifierContext) as ConstraintQualifierContext[]; + } + public constraintQualifier(i: number): ConstraintQualifierContext { + return this.getTypedRuleContext(ConstraintQualifierContext, i) as ConstraintQualifierContext; + } + public get ruleIndex(): number { + return SqlBaseParser.RULE_constraintQualifiers; + } +} + + +export class ConstraintQualifierContext extends ParserRuleContext { + constructor(parser?: SqlBaseParser, parent?: ParserRuleContext, invokingState?: number) { + super(parent, invokingState); + this.parser = parser; + } + public constraintEnabled(): ConstraintEnabledContext { + return this.getTypedRuleContext(ConstraintEnabledContext, 0) as ConstraintEnabledContext; + } + public constraintRely(): ConstraintRelyContext { + return this.getTypedRuleContext(ConstraintRelyContext, 0) as ConstraintRelyContext; + } + public constraintEnforced(): ConstraintEnforcedContext { + return this.getTypedRuleContext(ConstraintEnforcedContext, 0) as ConstraintEnforcedContext; + } + public get ruleIndex(): number { + return SqlBaseParser.RULE_constraintQualifier; + } +} + + +export class ConstraintRelyContext extends ParserRuleContext { + constructor(parser?: SqlBaseParser, parent?: ParserRuleContext, invokingState?: number) { + super(parent, invokingState); + this.parser = parser; + } + public RELY(): TerminalNode { + return this.getToken(SqlBaseParser.RELY, 0); + } + public NOT(): TerminalNode { + return this.getToken(SqlBaseParser.NOT, 0); + } + public get ruleIndex(): number { + return SqlBaseParser.RULE_constraintRely; + } +} + + +export class ConstraintEnabledContext extends ParserRuleContext { + constructor(parser?: SqlBaseParser, parent?: ParserRuleContext, invokingState?: number) { + super(parent, invokingState); + this.parser = parser; + } + public ENABLED(): TerminalNode { + return this.getToken(SqlBaseParser.ENABLED, 0); + } + public DISABLED(): TerminalNode { + return this.getToken(SqlBaseParser.DISABLED, 0); + } + public get ruleIndex(): number { + return SqlBaseParser.RULE_constraintEnabled; + } +} + + +export class ConstraintEnforcedContext extends ParserRuleContext { + constructor(parser?: SqlBaseParser, parent?: ParserRuleContext, invokingState?: number) { + super(parent, invokingState); + this.parser = parser; + } + public ENFORCED(): TerminalNode { + return this.getToken(SqlBaseParser.ENFORCED, 0); + } + public NOT(): TerminalNode { + return this.getToken(SqlBaseParser.NOT, 0); + } + public get ruleIndex(): number { + return SqlBaseParser.RULE_constraintEnforced; + } +} + + +export class NonReservedContext extends ParserRuleContext { + constructor(parser?: SqlBaseParser, parent?: ParserRuleContext, invokingState?: number) { + super(parent, invokingState); + this.parser = parser; + } + public ADD(): TerminalNode { + return this.getToken(SqlBaseParser.ADD, 0); + } + public ADMIN(): TerminalNode { + return this.getToken(SqlBaseParser.ADMIN, 0); + } + public ALL(): TerminalNode { + return this.getToken(SqlBaseParser.ALL, 0); + } + public ANALYZE(): TerminalNode { + return this.getToken(SqlBaseParser.ANALYZE, 0); + } + public ANY(): TerminalNode { + return this.getToken(SqlBaseParser.ANY, 0); + } + public ARRAY(): TerminalNode { + return this.getToken(SqlBaseParser.ARRAY, 0); + } + public ASC(): TerminalNode { + return this.getToken(SqlBaseParser.ASC, 0); + } + public AT(): TerminalNode { + return this.getToken(SqlBaseParser.AT, 0); + } + public BEFORE(): TerminalNode { + return this.getToken(SqlBaseParser.BEFORE, 0); + } + public BERNOULLI(): TerminalNode { + return this.getToken(SqlBaseParser.BERNOULLI, 0); + } + public CALL(): TerminalNode { + return this.getToken(SqlBaseParser.CALL, 0); + } + public CALLED(): TerminalNode { + return this.getToken(SqlBaseParser.CALLED, 0); + } + public CASCADE(): TerminalNode { + return this.getToken(SqlBaseParser.CASCADE, 0); + } + public CATALOGS(): TerminalNode { + return this.getToken(SqlBaseParser.CATALOGS, 0); + } + public COLUMN(): TerminalNode { + return this.getToken(SqlBaseParser.COLUMN, 0); + } + public COLUMNS(): TerminalNode { + return this.getToken(SqlBaseParser.COLUMNS, 0); + } + public COMMENT(): TerminalNode { + return this.getToken(SqlBaseParser.COMMENT, 0); + } + public COMMIT(): TerminalNode { + return this.getToken(SqlBaseParser.COMMIT, 0); + } + public COMMITTED(): TerminalNode { + return this.getToken(SqlBaseParser.COMMITTED, 0); + } + public CURRENT(): TerminalNode { + return this.getToken(SqlBaseParser.CURRENT, 0); + } + public CURRENT_ROLE(): TerminalNode { + return this.getToken(SqlBaseParser.CURRENT_ROLE, 0); + } + public DATA(): TerminalNode { + return this.getToken(SqlBaseParser.DATA, 0); + } + public DATE(): TerminalNode { + return this.getToken(SqlBaseParser.DATE, 0); + } + public DAY(): TerminalNode { + return this.getToken(SqlBaseParser.DAY, 0); + } + public DEFINER(): TerminalNode { + return this.getToken(SqlBaseParser.DEFINER, 0); + } + public DESC(): TerminalNode { + return this.getToken(SqlBaseParser.DESC, 0); + } + public DETERMINISTIC(): TerminalNode { + return this.getToken(SqlBaseParser.DETERMINISTIC, 0); + } + public DISABLED(): TerminalNode { + return this.getToken(SqlBaseParser.DISABLED, 0); + } + public DISTRIBUTED(): TerminalNode { + return this.getToken(SqlBaseParser.DISTRIBUTED, 0); + } + public ENABLED(): TerminalNode { + return this.getToken(SqlBaseParser.ENABLED, 0); + } + public ENFORCED(): TerminalNode { + return this.getToken(SqlBaseParser.ENFORCED, 0); + } + public EXCLUDING(): TerminalNode { + return this.getToken(SqlBaseParser.EXCLUDING, 0); + } + public EXPLAIN(): TerminalNode { + return this.getToken(SqlBaseParser.EXPLAIN, 0); + } + public EXTERNAL(): TerminalNode { + return this.getToken(SqlBaseParser.EXTERNAL, 0); + } + public FETCH(): TerminalNode { + return this.getToken(SqlBaseParser.FETCH, 0); + } + public FILTER(): TerminalNode { + return this.getToken(SqlBaseParser.FILTER, 0); + } + public FIRST(): TerminalNode { + return this.getToken(SqlBaseParser.FIRST, 0); + } + public FOLLOWING(): TerminalNode { + return this.getToken(SqlBaseParser.FOLLOWING, 0); + } + public FORMAT(): TerminalNode { + return this.getToken(SqlBaseParser.FORMAT, 0); + } + public FUNCTION(): TerminalNode { + return this.getToken(SqlBaseParser.FUNCTION, 0); + } + public FUNCTIONS(): TerminalNode { + return this.getToken(SqlBaseParser.FUNCTIONS, 0); + } + public GRANT(): TerminalNode { + return this.getToken(SqlBaseParser.GRANT, 0); + } + public GRANTED(): TerminalNode { + return this.getToken(SqlBaseParser.GRANTED, 0); + } + public GRANTS(): TerminalNode { + return this.getToken(SqlBaseParser.GRANTS, 0); + } + public GRAPHVIZ(): TerminalNode { + return this.getToken(SqlBaseParser.GRAPHVIZ, 0); + } + public GROUPS(): TerminalNode { + return this.getToken(SqlBaseParser.GROUPS, 0); + } + public HOUR(): TerminalNode { + return this.getToken(SqlBaseParser.HOUR, 0); + } + public IF(): TerminalNode { + return this.getToken(SqlBaseParser.IF, 0); + } + public IGNORE(): TerminalNode { + return this.getToken(SqlBaseParser.IGNORE, 0); + } + public INCLUDING(): TerminalNode { + return this.getToken(SqlBaseParser.INCLUDING, 0); + } + public INPUT(): TerminalNode { + return this.getToken(SqlBaseParser.INPUT, 0); + } + public INTERVAL(): TerminalNode { + return this.getToken(SqlBaseParser.INTERVAL, 0); + } + public INVOKER(): TerminalNode { + return this.getToken(SqlBaseParser.INVOKER, 0); + } + public IO(): TerminalNode { + return this.getToken(SqlBaseParser.IO, 0); + } + public ISOLATION(): TerminalNode { + return this.getToken(SqlBaseParser.ISOLATION, 0); + } + public JSON(): TerminalNode { + return this.getToken(SqlBaseParser.JSON, 0); + } + public KEY(): TerminalNode { + return this.getToken(SqlBaseParser.KEY, 0); + } + public LANGUAGE(): TerminalNode { + return this.getToken(SqlBaseParser.LANGUAGE, 0); + } + public LAST(): TerminalNode { + return this.getToken(SqlBaseParser.LAST, 0); + } + public LATERAL(): TerminalNode { + return this.getToken(SqlBaseParser.LATERAL, 0); + } + public LEVEL(): TerminalNode { + return this.getToken(SqlBaseParser.LEVEL, 0); + } + public LIMIT(): TerminalNode { + return this.getToken(SqlBaseParser.LIMIT, 0); + } + public LOGICAL(): TerminalNode { + return this.getToken(SqlBaseParser.LOGICAL, 0); + } + public MAP(): TerminalNode { + return this.getToken(SqlBaseParser.MAP, 0); + } + public MATERIALIZED(): TerminalNode { + return this.getToken(SqlBaseParser.MATERIALIZED, 0); + } + public MINUTE(): TerminalNode { + return this.getToken(SqlBaseParser.MINUTE, 0); + } + public MONTH(): TerminalNode { + return this.getToken(SqlBaseParser.MONTH, 0); + } + public NAME(): TerminalNode { + return this.getToken(SqlBaseParser.NAME, 0); + } + public NFC(): TerminalNode { + return this.getToken(SqlBaseParser.NFC, 0); + } + public NFD(): TerminalNode { + return this.getToken(SqlBaseParser.NFD, 0); + } + public NFKC(): TerminalNode { + return this.getToken(SqlBaseParser.NFKC, 0); + } + public NFKD(): TerminalNode { + return this.getToken(SqlBaseParser.NFKD, 0); + } + public NO(): TerminalNode { + return this.getToken(SqlBaseParser.NO, 0); + } + public NONE(): TerminalNode { + return this.getToken(SqlBaseParser.NONE, 0); + } + public NULLIF(): TerminalNode { + return this.getToken(SqlBaseParser.NULLIF, 0); + } + public NULLS(): TerminalNode { + return this.getToken(SqlBaseParser.NULLS, 0); + } + public OF(): TerminalNode { + return this.getToken(SqlBaseParser.OF, 0); + } + public OFFSET(): TerminalNode { + return this.getToken(SqlBaseParser.OFFSET, 0); + } + public ONLY(): TerminalNode { + return this.getToken(SqlBaseParser.ONLY, 0); + } + public OPTION(): TerminalNode { + return this.getToken(SqlBaseParser.OPTION, 0); + } + public ORDINALITY(): TerminalNode { + return this.getToken(SqlBaseParser.ORDINALITY, 0); + } + public OUTPUT(): TerminalNode { + return this.getToken(SqlBaseParser.OUTPUT, 0); + } + public OVER(): TerminalNode { + return this.getToken(SqlBaseParser.OVER, 0); + } + public PARTITION(): TerminalNode { + return this.getToken(SqlBaseParser.PARTITION, 0); + } + public PARTITIONS(): TerminalNode { + return this.getToken(SqlBaseParser.PARTITIONS, 0); + } + public POSITION(): TerminalNode { + return this.getToken(SqlBaseParser.POSITION, 0); + } + public PRECEDING(): TerminalNode { + return this.getToken(SqlBaseParser.PRECEDING, 0); + } + public PRIMARY(): TerminalNode { + return this.getToken(SqlBaseParser.PRIMARY, 0); + } + public PRIVILEGES(): TerminalNode { + return this.getToken(SqlBaseParser.PRIVILEGES, 0); + } + public PROPERTIES(): TerminalNode { + return this.getToken(SqlBaseParser.PROPERTIES, 0); + } + public RANGE(): TerminalNode { + return this.getToken(SqlBaseParser.RANGE, 0); + } + public READ(): TerminalNode { + return this.getToken(SqlBaseParser.READ, 0); + } + public REFRESH(): TerminalNode { + return this.getToken(SqlBaseParser.REFRESH, 0); + } + public RELY(): TerminalNode { + return this.getToken(SqlBaseParser.RELY, 0); + } + public RENAME(): TerminalNode { + return this.getToken(SqlBaseParser.RENAME, 0); + } + public REPEATABLE(): TerminalNode { + return this.getToken(SqlBaseParser.REPEATABLE, 0); + } + public REPLACE(): TerminalNode { + return this.getToken(SqlBaseParser.REPLACE, 0); + } + public RESET(): TerminalNode { + return this.getToken(SqlBaseParser.RESET, 0); + } + public RESPECT(): TerminalNode { + return this.getToken(SqlBaseParser.RESPECT, 0); + } + public RESTRICT(): TerminalNode { + return this.getToken(SqlBaseParser.RESTRICT, 0); + } + public RETURN(): TerminalNode { + return this.getToken(SqlBaseParser.RETURN, 0); + } + public RETURNS(): TerminalNode { + return this.getToken(SqlBaseParser.RETURNS, 0); + } + public REVOKE(): TerminalNode { + return this.getToken(SqlBaseParser.REVOKE, 0); + } + public ROLE(): TerminalNode { + return this.getToken(SqlBaseParser.ROLE, 0); + } + public ROLES(): TerminalNode { + return this.getToken(SqlBaseParser.ROLES, 0); + } + public ROLLBACK(): TerminalNode { + return this.getToken(SqlBaseParser.ROLLBACK, 0); + } + public ROW(): TerminalNode { + return this.getToken(SqlBaseParser.ROW, 0); + } + public ROWS(): TerminalNode { + return this.getToken(SqlBaseParser.ROWS, 0); + } + public SCHEMA(): TerminalNode { + return this.getToken(SqlBaseParser.SCHEMA, 0); + } + public SCHEMAS(): TerminalNode { + return this.getToken(SqlBaseParser.SCHEMAS, 0); + } + public SECOND(): TerminalNode { + return this.getToken(SqlBaseParser.SECOND, 0); + } + public SECURITY(): TerminalNode { + return this.getToken(SqlBaseParser.SECURITY, 0); + } + public SERIALIZABLE(): TerminalNode { + return this.getToken(SqlBaseParser.SERIALIZABLE, 0); + } + public SESSION(): TerminalNode { + return this.getToken(SqlBaseParser.SESSION, 0); + } + public SET(): TerminalNode { + return this.getToken(SqlBaseParser.SET, 0); + } + public SETS(): TerminalNode { + return this.getToken(SqlBaseParser.SETS, 0); + } + public SQL(): TerminalNode { + return this.getToken(SqlBaseParser.SQL, 0); + } + public SHOW(): TerminalNode { + return this.getToken(SqlBaseParser.SHOW, 0); + } + public SOME(): TerminalNode { + return this.getToken(SqlBaseParser.SOME, 0); + } + public START(): TerminalNode { + return this.getToken(SqlBaseParser.START, 0); + } + public STATS(): TerminalNode { + return this.getToken(SqlBaseParser.STATS, 0); + } + public SUBSTRING(): TerminalNode { + return this.getToken(SqlBaseParser.SUBSTRING, 0); + } + public SYSTEM(): TerminalNode { + return this.getToken(SqlBaseParser.SYSTEM, 0); + } + public SYSTEM_TIME(): TerminalNode { + return this.getToken(SqlBaseParser.SYSTEM_TIME, 0); + } + public SYSTEM_VERSION(): TerminalNode { + return this.getToken(SqlBaseParser.SYSTEM_VERSION, 0); + } + public TABLES(): TerminalNode { + return this.getToken(SqlBaseParser.TABLES, 0); + } + public TABLESAMPLE(): TerminalNode { + return this.getToken(SqlBaseParser.TABLESAMPLE, 0); + } + public TEMPORARY(): TerminalNode { + return this.getToken(SqlBaseParser.TEMPORARY, 0); + } + public TEXT(): TerminalNode { + return this.getToken(SqlBaseParser.TEXT, 0); + } + public TIME(): TerminalNode { + return this.getToken(SqlBaseParser.TIME, 0); + } + public TIMESTAMP(): TerminalNode { + return this.getToken(SqlBaseParser.TIMESTAMP, 0); + } + public TO(): TerminalNode { + return this.getToken(SqlBaseParser.TO, 0); + } + public TRANSACTION(): TerminalNode { + return this.getToken(SqlBaseParser.TRANSACTION, 0); + } + public TRUNCATE(): TerminalNode { + return this.getToken(SqlBaseParser.TRUNCATE, 0); + } + public TRY_CAST(): TerminalNode { + return this.getToken(SqlBaseParser.TRY_CAST, 0); + } + public TYPE(): TerminalNode { + return this.getToken(SqlBaseParser.TYPE, 0); + } + public UNBOUNDED(): TerminalNode { + return this.getToken(SqlBaseParser.UNBOUNDED, 0); + } + public UNCOMMITTED(): TerminalNode { + return this.getToken(SqlBaseParser.UNCOMMITTED, 0); + } + public UNIQUE(): TerminalNode { + return this.getToken(SqlBaseParser.UNIQUE, 0); + } + public UPDATE(): TerminalNode { + return this.getToken(SqlBaseParser.UPDATE, 0); + } + public USE(): TerminalNode { + return this.getToken(SqlBaseParser.USE, 0); + } + public USER(): TerminalNode { + return this.getToken(SqlBaseParser.USER, 0); + } + public VALIDATE(): TerminalNode { + return this.getToken(SqlBaseParser.VALIDATE, 0); + } + public VERBOSE(): TerminalNode { + return this.getToken(SqlBaseParser.VERBOSE, 0); + } + public VERSION(): TerminalNode { + return this.getToken(SqlBaseParser.VERSION, 0); + } + public VIEW(): TerminalNode { + return this.getToken(SqlBaseParser.VIEW, 0); + } + public WORK(): TerminalNode { + return this.getToken(SqlBaseParser.WORK, 0); + } + public WRITE(): TerminalNode { + return this.getToken(SqlBaseParser.WRITE, 0); + } + public YEAR(): TerminalNode { + return this.getToken(SqlBaseParser.YEAR, 0); + } + public ZONE(): TerminalNode { + return this.getToken(SqlBaseParser.ZONE, 0); + } + public get ruleIndex(): number { + return SqlBaseParser.RULE_nonReserved; + } +} diff --git a/components/webui/client/src/sql-parser/index.ts b/components/webui/client/src/sql-parser/index.ts new file mode 100644 index 0000000000..b2dd2705bc --- /dev/null +++ b/components/webui/client/src/sql-parser/index.ts @@ -0,0 +1,69 @@ +/* eslint-disable max-classes-per-file */ +import { + CharStream, + CommonTokenStream, + ErrorListener, + Recognizer, +} from "antlr4"; + +import SqlBaseLexer from "./generated/SqlBaseLexer"; +import SqlBaseParser from "./generated/SqlBaseParser"; + + +class SyntaxError extends Error { +} + +class SyntaxErrorListener extends ErrorListener { + // eslint-disable-next-line max-params, class-methods-use-this + override syntaxError ( + _recognizer: Recognizer, + _offendingSymbol: TSymbol, + line: number, + column: number, + msg: string + ) { + throw new SyntaxError(`line ${line}:${column}: ${msg}`); + } +} + +const LOWER_CASE_A_CHAR_CODE = 97; +const LOWER_CASE_Z_CHAR_CODE = 122; +const ASCII_CASE_OFFSET = 32; + +class UpperCaseCharStream extends CharStream { + // Override + override LA (offset: number): number { + // eslint-disable-next-line new-cap + const c = super.LA(offset); + if (0 >= c) { + return c; + } + if (LOWER_CASE_A_CHAR_CODE <= c && LOWER_CASE_Z_CHAR_CODE >= c) { + return c - ASCII_CASE_OFFSET; + } + + return c; + } +} + + +/** + * Validate a SQL string for syntax errors. + * + * @param sqlString + * @throws {SyntaxError} with line, column, and message details if a syntax error is found. + */ +const validate = (sqlString: string) => { + const syntaxErrorListener = new SyntaxErrorListener(); + const lexer = new SqlBaseLexer(new UpperCaseCharStream(sqlString)); + lexer.removeErrorListeners(); + lexer.addErrorListener(syntaxErrorListener); + const parser = new SqlBaseParser(new CommonTokenStream(lexer)); + parser.removeErrorListeners(); + parser.addErrorListener(syntaxErrorListener); + parser.singleStatement(); +}; + +export { + SyntaxError, validate, +}; diff --git a/components/webui/package-lock.json b/components/webui/package-lock.json index 0f92797a36..520d35dfcc 100644 --- a/components/webui/package-lock.json +++ b/components/webui/package-lock.json @@ -32,6 +32,7 @@ "@tanstack/react-query-devtools": "^5.81.5", "@webui/common": "*", "antd": "^5.24.5", + "antlr4": "^4.13.2", "axios": "^1.7.9", "chart.js": "^4.4.9", "chartjs-adapter-dayjs-4": "^1.0.4", @@ -5046,32 +5047,6 @@ "url": "https://opencollective.com/typescript-eslint" } }, - "node_modules/@unrs/resolver-binding-linux-x64-gnu": { - "version": "1.11.1", - "cpu": [ - "x64" - ], - "dev": true, - "license": "MIT", - "optional": true, - "os": [ - "linux" - ], - "peer": true - }, - "node_modules/@unrs/resolver-binding-linux-x64-musl": { - "version": "1.11.1", - "cpu": [ - "x64" - ], - "dev": true, - "license": "MIT", - "optional": true, - "os": [ - "linux" - ], - "peer": true - }, "node_modules/@vitejs/plugin-react": { "version": "4.7.0", "dev": true, @@ -5311,6 +5286,15 @@ "react-dom": ">=16.9.0" } }, + "node_modules/antlr4": { + "version": "4.13.2", + "resolved": "https://registry.npmjs.org/antlr4/-/antlr4-4.13.2.tgz", + "integrity": "sha512-QiVbZhyy4xAZ17UPEuG3YTOt8ZaoeOR1CvEAqrEsDBsOqINslaB147i9xqljZqoyf5S+EUlGStaj+t22LT9MOg==", + "license": "BSD-3-Clause", + "engines": { + "node": ">=16" + } + }, "node_modules/anymatch": { "version": "3.1.3", "dev": true, @@ -6408,24 +6392,6 @@ "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/date-fns": { - "version": "2.30.0", - "resolved": "https://registry.npmjs.org/date-fns/-/date-fns-2.30.0.tgz", - "integrity": "sha512-fnULvOpxnC5/Vg3NCiWelDsLiUc9bRwAPs/+LfTLNvetFCtCTN+yQz15C/fs4AwX1R9K5GLtLfn8QW+dWisaAw==", - "license": "MIT", - "optional": true, - "peer": true, - "dependencies": { - "@babel/runtime": "^7.21.0" - }, - "engines": { - "node": ">=0.11" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/date-fns" - } - }, "node_modules/dateformat": { "version": "4.6.3", "license": "MIT", diff --git a/taskfile.yaml b/taskfile.yaml index c01dda1d7b..60a381e83c 100644 --- a/taskfile.yaml +++ b/taskfile.yaml @@ -4,6 +4,7 @@ set: ["u", "pipefail"] shopt: ["globstar"] includes: + codegen: "taskfiles/codegen.yaml" deps: "taskfiles/deps/main.yaml" docker-images: "taskfiles/docker-images.yaml" docs: "taskfiles/docs.yaml" @@ -168,47 +169,6 @@ tasks: CHECKSUM_FILE: "{{.CHECKSUM_FILE}}" INCLUDE_PATTERNS: ["{{.OUTPUT_DIR}}"] - clp-s-generate-parsers: - vars: - CHECKSUM_FILE: "{{.G_BUILD_DIR}}/{{.TASK}}.md5" - OUTPUT_DIRS: - - "{{.G_CORE_COMPONENT_DIR}}/src/clp_s/search/kql/generated" - - "{{.G_CORE_COMPONENT_DIR}}/src/clp_s/search/sql/generated" - deps: - - "deps:antlr-jar" - - task: "utils:checksum:validate" - vars: - CHECKSUM_FILE: "{{.CHECKSUM_FILE}}" - INCLUDE_PATTERNS: - ref: ".OUTPUT_DIRS" - generates: ["{{.CHECKSUM_FILE}}"] - sources: - - "{{.G_CORE_COMPONENT_DIR}}/src/clp_s/search/kql/Kql.g4" - - "{{.G_CORE_COMPONENT_DIR}}/src/clp_s/search/sql/Sql.g4" - dir: "{{.G_CORE_COMPONENT_DIR}}/src/" - cmds: - - for: ["kql", "sql"] - cmd: |- - rm -rf "{{.G_CORE_COMPONENT_DIR}}/src/clp_s/search/{{.ITEM}}/generated/"* \ - && java -jar {{.G_ANTLR_JAR_FILE}} \ - -Dlanguage=Cpp \ - -no-listener \ - -visitor \ - -package clp_s::search::{{.ITEM}}::generated \ - -o clp_s/search/{{.ITEM}}/generated \ - -Xexact-output-dir \ - clp_s/search/{{.ITEM}}/*.g4 \ - && find "{{.G_CORE_COMPONENT_DIR}}/src/clp_s/search/{{.ITEM}}/generated" \ - -type f -and -not \( -name "*.cpp" -o -name "*.h" \) \ - -exec rm {} \; - - # This command must be last - - task: "utils:checksum:compute" - vars: - CHECKSUM_FILE: "{{.CHECKSUM_FILE}}" - INCLUDE_PATTERNS: - ref: ".OUTPUT_DIRS" - core: cmds: - task: "core-generate" @@ -224,7 +184,7 @@ tasks: - "{{.TASKFILE}}" - "/etc/os-release" deps: - - "clp-s-generate-parsers" + - "codegen:clp-s-generate-parsers" - "deps:core" cmds: - task: "utils:cmake:generate" diff --git a/taskfiles/codegen.yaml b/taskfiles/codegen.yaml new file mode 100644 index 0000000000..32f06f9947 --- /dev/null +++ b/taskfiles/codegen.yaml @@ -0,0 +1,87 @@ +version: "3" + +tasks: + clp-s-generate-parsers: + vars: + CHECKSUM_FILE: "{{.G_BUILD_DIR}}/{{.TASK}}.md5" + OUTPUT_DIRS: + - "{{.G_CORE_COMPONENT_DIR}}/src/clp_s/search/kql/generated" + - "{{.G_CORE_COMPONENT_DIR}}/src/clp_s/search/sql/generated" + deps: + - ":deps:antlr-jar" + - task: ":utils:checksum:validate" + vars: + CHECKSUM_FILE: "{{.CHECKSUM_FILE}}" + INCLUDE_PATTERNS: + ref: ".OUTPUT_DIRS" + generates: ["{{.CHECKSUM_FILE}}"] + sources: + - "{{.G_CORE_COMPONENT_DIR}}/src/clp_s/search/kql/Kql.g4" + - "{{.G_CORE_COMPONENT_DIR}}/src/clp_s/search/sql/Sql.g4" + - "{{.TASKFILE}}" + - "{{.ROOT_DIR}}/taskfile.yaml" + dir: "{{.G_CORE_COMPONENT_DIR}}/src/" + cmds: + - for: ["kql", "sql"] + cmd: |- + rm -rf "{{.G_CORE_COMPONENT_DIR}}/src/clp_s/search/{{.ITEM}}/generated/"* \ + && java -jar {{.G_ANTLR_JAR_FILE}} \ + -Dlanguage=Cpp \ + -no-listener \ + -visitor \ + -package clp_s::search::{{.ITEM}}::generated \ + -o clp_s/search/{{.ITEM}}/generated \ + -Xexact-output-dir \ + clp_s/search/{{.ITEM}}/*.g4 \ + && find "{{.G_CORE_COMPONENT_DIR}}/src/clp_s/search/{{.ITEM}}/generated" \ + -type f -and -not \( -name "*.cpp" -o -name "*.h" \) \ + -exec rm {} \; + # This command must be last + - task: ":utils:checksum:compute" + vars: + CHECKSUM_FILE: "{{.CHECKSUM_FILE}}" + INCLUDE_PATTERNS: + ref: ".OUTPUT_DIRS" + + webui-generate-parser: + vars: + CHECKSUM_FILE: "{{.G_BUILD_DIR}}/{{.TASK}}.md5" + SRC_DIR: "{{.G_WEBUI_SRC_DIR}}/client/src/sql-parser" + OUTPUT_DIR: "{{.G_WEBUI_SRC_DIR}}/client/src/sql-parser/generated" + deps: + - ":deps:antlr-jar" + - task: ":utils:checksum:validate" + vars: + CHECKSUM_FILE: "{{.CHECKSUM_FILE}}" + INCLUDE_PATTERNS: ["{{.OUTPUT_DIR}}"] + generates: ["{{.CHECKSUM_FILE}}"] + sources: + - "{{.ROOT_DIR}}/taskfile.yaml" + - "{{.SRC_DIR}}/SqlBase.g4" + - "{{.TASKFILE}}" + dir: "{{.SRC_DIR}}" + cmds: + - "rm -rf '{{.OUTPUT_DIR}}'" + - >- + java -jar {{.G_ANTLR_JAR_FILE}} + -Dlanguage=TypeScript + -no-listener + -o generated + -Xexact-output-dir SqlBase.g4 + - >- + find generated + -type f -and -not -name "*.ts" + -exec rm {} \; + - for: + - "generated/SqlBaseLexer.ts" + - "generated/SqlBaseParser.ts" + task: ":utils:misc:replace-text" + vars: + FILE_PATH: "{{.SRC_DIR}}/{{.ITEM}}" + SED_EXP: >- + 1s/^/\\/\\/ @ts-nocheck\\n/ + # This command must be last + - task: ":utils:checksum:compute" + vars: + CHECKSUM_FILE: "{{.CHECKSUM_FILE}}" + INCLUDE_PATTERNS: ["{{.OUTPUT_DIR}}"]